Skip to main content

Bug Tracker

Side navigation

#1958 closed enhancement (fixed)

Opened November 22, 2007 03:38PM UTC

Closed February 07, 2008 04:57PM UTC

UI.sortables does not call the callback update

Reported by: aldur Owned by: paul
Priority: minor Milestone: 1.2.2
Component: ui 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

Attachments (0)
Change History (3)

Changed November 22, 2007 03:51PM UTC by aldur comment:1

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;
			
		}

Changed November 24, 2007 08:47PM UTC by paul comment:2

owner: → paul
status: newassigned

Changed February 07, 2008 04:57PM UTC by paul comment:3

resolution: → fixed
status: assignedclosed

works in 1.5a (or current SVN).