fix(viewport): emit paneReady when dimensions are ready

* Wait for viewport & nodes to have their dimensions established before emitting paneReady
* Avoids getting 0 values for dimensions on paneReady
This commit is contained in:
Braks
2022-04-11 11:30:10 +02:00
parent 4fbb16f6ad
commit e14cf124ff
4 changed files with 37 additions and 20 deletions
-8
View File
@@ -3,10 +3,6 @@ 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<string, any> = {
...defaultEdgeTypes,
@@ -28,8 +24,6 @@ export default (state: State): ComputedGetters => {
})
const getNodes = computed<GraphNode[]>(() => {
if (!paneReady.value) return []
const nodes = state.nodes.filter((n) => !n.hidden)
return state.onlyRenderVisibleElements
? nodes &&
@@ -48,8 +42,6 @@ export default (state: State): ComputedGetters => {
})
const getEdges = computed<GraphEdge[]>(() => {
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