@furystack/shades-common-components
Version:
18 lines • 573 B
JavaScript
export class ClickAwayService {
element;
onClickAway;
[Symbol.dispose]() {
window.removeEventListener('click', this.clickOutsideListener, true);
}
clickOutsideListener = ((ev) => {
if (ev.target && !this.element.contains(ev.target)) {
this.onClickAway();
}
}).bind(this);
constructor(element, onClickAway) {
this.element = element;
this.onClickAway = onClickAway;
window.addEventListener('click', this.clickOutsideListener, true);
}
}
//# sourceMappingURL=click-away-service.js.map