mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-25 09:45:59 +00:00
quick export on web
This commit is contained in:
@@ -141,8 +141,8 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
generateUploadsFile_meta: true,
|
generateUploadsFile_meta: true,
|
||||||
async generateUploadsFile() {
|
async generateUploadsFile({ extension }) {
|
||||||
const fileName = `${uuidv1()}.html`;
|
const fileName = `${uuidv1()}.${extension || 'html'}`;
|
||||||
return {
|
return {
|
||||||
fileName,
|
fileName,
|
||||||
filePath: path.join(uploadsdir(), fileName),
|
filePath: path.join(uploadsdir(), fileName),
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
import { archiveFilesAsDataSheets, currentArchive, extensions, getCurrentDatabase } from '../stores';
|
import { archiveFilesAsDataSheets, currentArchive, extensions, getCurrentDatabase } from '../stores';
|
||||||
|
|
||||||
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
||||||
import { exportElectronFile } 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 getConnectionLabel from '../utility/getConnectionLabel';
|
import getConnectionLabel from '../utility/getConnectionLabel';
|
||||||
@@ -170,7 +170,7 @@
|
|||||||
{ text: 'Rename', onClick: handleRename },
|
{ text: 'Rename', onClick: handleRename },
|
||||||
data.fileType == 'jsonl' &&
|
data.fileType == 'jsonl' &&
|
||||||
createQuickExportMenu(fmt => async () => {
|
createQuickExportMenu(fmt => async () => {
|
||||||
exportElectronFile(
|
exportQuickExportFile(
|
||||||
data.fileName,
|
data.fileName,
|
||||||
{
|
{
|
||||||
functionName: 'archiveReader',
|
functionName: 'archiveReader',
|
||||||
|
|||||||
@@ -414,7 +414,7 @@
|
|||||||
if (menu.isQuickExport) {
|
if (menu.isQuickExport) {
|
||||||
return createQuickExportMenu(fmt => async () => {
|
return createQuickExportMenu(fmt => async () => {
|
||||||
const coninfo = await getConnectionInfo(data);
|
const coninfo = await getConnectionInfo(data);
|
||||||
exportElectronFile(
|
exportQuickExportFile(
|
||||||
data.pureName,
|
data.pureName,
|
||||||
{
|
{
|
||||||
functionName: menu.functionName,
|
functionName: menu.functionName,
|
||||||
@@ -620,7 +620,7 @@
|
|||||||
import SqlGeneratorModal from '../modals/SqlGeneratorModal.svelte';
|
import SqlGeneratorModal from '../modals/SqlGeneratorModal.svelte';
|
||||||
import getConnectionLabel from '../utility/getConnectionLabel';
|
import getConnectionLabel from '../utility/getConnectionLabel';
|
||||||
import getElectron from '../utility/getElectron';
|
import getElectron from '../utility/getElectron';
|
||||||
import { exportElectronFile } from '../utility/exportFileTools';
|
import { exportQuickExportFile } from '../utility/exportFileTools';
|
||||||
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
||||||
import ConfirmSqlModal from '../modals/ConfirmSqlModal.svelte';
|
import ConfirmSqlModal from '../modals/ConfirmSqlModal.svelte';
|
||||||
import { alterDatabaseDialog, renameDatabaseObjectDialog } from '../utility/alterDatabaseTools';
|
import { alterDatabaseDialog, renameDatabaseObjectDialog } from '../utility/alterDatabaseTools';
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
import { registerMenu } from '../utility/contextMenu';
|
import { registerMenu } from '../utility/contextMenu';
|
||||||
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
||||||
import { exportElectronFile } from '../utility/exportFileTools';
|
import { exportQuickExportFile } from '../utility/exportFileTools';
|
||||||
import { getConnectionInfo } from '../utility/metadataLoaders';
|
import { getConnectionInfo } from '../utility/metadataLoaders';
|
||||||
import openNewTab from '../utility/openNewTab';
|
import openNewTab from '../utility/openNewTab';
|
||||||
import ChangeSetGrider from './ChangeSetGrider';
|
import ChangeSetGrider from './ChangeSetGrider';
|
||||||
@@ -196,7 +196,7 @@
|
|||||||
|
|
||||||
const quickExportHandler = fmt => async () => {
|
const quickExportHandler = fmt => async () => {
|
||||||
const coninfo = await getConnectionInfo({ conid });
|
const coninfo = await getConnectionInfo({ conid });
|
||||||
exportElectronFile(
|
exportQuickExportFile(
|
||||||
pureName || 'Data',
|
pureName || 'Data',
|
||||||
{
|
{
|
||||||
functionName: 'queryReader',
|
functionName: 'queryReader',
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
import { registerMenu } from '../utility/contextMenu';
|
import { registerMenu } from '../utility/contextMenu';
|
||||||
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
||||||
import { exportElectronFile } from '../utility/exportFileTools';
|
import { exportQuickExportFile } from '../utility/exportFileTools';
|
||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
|
|
||||||
import LoadingDataGridCore from './LoadingDataGridCore.svelte';
|
import LoadingDataGridCore from './LoadingDataGridCore.svelte';
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
const quickExportHandler = fmt => async () => {
|
const quickExportHandler = fmt => async () => {
|
||||||
const archiveMatch = jslid.match(/^archive:\/\/([^/]+)\/(.*)$/);
|
const archiveMatch = jslid.match(/^archive:\/\/([^/]+)\/(.*)$/);
|
||||||
if (archiveMatch) {
|
if (archiveMatch) {
|
||||||
exportElectronFile(
|
exportQuickExportFile(
|
||||||
archiveMatch[2],
|
archiveMatch[2],
|
||||||
{
|
{
|
||||||
functionName: 'archiveReader',
|
functionName: 'archiveReader',
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
fmt
|
fmt
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
exportElectronFile(
|
exportQuickExportFile(
|
||||||
'Query',
|
'Query',
|
||||||
{
|
{
|
||||||
functionName: 'jslDataReader',
|
functionName: 'jslDataReader',
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
import { registerMenu } from '../utility/contextMenu';
|
import { registerMenu } from '../utility/contextMenu';
|
||||||
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
import createActivator, { getActiveComponent } from '../utility/createActivator';
|
||||||
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
import createQuickExportMenu from '../utility/createQuickExportMenu';
|
||||||
import { exportElectronFile } from '../utility/exportFileTools';
|
import { exportQuickExportFile } from '../utility/exportFileTools';
|
||||||
import { getConnectionInfo } from '../utility/metadataLoaders';
|
import { getConnectionInfo } from '../utility/metadataLoaders';
|
||||||
import openNewTab from '../utility/openNewTab';
|
import openNewTab from '../utility/openNewTab';
|
||||||
import ChangeSetGrider from './ChangeSetGrider';
|
import ChangeSetGrider from './ChangeSetGrider';
|
||||||
@@ -181,7 +181,7 @@
|
|||||||
|
|
||||||
const quickExportHandler = fmt => async () => {
|
const quickExportHandler = fmt => async () => {
|
||||||
const coninfo = await getConnectionInfo({ conid });
|
const coninfo = await getConnectionInfo({ conid });
|
||||||
exportElectronFile(
|
exportQuickExportFile(
|
||||||
pureName || 'Data',
|
pureName || 'Data',
|
||||||
{
|
{
|
||||||
functionName: 'queryReader',
|
functionName: 'queryReader',
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { showSnackbar, showSnackbarInfo, showSnackbarError, closeSnackbar } from
|
|||||||
import resolveApi from './resolveApi';
|
import resolveApi from './resolveApi';
|
||||||
import { apiCall, apiOff, apiOn } from './api';
|
import { apiCall, apiOff, apiOn } from './api';
|
||||||
|
|
||||||
export async function exportElectronFile(dataName, reader, format) {
|
export async function exportQuickExportFile(dataName, reader, format) {
|
||||||
const electron = getElectron();
|
const electron = getElectron();
|
||||||
|
|
||||||
let filePath;
|
let filePath;
|
||||||
@@ -17,7 +17,7 @@ export async function exportElectronFile(dataName, reader, format) {
|
|||||||
properties: ['showOverwriteConfirmation'],
|
properties: ['showOverwriteConfirmation'],
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
const resp = await apiCall('files/generate-uploads-file');
|
const resp = await apiCall('files/generate-uploads-file', { extension: format.extension });
|
||||||
filePath = resp.filePath;
|
filePath = resp.filePath;
|
||||||
pureFileName = resp.fileName;
|
pureFileName = resp.fileName;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user