Files
openfoodnetwork/app/webpacker/controllers/selector_controller.js
Jean-Baptiste Bellet 2b7bccf890 Create Selector component
Add a onClickOutside behavior that close the component if clicked outside

Selector component doesn't handle its state but receive props from parent

u
2022-12-07 15:08:52 +01:00

19 lines
493 B
JavaScript

import ApplicationController from "./application_controller";
export default class extends ApplicationController {
connect() {
super.connect();
window.addEventListener("click", this.closeOnClickOutside);
}
disconnect() {
super.disconnect();
window.removeEventListener("click", this.closeOnClickOutside);
}
closeOnClickOutside = (event) => {
if (!this.element.contains(event.target)) {
this.stimulate("SelectorComponent#close", this.element);
}
};
}