Files
dbgate/packages/web/src/utility/clickOutside.ts
2021-04-08 10:13:57 +02:00

16 lines
395 B
TypeScript

export default function clickOutside(node) {
const handleClick = event => {
if (node && !node.contains(event.target) && !event.defaultPrevented) {
node.dispatchEvent(new CustomEvent('clickOutside'));
}
};
document.addEventListener('mousedown', handleClick, true);
return {
destroy() {
document.removeEventListener('mousedown', handleClick, true);
},
};
}