diff --git a/packages/web/src/elements/ColumnMapColumnDropdown.svelte b/packages/web/src/elements/ColumnMapColumnDropdown.svelte index e78098954..bed72eac1 100644 --- a/packages/web/src/elements/ColumnMapColumnDropdown.svelte +++ b/packages/web/src/elements/ColumnMapColumnDropdown.svelte @@ -9,7 +9,7 @@ {#if tableInfo}
- onChange(e.target.value)} /> + onChange(e.target.value)} /> { return tableInfo.columns.map(opt => ({ diff --git a/packages/web/src/impexp/ImportExportConfigurator.svelte b/packages/web/src/impexp/ImportExportConfigurator.svelte index c69cf720f..a6603a73b 100644 --- a/packages/web/src/impexp/ImportExportConfigurator.svelte +++ b/packages/web/src/impexp/ImportExportConfigurator.svelte @@ -63,6 +63,7 @@ import useEffect from '../utility/useEffect'; import { compositeDbNameIfNeeded } from 'dbgate-tools'; import createRef from '../utility/createRef'; + import DropDownButton from '../buttons/DropDownButton.svelte'; // export let uploadedFile = undefined; // export let openedFile = undefined; @@ -71,6 +72,10 @@ const { values, setFieldValue } = getFormContext(); + // $: console.log('VALUES', $values); + // $: console.log('$sourceDbinfo', $sourceDbinfo); + // $: console.log('$targetDbinfo', $targetDbinfo); + $: sourceConnectionInfo = useConnectionInfo({ conid: $values.sourceConnectionId }); $: targetConnectionInfo = useConnectionInfo({ conid: $values.targetConnectionId }); @@ -231,26 +236,37 @@ {/if} - - setFieldValue( - `targetName_${row}`, - // @ts-ignore - e.target.value - )} - /> +
+ + setFieldValue( + `targetName_${row}`, + // @ts-ignore + e.target.value + )} + /> + {#if $targetDbinfo} + { + return $targetDbinfo.tables.map(opt => ({ + text: opt.pureName, + onClick: () => setFieldValue(`targetName_${row}`, opt.pureName), + })); + }} + /> + {/if} +
{@const columnCount = ($values[`columns_${row}`] || []).filter(x => !x.skip).length} { + const targetNameLower = ($values[`targetName_${row}`] || row)?.toLowerCase(); showModal(ColumnMapModal, { initialValue: $values[`columns_${row}`], sourceTableInfo: $sourceDbinfo?.tables?.find(x => x.pureName?.toLowerCase() == row?.toLowerCase()), - targetTableInfo: $targetDbinfo?.tables?.find( - x => x.pureName?.toLowerCase() == (values[`targetName_${row}`] || row)?.toLowerCase() - ), + targetTableInfo: $targetDbinfo?.tables?.find(x => x.pureName?.toLowerCase() == targetNameLower), onConfirm: value => setFieldValue(`columns_${row}`, value), }); }}