fix(sidebar): refresh table list after batch paste

This commit is contained in:
zhangsan authored and GitHub committed 2026-07-25 19:39:25 +08:00
1 parent 913e3f553e
commit 7e0f77eded
2 files changed
+27 -5

No files matched your search

@@ -2808,7 +2808,7 @@ async function confirmPasteTable() {
showPasteDialog.value = false;
let successCount = 0;
let failCount = 0;
const refreshedConnections = new Set<string>();
const refreshTargets = new Map<string, { connectionId: string; database: string; schema?: string }>();
for (const entry of entries) {
const targetName = entry.targetName.trim();
try {
@@ -2840,15 +2840,24 @@ async function confirmPasteTable() {
}
successCount++;
const refreshKey = `${entry.connectionId}:${entry.database}:${entry.schema || ""}`;
if (!refreshedConnections.has(refreshKey)) {
refreshedConnections.add(refreshKey);
await connectionStore.refreshObjectListTreeNode(entry.connectionId, entry.database, entry.schema);
}
refreshTargets.set(refreshKey, {
connectionId: entry.connectionId,
database: entry.database,
schema: entry.schema,
});
} catch (e: any) {
failCount++;
console.error(`Failed to paste table "${entry.sourceName}" -> "${targetName}":`, e);
}
}
for (const refreshTarget of refreshTargets.values()) {
try {
await connectionStore.refreshObjectListTreeNode(refreshTarget.connectionId, refreshTarget.database, refreshTarget.schema);
} catch (e: any) {
failCount++;
console.error(`Failed to refresh pasted tables for "${refreshTarget.database}"${refreshTarget.schema ? ` schema "${refreshTarget.schema}"` : ""}:`, e);
}
}
if (failCount === 0) {
toast(t("contextMenu.batchPasteSuccess", { count: successCount }), 3000);
} else {