From 4ac2c5dc40fe7093405185fe495908c91eaf49b9 Mon Sep 17 00:00:00 2001 From: Mo-Moore <33098900+Mo-Moore@users.noreply.github.com> Date: Tue, 22 Sep 2026 13:03:32 +0800 Subject: [PATCH] fix(mysql): prevalidate routine saves and support procedure refresh --- .../src/components/layout/ContentArea.vue | 4 + .../src/components/layout/EditorToolbar.vue | 28 ++++++- .../src/components/objects/ObjectBrowser.vue | 23 +++++- .../components/objects/ObjectSourceDialog.vue | 10 +++ .../sidebar/SidebarTreeRuntimeHost.vue | 8 +- apps/desktop/src/i18n/locales/en.ts | 1 + apps/desktop/src/i18n/locales/es.ts | 1 + apps/desktop/src/i18n/locales/it.ts | 1 + apps/desktop/src/i18n/locales/ja.ts | 1 + apps/desktop/src/i18n/locales/ko.ts | 1 + apps/desktop/src/i18n/locales/pt-BR.ts | 1 + apps/desktop/src/i18n/locales/zh-CN.ts | 1 + apps/desktop/src/i18n/locales/zh-TW.ts | 1 + apps/desktop/src/stores/connectionStore.ts | 14 +++- apps/desktop/src/stores/queryStore.ts | 21 +++++ crates/dbx-sql/src/object_source_sql.rs | 77 +++++++++++++++---- 16 files changed, 173 insertions(+), 20 deletions(-) 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 @@