diff --git a/packages/api/src/shell/index.js b/packages/api/src/shell/index.js index fd9c9a956..c30e0a30c 100644 --- a/packages/api/src/shell/index.js +++ b/packages/api/src/shell/index.js @@ -10,6 +10,7 @@ const consoleObjectWriter = require('./consoleObjectWriter'); const excelSheetReader = require('./excelSheetReader'); const jsonLinesWriter = require('./jsonLinesWriter'); const jsonLinesReader = require('./jsonLinesReader'); +const jslDataReader = require('./jslDataReader'); module.exports = { queryReader, @@ -24,4 +25,5 @@ module.exports = { jsonLinesReader, fakeObjectReader, consoleObjectWriter, + jslDataReader, }; diff --git a/packages/api/src/shell/jslDataReader.js b/packages/api/src/shell/jslDataReader.js new file mode 100644 index 000000000..c5b602bea --- /dev/null +++ b/packages/api/src/shell/jslDataReader.js @@ -0,0 +1,10 @@ +const path = require('path'); +const { jsldir } = require('../utility/directories'); +const jsonLinesReader = require('./jsonLinesReader'); + +function jslDataReader({ jslid }) { + const fileName = path.join(jsldir(), `${jslid}.jsonl`); + return jsonLinesReader({ fileName }); +} + +module.exports = jslDataReader; diff --git a/packages/web/src/datagrid/ColumnHeaderControl.js b/packages/web/src/datagrid/ColumnHeaderControl.js index f054ad128..b2c467e7b 100644 --- a/packages/web/src/datagrid/ColumnHeaderControl.js +++ b/packages/web/src/datagrid/ColumnHeaderControl.js @@ -77,7 +77,6 @@ export default function ColumnHeaderControl({ // }, // }); }; - console.log('COLUMN', column); return ( diff --git a/packages/web/src/datagrid/DataGridCore.js b/packages/web/src/datagrid/DataGridCore.js index e678c3534..8944e541a 100644 --- a/packages/web/src/datagrid/DataGridCore.js +++ b/packages/web/src/datagrid/DataGridCore.js @@ -618,11 +618,12 @@ export default function DataGridCore(props) { )); diff --git a/packages/web/src/impexp/ImportExportConfigurator.js b/packages/web/src/impexp/ImportExportConfigurator.js index 4d75fea74..3d1e1f12d 100644 --- a/packages/web/src/impexp/ImportExportConfigurator.js +++ b/packages/web/src/impexp/ImportExportConfigurator.js @@ -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 ( diff --git a/packages/web/src/impexp/createImpExpScript.js b/packages/web/src/impexp/createImpExpScript.js index 43f06647a..855fa4289 100644 --- a/packages/web/src/impexp/createImpExpScript.js +++ b/packages/web/src/impexp/createImpExpScript.js @@ -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) {