diff --git a/package/src/composables/useVueFlow.ts b/package/src/composables/useVueFlow.ts index 2f677230..a811feaf 100644 --- a/package/src/composables/useVueFlow.ts +++ b/package/src/composables/useVueFlow.ts @@ -53,6 +53,7 @@ export class Storage { ...getters, ...actions, }) + const flow: UseVueFlow = { ...hooksOn, ...getters, diff --git a/package/src/store/getters.ts b/package/src/store/getters.ts index 20e4178c..8a861148 100644 --- a/package/src/store/getters.ts +++ b/package/src/store/getters.ts @@ -3,6 +3,10 @@ import { State, GraphEdge, GraphNode, ComputedGetters } from '~/types' import { getNodesInside, isEdgeVisible } from '~/utils' export default (state: State): ComputedGetters => { + const paneReady = ref(false) + + state.hooks.paneReady.on(() => (paneReady.value = true)) + const getEdgeTypes = computed(() => { const edgeTypes: Record = { ...defaultEdgeTypes, @@ -24,6 +28,8 @@ export default (state: State): ComputedGetters => { }) const getNodes = computed(() => { + if (!paneReady.value) return [] + const nodes = state.nodes.filter((n) => !n.hidden) return state.onlyRenderVisibleElements ? nodes && @@ -42,6 +48,8 @@ export default (state: State): ComputedGetters => { }) const getEdges = computed(() => { + if (!paneReady.value) return [] + if (!state.onlyRenderVisibleElements) return state.edges.filter((e) => !e.hidden && e.targetNode && !e.targetNode.hidden && e.sourceNode && !e.sourceNode.hidden) else