智慧水务管理系统 - 精河县供水工程综合管理平台

index.js 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
  2. require("../../_virtual/_rolldown/runtime.js");
  3. let _vue_shared = require("@vue/shared");
  4. //#region ../../packages/directives/repeat-click/index.ts
  5. const REPEAT_INTERVAL = 100;
  6. const REPEAT_DELAY = 600;
  7. const SCOPE = "_RepeatClick";
  8. const vRepeatClick = {
  9. beforeMount(el, binding) {
  10. const value = binding.value;
  11. const { interval = 100, delay = 600 } = (0, _vue_shared.isFunction)(value) ? {} : value;
  12. let intervalId;
  13. let delayId;
  14. const handler = () => (0, _vue_shared.isFunction)(value) ? value() : value.handler();
  15. const clear = () => {
  16. if (delayId) {
  17. clearTimeout(delayId);
  18. delayId = void 0;
  19. }
  20. if (intervalId) {
  21. clearInterval(intervalId);
  22. intervalId = void 0;
  23. }
  24. };
  25. const start = (evt) => {
  26. if (evt.button !== 0) return;
  27. clear();
  28. handler();
  29. document.addEventListener("mouseup", clear, { once: true });
  30. delayId = setTimeout(() => {
  31. intervalId = setInterval(() => {
  32. handler();
  33. }, interval);
  34. }, delay);
  35. };
  36. el[SCOPE] = {
  37. start,
  38. clear
  39. };
  40. el.addEventListener("mousedown", start);
  41. },
  42. unmounted(el) {
  43. if (!el[SCOPE]) return;
  44. const { start, clear } = el[SCOPE];
  45. if (start) el.removeEventListener("mousedown", start);
  46. if (clear) {
  47. clear();
  48. document.removeEventListener("mouseup", clear);
  49. }
  50. el[SCOPE] = null;
  51. }
  52. };
  53. //#endregion
  54. exports.REPEAT_DELAY = REPEAT_DELAY;
  55. exports.REPEAT_INTERVAL = REPEAT_INTERVAL;
  56. exports.vRepeatClick = vRepeatClick;
  57. //# sourceMappingURL=index.js.map