diff --git a/apps/desktop/src/components/layout/ContentArea.vue b/apps/desktop/src/components/layout/ContentArea.vue index 865b745578..d5e2d91c43 100644 --- a/apps/desktop/src/components/layout/ContentArea.vue +++ b/apps/desktop/src/components/layout/ContentArea.vue @@ -1035,6 +1035,10 @@ function refreshData(): boolean { void pluginFilesystemTabRef.value?.refresh(); return true; } + if (props.activeTab.objectSource || props.activeTab.sourceLoad) { + if (queryStore.isTabDirty(props.activeTab) && !window.confirm(t("objects.refreshDiscardConfirm"))) return false; + return queryStore.refreshObjectSourceTab(props.activeTab.id); + } // Restored data tabs intentionally omit row data, so refresh must work before DataGrid mounts. if (canReloadUnavailableDataTab(props.activeTab)) { reloadUnavailableDataTab(); diff --git a/apps/desktop/src/components/layout/EditorToolbar.vue b/apps/desktop/src/components/layout/EditorToolbar.vue index b4eaa9b7f4..2ba0a6ebae 100644 --- a/apps/desktop/src/components/layout/EditorToolbar.vue +++ b/apps/desktop/src/components/layout/EditorToolbar.vue @@ -1,7 +1,7 @@