From b80499e955ca021757bbe55d191e6b8019afbe11 Mon Sep 17 00:00:00 2001 From: Andy Smith Date: Fri, 12 Dec 2025 14:08:22 -0600 Subject: [PATCH] Leave Maybe column expanded on Desktop --- .../collapsible_columns_controller.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/javascript/controllers/collapsible_columns_controller.js b/app/javascript/controllers/collapsible_columns_controller.js index bf0ff9654..cd533220e 100644 --- a/app/javascript/controllers/collapsible_columns_controller.js +++ b/app/javascript/controllers/collapsible_columns_controller.js @@ -81,7 +81,9 @@ export default class extends Controller { } #collapseAllExcept(clickedColumn) { - this.columnTargets.forEach(column => { + const columns = this.#isDesktop ? this.columnTargets.filter(c => c !== this.maybeColumnTarget) : this.columnTargets + + columns.forEach(column => { if (column !== clickedColumn) { this.#collapse(column) } @@ -150,18 +152,21 @@ export default class extends Controller { this.titleTargets.forEach(title => this._intersectionObserver.observe(title)) } - #handleDesktop(e) { - const matches = e.matches ?? e // handle both Event and MediaQueryList - matches ? this.#disableMaybeToggle() : this.#enableMaybeToggle() + #isDesktop(e) { + return e.matches ?? e } - #disableMaybeToggle() { + #handleDesktop(e) { + this.#isDesktop(e) ? this.#handleDesktopMode() : this.#handleMobileMode() + } + + async #handleDesktopMode() { this.#expand(this.maybeColumnTarget) this.#maybeButton.setAttribute("disabled", true) } - #enableMaybeToggle() { - this.#collapse(this.maybeColumnTarget) + #handleMobileMode() { + this.columnTargets.forEach(column => this.#collapse(column)) this.#maybeButton.removeAttribute("disabled") }