Parcourir la source

more explicit way for renderDrag to know where a seg came from

Adam Shaw il y a 9 ans
Parent
commit
8f25aa63eb
2 fichiers modifiés avec 4 ajouts et 2 suppressions
  1. 1 2
      src/common/DayGrid.js
  2. 3 0
      src/common/Grid.events.js

+ 1 - 2
src/common/DayGrid.js

@@ -274,8 +274,7 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
 		this.renderHighlight(this.eventToSpan(eventLocation));
 
 		// if a segment from the same calendar but another component is being dragged, render a helper event
-		if (seg && !seg.el.closest(this.el).length) {
-
+		if (seg.component !== this) {
 			return this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements
 		}
 	},

+ 3 - 0
src/common/Grid.events.js

@@ -353,6 +353,7 @@ Grid.mixin({
 			subjectEl: el,
 			subjectCenter: true,
 			interactionStart: function(ev) {
+				seg.component = _this; // for renderDrag
 				isDragging = false;
 				mouseFollower = new MouseFollower(seg.el, {
 					additionalClass: 'fc-dragging',
@@ -421,6 +422,8 @@ Grid.mixin({
 				enableCursor();
 			},
 			interactionEnd: function(ev) {
+				delete seg.component; // prevent side effects
+
 				// do revert animation if hasn't changed. calls a callback when finished (whether animation or not)
 				mouseFollower.stop(!dropLocation, function() {
 					if (isDragging) {