diff --git a/packages/web/src/appobj/ArchiveFileAppObject.svelte b/packages/web/src/appobj/ArchiveFileAppObject.svelte index 20457d54..71b84c8e 100644 --- a/packages/web/src/appobj/ArchiveFileAppObject.svelte +++ b/packages/web/src/appobj/ArchiveFileAppObject.svelte @@ -71,12 +71,13 @@ import { getExtensions } from '../stores'; import createQuickExportMenu from '../utility/createQuickExportMenu'; - import { exportQuickExportFile } from '../utility/exportFileTools'; + import { exportQuickExportFile, } from '../utility/exportFileTools'; import openNewTab from '../utility/openNewTab'; import AppObjectCore from './AppObjectCore.svelte'; import InputTextModal from '../modals/InputTextModal.svelte'; import ConfirmModal from '../modals/ConfirmModal.svelte'; import { apiCall } from '../utility/api'; + import { openImportExportTab } from '../utility/importExportTools'; export let data; @@ -156,13 +157,19 @@ { text: 'Export', onClick: () => { - showModal(ImportExportModal, { - initialValues: { - sourceStorageType: 'archive', - sourceArchiveFolder: data.folderName, - sourceList: [data.fileName], - }, + openImportExportTab({ + sourceStorageType: 'archive', + sourceArchiveFolder: data.folderName, + sourceList: [data.fileName], }); + + // showModal(ImportExportModal, { + // initialValues: { + // sourceStorageType: 'archive', + // sourceArchiveFolder: data.folderName, + // sourceList: [data.fileName], + // }, + // }); }, } ), diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte index 4673664f..822df297 100644 --- a/packages/web/src/appobj/DatabaseAppObject.svelte +++ b/packages/web/src/appobj/DatabaseAppObject.svelte @@ -98,25 +98,39 @@ }; const handleImport = () => { - showModal(ImportExportModal, { - initialValues: { - sourceStorageType: getDefaultFileFormat($extensions).storageType, - targetStorageType: 'database', - targetConnectionId: connection._id, - targetDatabaseName: name, - }, + openImportExportTab({ + sourceStorageType: getDefaultFileFormat($extensions).storageType, + targetStorageType: 'database', + targetConnectionId: connection._id, + targetDatabaseName: name, }); + + // showModal(ImportExportModal, { + // initialValues: { + // sourceStorageType: getDefaultFileFormat($extensions).storageType, + // targetStorageType: 'database', + // targetConnectionId: connection._id, + // targetDatabaseName: name, + // }, + // }); }; const handleExport = () => { - showModal(ImportExportModal, { - initialValues: { - targetStorageType: getDefaultFileFormat($extensions).storageType, - sourceStorageType: 'database', - sourceConnectionId: connection._id, - sourceDatabaseName: name, - }, + openImportExportTab({ + targetStorageType: getDefaultFileFormat($extensions).storageType, + sourceStorageType: 'database', + sourceConnectionId: connection._id, + sourceDatabaseName: name, }); + + // showModal(ImportExportModal, { + // initialValues: { + // targetStorageType: getDefaultFileFormat($extensions).storageType, + // sourceStorageType: 'database', + // sourceConnectionId: connection._id, + // sourceDatabaseName: name, + // }, + // }); }; const handleSqlGenerator = () => { @@ -390,13 +404,13 @@ import ConfirmSqlModal, { runOperationOnDatabase, saveScriptToDatabase } from '../modals/ConfirmSqlModal.svelte'; import { filterAppsForDatabase } from '../utility/appTools'; import newQuery from '../query/newQuery'; - import { exportSqlDump } from '../utility/exportFileTools'; import ImportDatabaseDumpModal from '../modals/ImportDatabaseDumpModal.svelte'; import ExportDatabaseDumpModal from '../modals/ExportDatabaseDumpModal.svelte'; import ConfirmModal from '../modals/ConfirmModal.svelte'; import { closeMultipleTabs } from '../tabpanel/TabsPanel.svelte'; import NewCollectionModal from '../modals/NewCollectionModal.svelte'; import hasPermission from '../utility/hasPermission'; + import { openImportExportTab } from '../utility/importExportTools'; export let data; export let passProps; diff --git a/packages/web/src/appobj/DatabaseObjectAppObject.svelte b/packages/web/src/appobj/DatabaseObjectAppObject.svelte index 03595a08..e0e451cc 100644 --- a/packages/web/src/appobj/DatabaseObjectAppObject.svelte +++ b/packages/web/src/appobj/DatabaseObjectAppObject.svelte @@ -764,22 +764,13 @@ }, { onClick: () => { - openNewTab( - { - tabComponent: 'ImportExportTab', - title: 'Import/Export', - icon: 'img export', - }, - { - editor: { - sourceStorageType: 'database', - sourceConnectionId: data.conid, - sourceDatabaseName: data.database, - sourceSchemaName: data.schemaName, - sourceList: [data.pureName], - }, - } - ); + openImportExportTab({ + sourceStorageType: 'database', + sourceConnectionId: data.conid, + sourceDatabaseName: data.database, + sourceSchemaName: data.schemaName, + sourceList: [data.pureName], + }); // showModal(ImportExportModal, { // initialValues: { // sourceStorageType: 'database', @@ -848,6 +839,7 @@ import { format as dateFormat } from 'date-fns'; import { getDefaultFileFormat } from '../plugins/fileformats'; import hasPermission from '../utility/hasPermission'; + import { openImportExportTab } from '../utility/importExportTools'; export let data; export let passProps; diff --git a/packages/web/src/utility/exportFileTools.ts b/packages/web/src/utility/exportFileTools.ts index 39ce5d67..4704aefe 100644 --- a/packages/web/src/utility/exportFileTools.ts +++ b/packages/web/src/utility/exportFileTools.ts @@ -42,8 +42,8 @@ export async function exportSqlDump(outputFile, connection, databaseName, pureFi onOpenResult: pureFileName && !getElectron() ? () => { - downloadFromApi(`uploads/get?file=${pureFileName}`, 'file.sql'); - } + downloadFromApi(`uploads/get?file=${pureFileName}`, 'file.sql'); + } : null, openResultLabel: 'Download SQL file', }); @@ -226,17 +226,18 @@ export async function downloadFromApi(route: string, donloadName: string) { method: 'GET', headers: resolveApiHeaders(), }) - .then((res) => res.blob()) - .then((blob) => { + .then(res => res.blob()) + .then(blob => { const objUrl = URL.createObjectURL(blob); - const a = document.createElement("a"); + const a = document.createElement('a'); document.body.appendChild(a); a.download = donloadName; a.href = objUrl; a.click(); a.remove(); setTimeout(() => { - URL.revokeObjectURL(objUrl) - }) - }) + URL.revokeObjectURL(objUrl); + }); + }); } + diff --git a/packages/web/src/utility/importExportTools.ts b/packages/web/src/utility/importExportTools.ts new file mode 100644 index 00000000..597fcd89 --- /dev/null +++ b/packages/web/src/utility/importExportTools.ts @@ -0,0 +1,14 @@ +import openNewTab from './openNewTab'; + +export function openImportExportTab(editorProps) { + openNewTab( + { + tabComponent: 'ImportExportTab', + title: 'Import/Export', + icon: 'img export', + }, + { + editor: editorProps, + } + ); +}