Fix quick navigation having reexpanding nodes

This commit is contained in:
Magnus Åhall 2026-06-08 21:24:47 +02:00
parent 4976a6ebe0
commit 697576cb34
2 changed files with 7 additions and 6 deletions

View file

@ -195,8 +195,7 @@ export class App {
// This is a bad idea when quickly navigating the tree, since the arrow navigation
// has collapsed nodes which the event calling goToNode can come to undo, if the
// event processing lags behind.
if (!dontExpand)
await this.sidebar.makeVisible(node, ancestors)
await this.sidebar.makeVisible(node, ancestors, dontExpand)
_mbus.dispatch('CRUMBS_SET', ancestors, () => this.crumbsElement.replaceChildren(this.crumbs.render()))
_mbus.dispatch('NODE_UI_OPEN', { node, eventSequence: this.showNodeEventSequence.next() })

View file

@ -429,13 +429,15 @@ export class N2Sidebar extends CustomHTMLElement {
if (!state)
await this.setNodeExpanded(node, false)
}//}}}
async makeVisible(node, providedAncestors) {// {{{
async makeVisible(node, providedAncestors, dontExpand) {// {{{
const treenode = this.treeNodeComponents[node.UUID]
if (!dontExpand) {
const ancestors = providedAncestors || await nodeStore.getNodeAncestry(node)
for (const ancestor of ancestors.reverse()) {
this.setNodeExpanded(ancestor, true)
}
}
treenode?.scrollIntoView({ block: 'nearest' })
}// }}}