in seatunnel-ui/src/views/task/synchronization-definition/dag/node-setting.tsx [49:132]
setup(props, ctx) {
const { t } = useI18n()
const {
state,
configurationFormRef,
modelRef,
onSave,
handleTab,
handleChangeTable
} = useNodeSettingModal(props, ctx)
const cancelModal = () => {
state.tab = 'configuration'
state.width = '60%'
ctx.emit('cancelModal', props.show)
}
watch(
() => props.show,
async () => {
await nextTick()
if (props.show && configurationFormRef.value) {
await configurationFormRef.value.setValues(props.nodeInfo)
}
if (props.show && modelRef.value) {
modelRef.value.setSelectFields(
props.nodeInfo.selectTableFields?.tableFields || []
)
}
}
)
return () => (
<NDrawer show={props.show} width={state.width} zIndex={1000}>
<NDrawerContent>
{{
default: () => (
<NTabs onUpdateValue={handleTab} value={state.tab}>
<NTabPane
name='configuration'
tab={t('project.synchronization_definition.configuration')}
displayDirective='show'
>
<ConfigurationForm
nodeType={props.nodeInfo.type}
nodeId={props.nodeInfo.pluginId}
transformType={props.nodeInfo.connectorType}
ref={configurationFormRef}
onTableNameChange={handleChangeTable}
/>
</NTabPane>
<NTabPane
name='model'
tab={t('project.synchronization_definition.model')}
displayDirective='show'
>
<NodeModeModal
ref={modelRef}
type={props.nodeInfo.type}
transformType={props.nodeInfo.connectorType}
predecessorsNodeId={props.nodeInfo.predecessorsNodeId}
currentNodeId={props.nodeInfo.pluginId}
schemaError={props.nodeInfo.schemaError}
refForm={configurationFormRef}
/>
</NTabPane>
</NTabs>
),
footer: () => (
<NSpace>
<NButton onClick={cancelModal}>
{t('project.synchronization_definition.cancel')}
</NButton>
<NButton onClick={onSave} type='primary'>
{t('project.synchronization_definition.confirm')}
</NButton>
</NSpace>
)
}}
</NDrawerContent>
</NDrawer>
)
}