ag-charts-community
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
48 lines (47 loc) • 1.57 kB
TypeScript
/** A key in a grouped category axis — an array of nullable labels representing the path through the hierarchy. */
export type GroupedCategoryKey = (string | null)[];
/**
* The tree layout is calculated in abstract x/y coordinates, where the root is at (0, 0)
* and the tree grows downward from the root.
*/
declare class TreeNode {
label: string | null;
parent?: TreeNode | undefined;
refId?: number | undefined;
position: number;
subtreeLeft: number;
subtreeRight: number;
children: TreeNode[];
leafCount: number;
depth: number;
prelim: number;
mod: number;
ancestor: this;
change: number;
shift: number;
index: number;
separatorDepth: number;
leftmostLeaf: TreeNode;
screen: number;
constructor(label?: string | null, parent?: TreeNode | undefined, refId?: number | undefined);
insertTick(tick: GroupedCategoryKey, index: number): TreeNode | undefined;
getLeftSibling(): TreeNode | undefined;
getLeftmostSibling(): TreeNode | undefined;
nextLeft(): TreeNode | undefined;
nextRight(): TreeNode | undefined;
getSiblings(): TreeNode[];
}
export declare function treeLayout(ticks: GroupedCategoryKey[]): {
layout: TreeLayout;
tickNodes: Map<GroupedCategoryKey, TreeNode>;
};
export declare class TreeLayout {
private minPosition;
private maxPosition;
nodes: TreeNode[];
depth: number;
insertNode(node: TreeNode): void;
private scaling;
resize(range: number[], step: number, inset: number, bandwidth: number): void;
}
export {};