UNPKG

dagre-compound

Version:

A multi-level compound graph layout library based on dagre

56 lines (55 loc) 1.76 kB
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;