mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-24 22:16:00 +00:00
#40 export query result
This commit is contained in:
@@ -77,7 +77,6 @@ export default function ColumnHeaderControl({
|
||||
// },
|
||||
// });
|
||||
};
|
||||
console.log('COLUMN', column);
|
||||
return (
|
||||
<HeaderDiv>
|
||||
<LabelDiv>
|
||||
|
||||
@@ -618,11 +618,12 @@ export default function DataGridCore(props) {
|
||||
<ImportExportModal
|
||||
modalState={modalState}
|
||||
initialValues={{
|
||||
sourceStorageType: 'database',
|
||||
sourceConnectionId: conid,
|
||||
sourceDatabaseName: database,
|
||||
sourceSchemaName: display.baseTable && display.baseTable.schemaName,
|
||||
sourceList: display.baseTable ? [display.baseTable.pureName] : [],
|
||||
sourceStorageType: jslid ? 'jsldata' : 'database',
|
||||
sourceJslId: jslid,
|
||||
sourceConnectionId: jslid ? undefined : conid,
|
||||
sourceDatabaseName: jslid ? undefined : database,
|
||||
sourceSchemaName: jslid ? undefined : display.baseTable && display.baseTable.schemaName,
|
||||
sourceList: jslid ? ['query-data'] : display.baseTable ? [display.baseTable.pureName] : [],
|
||||
}}
|
||||
/>
|
||||
));
|
||||
|
||||
@@ -143,13 +143,16 @@ function SourceTargetConfig({
|
||||
schemaNameField,
|
||||
tablesField = undefined,
|
||||
}) {
|
||||
const types = [
|
||||
{ value: 'database', label: 'Database', directions: ['source', 'target'] },
|
||||
{ value: 'csv', label: 'CSV file(s)', directions: ['source', 'target'] },
|
||||
{ value: 'jsonl', label: 'JSON lines file(s)', directions: ['source', 'target'] },
|
||||
{ value: 'excel', label: 'MS Excel file(s)', directions: ['source'] },
|
||||
];
|
||||
const { values, setFieldValue } = useFormikContext();
|
||||
const types =
|
||||
values[storageTypeField] == 'jsldata'
|
||||
? [{ value: 'jsldata', label: 'Query result data', directions: ['source'] }]
|
||||
: [
|
||||
{ value: 'database', label: 'Database', directions: ['source', 'target'] },
|
||||
{ value: 'csv', label: 'CSV file(s)', directions: ['source', 'target'] },
|
||||
{ value: 'jsonl', label: 'JSON lines file(s)', directions: ['source', 'target'] },
|
||||
{ value: 'excel', label: 'MS Excel file(s)', directions: ['source'] },
|
||||
];
|
||||
const storageType = values[storageTypeField];
|
||||
const dbinfo = useDatabaseInfo({ conid: values[connectionIdField], database: values[databaseNameField] });
|
||||
return (
|
||||
|
||||
@@ -33,7 +33,8 @@ async function getConnection(storageType, conid, database) {
|
||||
}
|
||||
|
||||
function getSourceExpr(sourceName, values, sourceConnection, sourceDriver) {
|
||||
if (values.sourceStorageType == 'database') {
|
||||
const { sourceStorageType } = values;
|
||||
if (sourceStorageType == 'database') {
|
||||
const fullName = { schemaName: values.sourceSchemaName, pureName: sourceName };
|
||||
return [
|
||||
'tableReader',
|
||||
@@ -43,18 +44,22 @@ function getSourceExpr(sourceName, values, sourceConnection, sourceDriver) {
|
||||
},
|
||||
];
|
||||
}
|
||||
if (isFileStorage(values.sourceStorageType)) {
|
||||
if (isFileStorage(sourceStorageType)) {
|
||||
const sourceFile = values[`sourceFile_${sourceName}`];
|
||||
if (values.sourceStorageType == 'excel') {
|
||||
if (sourceStorageType == 'excel') {
|
||||
return ['excelSheetReader', sourceFile];
|
||||
}
|
||||
if (values.sourceStorageType == 'jsonl') {
|
||||
if (sourceStorageType == 'jsonl') {
|
||||
return ['jsonLinesReader', sourceFile];
|
||||
}
|
||||
if (values.sourceStorageType == 'csv') {
|
||||
if (sourceStorageType == 'csv') {
|
||||
return ['csvReader', sourceFile];
|
||||
}
|
||||
}
|
||||
if (sourceStorageType == 'jsldata') {
|
||||
return ['jslDataReader', { jslid: values.sourceJslId }];
|
||||
}
|
||||
throw new Error(`Unknown storage type: ${sourceStorageType}`);
|
||||
}
|
||||
|
||||
function getFlagsFroAction(action) {
|
||||
|
||||
Reference in New Issue
Block a user