UNPKG

element-plus

Version:

A Component Library for Vue 3

45 lines (41 loc) 1.07 kB
'use strict'; var raf = require('../../../../utils/raf.js'); const useGridWheel = ({ atXEndEdge, atXStartEdge, atYEndEdge, atYStartEdge }, onWheelDelta) => { let frameHandle = null; let xOffset = 0; let yOffset = 0; const hasReachedEdge = (x, y) => { const xEdgeReached = x < 0 && atXStartEdge.value || x > 0 && atXEndEdge.value; const yEdgeReached = y < 0 && atYStartEdge.value || y > 0 && atYEndEdge.value; return xEdgeReached || yEdgeReached; }; const onWheel = (e) => { raf.cAF(frameHandle); let x = e.deltaX; let y = e.deltaY; if (Math.abs(x) > Math.abs(y)) { y = 0; } else { x = 0; } if (e.shiftKey && y !== 0) { x = y; y = 0; } if (hasReachedEdge(x, y)) return; xOffset += x; yOffset += y; e.preventDefault(); frameHandle = raf.rAF(() => { onWheelDelta(xOffset, yOffset); xOffset = 0; yOffset = 0; }); }; return { hasReachedEdge, onWheel }; }; exports.useGridWheel = useGridWheel; //# sourceMappingURL=use-grid-wheel.js.map