|
|
|
@ -68,6 +68,7 @@
|
|
|
|
|
_silent = false, |
|
|
|
|
|
|
|
|
|
abs = Math.abs, |
|
|
|
|
min = Math.min, |
|
|
|
|
slice = [].slice, |
|
|
|
|
|
|
|
|
|
touchDragOverListeners = [], |
|
|
|
@ -469,26 +470,27 @@
|
|
|
|
|
|
|
|
|
|
_onTouchMove: function (/**TouchEvent*/evt) { |
|
|
|
|
if (tapEvt) { |
|
|
|
|
|
|
|
|
|
var touch = evt.touches ? evt.touches[0] : evt; |
|
|
|
|
var options = this.options, |
|
|
|
|
fallbackTolerance = options.fallbackTolerance, |
|
|
|
|
touch = evt.touches ? evt.touches[0] : evt, |
|
|
|
|
dx = touch.clientX - tapEvt.clientX, |
|
|
|
|
dy = touch.clientY - tapEvt.clientY, |
|
|
|
|
translate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)'; |
|
|
|
|
|
|
|
|
|
// only set the status to dragging, when we are actually dragging
|
|
|
|
|
if (!Sortable.active) { |
|
|
|
|
if (this.options.fallbackTolerance) { |
|
|
|
|
if (Math.min(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < this.options.fallbackTolerance) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (fallbackTolerance && |
|
|
|
|
min(abs(touch.clientX - this._lastX), abs(touch.clientY - this._lastY)) < fallbackTolerance |
|
|
|
|
) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this._dragStarted(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// as well as creating the ghost element on the document body
|
|
|
|
|
this._appendGhost(); |
|
|
|
|
|
|
|
|
|
var dx = touch.clientX - tapEvt.clientX, |
|
|
|
|
dy = touch.clientY - tapEvt.clientY, |
|
|
|
|
translate3d = evt.touches ? 'translate3d(' + dx + 'px,' + dy + 'px,0)' : 'translate(' + dx + 'px,' + dy + 'px)'; |
|
|
|
|
|
|
|
|
|
moved = true; |
|
|
|
|
touchEvt = touch; |
|
|
|
|
|
|
|
|
|