No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

1 línea
1.9 KiB

  1. {"ast":null,"code":"import { eventScope, TouchRecord } from '../utils/';\nvar activeScrollbar;\nexport function touchHandler(scrollbar) {\n var MIN_EAING_MOMENTUM = 50;\n var EASING_MULTIPLIER = /Android/.test(navigator.userAgent) ? 3 : 2;\n var target = scrollbar.options.delegateTo || scrollbar.containerEl;\n var touchRecord = new TouchRecord();\n var addEvent = eventScope(scrollbar);\n var damping;\n var pointerCount = 0;\n addEvent(target, 'touchstart', function (evt) {\n // start records\n touchRecord.track(evt); // stop scrolling\n\n scrollbar.setMomentum(0, 0); // save damping\n\n if (pointerCount === 0) {\n damping = scrollbar.options.damping;\n scrollbar.options.damping = Math.max(damping, 0.5); // less frames on touchmove\n }\n\n pointerCount++;\n });\n addEvent(target, 'touchmove', function (evt) {\n if (activeScrollbar && activeScrollbar !== scrollbar) return;\n touchRecord.update(evt);\n\n var _a = touchRecord.getDelta(),\n x = _a.x,\n y = _a.y;\n\n scrollbar.addTransformableMomentum(x, y, evt, function (willScroll) {\n if (willScroll) {\n evt.preventDefault();\n activeScrollbar = scrollbar;\n }\n });\n });\n addEvent(target, 'touchcancel touchend', function (evt) {\n var velocity = touchRecord.getVelocity();\n var momentum = {\n x: 0,\n y: 0\n };\n Object.keys(velocity).forEach(function (dir) {\n var s = velocity[dir] / damping; // throw small values\n\n momentum[dir] = Math.abs(s) < MIN_EAING_MOMENTUM ? 0 : s * EASING_MULTIPLIER;\n });\n scrollbar.addTransformableMomentum(momentum.x, momentum.y, evt);\n pointerCount--; // restore damping\n\n if (pointerCount === 0) {\n scrollbar.options.damping = damping;\n }\n\n touchRecord.release(evt);\n activeScrollbar = null;\n });\n}","map":null,"metadata":{},"sourceType":"module"}