Files
openfoodnetwork/app/webpacker/controllers/dropdown_controller.js
David Cook 8c75e6baa8 Make column selector a dropdown
With some styling tweaks.
2024-06-13 10:07:55 +10:00

31 lines
653 B
JavaScript

import { Controller } from "stimulus";
// Close a <details> element when click outside
export default class extends Controller {
connect() {
document.body.addEventListener("click", this.#close.bind(this));
this.element.addEventListener("click", this.#stopPropagation.bind(this));
}
disconnect() {
document.removeEventListener("click", this.#close);
document.removeEventListener("click", this.#stopPropagation);
}
closeOnMenu(event) {
this.#close();
this.#stopPropagation(event);
}
// private
#close(event) {
this.element.open = false;
}
#stopPropagation(event) {
event.stopPropagation();
}
}