|
|
|
@ -67,7 +67,7 @@
|
|
|
|
|
$ = win.jQuery || win.Zepto, |
|
|
|
|
Polymer = win.Polymer, |
|
|
|
|
|
|
|
|
|
captureMode = {capture: false, passive: false}, |
|
|
|
|
captureMode = { capture: false, passive: false }, |
|
|
|
|
|
|
|
|
|
supportDraggable = !!('draggable' in document.createElement('div')), |
|
|
|
|
supportCssPointerEvents = (function (el) { |
|
|
|
@ -107,7 +107,7 @@
|
|
|
|
|
|
|
|
|
|
scrollOffsetX, |
|
|
|
|
scrollOffsetY |
|
|
|
|
; |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
// Delect scrollEl
|
|
|
|
|
if (scrollParentEl !== rootEl) { |
|
|
|
@ -158,7 +158,7 @@
|
|
|
|
|
scrollOffsetY = vy ? vy * speed : 0; |
|
|
|
|
scrollOffsetX = vx ? vx * speed : 0; |
|
|
|
|
|
|
|
|
|
if ('function' === typeof(scrollCustomFn)) { |
|
|
|
|
if ('function' === typeof (scrollCustomFn)) { |
|
|
|
|
return scrollCustomFn.call(_this, scrollOffsetX, scrollOffsetY, evt); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -200,7 +200,7 @@
|
|
|
|
|
var originalGroup = options.group; |
|
|
|
|
|
|
|
|
|
if (!originalGroup || typeof originalGroup != 'object') { |
|
|
|
|
originalGroup = {name: originalGroup}; |
|
|
|
|
originalGroup = { name: originalGroup }; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
group.name = originalGroup.name; |
|
|
|
@ -210,7 +210,7 @@
|
|
|
|
|
|
|
|
|
|
options.group = group; |
|
|
|
|
} |
|
|
|
|
; |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -261,7 +261,7 @@
|
|
|
|
|
fallbackClass: 'sortable-fallback', |
|
|
|
|
fallbackOnBody: false, |
|
|
|
|
fallbackTolerance: 0, |
|
|
|
|
fallbackOffset: {x: 0, y: 0} |
|
|
|
|
fallbackOffset: { x: 0, y: 0 } |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -384,7 +384,7 @@
|
|
|
|
|
dragEl = target; |
|
|
|
|
parentEl = dragEl.parentNode; |
|
|
|
|
nextEl = dragEl.nextSibling; |
|
|
|
|
lastDownEl = target |
|
|
|
|
lastDownEl = target; |
|
|
|
|
activeGroup = options.group; |
|
|
|
|
oldIndex = startIndex; |
|
|
|
|
|
|
|
|
@ -476,11 +476,11 @@
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
if (document.selection) {
|
|
|
|
|
if (document.selection) { |
|
|
|
|
// Timeout neccessary for IE9
|
|
|
|
|
setTimeout(function () { |
|
|
|
|
document.selection.empty(); |
|
|
|
|
});
|
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
window.getSelection().removeAllRanges(); |
|
|
|
|
} |
|
|
|
@ -552,7 +552,7 @@
|
|
|
|
|
|
|
|
|
|
_onTouchMove: function (/**TouchEvent*/evt) { |
|
|
|
|
if (tapEvt) { |
|
|
|
|
var options = this.options, |
|
|
|
|
var options = this.options, |
|
|
|
|
fallbackTolerance = options.fallbackTolerance, |
|
|
|
|
fallbackOffset = options.fallbackOffset, |
|
|
|
|
touch = evt.touches ? evt.touches[0] : evt, |
|
|
|
@ -763,34 +763,36 @@
|
|
|
|
|
isLong = (target.offsetHeight > dragEl.offsetHeight), |
|
|
|
|
halfway = (floating ? (evt.clientX - targetRect.left) / width : (evt.clientY - targetRect.top) / height) > 0.5, |
|
|
|
|
nextSibling = target.nextElementSibling, |
|
|
|
|
moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt), |
|
|
|
|
after |
|
|
|
|
; |
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
if (moveVector !== false) { |
|
|
|
|
_silent = true; |
|
|
|
|
setTimeout(_unsilent, 30); |
|
|
|
|
if (floating) { |
|
|
|
|
var elTop = dragEl.offsetTop, |
|
|
|
|
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 { |
|
|
|
|
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); |
|
|
|
|
} |
|
|
|
|
else if (floating) { |
|
|
|
|
var elTop = dragEl.offsetTop, |
|
|
|
|
tgTop = target.offsetTop; |
|
|
|
|
|
|
|
|
|
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 { |
|
|
|
|
after = (nextSibling !== dragEl) && !isLong || halfway && isLong; |
|
|
|
|
} |
|
|
|
|
_silent = true; |
|
|
|
|
setTimeout(_unsilent, 30); |
|
|
|
|
|
|
|
|
|
_cloneHide(activeSortable, isOwner); |
|
|
|
|
|
|
|
|
|
if (!dragEl.contains(el)) { |
|
|
|
|
if (after && !nextSibling) { |
|
|
|
@ -941,30 +943,30 @@
|
|
|
|
|
this._nulling(); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
_nulling: function() { |
|
|
|
|
_nulling: function () { |
|
|
|
|
rootEl = |
|
|
|
|
dragEl = |
|
|
|
|
parentEl = |
|
|
|
|
ghostEl = |
|
|
|
|
nextEl = |
|
|
|
|
cloneEl = |
|
|
|
|
lastDownEl = |
|
|
|
|
dragEl = |
|
|
|
|
parentEl = |
|
|
|
|
ghostEl = |
|
|
|
|
nextEl = |
|
|
|
|
cloneEl = |
|
|
|
|
lastDownEl = |
|
|
|
|
|
|
|
|
|
scrollEl = |
|
|
|
|
scrollParentEl = |
|
|
|
|
scrollEl = |
|
|
|
|
scrollParentEl = |
|
|
|
|
|
|
|
|
|
tapEvt = |
|
|
|
|
touchEvt = |
|
|
|
|
tapEvt = |
|
|
|
|
touchEvt = |
|
|
|
|
|
|
|
|
|
moved = |
|
|
|
|
newIndex = |
|
|
|
|
moved = |
|
|
|
|
newIndex = |
|
|
|
|
|
|
|
|
|
lastEl = |
|
|
|
|
lastCSS = |
|
|
|
|
lastEl = |
|
|
|
|
lastCSS = |
|
|
|
|
|
|
|
|
|
putSortable = |
|
|
|
|
activeGroup = |
|
|
|
|
Sortable.active = null; |
|
|
|
|
putSortable = |
|
|
|
|
activeGroup = |
|
|
|
|
Sortable.active = null; |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
handleEvent: function (/**Event*/evt) { |
|
|
|
@ -1247,7 +1249,7 @@
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt) { |
|
|
|
|
function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvt, insertAfter) { |
|
|
|
|
var evt, |
|
|
|
|
sortable = fromEl[expando], |
|
|
|
|
onMoveFn = sortable.options.onMove, |
|
|
|
@ -1262,6 +1264,7 @@
|
|
|
|
|
evt.draggedRect = dragRect; |
|
|
|
|
evt.related = targetEl || toEl; |
|
|
|
|
evt.relatedRect = targetRect || toEl.getBoundingClientRect(); |
|
|
|
|
evt.insertAfter = insertAfter; |
|
|
|
|
|
|
|
|
|
fromEl.dispatchEvent(evt); |
|
|
|
|
|
|
|
|
|