feat: add AI assistant SQL handling functions for query tab management

This commit is contained in:
t8y2 2026-05-05 04:18:51 +08:00
parent bdd8b3fa03
commit c8c13eacac
1 changed files with 21 additions and 2 deletions

View File

@ -168,6 +168,25 @@ function toggleLocale() { setLocale(currentLocale() === "zh-CN" ? "en" : "zh-CN"
function openGitHub() { openUrl("https://github.com/t8y2/dbx"); }
function openMcpGuide() { openUrl("https://github.com/t8y2/dbx/blob/main/docs/mcp-guide.md"); }
function ensureQueryTab(): string {
const tab = activeTab.value;
if (tab && tab.mode === "query") return tab.id;
const connId = connectionStore.activeConnectionId || connectionStore.connections[0]?.id || "";
const db = tab?.database || "";
return queryStore.createTab(connId, db, undefined, "query");
}
function onAiReplaceSql(sql: string) {
const tabId = ensureQueryTab();
queryStore.updateSql(tabId, sql);
}
function onAiExecuteSql(sql: string) {
const tabId = ensureQueryTab();
queryStore.updateSql(tabId, sql);
nextTick(() => tryExecute());
}
function handleKeydown(e: KeyboardEvent) {
if (isCloseTabShortcut(e)) {
e.preventDefault();
@ -280,8 +299,8 @@ onUnmounted(() => { window.removeEventListener("keydown", handleKeydown, true);
<div class="panel-resize-handle panel-resize-handle--left" @mousedown="startAiPanelResize" />
<div class="h-full min-h-0 overflow-hidden">
<AiAssistant ref="aiAssistantRef" :tab="activeTab" :connection="activeConnection"
@replace-sql="(sql: string) => { const tab = activeTab; if (tab) queryStore.updateSql(tab.id, sql) }"
@execute-sql="tryExecute" @close="toggleAiPanel"
@replace-sql="onAiReplaceSql"
@execute-sql="onAiExecuteSql" @close="toggleAiPanel"
/>
</div>
</div>