mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-25 20:06:00 +00:00
fix + ability to choose imported table
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
{#if tableInfo}
|
{#if tableInfo}
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<TextField {...$$restProps} {value} on:input={e => onChange(e.target.value)} />
|
<TextField {value} on:input={e => onChange(e.target.value)} />
|
||||||
<DropDownButton
|
<DropDownButton
|
||||||
menu={() => {
|
menu={() => {
|
||||||
return tableInfo.columns.map(opt => ({
|
return tableInfo.columns.map(opt => ({
|
||||||
|
|||||||
@@ -63,6 +63,7 @@
|
|||||||
import useEffect from '../utility/useEffect';
|
import useEffect from '../utility/useEffect';
|
||||||
import { compositeDbNameIfNeeded } from 'dbgate-tools';
|
import { compositeDbNameIfNeeded } from 'dbgate-tools';
|
||||||
import createRef from '../utility/createRef';
|
import createRef from '../utility/createRef';
|
||||||
|
import DropDownButton from '../buttons/DropDownButton.svelte';
|
||||||
|
|
||||||
// export let uploadedFile = undefined;
|
// export let uploadedFile = undefined;
|
||||||
// export let openedFile = undefined;
|
// export let openedFile = undefined;
|
||||||
@@ -71,6 +72,10 @@
|
|||||||
|
|
||||||
const { values, setFieldValue } = getFormContext();
|
const { values, setFieldValue } = getFormContext();
|
||||||
|
|
||||||
|
// $: console.log('VALUES', $values);
|
||||||
|
// $: console.log('$sourceDbinfo', $sourceDbinfo);
|
||||||
|
// $: console.log('$targetDbinfo', $targetDbinfo);
|
||||||
|
|
||||||
$: sourceConnectionInfo = useConnectionInfo({ conid: $values.sourceConnectionId });
|
$: sourceConnectionInfo = useConnectionInfo({ conid: $values.sourceConnectionId });
|
||||||
$: targetConnectionInfo = useConnectionInfo({ conid: $values.targetConnectionId });
|
$: targetConnectionInfo = useConnectionInfo({ conid: $values.targetConnectionId });
|
||||||
|
|
||||||
@@ -231,26 +236,37 @@
|
|||||||
{/if}
|
{/if}
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
<svelte:fragment slot="1" let:row>
|
<svelte:fragment slot="1" let:row>
|
||||||
<TextField
|
<div class="flex">
|
||||||
value={getTargetName($extensions, row, $values)}
|
<TextField
|
||||||
on:input={e =>
|
value={getTargetName($extensions, row, $values)}
|
||||||
setFieldValue(
|
on:input={e =>
|
||||||
`targetName_${row}`,
|
setFieldValue(
|
||||||
// @ts-ignore
|
`targetName_${row}`,
|
||||||
e.target.value
|
// @ts-ignore
|
||||||
)}
|
e.target.value
|
||||||
/>
|
)}
|
||||||
|
/>
|
||||||
|
{#if $targetDbinfo}
|
||||||
|
<DropDownButton
|
||||||
|
menu={() => {
|
||||||
|
return $targetDbinfo.tables.map(opt => ({
|
||||||
|
text: opt.pureName,
|
||||||
|
onClick: () => setFieldValue(`targetName_${row}`, opt.pureName),
|
||||||
|
}));
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
<svelte:fragment slot="2" let:row>
|
<svelte:fragment slot="2" let:row>
|
||||||
{@const columnCount = ($values[`columns_${row}`] || []).filter(x => !x.skip).length}
|
{@const columnCount = ($values[`columns_${row}`] || []).filter(x => !x.skip).length}
|
||||||
<Link
|
<Link
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
const targetNameLower = ($values[`targetName_${row}`] || row)?.toLowerCase();
|
||||||
showModal(ColumnMapModal, {
|
showModal(ColumnMapModal, {
|
||||||
initialValue: $values[`columns_${row}`],
|
initialValue: $values[`columns_${row}`],
|
||||||
sourceTableInfo: $sourceDbinfo?.tables?.find(x => x.pureName?.toLowerCase() == row?.toLowerCase()),
|
sourceTableInfo: $sourceDbinfo?.tables?.find(x => x.pureName?.toLowerCase() == row?.toLowerCase()),
|
||||||
targetTableInfo: $targetDbinfo?.tables?.find(
|
targetTableInfo: $targetDbinfo?.tables?.find(x => x.pureName?.toLowerCase() == targetNameLower),
|
||||||
x => x.pureName?.toLowerCase() == (values[`targetName_${row}`] || row)?.toLowerCase()
|
|
||||||
),
|
|
||||||
onConfirm: value => setFieldValue(`columns_${row}`, value),
|
onConfirm: value => setFieldValue(`columns_${row}`, value),
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
|
|||||||
Reference in New Issue
Block a user