diff --git a/apps/desktop/src/components/sidebar/TreeItem.vue b/apps/desktop/src/components/sidebar/TreeItem.vue index 1da30867d6..f2d96f6713 100644 --- a/apps/desktop/src/components/sidebar/TreeItem.vue +++ b/apps/desktop/src/components/sidebar/TreeItem.vue @@ -776,6 +776,8 @@ function onDoubleClick() { openData(); } else if (action === "open-source") { void viewObjectSource(); + } else if (action === "open-saved-sql") { + openSavedSqlFile(); } else if (action === "toggle" && props.node.type === "mongo-collection") { openMongoCollectionData(props.node); } else if (action === "toggle") { @@ -790,6 +792,16 @@ function openMongoCollectionData(node: TreeNode) { queryStore.updateSql(tab, node.label); } +function openSavedSqlFile() { + const node = props.node; + if (node.type !== "saved-sql-file" || !node.savedSqlId) return; + const file = savedSqlStore.getFile(node.savedSqlId); + if (!file) return; + queryStore.openSavedSql(file); + connectionStore.activeConnectionId = file.connectionId; + void savedSqlStore.recordFileUsage(file.id); +} + async function openObjectBrowser() { const node = props.node; if (!node.connectionId) return;