feat(viewport-helpers): return promises
This commit is contained in:
@@ -233,10 +233,10 @@ export const getConnectedEdges = <NodeType extends NodeBase = NodeBase, EdgeType
|
||||
return edges.filter((edge) => nodeIds.has(edge.source) || nodeIds.has(edge.target));
|
||||
};
|
||||
|
||||
export function fitView<Params extends FitViewParamsBase<NodeBase>, Options extends FitViewOptionsBase<NodeBase>>(
|
||||
export async function fitView<Params extends FitViewParamsBase<NodeBase>, Options extends FitViewOptionsBase<NodeBase>>(
|
||||
{ nodeLookup, width, height, panZoom, minZoom, maxZoom }: Params,
|
||||
options?: Options
|
||||
) {
|
||||
): Promise<boolean> {
|
||||
const filteredNodes: Map<string, InternalNodeBase> = new Map();
|
||||
const optionNodeIds = options?.nodes ? new Set(options.nodes.map((node) => node.id)) : null;
|
||||
|
||||
@@ -260,12 +260,12 @@ export function fitView<Params extends FitViewParamsBase<NodeBase>, Options exte
|
||||
options?.padding ?? 0.1
|
||||
);
|
||||
|
||||
panZoom.setViewport(viewport, { duration: options?.duration });
|
||||
await panZoom.setViewport(viewport, { duration: options?.duration });
|
||||
|
||||
return true;
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
|
||||
return false;
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -325,7 +325,7 @@ export function updateNodeInternals<NodeType extends InternalNodeBase>(
|
||||
return { changes, updatedInternals };
|
||||
}
|
||||
|
||||
export function panBy({
|
||||
export async function panBy({
|
||||
delta,
|
||||
panZoom,
|
||||
transform,
|
||||
@@ -339,12 +339,12 @@ export function panBy({
|
||||
translateExtent: CoordinateExtent;
|
||||
width: number;
|
||||
height: number;
|
||||
}) {
|
||||
}): Promise<boolean> {
|
||||
if (!panZoom || (!delta.x && !delta.y)) {
|
||||
return false;
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
const nextViewport = panZoom.setViewportConstrained(
|
||||
const nextViewport = await panZoom.setViewportConstrained(
|
||||
{
|
||||
x: transform[0] + delta.x,
|
||||
y: transform[1] + delta.y,
|
||||
@@ -361,7 +361,7 @@ export function panBy({
|
||||
!!nextViewport &&
|
||||
(nextViewport.x !== transform[0] || nextViewport.y !== transform[1] || nextViewport.k !== transform[2]);
|
||||
|
||||
return transformChanged;
|
||||
return Promise.resolve(transformChanged);
|
||||
}
|
||||
|
||||
export function updateConnectionLookup(connectionLookup: ConnectionLookup, edgeLookup: EdgeLookup, edges: EdgeBase[]) {
|
||||
|
||||
Reference in New Issue
Block a user