You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
504 B
21 lines
504 B
1 month ago
|
import { watch } from 'vue';
|
||
|
import { useEventListener } from '@vueuse/core';
|
||
|
|
||
|
const usePreventGlobal = (indicator, evt, cb) => {
|
||
|
const prevent = (e) => {
|
||
|
if (cb(e))
|
||
|
e.stopImmediatePropagation();
|
||
|
};
|
||
|
let stop = void 0;
|
||
|
watch(() => indicator.value, (val) => {
|
||
|
if (val) {
|
||
|
stop = useEventListener(document, evt, prevent, true);
|
||
|
} else {
|
||
|
stop == null ? void 0 : stop();
|
||
|
}
|
||
|
}, { immediate: true });
|
||
|
};
|
||
|
|
||
|
export { usePreventGlobal };
|
||
|
//# sourceMappingURL=index.mjs.map
|