feat: click outside directives
This commit is contained in:
parent
5ff294be3d
commit
6016699ec6
1 changed files with 15 additions and 0 deletions
15
Services/client/src/lib/directives.ts
Normal file
15
Services/client/src/lib/directives.ts
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import type { ObjectDirective } from 'vue'
|
||||
|
||||
export const clickOutside = {
|
||||
beforeMount(element, binding) {
|
||||
element.clickOutsideEvent = (e: MouseEvent) => {
|
||||
if (!(element === e.target || element.contains(e.target))) {
|
||||
binding.value(e)
|
||||
}
|
||||
}
|
||||
document.addEventListener('click', element.clickOutsideEvent)
|
||||
},
|
||||
unmounted(element) {
|
||||
document.removeEventListener('click', element.clickOutsideEvent)
|
||||
},
|
||||
} satisfies ObjectDirective
|
||||
Loading…
Add table
Add a link
Reference in a new issue