immich/web/src/lib/utils/click-outside.ts
Alex e116f17c43
feat(web) add user setting page (#1115)
* refactoring

* refactor

* fix naming

* Added animation

* add user setting page

* Add skeleton for user setting page

* styling

* styling

* Spelling
2022-12-17 16:08:18 -06:00

16 lines
383 B
TypeScript

export function clickOutside(node: Node) {
const handleClick = (event: Event) => {
const targetNode = event.target as Node | null;
if (!node.contains(targetNode)) {
node.dispatchEvent(new CustomEvent('outclick'));
}
};
document.addEventListener('click', handleClick, true);
return {
destroy() {
document.removeEventListener('click', handleClick, true);
}
};
}