diff --git a/apps/desktop/src/App.vue b/apps/desktop/src/App.vue index 08b757ed94..c5634d3075 100644 --- a/apps/desktop/src/App.vue +++ b/apps/desktop/src/App.vue @@ -339,6 +339,7 @@ watch( ); } if (id) newQueryContextSource.value = "tab"; + if (id && showDriverStore.value) showDriverStore.value = false; selectedSql.value = ""; activeOutputView.value = "result"; if (id) queryStore.reloadEvictedTab(id); diff --git a/apps/desktop/src/components/sidebar/ConnectionTree.vue b/apps/desktop/src/components/sidebar/ConnectionTree.vue index 7bfe194acf..0ff6964718 100644 --- a/apps/desktop/src/components/sidebar/ConnectionTree.vue +++ b/apps/desktop/src/components/sidebar/ConnectionTree.vue @@ -13,7 +13,7 @@ import { usesTreeSchemaMode } from "@/lib/databaseFeatureSupport"; import { connectionUsesDatabaseObjectTreeMode, effectiveDatabaseTypeForConnection } from "@/lib/jdbcDialect"; import { activeTabSidebarTarget, findSidebarNodeForActiveTab, findSidebarNodeForTarget, findNodePathForTarget, scrollTopForSidebarNode, shouldScrollActiveSidebarSelection, type ActiveTabSidebarTarget } from "@/lib/sidebarActiveTabTarget"; import { findLoadedTableTargetForCandidate, queryContextTargetFromCandidate, queryCursorTableCandidate, type QueryCursorTableCandidate } from "@/lib/queryCursorTableTarget"; -import { SIDEBAR_TREE_ROW_HEIGHT, SIDEBAR_TREE_PRERENDER_COUNT, SIDEBAR_TREE_SCROLL_BUFFER, flattenTree, scrollTopForExpandedTreeNode, shouldAutoScrollExpandedTreeNode, shouldVirtualizeFlatTree, type FlatTreeNode } from "@/composables/useFlatTree"; +import { SIDEBAR_TREE_ROW_HEIGHT, SIDEBAR_TREE_PRERENDER_COUNT, SIDEBAR_TREE_SCROLL_BUFFER, flattenTree, shouldVirtualizeFlatTree, type FlatTreeNode } from "@/composables/useFlatTree"; import { sidebarTreeContextKey } from "@/lib/sidebarTreeContext"; import TreeItem from "./TreeItem.vue"; import { RecycleScroller } from "vue-virtual-scroller"; @@ -451,29 +451,6 @@ function onSearchToggle(node: TreeNode) { searchCollapsedIds.value = next; } -async function onNodeToggled(node: TreeNode, wasExpanded: boolean) { - if (wasExpanded || !node.isExpanded) return; - if (!shouldAutoScrollExpandedTreeNode(node.type)) return; - - await nextTick(); - - const expandedIndex = flatNodes.value.findIndex((item) => item.id === node.id); - const insertedRowCount = flattenTree([node]).length - 1; - const scroller = treeScrollerRef.value?.$el as HTMLElement | undefined; - if (!scroller || expandedIndex < 0 || insertedRowCount <= 0) return; - - const nextScrollTop = scrollTopForExpandedTreeNode({ - expandedIndex, - insertedRowCount, - currentScrollTop: scroller.scrollTop, - viewportHeight: scroller.clientHeight, - }); - - if (nextScrollTop !== scroller.scrollTop) { - scroller.scrollTop = nextScrollTop; - } -} - function currentTreeScroller(): HTMLElement | null { return ((useVirtualTree.value ? treeScrollerRef.value?.$el : plainTreeScrollerRef.value) as HTMLElement | undefined) ?? null; } @@ -630,16 +607,7 @@ defineExpose({ focusSearch, createNewGroup }); flow-mode >