1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-16 18:07:47 +00:00
bramw_baserow/web-frontend/directives/clickOutside.js

19 lines
493 B
JavaScript

import { isElement } from '@/utils/dom'
/**
* This directive calls a custom method if the user clicks outside of the
* element.
*/
export default {
bind: (el, binding, vnode) => {
el.clickOutsideEvent = event => {
if (!isElement(el, event.target)) {
vnode.context[binding.expression](event)
}
}
document.body.addEventListener('click', el.clickOutsideEvent)
},
unbind: el => {
document.body.removeEventListener('click', el.clickOutsideEvent)
}
}