From eb29f96f967ddb72b663ee26397f8e9b6f803486 Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Tue, 25 Jul 2023 00:33:11 +0200 Subject: [PATCH] refactor(core): add `viewport` to export obj and deprecate `position` and `zoom` --- packages/core/src/store/actions.ts | 11 ++++++----- packages/core/src/types/flow.ts | 3 +++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/core/src/store/actions.ts b/packages/core/src/store/actions.ts index c9666f5d..a6c6dfaf 100644 --- a/packages/core/src/store/actions.ts +++ b/packages/core/src/store/actions.ts @@ -828,12 +828,13 @@ export function useActions( }), position: [state.viewport.x, state.viewport.y], zoom: state.viewport.zoom, + viewport: state.viewport, } as FlowExportObject), ) } const fromObject: Actions['fromObject'] = (obj) => { - const { nodes, edges, position, zoom } = obj + const { nodes, edges, position, zoom, viewport } = obj if (nodes) { setNodes(nodes) @@ -843,14 +844,14 @@ export function useActions( setEdges(edges) } - if (position) { + if (viewport || position) { until(() => viewportHelper.value.initialized) .toBe(true) .then(() => { viewportHelper.value.setViewport({ - x: position[0], - y: position[1], - zoom: zoom || state.viewport.zoom, + x: viewport.x || position[0], + y: viewport.y || position[1], + zoom: viewport.zoom || zoom || state.viewport.zoom, }) }) } diff --git a/packages/core/src/types/flow.ts b/packages/core/src/types/flow.ts index ab9d46ce..c0605db4 100644 --- a/packages/core/src/types/flow.ts +++ b/packages/core/src/types/flow.ts @@ -105,8 +105,11 @@ export enum SelectionMode { export interface FlowExportObject { nodes: Node[] edges: Edge[] + /** @deprecated use `viewport` instead */ position: [x: number, y: number] + /** @deprecated use `viewport` instead */ zoom: number + viewport: ViewportTransform } export interface FlowProps {