vuetify
Version:
Vue Material Component Framework
31 lines • 672 B
JavaScript
// Utilities
import { onScopeDispose } from 'vue';
const HOLD_REPEAT = 50;
const HOLD_DELAY = 500;
export function useHold(_ref) {
let {
toggleUpDown
} = _ref;
let timeout = -1;
let interval = -1;
onScopeDispose(holdStop);
function holdStart(value) {
holdStop();
tick(value);
timeout = window.setTimeout(() => {
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
}, HOLD_DELAY);
}
function holdStop() {
window.clearTimeout(timeout);
window.clearInterval(interval);
}
function tick(value) {
toggleUpDown(value === 'up');
}
return {
holdStart,
holdStop
};
}
//# sourceMappingURL=hold.js.map