Skip to content
Permalink
Browse files

Sortable: Make sure we have a placeholder before trying to remove it …

…during a cancel. Fixes #6879 - Sortable: Calling cancel when there is no sort occurring throws an error.
  • Loading branch information
marcos.sousa authored and scottgonzalez committed Jan 18, 2011
1 parent cf0c32f commit f165c93127495d5041c3d49fa592fddbe8000bd1
Showing with 16 additions and 14 deletions.
  1. +16 −14 ui/jquery.ui.sortable.js
@@ -377,21 +377,23 @@ $.widget("ui.sortable", $.ui.mouse, {

}

//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
if(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(this.options.helper != "original" && this.helper && this.helper[0].parentNode) this.helper.remove();

$.extend(this, {
helper: null,
dragging: false,
reverting: false,
_noFinalSort: null
});
if (this.placeholder) {
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
if(this.placeholder[0].parentNode) this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(this.options.helper != "original" && this.helper && this.helper[0].parentNode) this.helper.remove();

$.extend(this, {
helper: null,
dragging: false,
reverting: false,
_noFinalSort: null
});

if(this.domPosition.prev) {
$(this.domPosition.prev).after(this.currentItem);
} else {
$(this.domPosition.parent).prepend(this.currentItem);
if(this.domPosition.prev) {
$(this.domPosition.prev).after(this.currentItem);
} else {
$(this.domPosition.parent).prepend(this.currentItem);
}
}

return this;

0 comments on commit f165c93

Please sign in to comment.
You can’t perform that action at this time.