@cisstech/nge
Version:
NG Essentials is a collection of libraries for Angular developers.
120 lines (119 loc) • 4.42 kB
TypeScript
import { FlatTreeControl } from '@angular/cdk/tree';
import { ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { TreeNodeDirective } from './tree-node.directive';
import { INode, ITree, ITreeAdapter, ITreeEdition, ITreeFilter, ITreeNodeHolder, ITreeState } from './tree.model';
import * as i0 from "@angular/core";
export declare class TreeComponent<T> implements ITree<T>, OnInit, OnChanges, OnDestroy {
private readonly elementRef;
private readonly changeDetectorRef;
nodes: T[];
adapter: ITreeAdapter<T>;
protected nodeDirective: TreeNodeDirective<T>;
private readonly DATA_TREE_NODE_ID;
private readonly flattener;
private readonly dataSource;
private readonly nodesIndex;
private readonly parentsIndex;
private readonly hiddenNodes;
private readonly selectedNodes;
private isEmpty;
private isShiftKeyPressed;
private activeNode?;
private stateBeforeSearching;
protected editing: Partial<ITreeEdition<T>>;
protected readonly visibleNodes: BehaviorSubject<ITreeNodeHolder<T>[]>;
readonly filter: ITreeFilter;
readonly controler: FlatTreeControl<ITreeNodeHolder<T>>;
protected get treeHeight(): string;
constructor(elementRef: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef);
ngOnInit(): void;
ngOnChanges(): void;
ngOnDestroy(): void;
selections(): T[];
focusedNode(): T | undefined;
isFocused(node: INode<T>): boolean;
isExpanded(node: INode<T>): boolean;
isSelected(node: INode<T>): boolean;
focus(node: INode<T>, render?: boolean): void;
unfocus(): void;
expand(node: INode<T>, render?: boolean): void;
expandAll(render?: boolean): void;
collapse(node: INode<T>, render?: boolean): void;
collapseAll(render?: boolean): void;
toggle(node: INode<T>, render?: boolean): void;
startEdition(node: INode<T>, creation?: boolean): void;
endEdition(): void;
search(filter: ITreeFilter): void;
saveState(): ITreeState;
restoreState(state: ITreeState): void;
protected _onEdit(event: Event): void;
protected _clearFilter(): void;
protected _isRenaming(node: INode<T>): boolean;
protected _isCreating(node: INode<T>): boolean;
protected _trackById(_: number, e: ITreeNodeHolder<T>): string;
keyup(): void;
keydown($event: KeyboardEvent): void;
mousedown($event: MouseEvent): void;
contextmenu($event: MouseEvent): void;
private onKeyDown;
private onMouseDown;
private onContextMenu;
private isTreeContainsEvent;
private triggerFilterEvent;
private triggerKeyboardEvent;
private render;
private buildIndexes;
private buildSearchPattern;
/**
* Gets the dom element associated to the given node.
* @param e A node.
*/
private domNode;
/**
* Adds the given node to the selected nodes.
* @param node The node to select.
*/
private select;
/**
* Removes the given node to the selected nodes.
* @param node The node to unselect.
*/
private unselect;
/**
* Clears the selected nodes.
*/
private unselectAll;
/**
* Expands the ancestors of the given node.
* @param node A node reference.
*/
private expandAncestors;
/**
* Call the given `action` for the ancestors of the given node.
* @param node A node reference.
* @param action A function to call for each ancestor.
*/
private iterateAncestors;
/**
* Moves the scrollbar to the given node.
* @param node The node to show.
*/
private scrollInto;
/**
* Focus the node before of after `currEl` depending on the given `direction`.
* @param currEl Current element
* @param direction Navigation direction.
*/
private navigate;
private findParent;
private findHolderFromId;
private findHolderFromData;
private findHolderFromEvent;
private findHolderFromElement;
private findHolder;
private children;
private transformer;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent<any>, "ui-tree", never, { "nodes": { "alias": "nodes"; "required": false; }; "adapter": { "alias": "adapter"; "required": false; }; }, {}, ["nodeDirective"], never, false, never>;
}