From ca10e4ba4e7e122580d59a7b1135c058e13a9dfc Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Tue, 25 Nov 2025 21:01:18 +0100 Subject: [PATCH] Prevent autoscroll to the root columns container to prevent jump on page load https://app.fizzy.do/5986089/cards/3160 --- app/javascript/controllers/navigable_list_controller.js | 7 ++++--- app/views/boards/show/_columns.html.erb | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/javascript/controllers/navigable_list_controller.js b/app/javascript/controllers/navigable_list_controller.js index fe5fca86c..f1d22e92d 100644 --- a/app/javascript/controllers/navigable_list_controller.js +++ b/app/javascript/controllers/navigable_list_controller.js @@ -14,6 +14,7 @@ export default class extends Controller { hasNestedNavigation: { type: Boolean, default: false }, preventHandledKeys: { type: Boolean, default: false }, autoSelect: { type: Boolean, default: true }, + autoScroll: { type: Boolean, default: true }, onlyActOnFocusedItems: { type: Boolean, default: false } } @@ -80,10 +81,10 @@ export default class extends Controller { await nextFrame() - this.currentItem.scrollIntoView({ block: "nearest", inline: "nearest" }) + if (this.autoScrollValue) { this.currentItem.scrollIntoView({ block: "nearest", inline: "nearest" }) } if (this.hasNestedNavigationValue) { this.#activateNestedNavigableList() } - if (!skipFocus && this.focusOnSelectionValue) { this.currentItem.focus() } + if (!skipFocus && this.focusOnSelectionValue) { this.currentItem.focus({ preventScroll: !this.autoScrollValue }) } } isSelected(item) { @@ -160,7 +161,7 @@ export default class extends Controller { #relayNavigationToParentNavigableList(event) { const parentController = this.#parentNavigableListController if (parentController) { - parentController.element.focus() + parentController.element.focus({ preventScroll: !this.autoScrollValue }) parentController.navigate(event) } } diff --git a/app/views/boards/show/_columns.html.erb b/app/views/boards/show/_columns.html.erb index a7f8502e3..a6001da79 100644 --- a/app/views/boards/show/_columns.html.erb +++ b/app/views/boards/show/_columns.html.erb @@ -10,6 +10,7 @@ navigable_list_has_nested_navigation_value: true, navigable_list_prevent_handled_keys_value: true, navigable_list_auto_select_value: false, + navigable_list_auto_scroll_value: false, action: " keydown->navigable-list#navigate dragstart->drag-and-drop#dragStart