From 0fdf7876a607d897329ded5a90c4116aff8e5c7e Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Bellet Date: Fri, 7 Jul 2023 09:27:43 +0200 Subject: [PATCH] Instanciate instance variable + use spread operator to be more concise and efficient ;) --- .../controllers/dropdown_controller.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/app/webpacker/controllers/dropdown_controller.js b/app/webpacker/controllers/dropdown_controller.js index 42d2eaa9c1..35d13511bb 100644 --- a/app/webpacker/controllers/dropdown_controller.js +++ b/app/webpacker/controllers/dropdown_controller.js @@ -4,6 +4,8 @@ export default class extends Controller { static targets = ["arrow", "menu"]; connect() { + this.collapsedClass = this.arrowTarget.dataset.collapsedClass.split(" "); + this.expandedClass = this.arrowTarget.dataset.expandedClass.split(" "); this.#hide(); document.addEventListener("click", this.#onBodyClick.bind(this)); } @@ -31,20 +33,12 @@ export default class extends Controller { #show() { this.menuTarget.classList.remove("hidden"); - this.arrowTarget.dataset.collapsedClass.split(" ").forEach((className) => { - this.arrowTarget.classList.remove(className); - }); - this.arrowTarget.dataset.expandedClass.split(" ").forEach((className) => { - this.arrowTarget.classList.add(className); - }); + this.arrowTarget.classList.remove(...this.collapsedClass); + this.arrowTarget.classList.add(...this.expandedClass); } #hide() { this.menuTarget.classList.add("hidden"); - this.arrowTarget.dataset.expandedClass.split(" ").forEach((className) => { - this.arrowTarget.classList.remove(className); - }); - this.arrowTarget.dataset.collapsedClass.split(" ").forEach((className) => { - this.arrowTarget.classList.add(className); - }); + this.arrowTarget.classList.remove(...this.expandedClass); + this.arrowTarget.classList.add(...this.collapsedClass); } }