Permalink
Browse files

Sortable: cancelHelperRemoval only considers helper, not placeholder

Refs #9675
  • Loading branch information...
mikesherov committed Aug 25, 2014
1 parent aada9d5 commit 52a1de5caadd9dd0665d4bf092f6061d9d3a3a8e
Showing with 7 additions and 17 deletions.
  1. +1 −1 tests/unit/draggable/draggable_options.js
  2. +6 −16 ui/sortable.js
@@ -305,7 +305,7 @@ test( "connectToSortable, dragging clone into sortable", function() {
sortable = $( "#sortable" ).sortable(),
offsetSortable = sortable.offset();
$( sortable ).one( "sortbeforestop", function( event, ui ) {
$( sortable ).one( "sort", function( event, ui ) {
// http://bugs.jqueryui.com/ticket/8809
// Position issue when connected to sortable
deepEqual( ui.helper.offset(), offsetSortable, "sortable offset is correct" );
View
@@ -1253,18 +1253,6 @@ return $.widget("ui.sortable", $.ui.mouse, {
}
this.dragging = false;
if(this.cancelHelperRemoval) {
if(!noPropagation) {
this._trigger("beforeStop", event, this._uiHash());
for (i=0; i < delayedTriggers.length; i++) {
delayedTriggers[i].call(this, event);
} //Trigger all delayed events
this._trigger("stop", event, this._uiHash());
}
this.fromOutside = false;
return false;
}
if(!noPropagation) {
this._trigger("beforeStop", event, this._uiHash());
@@ -1273,10 +1261,12 @@ return $.widget("ui.sortable", $.ui.mouse, {
//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(this.helper[0] !== this.currentItem[0]) {
this.helper.remove();
if ( !this.cancelHelperRemoval ) {
if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {
this.helper.remove();
}
this.helper = null;
}
this.helper = null;
if(!noPropagation) {
for (i=0; i < delayedTriggers.length; i++) {
@@ -1286,7 +1276,7 @@ return $.widget("ui.sortable", $.ui.mouse, {
}
this.fromOutside = false;
return true;
return !this.cancelHelperRemoval;
},

0 comments on commit 52a1de5

Please sign in to comment.