From 458a031558a393cabe73124c016223830084b344 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Fri, 22 Sep 2023 09:30:40 +0200 Subject: [PATCH] Create a private function for event listener --- .../controllers/vertical_ellipsis_menu_controller.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/webpacker/controllers/vertical_ellipsis_menu_controller.js b/app/webpacker/controllers/vertical_ellipsis_menu_controller.js index 4a0da14e873..c783adf170c 100644 --- a/app/webpacker/controllers/vertical_ellipsis_menu_controller.js +++ b/app/webpacker/controllers/vertical_ellipsis_menu_controller.js @@ -5,16 +5,20 @@ export default class extends Controller { connect() { super.connect(); - window.addEventListener("click", (e) => { - if (this.element.contains(e.target)) return; - this.#hide(); - }); + window.addEventListener("click", this.#hideIfClickedOutside); } toggle() { this.contentTarget.classList.toggle("show"); } + #hideIfClickedOutside = (event) => { + if (this.element.contains(event.target)) { + return; + } + this.#hide(); + }; + #hide() { this.contentTarget.classList.remove("show"); }