Adam Shaw 8 年 前
コミット
161aa798b6

+ 1 - 1
src.json

@@ -51,7 +51,7 @@
     "models/SingleEventDefinition.js",
     "models/SingleEventDefinition.js",
     "models/RecurringEventDefinition.js",
     "models/RecurringEventDefinition.js",
     "models/EventDefinitionCollection.js",
     "models/EventDefinitionCollection.js",
-    "models/EventInstanceCollection.js",
+    "models/EventInstanceGroup.js",
     "EventManager.js",
     "EventManager.js",
     "basic/BasicView.js",
     "basic/BasicView.js",
     "basic/MonthView.js",
     "basic/MonthView.js",

+ 1 - 0
src/EventManager.js

@@ -164,6 +164,7 @@ function EventManager() { // assumed to be a calendar
 			range = ranges[i];
 			range = ranges[i];
 
 
 			console.log(range.eventInstance.eventDefinition.title);
 			console.log(range.eventInstance.eventDefinition.title);
+			console.log(' allDay', range.eventInstance.eventDateProfile.isAllDay());
 			console.log(' start', range.getStart().format());
 			console.log(' start', range.getStart().format());
 			console.log(' end', range.getEnd().format());
 			console.log(' end', range.getEnd().format());
 			console.log(' isStart', range.isStart);
 			console.log(' isStart', range.isStart);

+ 6 - 6
src/models/EventDefinitionCollection.js

@@ -43,7 +43,7 @@ var EventDefinitionCollection = Class.extend({
 
 
 	buildRenderRanges: function(start, end, calendar) {
 	buildRenderRanges: function(start, end, calendar) {
 		var renderRanges = [];
 		var renderRanges = [];
-		var instanceGroups = this.buildInstanceCollections(start, end);
+		var instanceGroups = this.buildInstanceGroups(start, end);
 		var constraintRange = new UnzonedRange(start, end);
 		var constraintRange = new UnzonedRange(start, end);
 		var i;
 		var i;
 
 
@@ -56,8 +56,8 @@ var EventDefinitionCollection = Class.extend({
 		return renderRanges;
 		return renderRanges;
 	},
 	},
 
 
-	buildInstanceCollections: function(start, end) {
-		var eventInstanceCollections = [];
+	buildInstanceGroups: function(start, end) {
+		var eventInstanceGroups = [];
 		var eventDefsById = this.eventDefsById;
 		var eventDefsById = this.eventDefsById;
 		var eventId;
 		var eventId;
 		var relatedEventDefs;
 		var relatedEventDefs;
@@ -77,12 +77,12 @@ var EventDefinitionCollection = Class.extend({
 				);
 				);
 			}
 			}
 
 
-			eventInstanceCollections.push(
-				new EventInstanceCollection(relatedEventInstances)
+			eventInstanceGroups.push(
+				new EventInstanceGroup(relatedEventInstances)
 			);
 			);
 		}
 		}
 
 
-		return eventInstanceCollections;
+		return eventInstanceGroups;
 	}
 	}
 
 
 });
 });

+ 12 - 12
src/models/EventInstanceCollection.js → src/models/EventInstanceGroup.js

@@ -1,5 +1,5 @@
 
 
-var EventInstanceCollection = Class.extend({
+var EventInstanceGroup = Class.extend({
 
 
 	eventInstances: null,
 	eventInstances: null,
 
 
@@ -7,6 +7,17 @@ var EventInstanceCollection = Class.extend({
 		this.eventInstances = eventInstances;
 		this.eventInstances = eventInstances;
 	},
 	},
 
 
+	buildRenderRanges: function(constraintRange, calendar) {
+		var eventInstances = this.eventInstances;
+		var ranges = this.buildRanges(constraintRange, calendar);
+
+		if (eventInstances.length && eventInstances[0].eventDefinition.rendering === 'inverse-background') {
+			ranges = invertEventRanges(ranges, constraintRange, eventInstances[0]);
+		}
+
+		return ranges;
+	},
+
 	buildRanges: function(constraintRange, calendar) {
 	buildRanges: function(constraintRange, calendar) {
 		var eventRanges = [];
 		var eventRanges = [];
 		var eventInstances = this.eventInstances;
 		var eventInstances = this.eventInstances;
@@ -26,17 +37,6 @@ var EventInstanceCollection = Class.extend({
 		}
 		}
 
 
 		return eventRanges;
 		return eventRanges;
-	},
-
-	buildRenderRanges: function(constraintRange, calendar) {
-		var eventInstances = this.eventInstances;
-		var ranges = this.buildRanges(constraintRange, calendar);
-
-		if (eventInstances.length && eventInstances[0].rendering === 'inverse-background') {
-			ranges = invertEventRanges(ranges, constraintRange, eventInstances[0]);
-		}
-
-		return ranges;
 	}
 	}
 
 
 });
 });

+ 10 - 2
src/models/RecurringEventDefinition.js

@@ -8,8 +8,13 @@ var RecurringEventDefinition = EventDefinition.extend({
 	constructor: function(rawProps, source, calendar) {
 	constructor: function(rawProps, source, calendar) {
 		EventDefinition.apply(this, arguments);
 		EventDefinition.apply(this, arguments);
 
 
-		this.startTime = moment.duration(rawProps.start);
-		this.endTime = rawProps.end ? moment.duration(rawProps.end) : null;
+		if (rawProps.start) {
+			this.startTime = moment.duration(rawProps.start);
+		}
+
+		if (rawProps.end) {
+			this.endTime = moment.duration(rawProps.end);
+		}
 
 
 		if (rawProps.dow) {
 		if (rawProps.dow) {
 			this.dowHash = this.buildDowHash(rawProps.dow);
 			this.dowHash = this.buildDowHash(rawProps.dow);
@@ -37,6 +42,9 @@ var RecurringEventDefinition = EventDefinition.extend({
 				if (this.startTime) {
 				if (this.startTime) {
 					instanceStart.time(this.startTime);
 					instanceStart.time(this.startTime);
 				}
 				}
+				else {
+					instanceStart.stripTime();
+				}
 
 
 				if (this.endTime) {
 				if (this.endTime) {
 					instanceEnd = date.clone().time(this.endTime);
 					instanceEnd = date.clone().time(this.endTime);