Map source tables/files
({ name: row }), }, { fieldName: 'action', header: 'Action', component: SourceAction, getProps: row => ({ name: row, targetDbinfo }), }, { fieldName: 'target', header: 'Target', slot: 1, }, { fieldName: 'preview', header: 'Preview', slot: 0, }, { fieldName: 'columns', header: 'Columns', slot: 2, }, ]} >
{#if supportsPreview}
{ // @ts-ignore if (e.target.checked) $previewSource = row; else $previewSource = null; }} /> {/if}
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() == targetNameLower), onConfirm: value => setFieldValue(`columns_${row}`, value), }); }} >{columnCount > 0 ? `(${columnCount} columns)` : '(copy from source)'}