mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-01 14:23:58 +00:00
open import/export tab function
This commit is contained in:
@@ -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],
|
||||||
|
// },
|
||||||
|
// });
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
14
packages/web/src/utility/importExportTools.ts
Normal file
14
packages/web/src/utility/importExportTools.ts
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import openNewTab from './openNewTab';
|
||||||
|
|
||||||
|
export function openImportExportTab(editorProps) {
|
||||||
|
openNewTab(
|
||||||
|
{
|
||||||
|
tabComponent: 'ImportExportTab',
|
||||||
|
title: 'Import/Export',
|
||||||
|
icon: 'img export',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
editor: editorProps,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user