feat(web): 完成分支节点动态改变handle

This commit is contained in:
v-zhangjc9
2025-07-16 19:54:48 +08:00
parent 91e6f49342
commit a3c2250285
11 changed files with 138 additions and 105 deletions

View File

@@ -8,7 +8,7 @@ import {
type OnEdgesChange,
type OnNodesChange,
} from '@xyflow/react'
import {filter, find, isEqual} from 'licia'
import {contain, filter, find, isEqual} from 'licia'
import {create} from 'zustand/react'
export const useFlowStore = create<{
@@ -24,6 +24,8 @@ export const useFlowStore = create<{
edges: Edge[],
getEdges: () => Edge[],
onEdgesChange: OnEdgesChange,
removeEdge: (id: string) => void,
removeEdges: (ids: string[]) => void,
setEdges: (edges: Edge[]) => void,
onConnect: OnConnect,
@@ -61,6 +63,16 @@ export const useFlowStore = create<{
edges: applyEdgeChanges(changes, get().edges),
})
},
removeEdge: id => {
set({
edges: filter(get().edges, edge => !isEqual(edge.id, id)),
})
},
removeEdges: ids => {
set({
edges: filter(get().edges, edge => !contain(ids, edge.id)),
})
},
setEdges: edges => set({edges}),
onConnect: connection => {