diff --git a/packages/web/src/elements/ObjectConfigurationControl.svelte b/packages/web/src/elements/ObjectConfigurationControl.svelte new file mode 100644 index 000000000..e39147957 --- /dev/null +++ b/packages/web/src/elements/ObjectConfigurationControl.svelte @@ -0,0 +1,32 @@ + + +
+
+ {title} +
+
+ +
+
+ + diff --git a/packages/web/src/tabs/DataDuplicatorTab.svelte b/packages/web/src/tabs/DataDuplicatorTab.svelte index ab51d1957..9e7390c29 100644 --- a/packages/web/src/tabs/DataDuplicatorTab.svelte +++ b/packages/web/src/tabs/DataDuplicatorTab.svelte @@ -22,6 +22,7 @@ import ToolStripContainer from '../buttons/ToolStripContainer.svelte'; import invalidateCommands from '../commands/invalidateCommands'; import registerCommand from '../commands/registerCommand'; + import ObjectConfigurationControl from '../elements/ObjectConfigurationControl.svelte'; import TableControl from '../elements/TableControl.svelte'; import VerticalSplitter from '../elements/VerticalSplitter.svelte'; import CheckboxField from '../forms/CheckboxField.svelte'; @@ -153,6 +154,8 @@ isChecked, operation, matchColumn1, + file: `${name}.jsonl`, + table: tableInfo?.schemaName ? `${tableInfo?.schemaName}.${tableInfo?.pureName}` : tableInfo?.pureName, }; }); @@ -162,76 +165,79 @@ -
-
Source archive
- { - setEditorData(old => ({ - ...old, - archiveFolder: e.detail, - })); - }} - options={$archiveFolders?.map(x => ({ - label: x.name, - value: x.name, - })) || []} - /> +
+ +
Source archive
+ { + setEditorData(old => ({ + ...old, + archiveFolder: e.detail, + })); + }} + options={$archiveFolders?.map(x => ({ + label: x.name, + value: x.name, + })) || []} + /> +
-
Imported files
- - Table', fieldName: 'name' }, - { header: 'Operation', fieldName: 'operation', slot: 2 }, - { header: 'Match column', fieldName: 'matchColumn1', slot: 3 }, - ]} - > - - { - changeTable({ ...row, isChecked: e.target.checked }); - }} - /> - - - { - changeTable({ ...row, operation: e.detail }); - }} - disabled={!row.isChecked} - options={[ - { label: 'Copy row', value: 'copy' }, - { label: 'Lookup (find matching row)', value: 'lookup' }, - { label: 'Insert if not exists', value: 'insertMissing' }, - ]} - /> - - - {#if row.operation != 'copy'} + + + + { + changeTable({ ...row, isChecked: e.target.checked }); + }} + /> + + { - changeTable({ ...row, matchColumn1: e.detail }); + changeTable({ ...row, operation: e.detail }); }} disabled={!row.isChecked} - options={$dbinfo?.tables - ?.find(x => x.pureName?.toUpperCase() == row.name.toUpperCase()) - ?.columns?.map(col => ({ - label: col.columnName, - value: col.columnName, - })) || []} + options={[ + { label: 'Copy row', value: 'copy' }, + { label: 'Lookup (find matching row)', value: 'lookup' }, + { label: 'Insert if not exists', value: 'insertMissing' }, + ]} /> - {/if} - - + + + {#if row.operation != 'copy'} + { + changeTable({ ...row, matchColumn1: e.detail }); + }} + disabled={!row.isChecked} + options={$dbinfo?.tables + ?.find(x => x.pureName?.toUpperCase() == row.name.toUpperCase()) + ?.columns?.map(col => ({ + label: col.columnName, + value: col.columnName, + })) || []} + /> + {/if} + + +
@@ -255,3 +261,12 @@ font-weight: bold; } --> +