diff --git a/packages/web/src/tabs/ImportExportTab.svelte b/packages/web/src/tabs/ImportExportTab.svelte index b7d0a664..d7ca6703 100644 --- a/packages/web/src/tabs/ImportExportTab.svelte +++ b/packages/web/src/tabs/ImportExportTab.svelte @@ -62,6 +62,9 @@ export let openedFile = undefined; export let importToCurrentTarget = false; + export let savedFile; + export let savedFilePath; + const refreshArchiveFolderRef = createRef(null); const formValues = writable({}); @@ -109,6 +112,8 @@ $: setEditorData($formValues); + $: updateTabTitle($formValues); + function detectCurrentTarget() { if (!importToCurrentTarget) return {}; @@ -199,6 +204,30 @@ export function getData() { return $editorState.value || ''; } + + function getSourceTargetTitle(prefix, values) { + switch (values[`${prefix}StorageType`]) { + case 'database': + return values[`${prefix}DatabaseName`] || 'DB'; + case 'archive': + return values[`${prefix}ArchiveFolder`] || 'Archive'; + case 'query': + return 'Query'; + default: + return values[`${prefix}StorageType`]?.toUpperCase().replace(/@.*$/, ''); + } + } + + function updateTabTitle(values) { + if (savedFile || savedFilePath) { + return; + } + + changeTab(tabid, tab => ({ + ...tab, + title: `${getSourceTargetTitle('source', values)}->${getSourceTargetTitle('target', values)}(${values.sourceList?.length || 0})`, + })); + }