@gravity-ui/graph
Version:
Modern graph editor component
34 lines (33 loc) • 1.02 kB
TypeScript
type TIterator = (node: Tree) => boolean;
export interface ITree {
iterate(): boolean;
}
export declare class Tree<T extends ITree = ITree> {
data: T;
parent: Tree;
children: Set<Tree>;
private childrenArray;
protected childrenDirty: boolean;
protected zIndexGroups: Map<number, Set<Tree>>;
protected zIndexChildrenCache: {
get: () => Tree<ITree>[];
reset(): void;
clear(): void;
};
renderOrder: number;
zIndex: number;
constructor(data: T, parent?: Tree);
append(node: Tree): void;
protected addInZIndex(node: Tree): void;
protected removeZIndex(node: Tree): void;
remove(node?: Tree): void;
setChildren(nodes: Tree[]): void;
updateZIndex(index: number): void;
updateChildZIndex(child: Tree): void;
clearChildren(): void;
traverseDown(iterator: TIterator): void;
private _traverse;
protected getChildrenArray(): Tree<ITree>[];
protected _walkDown(iterator: TIterator, order: number): void;
}
export {};