UNPKG

casc-cesium

Version:

Vue 3.x components for CesiumJS.

1 lines 14.7 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/touch-repeat/index.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2022-04-12 13:11:46\n * @LastEditTime: 2022-04-12 13:18:00\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\directives\\touch-repeat\\index.ts\n */\n\nimport { createDirective } from 'casc-cesium-utils/private/create'\nimport { addEvt, cleanEvt, leftClick, noop, position, stopAndPrevent } from 'casc-cesium-utils/private/event'\nimport { clearSelection } from 'casc-cesium-utils/private/selection'\nimport { platform } from 'casc-cesium-utils/platform'\nimport { isKeyCode } from 'casc-cesium-utils/private/key-composition'\n\nconst keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n delete: [8, 46]\n },\n keyRegex = new RegExp(`^([\\\\d+]+|${Object.keys(keyCodes).join('|')})$`, 'i')\n\nfunction shouldEnd(evt, origin) {\n const { top, left } = position(evt)\n\n return Math.abs(left - origin.left) >= 7 || Math.abs(top - origin.top) >= 7\n}\n\nexport default createDirective({\n name: 'touch-repeat',\n\n beforeMount(el, { modifiers, value, arg, touchStart }) {\n const keyboard = Object.keys(modifiers).reduce((acc, key) => {\n if (keyRegex.test(key) === true) {\n const keyCode = isNaN(parseInt(key, 10)) ? keyCodes[key.toLowerCase()] : parseInt(key, 10)\n keyCode >= 0 && acc.push(keyCode)\n }\n return acc\n }, [])\n\n // early return, we don't need to do anything\n if (modifiers.mouse !== true && platform().hasTouch !== true && keyboard.length === 0) {\n return\n }\n\n const durations = typeof arg === 'string' && arg.length > 0 ? arg.split(':').map(val => parseInt(val, 10)) : [0, 600, 300]\n\n const durationsLast = durations.length - 1\n\n const ctx = {\n keyboard,\n handler: value,\n\n noop,\n\n mouseStart(evt) {\n if (ctx.event === void 0 && typeof ctx.handler === 'function' && leftClick(evt) === true) {\n addEvt(ctx, 'temp', [\n [document, 'mousemove', 'move', 'passiveCapture'],\n [document, 'click', 'end', 'notPassiveCapture']\n ])\n ctx.start(evt, true)\n }\n },\n\n keyboardStart(evt) {\n if (typeof ctx.handler === 'function' && isKeyCode(evt, keyboard) === true) {\n if (durations[0] === 0 || ctx.event !== void 0) {\n stopAndPrevent(evt)\n el.focus()\n if (ctx.event !== void 0) {\n return\n }\n }\n\n addEvt(ctx, 'temp', [\n [document, 'keyup', 'end', 'notPassiveCapture'],\n [document, 'click', 'end', 'notPassiveCapture']\n ])\n ctx.start(evt, false, true)\n }\n },\n\n touchStart(evt) {\n if (evt.target !== void 0 && typeof ctx.handler === 'function') {\n const target = evt.target\n addEvt(ctx, 'temp', [\n [target, 'touchmove', 'move', 'passiveCapture'],\n [target, 'touchcancel', 'end', 'notPassiveCapture'],\n [target, 'touchend', 'end', 'notPassiveCapture']\n ])\n ctx.start(evt)\n touchStart?.(evt)\n }\n },\n\n start(evt, mouseEvent, keyboardEvent?) {\n if (keyboardEvent !== true) {\n ctx.origin = position(evt)\n }\n\n function styleCleanup(withDelay) {\n ctx.styleCleanup = void 0\n\n document.documentElement.style.cursor = ''\n\n const remove = () => {\n document.body.classList.remove('non-selectable')\n }\n\n if (withDelay === true) {\n clearSelection()\n setTimeout(remove, 10)\n } else {\n remove()\n }\n }\n\n if (platform().isPhone === true) {\n document.body.classList.add('non-selectable')\n clearSelection()\n ctx.styleCleanup = styleCleanup\n }\n\n ctx.event = {\n touch: mouseEvent !== true && keyboardEvent !== true,\n mouse: mouseEvent === true,\n keyboard: keyboardEvent === true,\n startTime: Date.now(),\n repeatCount: 0\n }\n\n const fn = () => {\n if (ctx.event === void 0) {\n return\n }\n\n if (ctx.event.repeatCount === 0) {\n ctx.event.evt = evt\n\n if (keyboardEvent === true) {\n ctx.event.keyCode = evt.keyCode\n } else {\n ctx.event.position = position(evt)\n }\n\n if (platform().isPhone !== true) {\n document.documentElement.style.cursor = 'pointer'\n document.body.classList.add('non-selectable')\n clearSelection()\n ctx.styleCleanup = styleCleanup\n }\n }\n\n ctx.event.duration = Date.now() - ctx.event.startTime\n ctx.event.repeatCount += 1\n\n ctx.handler(ctx.event)\n\n const index = durationsLast < ctx.event.repeatCount ? durationsLast : ctx.event.repeatCount\n\n ctx.timer = setTimeout(fn, durations[index])\n }\n\n if (durations[0] === 0) {\n fn()\n } else {\n ctx.timer = setTimeout(fn, durations[0])\n }\n },\n\n move(evt) {\n if (ctx.event !== void 0 && shouldEnd(evt, ctx.origin) === true) {\n clearTimeout(ctx.timer)\n }\n },\n\n end(evt) {\n if (ctx.event === void 0) {\n return\n }\n\n ctx.styleCleanup !== void 0 && ctx.styleCleanup(true)\n evt !== void 0 && ctx.event.repeatCount > 0 && stopAndPrevent(evt)\n\n cleanEvt(ctx, 'temp')\n clearTimeout(ctx.timer)\n\n ctx.event = void 0\n }\n } as any\n\n el.__vctouchrepeat = ctx\n\n modifiers.mouse === true && addEvt(ctx, 'main', [[el, 'mousedown', 'mouseStart', `passive${modifiers.mouseCapture === true ? 'Capture' : ''}`]])\n\n platform().hasTouch === true &&\n addEvt(ctx, 'main', [\n [el, 'touchstart', 'touchStart', `passive${modifiers.capture === true ? 'Capture' : ''}`],\n [el, 'touchend', 'noop', 'notPassiveCapture']\n ])\n\n keyboard.length > 0 && addEvt(ctx, 'main', [[el, 'keydown', 'keyboardStart', `notPassive${modifiers.keyCapture === true ? 'Capture' : ''}`]])\n },\n\n updated(el, { oldValue, value }) {\n const ctx = el.__vctouchrepeat\n\n if (ctx !== void 0 && oldValue !== value) {\n typeof value !== 'function' && ctx.end()\n ctx.handler = value\n }\n },\n\n beforeUnmount(el) {\n const ctx = el.__vctouchrepeat\n\n if (ctx !== void 0) {\n clearTimeout(ctx.timer)\n\n cleanEvt(ctx, 'main')\n cleanEvt(ctx, 'temp')\n\n ctx.styleCleanup !== void 0 && ctx.styleCleanup()\n\n delete el.__vctouchrepeat\n }\n }\n})\n"],"names":[],"mappings":"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"}