2
This commit is contained in:
46
normal-admin/node_modules/element-plus/lib/directives/repeat-click/index.js
generated
vendored
Normal file
46
normal-admin/node_modules/element-plus/lib/directives/repeat-click/index.js
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
|
||||
var shared = require('@vue/shared');
|
||||
|
||||
const REPEAT_INTERVAL = 100;
|
||||
const REPEAT_DELAY = 600;
|
||||
const vRepeatClick = {
|
||||
beforeMount(el, binding) {
|
||||
const value = binding.value;
|
||||
const { interval = REPEAT_INTERVAL, delay = REPEAT_DELAY } = shared.isFunction(value) ? {} : value;
|
||||
let intervalId;
|
||||
let delayId;
|
||||
const handler = () => shared.isFunction(value) ? value() : value.handler();
|
||||
const clear = () => {
|
||||
if (delayId) {
|
||||
clearTimeout(delayId);
|
||||
delayId = void 0;
|
||||
}
|
||||
if (intervalId) {
|
||||
clearInterval(intervalId);
|
||||
intervalId = void 0;
|
||||
}
|
||||
};
|
||||
el.addEventListener("mousedown", (evt) => {
|
||||
if (evt.button !== 0)
|
||||
return;
|
||||
clear();
|
||||
handler();
|
||||
document.addEventListener("mouseup", () => clear(), {
|
||||
once: true
|
||||
});
|
||||
delayId = setTimeout(() => {
|
||||
intervalId = setInterval(() => {
|
||||
handler();
|
||||
}, interval);
|
||||
}, delay);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
exports.REPEAT_DELAY = REPEAT_DELAY;
|
||||
exports.REPEAT_INTERVAL = REPEAT_INTERVAL;
|
||||
exports.vRepeatClick = vRepeatClick;
|
||||
//# sourceMappingURL=index.js.map
|
||||
Reference in New Issue
Block a user