Răsfoiți Sursa

EventPeriod::unzonedRange

Adam Shaw 8 ani în urmă
părinte
comite
c55f5c7d70
3 a modificat fișierele cu 11 adăugiri și 3 ștergeri
  1. 1 1
      src/Calendar.business.js
  2. 1 1
      src/Calendar.constraints.js
  3. 9 1
      src/models/EventPeriod.js

+ 1 - 1
src/Calendar.business.js

@@ -25,7 +25,7 @@ Calendar.prototype._buildCurrentBusinessFootprints = function(wholeDay, business
 		businessInstanceGroup = this.buildBusinessInstanceGroup(
 			wholeDay,
 			businessDefInput,
-			new UnzonedRange(eventPeriod.start, eventPeriod.end)
+			eventPeriod.unzonedRange
 		);
 
 		if (businessInstanceGroup) {

+ 1 - 1
src/Calendar.constraints.js

@@ -266,7 +266,7 @@ Calendar.prototype.parseEventDefToInstances = function(eventInput) {
 	}
 
 	if (eventPeriod) {
-		return eventDef.buildInstances(new UnzonedRange(eventPeriod.start, eventPeriod.end));
+		return eventDef.buildInstances(eventPeriod.unzonedRange);
 	}
 	else {
 		return [];

+ 9 - 1
src/models/EventPeriod.js

@@ -5,6 +5,8 @@ var EventPeriod = Class.extend(EmitterMixin, {
 	end: null,
 	timezone: null,
 
+	unzonedRange: null,
+
 	requestsByUid: null,
 	pendingCnt: 0,
 
@@ -21,6 +23,12 @@ var EventPeriod = Class.extend(EmitterMixin, {
 		this.start = start;
 		this.end = end;
 		this.timezone = timezone;
+
+		this.unzonedRange = new UnzonedRange(
+			start.clone().stripZone(),
+			end.clone().stripZone()
+		);
+
 		this.requestsByUid = {};
 		this.eventDefsByUid = {};
 		this.eventDefsById = {};
@@ -150,7 +158,7 @@ var EventPeriod = Class.extend(EmitterMixin, {
 		var eventDefsById = this.eventDefsById;
 		var eventDefId = eventDef.id;
 		var eventDefs = eventDefsById[eventDefId] || (eventDefsById[eventDefId] = []);
-		var eventInstances = eventDef.buildInstances(new UnzonedRange(this.start, this.end));
+		var eventInstances = eventDef.buildInstances(this.unzonedRange);
 		var i;
 
 		eventDefs.push(eventDef);