From a2e4d99f5b519ac3d3c89426c44912bf526c3484 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 24 Jul 2023 20:17:19 +0200 Subject: [PATCH] fix(core): dont wait for nodesInitialized to trigger for viewport helper --- packages/core/src/composables/useViewport.ts | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/packages/core/src/composables/useViewport.ts b/packages/core/src/composables/useViewport.ts index 4235fadc..0709a541 100644 --- a/packages/core/src/composables/useViewport.ts +++ b/packages/core/src/composables/useViewport.ts @@ -1,5 +1,5 @@ import { zoomIdentity } from 'd3-zoom' -import { computed } from 'vue' +import { ref } from 'vue' import type { ComputedGetters, D3Selection, GraphNode, State, ViewportFunctions } from '~/types' import { clampPosition, getRectOfNodes, getTransformForBounds, pointToRendererPoint } from '~/utils' @@ -29,16 +29,13 @@ const initialViewportHelper: ExtendedViewport = { export function useViewport(state: State, getters: ComputedGetters) { const { nodes, d3Zoom, d3Selection, dimensions, translateExtent, minZoom, maxZoom, viewport, snapToGrid, snapGrid } = $(state) - const { getNodes, getNodesInitialized } = getters + const isReady = ref(false) - const isReady = computed( - () => - !!d3Zoom && - !!d3Selection && - !!dimensions.width && - !!dimensions.height && - getNodesInitialized.value.length === getNodes.value.length, - ) + until(() => !!d3Zoom && !!d3Selection && !!dimensions.width && !!dimensions.height) + .toBe(true) + .then(() => { + isReady.value = true + }) function zoom(scale: number, duration?: number) { return new Promise((resolve) => {