diff --git a/app/helpers/columns_helper.rb b/app/helpers/columns_helper.rb index caabe589d..67c7cdca0 100644 --- a/app/helpers/columns_helper.rb +++ b/app/helpers/columns_helper.rb @@ -32,6 +32,7 @@ module ColumnsHelper navigable_list_prevent_handled_keys_value: "true", navigable_list_auto_select_value: "false", navigable_list_actionable_items_value: "true", + navigable_list_only_act_on_focused_items_value: "true", action: "keydown->navigable-list#navigate" }, &block) end diff --git a/app/javascript/controllers/navigable_list_controller.js b/app/javascript/controllers/navigable_list_controller.js index 0eedf6dd3..8f262eabb 100644 --- a/app/javascript/controllers/navigable_list_controller.js +++ b/app/javascript/controllers/navigable_list_controller.js @@ -13,7 +13,8 @@ export default class extends Controller { supportsVerticalNavigation: { type: Boolean, default: true }, hasNestedNavigation: { type: Boolean, default: false }, preventHandledKeys: { type: Boolean, default: false }, - autoSelect: { type: Boolean, default: true } + autoSelect: { type: Boolean, default: true }, + onlyActOnFocusedItems: { type: Boolean, default: false } } connect() { @@ -140,7 +141,7 @@ export default class extends Controller { } get #isFocusContainedOnNavigableItem() { - return this.itemTargets.some(item => item.contains(document.activeElement)) + return !this.onlyActOnFocusedItemsValue && this.itemTargets.some(item => item.contains(document.activeElement)) } #toggleCurrentItem(event) {