Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#1958 closed enhancement (fixed)

UI.sortables does not call the callback update

Reported by: aldur Owned by: paul
Priority: minor Milestone: 1.5
Component: ui.core Version: 1.2.1
Keywords: UI sortable callback fix Cc:
Blocked by: Blocking:

Description

The following code should call the callback function stopDrag but it doesn't.

$("ul.reorder").sortable({stop: stopDrag});
function stopDrag(e,ui) { alert("updated");}

add the following line at line 190 of ui.sortable.js

$(this.element).triggerHandler("sortstop", [e, that.prepareCallbackObj(this)], o.stop);

and it works

Change History (5)

comment:1 Changed 12 years ago by aldur

oops tested more here is the updated stop function in total notice that the condition inside the stopit function has been removed and the condition added around the call for the callback

stop: function(that, e) {			
			
			var o = this.options;
			var self = this;
			

			if(o.smooth) {
				var os = $(this.element).offset();
				o.beQuietAtEnd = true;
				$(this.helper).animate({ left: os.left - o.po.left, top: os.top - o.po.top }, 500, stopIt);
			} else {
				stopIt();
			}
				
			function stopIt() {

				$(self.element).css('visibility', 'visible');
				if(that.helper) that.helper.remove();
				if(self.helper != self.element) $(self.helper).remove(); 

				if(o.ozIndex)
					$(self.helper).css('zIndex', o.ozIndex);
			}
			if($(self.element).prev()[0] != that.firstSibling) {
				$(this.element).triggerHandler("sortstop", [e, that.prepareCallbackObj(this)], o.stop);
			}

			return false;
			
		}

comment:2 Changed 12 years ago by paul

Owner: set to paul
Status: newassigned

comment:3 Changed 12 years ago by paul

Resolution: fixed
Status: assignedclosed

works in 1.5a (or current SVN).

comment:4 Changed 11 years ago by (none)

Milestone: 1.2.2

Milestone 1.2.2 deleted

comment:5 Changed 11 years ago by paul

Milestone: 1.5
Note: See TracTickets for help on using tickets.