node selected

This commit is contained in:
StyleZhang 2024-04-01 20:47:39 +08:00
parent 31f24e1a14
commit b5fa68fdfe
2 changed files with 23 additions and 2 deletions

View File

@ -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={{

View File

@ -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)