open import/export tab function

This commit is contained in:
SPRINX0\prochazka
2024-09-16 12:47:13 +02:00
parent a7846b4adf
commit d255273368
5 changed files with 74 additions and 46 deletions

View File

@@ -71,12 +71,13 @@
import { getExtensions } from '../stores'; import { getExtensions } from '../stores';
import createQuickExportMenu from '../utility/createQuickExportMenu'; import createQuickExportMenu from '../utility/createQuickExportMenu';
import { exportQuickExportFile } from '../utility/exportFileTools'; import { exportQuickExportFile, } from '../utility/exportFileTools';
import openNewTab from '../utility/openNewTab'; import openNewTab from '../utility/openNewTab';
import AppObjectCore from './AppObjectCore.svelte'; import AppObjectCore from './AppObjectCore.svelte';
import InputTextModal from '../modals/InputTextModal.svelte'; import InputTextModal from '../modals/InputTextModal.svelte';
import ConfirmModal from '../modals/ConfirmModal.svelte'; import ConfirmModal from '../modals/ConfirmModal.svelte';
import { apiCall } from '../utility/api'; import { apiCall } from '../utility/api';
import { openImportExportTab } from '../utility/importExportTools';
export let data; export let data;
@@ -156,13 +157,19 @@
{ {
text: 'Export', text: 'Export',
onClick: () => { onClick: () => {
showModal(ImportExportModal, { openImportExportTab({
initialValues: {
sourceStorageType: 'archive', sourceStorageType: 'archive',
sourceArchiveFolder: data.folderName, sourceArchiveFolder: data.folderName,
sourceList: [data.fileName], sourceList: [data.fileName],
},
}); });
// showModal(ImportExportModal, {
// initialValues: {
// sourceStorageType: 'archive',
// sourceArchiveFolder: data.folderName,
// sourceList: [data.fileName],
// },
// });
}, },
} }
), ),

View File

@@ -98,25 +98,39 @@
}; };
const handleImport = () => { const handleImport = () => {
showModal(ImportExportModal, { openImportExportTab({
initialValues: {
sourceStorageType: getDefaultFileFormat($extensions).storageType, sourceStorageType: getDefaultFileFormat($extensions).storageType,
targetStorageType: 'database', targetStorageType: 'database',
targetConnectionId: connection._id, targetConnectionId: connection._id,
targetDatabaseName: name, targetDatabaseName: name,
},
}); });
// showModal(ImportExportModal, {
// initialValues: {
// sourceStorageType: getDefaultFileFormat($extensions).storageType,
// targetStorageType: 'database',
// targetConnectionId: connection._id,
// targetDatabaseName: name,
// },
// });
}; };
const handleExport = () => { const handleExport = () => {
showModal(ImportExportModal, { openImportExportTab({
initialValues: {
targetStorageType: getDefaultFileFormat($extensions).storageType, targetStorageType: getDefaultFileFormat($extensions).storageType,
sourceStorageType: 'database', sourceStorageType: 'database',
sourceConnectionId: connection._id, sourceConnectionId: connection._id,
sourceDatabaseName: name, sourceDatabaseName: name,
},
}); });
// showModal(ImportExportModal, {
// initialValues: {
// targetStorageType: getDefaultFileFormat($extensions).storageType,
// sourceStorageType: 'database',
// sourceConnectionId: connection._id,
// sourceDatabaseName: name,
// },
// });
}; };
const handleSqlGenerator = () => { const handleSqlGenerator = () => {
@@ -390,13 +404,13 @@
import ConfirmSqlModal, { runOperationOnDatabase, saveScriptToDatabase } from '../modals/ConfirmSqlModal.svelte'; import ConfirmSqlModal, { runOperationOnDatabase, saveScriptToDatabase } from '../modals/ConfirmSqlModal.svelte';
import { filterAppsForDatabase } from '../utility/appTools'; import { filterAppsForDatabase } from '../utility/appTools';
import newQuery from '../query/newQuery'; import newQuery from '../query/newQuery';
import { exportSqlDump } from '../utility/exportFileTools';
import ImportDatabaseDumpModal from '../modals/ImportDatabaseDumpModal.svelte'; import ImportDatabaseDumpModal from '../modals/ImportDatabaseDumpModal.svelte';
import ExportDatabaseDumpModal from '../modals/ExportDatabaseDumpModal.svelte'; import ExportDatabaseDumpModal from '../modals/ExportDatabaseDumpModal.svelte';
import ConfirmModal from '../modals/ConfirmModal.svelte'; import ConfirmModal from '../modals/ConfirmModal.svelte';
import { closeMultipleTabs } from '../tabpanel/TabsPanel.svelte'; import { closeMultipleTabs } from '../tabpanel/TabsPanel.svelte';
import NewCollectionModal from '../modals/NewCollectionModal.svelte'; import NewCollectionModal from '../modals/NewCollectionModal.svelte';
import hasPermission from '../utility/hasPermission'; import hasPermission from '../utility/hasPermission';
import { openImportExportTab } from '../utility/importExportTools';
export let data; export let data;
export let passProps; export let passProps;

View File

@@ -764,22 +764,13 @@
}, },
{ {
onClick: () => { onClick: () => {
openNewTab( openImportExportTab({
{
tabComponent: 'ImportExportTab',
title: 'Import/Export',
icon: 'img export',
},
{
editor: {
sourceStorageType: 'database', sourceStorageType: 'database',
sourceConnectionId: data.conid, sourceConnectionId: data.conid,
sourceDatabaseName: data.database, sourceDatabaseName: data.database,
sourceSchemaName: data.schemaName, sourceSchemaName: data.schemaName,
sourceList: [data.pureName], sourceList: [data.pureName],
}, });
}
);
// showModal(ImportExportModal, { // showModal(ImportExportModal, {
// initialValues: { // initialValues: {
// sourceStorageType: 'database', // sourceStorageType: 'database',
@@ -848,6 +839,7 @@
import { format as dateFormat } from 'date-fns'; import { format as dateFormat } from 'date-fns';
import { getDefaultFileFormat } from '../plugins/fileformats'; import { getDefaultFileFormat } from '../plugins/fileformats';
import hasPermission from '../utility/hasPermission'; import hasPermission from '../utility/hasPermission';
import { openImportExportTab } from '../utility/importExportTools';
export let data; export let data;
export let passProps; export let passProps;

View File

@@ -226,17 +226,18 @@ export async function downloadFromApi(route: string, donloadName: string) {
method: 'GET', method: 'GET',
headers: resolveApiHeaders(), headers: resolveApiHeaders(),
}) })
.then((res) => res.blob()) .then(res => res.blob())
.then((blob) => { .then(blob => {
const objUrl = URL.createObjectURL(blob); const objUrl = URL.createObjectURL(blob);
const a = document.createElement("a"); const a = document.createElement('a');
document.body.appendChild(a); document.body.appendChild(a);
a.download = donloadName; a.download = donloadName;
a.href = objUrl; a.href = objUrl;
a.click(); a.click();
a.remove(); a.remove();
setTimeout(() => { setTimeout(() => {
URL.revokeObjectURL(objUrl) URL.revokeObjectURL(objUrl);
}) });
}) });
} }

View File

@@ -0,0 +1,14 @@
import openNewTab from './openNewTab';
export function openImportExportTab(editorProps) {
openNewTab(
{
tabComponent: 'ImportExportTab',
title: 'Import/Export',
icon: 'img export',
},
{
editor: editorProps,
}
);
}