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 a611dd8971a5fada1ca9e661ad1944b401192f0d
Showing with 12 additions and 0 deletions.
  1. +12 −0 ui/draggable.js
View
@@ -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.