dagre-compound
Version:
A multi-level compound graph layout library based on dagre
56 lines (55 loc) • 1.76 kB
TypeScript
import { graphlib } from 'dagre';
import { SafeAny } from '../interfaces/any';
import { AttrDef, GroupNode, IGraphLabel, MetaEdge, Node } from '../interfaces/graph';
import { Point } from '../interfaces/layout';
import { Hierarchy } from './hierarchy';
export declare class RenderGraphInfo {
hierarchy: Hierarchy;
private readonly index;
private readonly hasSubHierarchy;
root: RenderGroupNodeInfo;
constructor(hierarchy: Hierarchy);
getRenderInfoNodes(): RenderNodeInfo[];
getSubHierarchy(): {
[nodeName: string]: boolean;
};
buildSubHierarchy(nodeName: string): void;
getOrCreateRenderNodeByName(nodeName: string): RenderNodeInfo;
getRenderNodeByName(nodeName: string): RenderNodeInfo;
getNodeByName(nodeName: string): Node;
}
export declare class RenderNodeInfo<T extends Node = Node> {
node: T;
expanded: boolean;
x: number;
y: number;
width: number;
height: number;
coreBox: {
width: number;
height: number;
};
outboxWidth: number;
labelOffset: number;
radius: number;
labelHeight: number;
paddingTop: number;
paddingLeft: number;
paddingRight: number;
paddingBottom: number;
displayName: SafeAny;
attr: AttrDef;
constructor(node: T);
}
export declare class RenderMetaEdgeInfo {
metaEdge: MetaEdge;
adjoiningMetaEdge: RenderMetaEdgeInfo;
weight: number;
points: Point[];
constructor(metaEdge: MetaEdge);
}
export declare class RenderGroupNodeInfo extends RenderNodeInfo<GroupNode> {
coreGraph: graphlib.Graph<RenderNodeInfo>;
constructor(groupNode: GroupNode, graphOptions: IGraphLabel);
}
export declare function buildRenderInfo(graphHierarchy: Hierarchy): RenderGraphInfo;