refactor(core): return promise from fromObject

This commit is contained in:
braks
2023-12-12 19:08:19 +01:00
committed by Braks
parent eb4cff30c9
commit c995b801ce
2 changed files with 29 additions and 21 deletions

View File

@@ -830,31 +830,39 @@ export function useActions(
}
const fromObject: Actions['fromObject'] = (obj) => {
const { nodes, edges, position, zoom, viewport } = obj
return new Promise((resolve) => {
const { nodes, edges, position, zoom, viewport } = obj
if (nodes) {
setNodes(nodes)
}
if (nodes) {
setNodes(nodes)
}
if (edges) {
setEdges(edges)
}
if (edges) {
setEdges(edges)
}
if ((viewport?.x && viewport?.y) || position) {
const x = viewport?.x || position[0]
const y = viewport?.y || position[1]
const nextZoom = viewport?.zoom || zoom || state.viewport.zoom
if ((viewport?.x && viewport?.y) || position) {
const x = viewport?.x || position[0]
const y = viewport?.y || position[1]
const nextZoom = viewport?.zoom || zoom || state.viewport.zoom
until(() => viewportHelper.value.initialized)
.toBe(true)
.then(() => {
viewportHelper.value.setViewport({
x,
y,
zoom: nextZoom,
return until(() => viewportHelper.value.initialized)
.toBe(true)
.then(() => {
viewportHelper.value
.setViewport({
x,
y,
zoom: nextZoom,
})
.then(() => {
resolve(true)
})
})
})
}
} else {
resolve(true)
}
})
}
const $reset: Actions['$reset'] = () => {

View File

@@ -252,7 +252,7 @@ export interface Actions extends ViewportFunctions {
/** return an object of graph values (elements, viewport transform) for storage and re-loading a graph */
toObject: () => FlowExportObject
/** load graph from export obj */
fromObject: (obj: FlowExportObject) => void
fromObject: (obj: FlowExportObject) => Promise<boolean>
/** force update node internal data, if handle bounds are incorrect, you might want to use this */
updateNodeInternals: UpdateNodeInternals
/** start a connection */