From b5fa68fdfe81629c859d1c53b4d744548603ba3e Mon Sep 17 00:00:00 2001 From: StyleZhang Date: Mon, 1 Apr 2024 20:47:39 +0800 Subject: [PATCH] node selected --- web/app/components/workflow/custom-edge.tsx | 3 +-- .../workflow/hooks/use-nodes-interactions.ts | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/web/app/components/workflow/custom-edge.tsx b/web/app/components/workflow/custom-edge.tsx index aabadadbae..09b466acc6 100644 --- a/web/app/components/workflow/custom-edge.tsx +++ b/web/app/components/workflow/custom-edge.tsx @@ -76,7 +76,7 @@ const CustomEdge = ({ id={id} path={edgePath} style={{ - stroke: (selected || data?._connectedNodeIsHovering || data?._runned || data?._connectedNodeIsSelected) ? '#2970FF' : '#D0D5DD', + stroke: (selected || data?._connectedNodeIsHovering || data?._runned) ? '#2970FF' : '#D0D5DD', strokeWidth: 2, }} /> @@ -85,7 +85,6 @@ const CustomEdge = ({ className={` nopan nodrag hover:scale-150 ${data?._hovering ? 'block' : 'hidden'} - ${data?._connectedNodeIsSelected && '!block'} ${open && '!block'} `} style={{ diff --git a/web/app/components/workflow/hooks/use-nodes-interactions.ts b/web/app/components/workflow/hooks/use-nodes-interactions.ts index 0a3cb53d53..b3ba3a99d1 100644 --- a/web/app/components/workflow/hooks/use-nodes-interactions.ts +++ b/web/app/components/workflow/hooks/use-nodes-interactions.ts @@ -463,6 +463,7 @@ export const useNodesInteractions = () => { data: { sourceType: prevNode.data.type, targetType: newNode.data.type, + _connectedNodeIsSelected: true, }, } const newNodes = produce(nodes, (draft: Node[]) => { @@ -476,6 +477,12 @@ export const useNodesInteractions = () => { }) setNodes(newNodes) const newEdges = produce(edges, (draft) => { + draft.forEach((item) => { + item.data = { + ...item.data, + _connectedNodeIsSelected: false, + } + }) draft.push(newEdge) }) setEdges(newEdges) @@ -500,6 +507,7 @@ export const useNodesInteractions = () => { data: { sourceType: newNode.data.type, targetType: nextNode.data.type, + _connectedNodeIsSelected: true, }, } const afterNodesInSameBranch = getAfterNodesInSameBranch(nextNodeId!) @@ -518,6 +526,12 @@ export const useNodesInteractions = () => { }) setNodes(newNodes) const newEdges = produce(edges, (draft) => { + draft.forEach((item) => { + item.data = { + ...item.data, + _connectedNodeIsSelected: false, + } + }) draft.push(newEdge) }) setEdges(newEdges) @@ -543,6 +557,7 @@ export const useNodesInteractions = () => { data: { sourceType: prevNode.data.type, targetType: newNode.data.type, + _connectedNodeIsSelected: true, }, } let newNextEdge: Edge | null = null @@ -557,6 +572,7 @@ export const useNodesInteractions = () => { data: { sourceType: newNode.data.type, targetType: nextNode.data.type, + _connectedNodeIsSelected: true, }, } } @@ -589,6 +605,12 @@ export const useNodesInteractions = () => { setNodes(newNodes) const newEdges = produce(edges, (draft) => { draft.splice(currentEdgeIndex, 1) + draft.forEach((item) => { + item.data = { + ...item.data, + _connectedNodeIsSelected: false, + } + }) draft.push(newPrevEdge) if (newNextEdge)