Skip to content

Commit 228b1b1

Browse files
committed
Sortable: replaced hard-coded sortable with this.widgetName, and removed lines from destroy that are handled by super. Fixes #7741 - ui.sortable is not working when it is extended
1 parent cf3e655 commit 228b1b1

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

ui/jquery.ui.sortable.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,11 @@ $.widget("ui.sortable", $.ui.mouse, {
6363

6464
destroy: function() {
6565
this.element
66-
.removeClass("ui-sortable ui-sortable-disabled")
67-
.removeData("sortable")
68-
.unbind(".sortable");
66+
.removeClass("ui-sortable ui-sortable-disabled");
6967
this._mouseDestroy();
7068

7169
for ( var i = this.items.length - 1; i >= 0; i-- )
72-
this.items[i].item.removeData("sortable-item");
70+
this.items[i].item.removeData(this.widgetName + "-item");
7371

7472
return this;
7573
},
@@ -86,6 +84,7 @@ $.widget("ui.sortable", $.ui.mouse, {
8684
},
8785

8886
_mouseCapture: function(event, overrideHandle) {
87+
var that = this;
8988

9089
if (this.reverting) {
9190
return false;
@@ -98,12 +97,12 @@ $.widget("ui.sortable", $.ui.mouse, {
9897

9998
//Find out if the clicked node (or one of its parents) is a actual item in this.items
10099
var currentItem = null, self = this, nodes = $(event.target).parents().each(function() {
101-
if($.data(this, 'sortable-item') == self) {
100+
if($.data(this, that.widgetName + '-item') == self) {
102101
currentItem = $(this);
103102
return false;
104103
}
105104
});
106-
if($.data(event.target, 'sortable-item') == self) currentItem = $(event.target);
105+
if($.data(event.target, that.widgetName + '-item') == self) currentItem = $(event.target);
107106

108107
if(!currentItem) return false;
109108
if(this.options.handle && !overrideHandle) {
@@ -528,7 +527,7 @@ $.widget("ui.sortable", $.ui.mouse, {
528527
for (var i = connectWith.length - 1; i >= 0; i--){
529528
var cur = $(connectWith[i]);
530529
for (var j = cur.length - 1; j >= 0; j--){
531-
var inst = $.data(cur[j], 'sortable');
530+
var inst = $.data(cur[j], this.widgetName);
532531
if(inst && inst != this && !inst.options.disabled) {
533532
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), inst]);
534533
}
@@ -550,7 +549,7 @@ $.widget("ui.sortable", $.ui.mouse, {
550549

551550
_removeCurrentsFromItems: function() {
552551

553-
var list = this.currentItem.find(":data(sortable-item)");
552+
var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
554553

555554
for (var i=0; i < this.items.length; i++) {
556555

@@ -576,7 +575,7 @@ $.widget("ui.sortable", $.ui.mouse, {
576575
for (var i = connectWith.length - 1; i >= 0; i--){
577576
var cur = $(connectWith[i]);
578577
for (var j = cur.length - 1; j >= 0; j--){
579-
var inst = $.data(cur[j], 'sortable');
578+
var inst = $.data(cur[j], this.widgetName);
580579
if(inst && inst != this && !inst.options.disabled) {
581580
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
582581
this.containers.push(inst);
@@ -592,7 +591,7 @@ $.widget("ui.sortable", $.ui.mouse, {
592591
for (var j=0, queriesLength = _queries.length; j < queriesLength; j++) {
593592
var item = $(_queries[j]);
594593

595-
item.data('sortable-item', targetData); // Data for target checking (mouse manager)
594+
item.data(this.widgetName + '-item', targetData); // Data for target checking (mouse manager)
596595

597596
items.push({
598597
item: item,

0 commit comments

Comments
 (0)