diff --git a/web/app/components/workflow/hooks/use-nodes-interactions.ts b/web/app/components/workflow/hooks/use-nodes-interactions.ts index f15d9793e4..1309bceb1f 100644 --- a/web/app/components/workflow/hooks/use-nodes-interactions.ts +++ b/web/app/components/workflow/hooks/use-nodes-interactions.ts @@ -303,7 +303,6 @@ export const useNodesInteractions = () => { targetType: nodes.find(node => node.id === target)!.data.type, }, } - console.log(needDeleteEdges, '1') const nodesConnectedSourceOrTargetHandleIdsMap = getNodesConnectedSourceOrTargetHandleIdsMap( [ ...needDeleteEdges.map(edge => ({ type: 'remove', edge })), @@ -545,7 +544,7 @@ export const useNodesInteractions = () => { { type: 'add', edge: newPrevEdge }, ...(newNextEdge ? [{ type: 'add', edge: newNextEdge }] : []), ], - nodes, + [...nodes, newNode], ) const afterNodesInSameBranch = getAfterNodesInSameBranch(nextNodeId!) diff --git a/web/app/components/workflow/nodes/_base/components/node-handle.tsx b/web/app/components/workflow/nodes/_base/components/node-handle.tsx index ccdadd5034..2871b1c78d 100644 --- a/web/app/components/workflow/nodes/_base/components/node-handle.tsx +++ b/web/app/components/workflow/nodes/_base/components/node-handle.tsx @@ -88,6 +88,7 @@ export const NodeTargetHandle = memo(({ triggerClassName={open => ` hidden absolute left-0 top-0 pointer-events-none ${nodeSelectorClassName} + group-hover:!flex ${data.selected && '!flex'} ${open && '!flex'} `} @@ -167,6 +168,7 @@ export const NodeSourceHandle = memo(({ triggerClassName={open => ` hidden absolute top-0 left-0 pointer-events-none ${nodeSelectorClassName} + group-hover:!flex ${data.selected && '!flex'} ${open && '!flex'} `} diff --git a/web/app/components/workflow/utils.ts b/web/app/components/workflow/utils.ts index c5b660dafa..f3367f3eb4 100644 --- a/web/app/components/workflow/utils.ts +++ b/web/app/components/workflow/utils.ts @@ -122,14 +122,14 @@ export const getNodesConnectedSourceOrTargetHandleIdsMap = (changes: ConnectedSo type, } = change const sourceNode = nodes.find(node => node.id === edge.source)! - const sourceNodeConnectedSourceHandleIds = sourceNode?.data._connectedSourceHandleIds || [] nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id] = nodesConnectedSourceOrTargetHandleIdsMap[sourceNode.id] || { - _connectedSourceHandleIds: sourceNodeConnectedSourceHandleIds, + _connectedSourceHandleIds: sourceNode?.data._connectedSourceHandleIds || [], + _connectedTargetHandleIds: sourceNode?.data._connectedTargetHandleIds || [], } const targetNode = nodes.find(node => node.id === edge.target)! - const targetNodeConnectedTargetHandleIds = targetNode?.data._connectedTargetHandleIds || [] nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id] = nodesConnectedSourceOrTargetHandleIdsMap[targetNode.id] || { - _connectedTargetHandleIds: targetNodeConnectedTargetHandleIds, + _connectedSourceHandleIds: sourceNode?.data._connectedSourceHandleIds || [], + _connectedTargetHandleIds: targetNode?.data._connectedTargetHandleIds || [], } if (sourceNode) {