UNPKG

angular-ui-sortable

Version:

This directive allows you to jQueryUI Sortable.

61 lines (50 loc) 1.27 kB
;(function($, undefined) { function findCenter(elem) { var offset, document = $(elem.ownerDocument); elem = $(elem); offset = elem.offset(); return { x: offset.left + elem.outerWidth() / 2 - document.scrollLeft(), y: offset.top + elem.outerHeight() / 2 - document.scrollTop() }; } $.extend($.simulate.prototype, { simulateDragAndRevert: function() { var i = 0, target = this.target, options = this.options, center = findCenter(target), x = Math.floor(center.x), y = Math.floor(center.y), dx = options.dx || 0, dy = options.dy || 0, moves = options.moves || 3, coord = { clientX: x, clientY: y }; this.simulateEvent(target, "mousedown", coord); for (; i < moves; i++) { x += dx / moves; y += dy / moves; coord = { clientX: Math.round(x), clientY: Math.round(y) }; this.simulateEvent(document, "mousemove", coord); } for (i = 0; i < moves; i++) { x -= dx / moves; y -= dy / moves; coord = { clientX: Math.round(x), clientY: Math.round(y) }; this.simulateEvent(document, "mousemove", coord); } this.simulateEvent(target, "mouseup", coord); this.simulateEvent(target, "click", coord); } }); })(jQuery);