Ver código fonte

minor adjustments in prep for plugins

Adam Shaw 10 anos atrás
pai
commit
6708f7ed3e
5 arquivos alterados com 40 adições e 15 exclusões
  1. 21 13
      src/Calendar.js
  2. 0 1
      src/agenda/config.js
  3. 1 1
      src/common/Grid.js
  4. 16 0
      src/common/View.js
  5. 2 0
      src/defaults.js

+ 21 - 13
src/Calendar.js

@@ -229,6 +229,24 @@ var Calendar = fc.Calendar = Class.extend({
 		if (!(--this.loadingLevel)) {
 			this.trigger('loading', null, false, this.view);
 		}
+	},
+
+
+	// Given arguments to the select method in the API, returns a range
+	buildSelectRange: function(start, end) {
+
+		start = this.moment(start);
+		if (end) {
+			end = this.moment(end);
+		}
+		else if (start.hasTime()) {
+			end = start.clone().add(this.defaultTimedEventDuration);
+		}
+		else {
+			end = start.clone().add(this.defaultAllDayEventDuration);
+		}
+
+		return { start: start, end: end };
 	}
 
 });
@@ -739,19 +757,9 @@ function Calendar_constructor(element, overrides) {
 	
 
 	function select(start, end) {
-
-		start = t.moment(start);
-		if (end) {
-			end = t.moment(end);
-		}
-		else if (start.hasTime()) {
-			end = start.clone().add(t.defaultTimedEventDuration);
-		}
-		else {
-			end = start.clone().add(t.defaultAllDayEventDuration);
-		}
-
-		currentView.select({ start: start, end: end }); // accepts a range
+		currentView.select(
+			t.buildSelectRange.apply(t, arguments)
+		);
 	}
 	
 

+ 0 - 1
src/agenda/config.js

@@ -6,7 +6,6 @@ fcViews.agenda = {
 	defaults: {
 		allDaySlot: true,
 		allDayText: 'all-day',
-		scrollTime: '06:00:00',
 		slotDuration: '00:30:00',
 		minTime: '00:00:00',
 		maxTime: '24:00:00',

+ 1 - 1
src/common/Grid.js

@@ -386,7 +386,7 @@ var Grid = fc.Grid = RowRenderer.extend({
 			},
 			listenStop: function(ev) {
 				if (dayClickCell) {
-					view.trigger('dayClick', _this.getCellDayEl(dayClickCell), dayClickCell.start, ev);
+					view.triggerDayClick(dayClickCell, _this.getCellDayEl(dayClickCell), ev);
 				}
 				if (selectionRange) {
 					// the selection will already have been rendered. just report it

+ 16 - 0
src/common/View.js

@@ -790,6 +790,12 @@ var View = fc.View = Class.extend({
 	// Called when a new selection is made. Updates internal state and triggers handlers.
 	reportSelection: function(range, ev) {
 		this.isSelected = true;
+		this.triggerSelect(range, ev);
+	},
+
+
+	// Triggers handlers to 'select'
+	triggerSelect: function(range, ev) {
 		this.trigger('select', null, range.start, range.end, ev);
 	},
 
@@ -830,6 +836,16 @@ var View = fc.View = Class.extend({
 	},
 
 
+	/* Day Click
+	------------------------------------------------------------------------------------------------------------------*/
+
+
+	// Triggers handlers to 'dayClick'
+	triggerDayClick: function(cell, dayEl, ev) {
+		this.trigger('dayClick', dayEl, cell.start, ev);
+	},
+
+
 	/* Date Utils
 	------------------------------------------------------------------------------------------------------------------*/
 

+ 2 - 0
src/defaults.js

@@ -24,6 +24,8 @@ Calendar.defaults = {
 	weekNumberCalculation: 'local',
 	
 	//editable: false,
+
+	scrollTime: '06:00:00',
 	
 	// event ajax
 	lazyFetching: true,