Browse Source

Merge pull request #1084 from David-Desmaisons/dev

send insertAfter information in move hook
pull/867/merge
Lebedev Konstantin 8 years ago committed by GitHub
parent
commit
f35d81b73c
  1. 43
      Sortable.js
  2. 3
      Sortable.min.js

43
Sortable.js

@ -780,34 +780,36 @@
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; var elTop = dragEl.offsetTop,
setTimeout(_unsilent, 30); tgTop = target.offsetTop;
_cloneHide(activeSortable, isOwner); if (elTop === tgTop) {
after = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide;
}
else if (target.previousElementSibling === dragEl || dragEl.previousElementSibling === target) {
after = (evt.clientY - targetRect.top) / height > 0.5;
} else {
after = tgTop > elTop;
}
} else if (!isMovingBetweenSortable) {
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) { if (moveVector === 1 || moveVector === -1) {
after = (moveVector === 1); after = (moveVector === 1);
} }
else if (floating) {
var elTop = dragEl.offsetTop,
tgTop = target.offsetTop;
if (elTop === tgTop) { _silent = true;
after = (target.previousElementSibling === dragEl) && !isWide || halfway && isWide; setTimeout(_unsilent, 30);
}
else if (target.previousElementSibling === dragEl || dragEl.previousElementSibling === target) { _cloneHide(activeSortable, isOwner);
after = (evt.clientY - targetRect.top) / height > 0.5;
} else {
after = tgTop > elTop;
}
} else if (!isMovingBetweenSortable) {
after = (nextSibling !== dragEl) && !isLong || halfway && isLong;
}
if (!dragEl.contains(el)) { if (!dragEl.contains(el)) {
if (after && !nextSibling) { if (after && !nextSibling) {
@ -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);

3
Sortable.min.js vendored

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save