@gravity-ui/graph
Version:
Modern graph editor component
27 lines (26 loc) • 963 B
TypeScript
import { Edge } from "../layout";
import { ConverterResult } from "../types";
export type LayeredLayoutResult = {
nodes: Array<{
id: string;
x?: number;
y?: number;
shape?: string;
}>;
edges: Edge<string>[];
};
export type LayeredConverterParams = {
layoutResult: LayeredLayoutResult;
/** Map of "sourceId/targetId" -> queue of connection ids (for multiple edges between same pair) */
connectionIdBySourceTarget: Map<string, (string | number | symbol)[]>;
blockSizes: Map<string, {
width: number;
height: number;
}>;
virtualNodeSize?: number;
};
/**
* Converts the result of layoutGraph() into the same format as ELK plugin (ConverterResult)
* so it can be used with setEntities(blocks, connections) the same way.
*/
export declare function layeredConverter({ layoutResult, connectionIdBySourceTarget, blockSizes, virtualNodeSize, }: LayeredConverterParams): ConverterResult;