diff --git a/.changeset/many-donkeys-train.md b/.changeset/many-donkeys-train.md new file mode 100644 index 000000000..55ebf7620 --- /dev/null +++ b/.changeset/many-donkeys-train.md @@ -0,0 +1,5 @@ +--- +"@vue-flow/core": patch +--- + +Remove edgelookup update when updating connection lookup as edge lookup is computed already diff --git a/packages/core/src/store/actions.ts b/packages/core/src/store/actions.ts index a88412282..ccf853546 100644 --- a/packages/core/src/store/actions.ts +++ b/packages/core/src/store/actions.ts @@ -1,6 +1,5 @@ import { zoomIdentity } from 'd3-zoom' import type { ComputedRef } from 'vue' -import { nextTick } from 'vue' import { until } from '@vueuse/core' import type { Actions, @@ -532,13 +531,9 @@ export function useActions(state: State, nodeLookup: ComputedRef, ed state.edges, ) - nextTick(() => { - state.edges = state.edges.map((edge, index) => (index === prevEdgeIndex ? validEdge : edge)) + state.edges = state.edges.map((edge, index) => (index === prevEdgeIndex ? validEdge : edge)) - nextTick(() => { - updateConnectionLookup(state.connectionLookup, edgeLookup.value, [validEdge]) - }) - }) + updateConnectionLookup(state.connectionLookup, edgeLookup.value, [validEdge]) return validEdge } diff --git a/packages/core/src/utils/store.ts b/packages/core/src/utils/store.ts index eb8f28312..349c98dee 100644 --- a/packages/core/src/utils/store.ts +++ b/packages/core/src/utils/store.ts @@ -165,7 +165,6 @@ function addConnectionToLookup( export function updateConnectionLookup(connectionLookup: ConnectionLookup, edgeLookup: EdgeLookup, edges: GraphEdge[]) { connectionLookup.clear() - edgeLookup.clear() for (const edge of edges) { const { source: sourceNode, target: targetNode, sourceHandle = null, targetHandle = null } = edge @@ -176,8 +175,6 @@ export function updateConnectionLookup(connectionLookup: ConnectionLookup, edgeL addConnectionToLookup('source', connection, targetKey, connectionLookup, sourceNode, sourceHandle) addConnectionToLookup('target', connection, sourceKey, connectionLookup, targetNode, targetHandle) - - edgeLookup.set(edge.id, edge) } }