Skip to content

Commit 0fb4713

Browse files
committed
chore(core): cleanup
Signed-off-by: braks <[email protected]>
1 parent 2f87aa8 commit 0fb4713

File tree

3 files changed

+31
-29
lines changed

3 files changed

+31
-29
lines changed

packages/core/src/container/VueFlow/VueFlow.vue

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,20 +114,22 @@ const modelValue = useVModel(props, 'modelValue', emit)
114114
const modelNodes = useVModel(props, 'nodes', emit)
115115
const modelEdges = useVModel(props, 'edges', emit)
116116
117-
const { vueFlowRef, id, hooks, getNodeTypes, getEdgeTypes, $reset, ...rest } = useVueFlow(props)
117+
const { vueFlowRef, hooks, getNodeTypes, getEdgeTypes, ...rest } = useVueFlow(props)
118118
119119
const dispose = useWatch({ modelValue, nodes: modelNodes, edges: modelEdges }, props, {
120120
vueFlowRef,
121-
id,
122121
hooks,
123122
getNodeTypes,
124123
getEdgeTypes,
125-
$reset,
126124
...rest,
127125
})
128126
127+
useHooks(emit, hooks)
128+
129129
const el = ref<HTMLDivElement>()
130130
131+
provide(Slots, useSlots())
132+
131133
onUnmounted(() => {
132134
dispose()
133135
})
@@ -136,17 +138,11 @@ onMounted(() => {
136138
vueFlowRef.value = el.value!
137139
})
138140
139-
useHooks(emit, hooks)
140-
141-
provide(Slots, useSlots())
142-
143141
defineExpose<VueFlowStore>({
144142
vueFlowRef,
145-
id,
146143
hooks,
147144
getNodeTypes,
148145
getEdgeTypes,
149-
$reset,
150146
...rest,
151147
})
152148
</script>

packages/core/src/utils/graph.ts

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,12 @@ export const isGraphNode = <Data = ElementData>(element: MaybeElement): element
6767

6868
export const isRect = (obj: any): obj is Rect => !!obj.width && !!obj.height && !!obj.x && !!obj.y
6969

70-
export function parseNode(node: Node, defaults?: Partial<GraphNode>): GraphNode {
71-
let defaultValues = defaults
70+
export function parseNode(node: Node, defaults: Partial<GraphNode> = {}): GraphNode {
71+
let initialState = defaults
72+
7273
if (!isGraphNode(node)) {
73-
defaultValues = {
74-
type: node.type ?? 'default',
74+
initialState = {
75+
type: node.type ?? defaults.type ?? 'default',
7576
dimensions: markRaw({
7677
width: 0,
7778
height: 0,
@@ -99,31 +100,31 @@ export function parseNode(node: Node, defaults?: Partial<GraphNode>): GraphNode
99100
}
100101

101102
return {
102-
...defaultValues,
103+
...initialState,
103104
...(node as GraphNode),
104105
id: node.id.toString(),
105106
}
106107
}
107108

108-
export function parseEdge(edge: Edge, defaults?: Partial<GraphEdge>): GraphEdge {
109-
const events = isDef(edge.events) ? edge.events : defaults?.events && isDef(defaults?.events) ? defaults?.events : {}
110-
const data = isDef(edge.data) ? edge.data : defaults?.data && isDef(defaults?.data) ? defaults?.data : {}
109+
export function parseEdge(edge: Edge, defaults: Partial<GraphEdge> = {}): GraphEdge {
110+
const events = isDef(edge.events) ? edge.events : defaults.events && isDef(defaults.events) ? defaults.events : {}
111+
const data = isDef(edge.data) ? edge.data : defaults.data && isDef(defaults.data) ? defaults.data : {}
111112

112113
defaults = !isGraphEdge(edge)
113114
? ({
114115
...defaults,
115-
sourceHandle: (edge.sourceHandle ? edge.sourceHandle.toString() : undefined) || defaults?.sourceHandle,
116-
targetHandle: (edge.targetHandle ? edge.targetHandle.toString() : undefined) || defaults?.targetHandle,
117-
type: edge.type ?? defaults?.type ?? 'default',
118-
source: edge.source.toString() || defaults?.source,
119-
target: edge.target.toString() || defaults?.target,
120-
updatable: edge.updatable ?? defaults?.updatable,
121-
selectable: edge.selectable ?? defaults?.selectable,
122-
focusable: edge.focusable ?? defaults?.focusable,
116+
sourceHandle: (edge.sourceHandle ? edge.sourceHandle.toString() : undefined) || defaults.sourceHandle,
117+
targetHandle: (edge.targetHandle ? edge.targetHandle.toString() : undefined) || defaults.targetHandle,
118+
type: edge.type ?? defaults.type ?? 'default',
119+
source: edge.source.toString() || defaults.source,
120+
target: edge.target.toString() || defaults.target,
121+
updatable: edge.updatable ?? defaults.updatable,
122+
selectable: edge.selectable ?? defaults.selectable,
123+
focusable: edge.focusable ?? defaults.focusable,
123124
data,
124125
events: markRaw(events),
125-
label: (edge.label && !isString(edge.label) ? markRaw(edge.label) : edge.label) || defaults?.label,
126-
interactionWidth: edge.interactionWidth || defaults?.interactionWidth,
126+
label: (edge.label && !isString(edge.label) ? markRaw(edge.label) : edge.label) || defaults.label,
127+
interactionWidth: edge.interactionWidth || defaults.interactionWidth,
127128
} as GraphEdge)
128129
: defaults
129130

@@ -166,6 +167,7 @@ export function addEdge(edgeParams: Edge | Connection, elements: Elements, defau
166167
}
167168

168169
let edge
170+
169171
if (isEdge(edgeParams)) {
170172
edge = { ...edgeParams }
171173
} else {
@@ -174,9 +176,13 @@ export function addEdge(edgeParams: Edge | Connection, elements: Elements, defau
174176
id: getEdgeId(edgeParams),
175177
} as Edge
176178
}
179+
177180
edge = parseEdge(edge, defaults)
181+
178182
if (connectionExists(edge, elements)) return elements
183+
179184
elements.push(edge)
185+
180186
return elements
181187
}
182188

packages/core/src/utils/store.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ export function createGraphNodes(nodes: Node[], findNode: Actions['findNode'], c
7676
return parsed
7777
})
7878

79-
graphNodes.forEach((node) => {
80-
const nextNodes = [...graphNodes, ...currGraphNodes]
79+
const nextNodes = [...graphNodes, ...currGraphNodes]
8180

81+
graphNodes.forEach((node) => {
8282
const parentNode = nextNodes.find((n) => n.id === node.parentNode)
8383

8484
if (node.parentNode && !parentNode) {

0 commit comments

Comments
 (0)