in dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-dms.ts [22:130]
export function useDms(model: { [field: string]: any }): IJsonItem[] {
const jsonDataSpan = ref(0)
const replicationTaskArnSpan = ref(0)
const replicationTaskIdentifierSpan = ref(0)
const sourceEndpointArnSpan = ref(0)
const targetEndpointArnSpan = ref(0)
const replicationInstanceArnSpan = ref(0)
const migrationTypeSpan = ref(0)
const tableMappingsSpan = ref(0)
const setFlag = () => {
model.isCreateAndNotJson =
!model.isRestartTask && !model.isJsonFormat ? true : false
model.isRestartAndNotJson =
model.isRestartTask && !model.isJsonFormat ? true : false
}
const resetSpan = () => {
jsonDataSpan.value = model.isJsonFormat ? 24 : 0
replicationTaskArnSpan.value = model.isRestartAndNotJson ? 24 : 0
migrationTypeSpan.value = model.isCreateAndNotJson ? 24 : 0
sourceEndpointArnSpan.value = model.isCreateAndNotJson ? 24 : 0
replicationTaskIdentifierSpan.value = model.isCreateAndNotJson ? 24 : 0
targetEndpointArnSpan.value = model.isCreateAndNotJson ? 24 : 0
replicationInstanceArnSpan.value = model.isCreateAndNotJson ? 24 : 0
tableMappingsSpan.value = model.isCreateAndNotJson ? 24 : 0
}
watch(
() => [model.isRestartTask, model.isJsonFormat],
() => {
setFlag()
resetSpan()
}
)
setFlag()
resetSpan()
return [
{
type: 'switch',
field: 'isRestartTask',
name: 'isRestartTask',
span: 12
},
{
type: 'switch',
field: 'isJsonFormat',
name: 'isJsonFormat',
span: 12
},
{
type: 'editor',
field: 'jsonData',
name: 'jsonData',
span: jsonDataSpan
},
{
type: 'select',
field: 'migrationType',
name: 'migrationType',
span: migrationTypeSpan,
options: MIGRATION_TYPE
},
{
type: 'input',
field: 'replicationTaskIdentifier',
name: 'replicationTaskIdentifier',
span: replicationTaskIdentifierSpan
},
{
type: 'input',
field: 'replicationInstanceArn',
name: 'replicationInstanceArn',
span: replicationInstanceArnSpan
},
{
type: 'input',
field: 'sourceEndpointArn',
name: 'sourceEndpointArn',
span: sourceEndpointArnSpan
},
{
type: 'input',
field: 'targetEndpointArn',
name: 'targetEndpointArn',
span: targetEndpointArnSpan
},
{
type: 'editor',
field: 'tableMappings',
name: 'tableMappings',
span: tableMappingsSpan
},
{
type: 'input',
field: 'replicationTaskArn',
name: 'replicationTaskArn',
span: replicationTaskArnSpan
},
useResources(),
...useCustomParams({
model,
field: 'localParams',
isSimple: model.readonly
})
]
}