showModal(ImportExportModal => openImportExportTab

This commit is contained in:
SPRINX0\prochazka
2024-09-16 13:03:49 +02:00
parent d255273368
commit a9a5a3491e
9 changed files with 82 additions and 34 deletions

View File

@@ -618,15 +618,22 @@
});
} else if (menu.isImport) {
const { conid, database } = data;
showModal(ImportExportModal, {
initialValues: {
sourceStorageType: getDefaultFileFormat(getExtensions()).storageType,
targetStorageType: 'database',
targetConnectionId: conid,
targetDatabaseName: database,
fixedTargetPureName: data.pureName,
},
openImportExportTab({
sourceStorageType: getDefaultFileFormat(getExtensions()).storageType,
targetStorageType: 'database',
targetConnectionId: conid,
targetDatabaseName: database,
fixedTargetPureName: data.pureName,
});
// showModal(ImportExportModal, {
// initialValues: {
// sourceStorageType: getDefaultFileFormat(getExtensions()).storageType,
// targetStorageType: 'database',
// targetConnectionId: conid,
// targetDatabaseName: database,
// fixedTargetPureName: data.pureName,
// },
// });
} else {
openDatabaseObjectDetail(
menu.tab,

View File

@@ -44,6 +44,7 @@ import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
import NewCollectionModal from '../modals/NewCollectionModal.svelte';
import ConfirmModal from '../modals/ConfirmModal.svelte';
import localforage from 'localforage';
import { openImportExportTab } from '../utility/importExportTools';
// function themeCommand(theme: ThemeDefinition) {
// return {
@@ -483,10 +484,18 @@ registerCommand({
toolbar: true,
icon: 'icon import',
onClick: () =>
showModal(ImportExportModal, {
importToCurrentTarget: true,
initialValues: { sourceStorageType: getDefaultFileFormat(get(extensions)).storageType },
}),
openImportExportTab(
{
sourceStorageType: getDefaultFileFormat(get(extensions)).storageType,
},
{
importToCurrentTarget: true,
}
),
// showModal(ImportExportModal, {
// importToCurrentTarget: true,
// initialValues: { sourceStorageType: getDefaultFileFormat(get(extensions)).storageType },
// }),
});
registerCommand({
@@ -595,8 +604,6 @@ registerCommand({
onClick: () => getElectron().send('check-for-updates'),
});
export function registerFileCommands({
idPrefix,
category,

View File

@@ -136,6 +136,7 @@
import LoadingDataGridCore from './LoadingDataGridCore.svelte';
import { mongoFilterBehaviour, standardFilterBehaviours } from 'dbgate-tools';
import { openImportExportTab } from '../utility/importExportTools';
export let conid;
export let display;
@@ -207,7 +208,8 @@
initialValues.sourceQueryType = coninfo.isReadOnly ? 'json' : 'native';
initialValues.sourceList = [pureName];
initialValues[`columns_${pureName}`] = display.getExportColumnMap();
showModal(ImportExportModal, { initialValues });
openImportExportTab(initialValues);
// showModal(ImportExportModal, { initialValues });
}
export function openQuery() {

View File

@@ -59,6 +59,7 @@
import LoadingDataGridCore from './LoadingDataGridCore.svelte';
import RowsArrayGrider from './RowsArrayGrider';
import { openImportExportTab } from '../utility/importExportTools';
export let jslid;
export let display;
@@ -152,7 +153,8 @@
initialValues.sourceList = ['query-data'];
initialValues[`columns_query-data`] = display.getExportColumnMap();
}
showModal(ImportExportModal, { initialValues });
openImportExportTab(initialValues);
// showModal(ImportExportModal, { initialValues });
}
const quickExportHandler = fmt => async () => {

View File

@@ -84,6 +84,7 @@
import LoadingDataGridCore from './LoadingDataGridCore.svelte';
import hasPermission from '../utility/hasPermission';
import { openImportExportTab } from '../utility/importExportTools';
export let conid;
export let display;
@@ -145,7 +146,8 @@
initialValues.sourceQueryType = coninfo.isReadOnly ? 'json' : 'native';
initialValues.sourceList = display.baseTableOrSimilar ? [display.baseTableOrSimilar.pureName] : [];
initialValues[`columns_${pureName}`] = display.getExportColumnMap();
showModal(ImportExportModal, { initialValues });
openImportExportTab(initialValues);
// showModal(ImportExportModal, { initialValues });
}
export function openQuery() {

View File

@@ -60,6 +60,7 @@
import { showSnackbarError } from '../utility/snackbar';
import useEffect from '../utility/useEffect';
import useTimerLabel from '../utility/useTimerLabel';
import { openImportExportTab } from '../utility/importExportTools';
export let tabid;
@@ -156,7 +157,8 @@
export function openWizard() {
const jsonTextMatch = ($editorValue || '').match(configRegex);
if (jsonTextMatch) {
showModal(ImportExportModal, { initialValues: JSON.parse(jsonTextMatch[1]) });
openImportExportTab(JSON.parse(jsonTextMatch[1]));
// showModal(ImportExportModal, { initialValues: JSON.parse(jsonTextMatch[1]) });
} else {
showSnackbarError('No wizard info found');
}

View File

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

View File

@@ -5,13 +5,14 @@ import ImportExportModal from '../modals/ImportExportModal.svelte';
import getElectron from './getElectron';
import { currentDatabase, extensions, getCurrentDatabase } from '../stores';
import { getUploadListener } from './uploadFiles';
import {getConnectionLabel, getDatabaseFileLabel } from 'dbgate-tools';
import { getConnectionLabel, getDatabaseFileLabel } from 'dbgate-tools';
import { apiCall } from './api';
import openNewTab from './openNewTab';
import { openJsonDocument } from '../tabs/JsonTab.svelte';
import { SAVED_FILE_HANDLERS } from '../appobj/SavedFileAppObject.svelte';
import _ from 'lodash';
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
import { openImportExportTab } from './importExportTools';
export function canOpenByElectron(file, extensions) {
if (!file) return false;
@@ -178,17 +179,30 @@ export function openElectronFileCore(filePath, extensions) {
shortName: parsed.name,
});
} else {
showModal(ImportExportModal, {
openedFile: {
filePath,
storageType: format.storageType,
shortName: parsed.name,
},
importToCurrentTarget: true,
initialValues: {
openImportExportTab(
{
sourceStorageType: format.storageType,
},
});
{
openedFile: {
filePath,
storageType: format.storageType,
shortName: parsed.name,
},
}
);
// showModal(ImportExportModal, {
// openedFile: {
// filePath,
// storageType: format.storageType,
// shortName: parsed.name,
// },
// importToCurrentTarget: true,
// initialValues: {
// sourceStorageType: format.storageType,
// },
// });
}
}
}

View File

@@ -8,6 +8,7 @@ import { showModal } from '../modals/modalTools';
import ImportExportModal from '../modals/ImportExportModal.svelte';
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
import openNewTab from './openNewTab';
import { openImportExportTab } from './importExportTools';
let uploadListener;
@@ -79,13 +80,23 @@ export default function uploadFiles(files) {
uploadListener(fileData);
} else {
if (findFileFormat(ext, fileData.storageType)) {
showModal(ImportExportModal, {
uploadedFile: fileData,
importToCurrentTarget: true,
initialValues: {
openImportExportTab(
{
sourceStorageType: fileData.storageType,
},
});
{
uploadedFile: fileData,
importToCurrentTarget: true,
}
);
// showModal(ImportExportModal, {
// uploadedFile: fileData,
// importToCurrentTarget: true,
// initialValues: {
// sourceStorageType: fileData.storageType,
// },
// });
}
}