element-plus
Version:
A Component Library for Vue 3
1 lines • 1.24 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../packages/directives/repeat-click/index.ts"],"sourcesContent":["import { on, once } from '@element-plus/utils/dom'\n\nimport type { ObjectDirective, DirectiveBinding } from 'vue'\n\nexport default {\n beforeMount(el: HTMLElement, binding: DirectiveBinding) {\n let interval = null\n let startTime: number\n const handler = () => binding.value && binding.value()\n const clear = () => {\n if (Date.now() - startTime < 100) {\n handler()\n }\n clearInterval(interval)\n interval = null\n }\n\n on(el, 'mousedown', (e: MouseEvent) => {\n if ((e as any).button !== 0) return\n startTime = Date.now()\n once(document as any, 'mouseup', clear)\n clearInterval(interval)\n interval = setInterval(handler, 100)\n })\n },\n} as ObjectDirective\n"],"names":[],"mappings":";;AAIA,kBAAe;AAAA,EACb,YAAY,IAAiB,SAA2B;AACtD,QAAI,WAAW;AACf,QAAI;AACJ,UAAM,UAAU,MAAM,QAAQ,SAAS,QAAQ;AAC/C,UAAM,QAAQ,MAAM;AAClB,UAAI,KAAK,QAAQ,YAAY,KAAK;AAChC;AAAA;AAEF,oBAAc;AACd,iBAAW;AAAA;AAGb,OAAG,IAAI,aAAa,CAAC,MAAkB;AACrC,UAAK,EAAU,WAAW;AAAG;AAC7B,kBAAY,KAAK;AACjB,WAAK,UAAiB,WAAW;AACjC,oBAAc;AACd,iBAAW,YAAY,SAAS;AAAA;AAAA;AAAA;;;;"}