Skip to content

Commit

Permalink
Sortable: Fixed jerkiness with nested-sortables. Fixes #4857 - Nested…
Browse files Browse the repository at this point in the history
… lists don't work properly with sortable.

(cherry picked from commit 2b899cc)
  • Loading branch information
Martin Hoch authored and scottgonzalez committed Aug 23, 2012
1 parent 961022a commit a4ae382
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion ui/jquery.ui.sortable.js
Expand Up @@ -296,7 +296,16 @@ $.widget("ui.sortable", $.ui.mouse, {
var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);
if (!intersection) continue;

if(itemElement != this.currentItem[0] //cannot intersect with itself
// Only put the placeholder inside the current Container, skip all
// items form other containers. This works because when moving
// an item from one container to another the
// currentContainer is switched before the placeholder is moved.
//
// Without this moving items in "sub-sortables" can cause the placeholder to jitter
// beetween the outer and inner container.
if (item.instance !== this.currentContainer) continue;

if (itemElement != this.currentItem[0] //cannot intersect with itself
&& this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before
&& !$.ui.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked
&& (this.options.type == 'semi-dynamic' ? !$.ui.contains(this.element[0], itemElement) : true)
Expand Down

0 comments on commit a4ae382

Please sign in to comment.