Kaynağa Gözat

eventStartEditable/startEditable AND eventDurationEditable/durationEditable

Adam Shaw 12 yıl önce
ebeveyn
işleme
d910bb8fcd
2 değiştirilmiş dosya ile 32 ekleme ve 10 silme
  1. 21 8
      src/common/View.js
  2. 11 2
      tests/sources_new.html

+ 21 - 8
src/common/View.js

@@ -59,21 +59,34 @@ function View(element, calendar, viewName) {
 
 
 	/* Event Editable Boolean Calculations
-
 	------------------------------------------------------------------------------*/
+
 	
 	function isEventDraggable(event) {
-		return isEventEditable(event) && !opt('disableDragging');
+		var source = event.source || {};
+		return firstDefined(
+				event.startEditable,
+				source.startEditable,
+				opt('eventStartEditable'),
+				event.editable,
+				source.editable,
+				opt('editable')
+			)
+			&& !opt('disableDragging'); // deprecated
 	}
 	
 	
 	function isEventResizable(event) { // but also need to make sure the seg.isEnd == true
-		return isEventEditable(event) && !opt('disableResizing');
-	}
-	
-	
-	function isEventEditable(event) {
-		return firstDefined(event.editable, (event.source || {}).editable, opt('editable'));
+		var source = event.source || {};
+		return firstDefined(
+				event.durationEditable,
+				source.durationEditable,
+				opt('eventDurationEditable'),
+				event.editable,
+				source.editable,
+				opt('editable')
+			)
+			&& !opt('disableResizing'); // deprecated
 	}
 	
 	

+ 11 - 2
tests/sources_new.html

@@ -59,9 +59,13 @@ $(document).ready(function() {
 			center: 'title',
 			right: 'month,agendaWeek,basicWeek,agendaDay,basicDay'
 		},
+
 		editable: true,
-		//disableResizing: true,
-		//disableDragging: true,
+		//eventStartEditable: false,
+		//eventDurationEditable: false,
+		//disableResizing: true, // deprecated
+		//disableDragging: true, // deprecated
+
 		selectable: true,
 		selectHelper: true,
 		dragOpacity: .5,
@@ -98,9 +102,14 @@ $(document).ready(function() {
 		
 			{
 				color: 'purple',
+				//editable: false,
+				//startEditable: false,
+				//durationEditable: false,
 				events: [
 					{
 						title: 'All Day Event',
+						//startEditable: false,
+						//durationEditable: false,
 						start: new Date(y, m, 1)
 					},
 					{