jQuery: The Write Less, Do More JavaScript Library

Ticket #1958 (closed enhancement: fixed)

Opened 8 months ago

Last modified 6 months ago

UI.sortables does not call the callback update

Reported by: aldur Assigned to: paul
Type: enhancement Priority: minor
Milestone: 1.2.2 Component: ui
Version: 1.2.1 Keywords: UI sortable callback fix
Cc: Needs: Review

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

Change History

Changed 8 months 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;
		}

Changed 8 months ago by paul

  • owner set to paul
  • status changed from new to assigned

Changed 6 months ago by paul

  • status changed from assigned to closed
  • resolution set to fixed

works in 1.5a (or current SVN).

Note: See TracTickets for help on using tickets.