in seatunnel-ui/src/views/task/synchronization-definition/dag/use-model-columns.ts [330:390]
title: t('project.synchronization_definition.operation'),
key: 'operation',
...COLUMN_WIDTH_CONFIG['operation'](1),
width: 60,
render(row: any, index: number) {
return row.isSplit
? h(
NPopconfirm,
{
onPositiveClick() {
//outputTableData.splice(index, 1)
// When a piece of information is deleted, the entries that
// are divided at the same time as the piece of information
// will be deleted together.
remove(outputTableData, (i => (i.original_field === row.original_field) && i.isSplit))
// After all the split fields are deleted, the Unsplit button is grayed out.
const sourceGroup = outputTableData.filter((o: any) => !o.isSplit).map((o: any) => o.name)
const splitGroup = outputTableData.filter((o: any) => o.isSplit).map((o: any) => o.original_field)
sourceGroup.forEach((s: any) => {
if (splitGroup.indexOf(s) < 0) {
outputTableData[sourceGroup.indexOf(s)].splitDisabled = false
}
})
}
},
{
trigger: () =>
h(
NButton,
{ circle: true, size: 'small', type: 'error' },
h(NIcon, {}, () => h(DeleteOutlined))
),
default: () =>
t('project.synchronization_definition.delete_confirm')
}
)
: h(
NTooltip,
{},
{
trigger: () =>
h(
NButton,
{
circle: true,
size: 'small',
type: 'info',
disabled: row.splitDisabled,
onClick() {
handleSplit(row, outputTableData)
}
},
h(NIcon, {}, () => h(ColumnHeightOutlined))
),
default: () => t('project.synchronization_definition.split')
}
)
}