Skip to content

Instantly share code, notes, and snippets.

@mrigdon-zz
Created June 29, 2020 18:30
Show Gist options
  • Save mrigdon-zz/2444f30ee18e4f58a4ae50d81172a411 to your computer and use it in GitHub Desktop.
Save mrigdon-zz/2444f30ee18e4f58a4ae50d81172a411 to your computer and use it in GitHub Desktop.
LWC dismiss on click outside
<template>
<slot></slot>
</template>
import { LightningElement } from 'lwc';
export default class DismissOnClickOutside extends LightningElement {
handleClick = (event: Event) => {
const path = event.composedPath();
const inside = path.includes(this.template as any)
if (!inside) {
this.dispatchEvent(new CustomEvent('dismiss'))
}
};
connectedCallback() {
document.addEventListener('click', this.handleClick);
}
disconnectedCallback() {
document.removeEventListener('click', this.handleClick);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment