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