fix(core): use shallowReactive for node/edge data & events
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user