refactor(core): return promise from fromObject
This commit is contained in:
@@ -830,31 +830,39 @@ export function useActions(
|
|||||||
}
|
}
|
||||||
|
|
||||||
const fromObject: Actions['fromObject'] = (obj) => {
|
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) {
|
if (nodes) {
|
||||||
setNodes(nodes)
|
setNodes(nodes)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (edges) {
|
if (edges) {
|
||||||
setEdges(edges)
|
setEdges(edges)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((viewport?.x && viewport?.y) || position) {
|
if ((viewport?.x && viewport?.y) || position) {
|
||||||
const x = viewport?.x || position[0]
|
const x = viewport?.x || position[0]
|
||||||
const y = viewport?.y || position[1]
|
const y = viewport?.y || position[1]
|
||||||
const nextZoom = viewport?.zoom || zoom || state.viewport.zoom
|
const nextZoom = viewport?.zoom || zoom || state.viewport.zoom
|
||||||
|
|
||||||
until(() => viewportHelper.value.initialized)
|
return until(() => viewportHelper.value.initialized)
|
||||||
.toBe(true)
|
.toBe(true)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
viewportHelper.value.setViewport({
|
viewportHelper.value
|
||||||
x,
|
.setViewport({
|
||||||
y,
|
x,
|
||||||
zoom: nextZoom,
|
y,
|
||||||
|
zoom: nextZoom,
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
resolve(true)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
} else {
|
||||||
}
|
resolve(true)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const $reset: Actions['$reset'] = () => {
|
const $reset: Actions['$reset'] = () => {
|
||||||
|
|||||||
@@ -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 */
|
/** return an object of graph values (elements, viewport transform) for storage and re-loading a graph */
|
||||||
toObject: () => FlowExportObject
|
toObject: () => FlowExportObject
|
||||||
/** load graph from export obj */
|
/** 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 */
|
/** force update node internal data, if handle bounds are incorrect, you might want to use this */
|
||||||
updateNodeInternals: UpdateNodeInternals
|
updateNodeInternals: UpdateNodeInternals
|
||||||
/** start a connection */
|
/** start a connection */
|
||||||
|
|||||||
Reference in New Issue
Block a user