mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-20 21:59:38 +02:00
* Prevent duplicate listeners and memory leak Signed-off-by: Konnor Rogers <konnor5456@gmail.com> * Update dropdown_controller.js Signed-off-by: Konnor Rogers <konnor5456@gmail.com> --------- Signed-off-by: Konnor Rogers <konnor5456@gmail.com>
23 lines
543 B
JavaScript
23 lines
543 B
JavaScript
import { Controller } from "@hotwired/stimulus"
|
|
|
|
// Connects to data-controller="dropdown"
|
|
export default class extends Controller {
|
|
static targets = ["menu"]
|
|
|
|
toggleMenu(event) {
|
|
event.stopPropagation(); // Prevent event from closing the menu immediately
|
|
this.menuTarget.classList.toggle("hidden");
|
|
}
|
|
|
|
hideMenu = () => {
|
|
this.menuTarget.classList.add("hidden");
|
|
}
|
|
|
|
connect() {
|
|
document.addEventListener("click", this.hideMenu);
|
|
}
|
|
|
|
disconnect() {
|
|
document.removeEventListener("click", this.hideMenu);
|
|
}
|
|
}
|