From ea69dc58ee3f84f0e58ce5fb2004c328a5c337f7 Mon Sep 17 00:00:00 2001 From: Braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Sat, 9 Apr 2022 23:02:57 +0200 Subject: [PATCH] fix: Return empty arrays if pane isn't ready yet --- package/src/composables/useVueFlow.ts | 1 + package/src/store/getters.ts | 8 ++++++++ 2 files changed, 9 insertions(+) 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