|
|
@ -780,20 +780,10 @@ |
|
|
|
isLong = (target.offsetHeight > dragEl.offsetHeight), |
|
|
|
isLong = (target.offsetHeight > dragEl.offsetHeight), |
|
|
|
halfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5, |
|
|
|
halfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5, |
|
|
|
nextSibling = target.nextElementSibling, |
|
|
|
nextSibling = target.nextElementSibling, |
|
|
|
moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt), |
|
|
|
|
|
|
|
after = false |
|
|
|
after = false |
|
|
|
; |
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
if (moveVector !== false) { |
|
|
|
if (floating) { |
|
|
|
_silent = true; |
|
|
|
|
|
|
|
setTimeout(_unsilent, 30); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_cloneHide(activeSortable, isOwner); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (moveVector === 1 || moveVector === -1) { |
|
|
|
|
|
|
|
after = (moveVector === 1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (floating) { |
|
|
|
|
|
|
|
var elTop = dragEl.offsetTop, |
|
|
|
var elTop = dragEl.offsetTop, |
|
|
|
tgTop = target.offsetTop; |
|
|
|
tgTop = target.offsetTop; |
|
|
|
|
|
|
|
|
|
|
@ -809,6 +799,18 @@ |
|
|
|
after = (nextSibling !== dragEl) && !isLong || halfway && isLong; |
|
|
|
after = (nextSibling !== dragEl) && !isLong || halfway && isLong; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (moveVector !== false) { |
|
|
|
|
|
|
|
if (moveVector === 1 || moveVector === -1) { |
|
|
|
|
|
|
|
after = (moveVector === 1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_silent = true; |
|
|
|
|
|
|
|
setTimeout(_unsilent, 30); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_cloneHide(activeSortable, isOwner); |
|
|
|
|
|
|
|
|
|
|
|
if (!dragEl.contains(el)) { |
|
|
|
if (!dragEl.contains(el)) { |
|
|
|
if (after && !nextSibling) { |
|
|
|
if (after && !nextSibling) { |
|
|
|
el.appendChild(dragEl); |
|
|
|
el.appendChild(dragEl); |
|
|
@ -1278,7 +1280,7 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt) { |
|
|
|
function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt, willInsertAfter) { |
|
|
|
var evt, |
|
|
|
var evt, |
|
|
|
sortable = fromEl[expando], |
|
|
|
sortable = fromEl[expando], |
|
|
|
onMoveFn = sortable.options.onMove, |
|
|
|
onMoveFn = sortable.options.onMove, |
|
|
@ -1293,6 +1295,7 @@ |
|
|
|
evt.draggedRect = dragRect; |
|
|
|
evt.draggedRect = dragRect; |
|
|
|
evt.related = targetEl || toEl; |
|
|
|
evt.related = targetEl || toEl; |
|
|
|
evt.relatedRect = targetRect || toEl.getBoundingClientRect(); |
|
|
|
evt.relatedRect = targetRect || toEl.getBoundingClientRect(); |
|
|
|
|
|
|
|
evt.willInsertAfter = willInsertAfter; |
|
|
|
|
|
|
|
|
|
|
|
fromEl.dispatchEvent(evt); |
|
|
|
fromEl.dispatchEvent(evt); |
|
|
|
|
|
|
|
|
|
|
|