From 2e181d0fb1eaeeff90962b4d6ba37c8557e14a97 Mon Sep 17 00:00:00 2001 From: zadam Date: Tue, 31 Jan 2023 22:35:01 +0100 Subject: [PATCH] toggling the left pane will toggle the focus between tree and detail, #3563 --- .../app/widgets/containers/left_pane_container.js | 11 ++++++++++- src/public/app/widgets/note_tree.js | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/public/app/widgets/containers/left_pane_container.js b/src/public/app/widgets/containers/left_pane_container.js index 5c6c06550..fa1915a1e 100644 --- a/src/public/app/widgets/containers/left_pane_container.js +++ b/src/public/app/widgets/containers/left_pane_container.js @@ -1,5 +1,6 @@ import options from "../../services/options.js"; import FlexContainer from "./flex_container.js"; +import appContext from "../../components/app_context.js"; export default class LeftPaneContainer extends FlexContainer { constructor() { @@ -16,7 +17,15 @@ export default class LeftPaneContainer extends FlexContainer { entitiesReloadedEvent({loadResults}) { if (loadResults.isOptionReloaded("leftPaneVisible")) { - this.toggleInt(this.isEnabled()); + const visible = this.isEnabled(); + this.toggleInt(visible); + + if (visible) { + this.triggerEvent('focusTree'); + } else { + const activeNoteContext = appContext.tabManager.getActiveContext(); + this.triggerEvent('focusOnDetail', {ntxId: activeNoteContext.ntxId}); + } } } } diff --git a/src/public/app/widgets/note_tree.js b/src/public/app/widgets/note_tree.js index 0d911fd47..509e2dd10 100644 --- a/src/public/app/widgets/note_tree.js +++ b/src/public/app/widgets/note_tree.js @@ -887,6 +887,11 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { } } + async focusTreeEvent() { + this.tree.$container.focus(); + this.tree.setFocus(true); + } + /** @returns {FancytreeNode} */ async getNodeFromPath(notePath, expand = false, logErrors = true) { utils.assertArguments(notePath);