|
@@ -300,6 +300,33 @@ var CoordChronoComponentMixin = {
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ // NOTE: very similar to isEventInstanceGroupAllowed
|
|
|
|
|
+ // when it's a completely anonymous external drag, no event.
|
|
|
|
|
+ isExternalInstanceGroupAllowed: function(eventInstanceGroup) {
|
|
|
|
|
+ var view = this._getView();
|
|
|
|
|
+ var eventFootprints = this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());
|
|
|
|
|
+ var i;
|
|
|
|
|
+
|
|
|
|
|
+ for (i = 0; i < eventFootprints.length; i++) {
|
|
|
|
|
+ if (!view.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ for (i = 0; i < eventFootprints.length; i++) {
|
|
|
|
|
+ // treat it as a selection
|
|
|
|
|
+ // TODO: pass in eventInstanceGroup instead
|
|
|
|
|
+ // because we don't want calendar's constraint system to depend on a component's
|
|
|
|
|
+ // determination of footprints.
|
|
|
|
|
+ if (!view.calendar.isSelectionFootprintAllowed(eventFootprints[i].componentFootprint)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return true;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/* Event Helper
|
|
/* Event Helper
|
|
|
------------------------------------------------------------------------------------------------------------------*/
|
|
------------------------------------------------------------------------------------------------------------------*/
|
|
|
// TODO: should probably move this to Grid.events, like we did event dragging / resizing
|
|
// TODO: should probably move this to Grid.events, like we did event dragging / resizing
|