init edges

This commit is contained in:
StyleZhang 2024-03-18 12:49:55 +08:00
parent 13dbc7f0ce
commit ea4476ac6e
2 changed files with 13 additions and 2 deletions

View File

@ -168,7 +168,7 @@ const WorkflowWrap = memo(() => {
}, [data])
const edgesData = useMemo(() => {
if (data)
return initialEdges(data.graph.edges)
return initialEdges(data.graph.edges, data.graph.nodes)
return []
}, [data])

View File

@ -42,10 +42,21 @@ export const initialNodes = (nodes: Node[], edges: Edge[]) => {
})
}
export const initialEdges = (edges: Edge[]) => {
export const initialEdges = (edges: Edge[], nodes: Node[]) => {
const nodesMap = nodes.reduce((acc, node) => {
acc[node.id] = node
return acc
}, {} as Record<string, Node>)
return edges.map((edge) => {
edge.type = 'custom'
if (!edge.data?.sourceType)
edge.data = { ...edge.data, sourceType: nodesMap[edge.source].data.type! } as any
if (!edge.data?.targetType)
edge.data = { ...edge.data, targetType: nodesMap[edge.target].data.type! } as any
return edge
})
}