feat: frontend support parallel

This commit is contained in:
StyleZhang 2024-08-16 16:55:08 +08:00
parent 5b5e6e31bf
commit 1973f5003b

View File

@ -318,16 +318,6 @@ export const useNodesInteractions = () => {
if (sourceNode?.type === CUSTOM_NOTE_NODE || targetNode?.type === CUSTOM_NOTE_NODE) if (sourceNode?.type === CUSTOM_NOTE_NODE || targetNode?.type === CUSTOM_NOTE_NODE)
return return
const needDeleteEdges = edges.filter((edge) => {
if (
(edge.source === source && edge.sourceHandle === sourceHandle)
|| (edge.target === target && edge.targetHandle === targetHandle && targetNode?.data.type !== BlockEnum.VariableAssigner && targetNode?.data.type !== BlockEnum.VariableAggregator)
)
return true
return false
})
const needDeleteEdgesIds = needDeleteEdges.map(edge => edge.id)
const newEdge = { const newEdge = {
id: `${source}-${sourceHandle}-${target}-${targetHandle}`, id: `${source}-${sourceHandle}-${target}-${targetHandle}`,
type: 'custom', type: 'custom',
@ -345,7 +335,6 @@ export const useNodesInteractions = () => {
} }
const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap( const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap(
[ [
...needDeleteEdges.map(edge => ({ type: 'remove', edge })),
{ type: 'add', edge: newEdge }, { type: 'add', edge: newEdge },
], ],
nodes, nodes,
@ -362,11 +351,7 @@ export const useNodesInteractions = () => {
}) })
setNodes(newNodes) setNodes(newNodes)
const newEdges = produce(edges, (draft) => { const newEdges = produce(edges, (draft) => {
const filtered = draft.filter(edge => !needDeleteEdgesIds.includes(edge.id)) draft.push(newEdge)
filtered.push(newEdge)
return filtered
}) })
setEdges(newEdges) setEdges(newEdges)