Skip to content

Commit 29f3d2d

Browse files
committed
feat(core): add areNodesInitialized getter
1 parent 1bf4791 commit 29f3d2d

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

packages/core/src/container/NodeRenderer/NodeRenderer.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const {
1616
nodesConnectable,
1717
getNodes,
1818
getNodesInitialized,
19+
areNodesInitialized,
1920
getNodeTypes,
2021
updateNodeDimensions,
2122
emits,
@@ -25,7 +26,7 @@ const resizeObserver = ref<ResizeObserver>()
2526
2627
const instance = getCurrentInstance()
2728
28-
until(() => getNodes.value.length > 0 && getNodesInitialized.value.length === getNodes.value.length)
29+
until(() => areNodesInitialized.value)
2930
.toBe(true)
3031
.then(() => {
3132
nextTick(() => {

packages/core/src/store/getters.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
125125
getNodes.value.filter((n) => n.initialized && n.handleBounds !== undefined),
126126
)
127127

128+
const areNodesInitialized: ComputedGetters['areNodesInitialized'] = computed(
129+
() => getNodes.value.length > 0 && getNodesInitialized.value.length === getNodes.value.length,
130+
)
131+
128132
return {
129133
getNode,
130134
getEdge,
@@ -137,5 +141,6 @@ export function useGetters(state: State, nodeIds: ComputedRef<string[]>, edgeIds
137141
getSelectedNodes,
138142
getSelectedEdges,
139143
getNodesInitialized,
144+
areNodesInitialized,
140145
}
141146
}

packages/core/src/types/store.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,8 @@ export interface Getters {
314314
getSelectedEdges: GraphEdge[]
315315
/** returns all nodes that are initialized, i.e. they have actual dimensions */
316316
getNodesInitialized: GraphNode[]
317+
/** returns a boolean flag whether all current nodes are initialized */
318+
areNodesInitialized: boolean
317319
}
318320

319321
export type ComputedGetters = {

0 commit comments

Comments
 (0)