Bladeren bron

buildInstances uses UnzonedRange now

Adam Shaw 8 jaren geleden
bovenliggende
commit
08b197d433

+ 1 - 1
src/Calendar.constraints.js

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

+ 5 - 8
src/basic/BasicView.js

@@ -45,22 +45,19 @@ var BasicView = FC.BasicView = View.extend({
 	// Computes the date range that will be rendered.
 	// Computes the date range that will be rendered.
 	buildRenderRange: function(currentUnzonedRange, currentRangeUnit) {
 	buildRenderRange: function(currentUnzonedRange, currentRangeUnit) {
 		var renderUnzonedRange = View.prototype.buildRenderRange.apply(this, arguments); // an UnzonedRange
 		var renderUnzonedRange = View.prototype.buildRenderRange.apply(this, arguments); // an UnzonedRange
-		var start = renderUnzonedRange.getStart();
-		var end = renderUnzonedRange.getEnd();
+		var zonedRange = renderUnzonedRange.getZonedRange(this.calendar, this.isRangeAllDay);
 
 
 		// year and month views should be aligned with weeks. this is already done for week
 		// year and month views should be aligned with weeks. this is already done for week
 		if (/^(year|month)$/.test(currentRangeUnit)) {
 		if (/^(year|month)$/.test(currentRangeUnit)) {
-			start.startOf('week');
+			zonedRange.start.startOf('week');
 
 
 			// make end-of-week if not already
 			// make end-of-week if not already
-			if (end.weekday()) {
-				end.add(1, 'week').startOf('week'); // exclusively move backwards
+			if (zonedRange.end.weekday()) {
+				zonedRange.end.add(1, 'week').startOf('week'); // exclusively move backwards
 			}
 			}
 		}
 		}
 
 
-		renderUnzonedRange = new UnzonedRange(start, end);
-
-		return this.trimHiddenDays(renderUnzonedRange);
+		return this.trimHiddenDays(new UnzonedRange(zonedRange.start, zonedRange.end));
 	},
 	},
 
 
 
 

+ 4 - 5
src/basic/MonthView.js

@@ -8,19 +8,18 @@ var MonthView = FC.MonthView = BasicView.extend({
 	// Computes the date range that will be rendered.
 	// Computes the date range that will be rendered.
 	buildRenderRange: function() {
 	buildRenderRange: function() {
 		var renderUnzonedRange = BasicView.prototype.buildRenderRange.apply(this, arguments);
 		var renderUnzonedRange = BasicView.prototype.buildRenderRange.apply(this, arguments);
-		var start = renderUnzonedRange.getStart();
-		var end = renderUnzonedRange.getEnd();
+		var zonedRange = renderUnzonedRange.getZonedRange(this.calendar, this.isRangeAllDay);
 		var rowCnt;
 		var rowCnt;
 
 
 		// ensure 6 weeks
 		// ensure 6 weeks
 		if (this.isFixedWeeks()) {
 		if (this.isFixedWeeks()) {
 			rowCnt = Math.ceil( // could be partial weeks due to hiddenDays
 			rowCnt = Math.ceil( // could be partial weeks due to hiddenDays
-				end.diff(start, 'weeks', true) // dontRound=true
+				zonedRange.end.diff(zonedRange.start, 'weeks', true) // dontRound=true
 			);
 			);
-			end.add(6 - rowCnt, 'weeks');
+			zonedRange.end.add(6 - rowCnt, 'weeks');
 		}
 		}
 
 
-		return new UnzonedRange(start, end);
+		return new UnzonedRange(zonedRange.start, zonedRange.end);
 	},
 	},
 
 
 
 

+ 1 - 1
src/models/event/EventDef.js

@@ -37,7 +37,7 @@ var EventDef = FC.EventDef = Class.extend(ParsableModelMixin, {
 	},
 	},
 
 
 
 
-	buildInstances: function(start, end) {
+	buildInstances: function(unzonedRange) {
 		// subclasses must implement
 		// subclasses must implement
 	},
 	},
 
 

+ 3 - 2
src/models/event/RecurringEventDef.js

@@ -11,9 +11,10 @@ var RecurringEventDef = EventDef.extend({
 	},
 	},
 
 
 
 
-	buildInstances: function(start, end) {
+	buildInstances: function(unzonedRange) {
 		var calendar = this.source.calendar;
 		var calendar = this.source.calendar;
-		var date = start.clone();
+		var date = unzonedRange.getStart();
+		var end = unzonedRange.getEnd();
 		var instanceStart, instanceEnd;
 		var instanceStart, instanceEnd;
 		var instances = [];
 		var instances = [];
 
 

+ 1 - 1
src/models/event/util.js

@@ -5,7 +5,7 @@ function eventDefsToEventInstances(eventDefs, start, end) {
 
 
 	for (i = 0; i < eventDefs.length; i++) {
 	for (i = 0; i < eventDefs.length; i++) {
 		eventInstances.push.apply(eventInstances, // append
 		eventInstances.push.apply(eventInstances, // append
-			eventDefs[i].buildInstances(start, end)
+			eventDefs[i].buildInstances(new UnzonedRange(start, end))
 		);
 		);
 	}
 	}