diff options
author | Paul Bakaus <paul.bakaus@googlemail.com> | 2008-11-04 13:34:04 +0000 |
---|---|---|
committer | Paul Bakaus <paul.bakaus@googlemail.com> | 2008-11-04 13:34:04 +0000 |
commit | e4d0e3e2e35abbf6cd7380b585917459d47d288a (patch) | |
tree | a517f75d6339086dbeefc95b195302869d185505 /ui | |
parent | 5e5116b3d4ce615baaa62c8cf2a45a5dd3523ffa (diff) | |
download | jquery-ui-e4d0e3e2e35abbf6cd7380b585917459d47d288a.tar.gz jquery-ui-e4d0e3e2e35abbf6cd7380b585917459d47d288a.zip |
sortable: removed support for ui.cancel(), must now be called via the sortable() function as method (sortable('cancel')). Now works even if the drag is still ongoing, i.e. the mouse button is still pressed.
Diffstat (limited to 'ui')
-rw-r--r-- | ui/ui.sortable.js | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/ui/ui.sortable.js b/ui/ui.sortable.js index ed9f4198c..d2a185a15 100644 --- a/ui/ui.sortable.js +++ b/ui/ui.sortable.js @@ -45,7 +45,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { }, plugins: {}, - ui: function(inst) { + _ui: function(inst) { var self = inst || this; return { helper: self.helper, @@ -55,14 +55,16 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { options: this.options, element: this.element, item: self.currentItem, - sender: inst ? inst.element : null, - cancel: function() { self.cancel(); } + sender: inst ? inst.element : null }; }, cancel: function() { if(this.dragging) { + + this._mouseUp(); + if(this.options.helper == "original") this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); else @@ -76,6 +78,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { this.containers[i].containerCache.over = 0; } } + } //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! @@ -100,8 +103,8 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { }, _propagate: function(n,e,inst, noPropagation) { - $.ui.plugin.call(this, n, [e, this.ui(inst)]); - if(!noPropagation) this.element.triggerHandler(n == "sort" ? n : "sort"+n, [e, this.ui(inst)], this.options[n]); + $.ui.plugin.call(this, n, [e, this._ui(inst)]); + if(!noPropagation) this.element.triggerHandler(n == "sort" ? n : "sort"+n, [e, this._ui(inst)], this.options[n]); }, serialize: function(o) { @@ -699,7 +702,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { } //Call the internal plugins - $.ui.plugin.call(this, "sort", [e, this.ui()]); + $.ui.plugin.call(this, "sort", [e, this._ui()]); //Regenerate the absolute position used for position checks this.positionAbs = this._convertPositionTo("absolute"); @@ -738,7 +741,7 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { if($.ui.ddmanager) $.ui.ddmanager.drag(this, e); //Call callbacks - this.element.triggerHandler("sort", [e, this.ui()], this.options["sort"]); + this.element.triggerHandler("sort", [e, this._ui()], this.options["sort"]); this.lastPositionAbs = this.positionAbs; @@ -766,6 +769,8 @@ $.widget("ui.sortable", $.extend({}, $.ui.mouse, { _mouseStop: function(e, noPropagation) { + if(!e) return; + //If we are using droppables, inform the manager about the drop if ($.ui.ddmanager && !this.options.dropBehaviour) $.ui.ddmanager.drop(this, e); |