Skip to content
Permalink
Browse files
Draggable: Refresh sortables when draggable is added or removed
Since a sortable grows or shrinks when a draggable element is added
to it, refresh the cached positions of sortables whenever an element
is added or removed from the sortable.

Refs #9675
  • Loading branch information
mikesherov committed Aug 25, 2014
1 parent 368fc83 commit a611dd8
Showing 1 changed file with 12 additions and 0 deletions.
@@ -834,6 +834,12 @@ $.ui.plugin.add("draggable", "connectToSortable", {
// used solely in the revert option to handle "valid/invalid".
draggable.dropped = sortable.element;

// Need to refreshPositions of all sortables in the case that
// adding to one sortable changes the location of the other sortables (#9675)
$.each( draggable.sortables, function() {
this.refreshPositions();
});

// hack so receive/update callbacks work (mostly)
draggable.currentItem = draggable.element;
sortable.fromOutside = draggable;
@@ -882,6 +888,12 @@ $.ui.plugin.add("draggable", "connectToSortable", {

// Inform draggable that the helper is no longer in a valid drop zone
draggable.dropped = false;

// Need to refreshPositions of all sortables just in case removing
// from one sortable changes the location of other sortables (#9675)
$.each( draggable.sortables, function() {
this.refreshPositions();
});
}
}
});

0 comments on commit a611dd8

Please sign in to comment.