diff --git a/apps/desktop/src/components/objects/ObjectBrowser.vue b/apps/desktop/src/components/objects/ObjectBrowser.vue index f78dc38103..8ed0da7bd2 100644 --- a/apps/desktop/src/components/objects/ObjectBrowser.vue +++ b/apps/desktop/src/components/objects/ObjectBrowser.vue @@ -1035,6 +1035,28 @@ async function fetchTableTriggers() { } } +async function refreshActiveTableInfo() { + if (sidePanelMode.value !== "table-info" || !sidePanelRow.value) return; + sidePanelGuard.bump(); + + if (tableInfoTab.value === "ddl") { + tableDdlContent.value = ""; + await fetchTableDdl(); + } else if (tableInfoTab.value === "columns") { + tableColumns.value = []; + await fetchTableColumns(); + } else if (tableInfoTab.value === "indexes") { + tableIndexes.value = []; + await fetchTableIndexes(); + } else if (tableInfoTab.value === "foreignKeys") { + tableForeignKeys.value = []; + await fetchTableForeignKeys(); + } else if (tableInfoTab.value === "triggers") { + tableTriggers.value = []; + await fetchTableTriggers(); + } +} + function copyTableDdl() { void copyToClipboard(tableDdlContent.value); toast(t("grid.copyDdl"), 2000); @@ -2454,6 +2476,7 @@ async function reload(options?: { allowCachedObjects?: boolean; contextEpoch?: n function refresh(): boolean { void reload(); + void refreshActiveTableInfo(); return true; } @@ -2778,7 +2801,7 @@ function getObjectBrowserMenuItems(item: ObjectBrowserRow): ContextMenuItem[] { -