in seatunnel-ui/src/views/task/synchronization-definition/dag/canvas/node.tsx [33:76]
setup() {
const getNode = inject('getNode') as any
const node = getNode()
const { name, unsaved, type, connectorType, isError } = node.getData()
const icon = ref('')
if (type === 'source') {
icon.value = SourceImg
} else if (type === 'sink') {
icon.value = SinkImg
} else if (type === 'transform' && connectorType === 'FieldMapper') {
icon.value = FieldMapperImg
} else if (type === 'transform' && connectorType === 'FilterRowKind') {
icon.value = FilterEventTypeImg
} else if (type === 'transform' && connectorType === 'Replace') {
icon.value = ReplaceImg
} else if (type === 'transform' && connectorType === 'MultiFieldSplit') {
icon.value = SplitImg
} else if (type === 'transform' && connectorType === 'Copy') {
icon.value = CopyImg
} else if (type === 'transform' && connectorType === 'Sql') {
icon.value = SqlImg
} else if (type === 'transform' && connectorType === 'JsonPath') {
icon.value = JsonPathImg
}
return () => (
<div
class={styles['dag-node']}
style={{
borderLeft: isError ? '4px solid #ff4d4f' : (unsaved ? '4px solid #faad14' : '4px solid #1890ff')
}}
>
<img src={icon.value} class={styles['dag-node-icon']} />
<NTooltip trigger='hover'>
{{
trigger: () => <div class={styles['dag-node-label']}>{name}</div>,
default: () => name
}}
</NTooltip>
</div>
)
}