diff --git a/src/directive/ClickOutside/index.ts b/src/directive/ClickOutside/index.ts deleted file mode 100644 index fe47a2b1..00000000 --- a/src/directive/ClickOutside/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { Directive } from 'vue'; - -declare type NoNameFUnctionReturnVoid = () => void; - -export const clickOutside: Directive = - (() => { - const checkIfClickedInside = ( - event: Event, - element: HTMLElement, - callBackFn: NoNameFUnctionReturnVoid - ) => { - console.log('element', element); - const isInside = event.composedPath().includes(element); - - if (isInside) { - return false; - } else { - callBackFn(); - } - }; - - const allListeners: { - element: HTMLElement; - listener: (e: Event) => void; - }[] = []; - - return { - created(element) { - element.dataset.clicked = 'false'; - }, - - mounted(element, binding) { - const myListener = (e: Event) => { - checkIfClickedInside(e, element, binding.value); - }; - allListeners.push({ element, listener: myListener }); - window.addEventListener('click', myListener); - }, - - unmounted(element) { - const eventIndex = allListeners.findIndex( - listener => listener.element === element - ); - - if (eventIndex !== -1) { - const listener = allListeners[eventIndex].listener; - window.removeEventListener('click', listener); - allListeners.splice(eventIndex, 1); - } - } - }; - })(); diff --git a/src/directive/Debounce/index.ts b/src/directive/Debounce/index.ts deleted file mode 100644 index 7e1de783..00000000 --- a/src/directive/Debounce/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Directive } from 'vue'; - -/** - * 按钮防抖 - */ -export const deBounce: Directive = { - mounted(el: HTMLElement) { - el.addEventListener('click', () => { - el.classList.add('is-disabled'); - setTimeout(() => { - el.classList.remove('is-disabled'); - }, 2000); - }); - } -}; diff --git a/src/directive/index.ts b/src/directive/index.ts index 259708af..39edd276 100644 --- a/src/directive/index.ts +++ b/src/directive/index.ts @@ -1,3 +1 @@ export { hasPerm, hasRole } from './permission'; -export { clickOutside } from './ClickOutside'; -export { deBounce } from './Debounce';