fix(core): use shallowReactive for node/edge data & events

This commit is contained in:
braks
2022-10-25 19:14:59 +02:00
committed by Braks
parent 25010d2b87
commit 096f67a55b
+6 -4
View File
@@ -1,3 +1,4 @@
import { isString } from '@vueuse/core'
import { warn } from './log' import { warn } from './log'
import type { import type {
Box, Box,
@@ -76,8 +77,8 @@ export const parseNode = (node: Node, nodeExtent: CoordinateExtent, defaults?: P
selectable: undefined, selectable: undefined,
connectable: undefined, connectable: undefined,
...defaults, ...defaults,
data: node.data || {}, data: shallowReactive(node.data || {}),
events: node.events || {}, events: shallowReactive(node.events || {}),
} }
} }
@@ -103,8 +104,9 @@ export const parseEdge = (edge: Edge, defaults?: Partial<GraphEdge>): GraphEdge
targetY: 0, targetY: 0,
updatable: edge.updatable, updatable: edge.updatable,
selectable: edge.selectable, selectable: edge.selectable,
data: edge.data || {}, data: shallowReactive(edge.data || {}),
events: edge.events || {}, events: shallowReactive(edge.events || {}),
label: edge.label && !isString(edge.label) ? markRaw(edge.label) : undefined,
...defaults, ...defaults,
} as GraphEdge) } as GraphEdge)
: defaults : defaults