From b846a3f76304102e1d78fbf46fa69b617dddb7df Mon Sep 17 00:00:00 2001 From: bcakmakoglu <78412429+bcakmakoglu@users.noreply.github.com> Date: Thu, 26 May 2022 21:17:46 +0200 Subject: [PATCH] fix(edges): default edge options not applied on new edges --- packages/vue-flow/src/store/actions.ts | 5 +---- packages/vue-flow/src/utils/graph.ts | 14 +++++--------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/vue-flow/src/store/actions.ts b/packages/vue-flow/src/store/actions.ts index d6efde6a..7842ce84 100644 --- a/packages/vue-flow/src/store/actions.ts +++ b/packages/vue-flow/src/store/actions.ts @@ -245,10 +245,7 @@ export default (state: State, getters: ComputedGetters): Actions => { const storedEdge = getters.getEdge.value(edge.id) res.push({ - ...parseEdge(edge, { - ...state.defaultEdgeOptions, - ...storedEdge, - }), + ...parseEdge(edge, Object.assign({}, storedEdge, state.defaultEdgeOptions)), sourceNode, targetNode, }) diff --git a/packages/vue-flow/src/utils/graph.ts b/packages/vue-flow/src/utils/graph.ts index ca13b428..44b80dc4 100644 --- a/packages/vue-flow/src/utils/graph.ts +++ b/packages/vue-flow/src/utils/graph.ts @@ -95,7 +95,7 @@ export const parseEdge = (edge: Edge, defaults?: Partial): GraphEdge ? ({ sourceHandle: edge.sourceHandle ? edge.sourceHandle.toString() : undefined, targetHandle: edge.targetHandle ? edge.targetHandle.toString() : undefined, - type: edge.type ?? 'default', + type: edge.type, source: edge.source.toString(), target: edge.target.toString(), z: 0, @@ -103,18 +103,14 @@ export const parseEdge = (edge: Edge, defaults?: Partial): GraphEdge sourceY: 0, targetX: 0, targetY: 0, - updatable: undefined, - selectable: undefined, - data: undefined, + updatable: edge.updatable, + selectable: edge.selectable, + data: edge.data, ...defaults, } as GraphEdge) : defaults - return { - ...(defaults as GraphEdge), - ...edge, - id: edge.id.toString(), - } + return Object.assign({ id: edge.id.toString() }, edge, defaults) as GraphEdge } const getConnectedElements = (node: GraphNode, elements: Elements, dir: 'source' | 'target') => {