From 6de7b4002435466e397d23c1d698af694d0ede70 Mon Sep 17 00:00:00 2001 From: Jason Zimdars Date: Mon, 22 Dec 2025 14:14:50 -0600 Subject: [PATCH] Explicitly diable hotkeys in Not Now and Done --- app/helpers/columns_helper.rb | 2 ++ app/javascript/controllers/card_hotkeys_controller.js | 6 +++++- app/views/boards/show/_closed.html.erb | 1 + app/views/boards/show/_not_now.html.erb | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/helpers/columns_helper.rb b/app/helpers/columns_helper.rb index f48b5d557..b14e6adc6 100644 --- a/app/helpers/columns_helper.rb +++ b/app/helpers/columns_helper.rb @@ -12,6 +12,7 @@ module ColumnsHelper def column_tag(id:, name:, drop_url:, collapsed: true, selected: nil, card_color: "var(--color-card-default)", data: {}, **properties, &block) classes = token_list("cards", properties.delete(:class), "is-collapsed": collapsed) + hotkeys_disabled = data[:card_hotkeys_disabled] data = { drag_and_drop_target: "container", @@ -37,6 +38,7 @@ module ColumnsHelper navigable_list_auto_select_value: "false", navigable_list_actionable_items_value: "true", navigable_list_only_act_on_focused_items_value: "true", + card_hotkeys_disabled: hotkeys_disabled, action: "keydown->navigable-list#navigate" }, &block) end diff --git a/app/javascript/controllers/card_hotkeys_controller.js b/app/javascript/controllers/card_hotkeys_controller.js index 6aef323b5..b2f92ee9b 100644 --- a/app/javascript/controllers/card_hotkeys_controller.js +++ b/app/javascript/controllers/card_hotkeys_controller.js @@ -43,7 +43,7 @@ export default class extends Controller { if (!focusedList) return null const currentItem = focusedList.currentItem - if (currentItem?.classList.contains("card")) { + if (currentItem?.classList.contains("card") && !this.#hotkeysDisabled(focusedList)) { return { card: currentItem, controller: focusedList } } return null @@ -118,6 +118,10 @@ export default class extends Controller { } } + #hotkeysDisabled(navigableList) { + return navigableList?.element.dataset.cardHotkeysDisabled === "true" + } + #keyHandlers = { "["(event) { this.#postponeCard(event) }, "]"(event) { this.#closeCard(event) }, diff --git a/app/views/boards/show/_closed.html.erb b/app/views/boards/show/_closed.html.erb index 5d2820399..d4712b832 100644 --- a/app/views/boards/show/_closed.html.erb +++ b/app/views/boards/show/_closed.html.erb @@ -1,5 +1,6 @@ <%= column_tag id: "closed-cards", name: "Done", drop_url: columns_card_drops_closure_path("__id__"), class: "cards--closed", style: "--card-color: var(--color-card-complete);", data: { + card_hotkeys_disabled: true, drag_and_strum_target: "container", collapsible_columns_target: "column", action: "focus->collapsible-columns#focusOnColumn" diff --git a/app/views/boards/show/_not_now.html.erb b/app/views/boards/show/_not_now.html.erb index 66cd99519..ab84d04b8 100644 --- a/app/views/boards/show/_not_now.html.erb +++ b/app/views/boards/show/_not_now.html.erb @@ -1,5 +1,6 @@ <%= column_tag id: "not-now", name: "Not Now", drop_url: columns_card_drops_not_now_path("__id__"), class: "cards--on-deck", style: "--card-color: var(--color-card-complete);", data: { + card_hotkeys_disabled: true, collapsible_columns_target: "column", drag_and_strum_target: "container", action: "focus->collapsible-columns#focusOnColumn"