Skip to content

Commit eb29f96

Browse files
committed
refactor(core): add viewport to export obj and deprecate position and zoom
1 parent fd155e4 commit eb29f96

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

packages/core/src/store/actions.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -828,12 +828,13 @@ export function useActions(
828828
}),
829829
position: [state.viewport.x, state.viewport.y],
830830
zoom: state.viewport.zoom,
831+
viewport: state.viewport,
831832
} as FlowExportObject),
832833
)
833834
}
834835

835836
const fromObject: Actions['fromObject'] = (obj) => {
836-
const { nodes, edges, position, zoom } = obj
837+
const { nodes, edges, position, zoom, viewport } = obj
837838

838839
if (nodes) {
839840
setNodes(nodes)
@@ -843,14 +844,14 @@ export function useActions(
843844
setEdges(edges)
844845
}
845846

846-
if (position) {
847+
if (viewport || position) {
847848
until(() => viewportHelper.value.initialized)
848849
.toBe(true)
849850
.then(() => {
850851
viewportHelper.value.setViewport({
851-
x: position[0],
852-
y: position[1],
853-
zoom: zoom || state.viewport.zoom,
852+
x: viewport.x || position[0],
853+
y: viewport.y || position[1],
854+
zoom: viewport.zoom || zoom || state.viewport.zoom,
854855
})
855856
})
856857
}

packages/core/src/types/flow.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,11 @@ export enum SelectionMode {
105105
export interface FlowExportObject {
106106
nodes: Node[]
107107
edges: Edge[]
108+
/** @deprecated use `viewport` instead */
108109
position: [x: number, y: number]
110+
/** @deprecated use `viewport` instead */
109111
zoom: number
112+
viewport: ViewportTransform
110113
}
111114

112115
export interface FlowProps {

0 commit comments

Comments
 (0)