fix(core): avoid adding invalid edges (like null or undefined)
This commit is contained in:
@@ -448,14 +448,14 @@ export function useActions(
|
||||
nextEdges = Array.isArray(nextEdges) ? nextEdges : [nextEdges]
|
||||
|
||||
const validEdges = state.isValidConnection
|
||||
? nextEdges.filter((edge) =>
|
||||
state.isValidConnection!(edge, {
|
||||
? nextEdges.filter((edge) => {
|
||||
return state.isValidConnection?.(edge, {
|
||||
edges: state.edges,
|
||||
nodes: state.nodes,
|
||||
sourceNode: findNode(edge.source)!,
|
||||
targetNode: findNode(edge.target)!,
|
||||
}),
|
||||
)
|
||||
})
|
||||
})
|
||||
: nextEdges
|
||||
|
||||
const changes = validEdges.reduce((edgeChanges, connection) => {
|
||||
|
||||
@@ -16,8 +16,8 @@ export function addEdgeToStore(
|
||||
triggerError: State['hooks']['error']['trigger'],
|
||||
defaultEdgeOptions?: DefaultEdgeOptions,
|
||||
): GraphEdge | false {
|
||||
if (!edgeParams.source || !edgeParams.target) {
|
||||
triggerError(new VueFlowError(ErrorCode.EDGE_INVALID, (edgeParams as Edge).id))
|
||||
if (!edgeParams || !edgeParams.source || !edgeParams.target) {
|
||||
triggerError(new VueFlowError(ErrorCode.EDGE_INVALID, (edgeParams as undefined | Edge)?.id ?? `[ID UNKNOWN]`))
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user