UNPKG

@rxap/tree

Version:

This package provides a tree component and data source for Angular applications. It includes features such as searching, filtering, and displaying hierarchical data. The package also offers directives for customizing the content of tree nodes.

64 lines (63 loc) 3.75 kB
import { TemplatePortal } from '@angular/cdk/portal'; import { FlatTreeControl } from '@angular/cdk/tree'; import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, Renderer2, ViewContainerRef } from '@angular/core'; import { Node, NodeGetIconFunction, NodeGetStyleFunction, NodeGetTypeFunction, NodeHasDetailsFunction, NodeToDisplayFunction } from '@rxap/data-structure-tree'; import { Method } from '@rxap/pattern'; import { WithChildren, WithIdentifier } from '@rxap/utilities'; import { SearchForm } from './search.form'; import { TreeContentDirective } from './tree-content.directive'; import { TreeDataSource } from './tree.data-source'; import * as i0 from "@angular/core"; export declare class TreeComponent<Data extends WithIdentifier & WithChildren = any> implements OnInit, AfterContentInit { private readonly viewContainerRef; private readonly cdr; private readonly renderer; private readonly elementRef; readonly searchForm: SearchForm | null; treeControl: FlatTreeControl<Node<Data>>; dataSource: TreeDataSource<Data>; contentEditableMethod?: Method<any, string | null> | null; toDisplay?: NodeToDisplayFunction<any>; getIcon?: NodeGetIconFunction<any>; getType?: NodeGetTypeFunction<any>; getStyle?: NodeGetStyleFunction<any>; multiple: boolean; hasDetails?: NodeHasDetailsFunction<any>; content?: TreeContentDirective; hideLeafIcon: boolean; id?: string; details: EventEmitter<any>; dividerOffset: string; portal: TemplatePortal | null; treeContainer: ElementRef; readonly showTreeNavigation: import("@angular/core").WritableSignal<boolean>; /** * Indicates that the divider is moved with mouse down * @private */ private _moveDivider; /** * Holds the current tree container width. * If null the move divider feature was not yet used and the initial * container width is not calculated * @private */ private _treeContainerWidth; constructor(viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, contentEditableMethod: Method<any, string | null> | null, renderer: Renderer2, elementRef: ElementRef<HTMLElement>, searchForm: SearchForm | null); get nodeDisplayEditable(): boolean; get cacheId(): string; getLevel: (node: Node<Data>) => number; isExpandable: (node: Node<Data>) => boolean; hasChild: (_: number, nodeData: Node<Data>) => boolean; ngOnInit(): void; ngAfterContentInit(): void; openDetails(node: Node<Data>): void; onContentEditableChange(value: string | null, node: Node<Data>): any; onMousedown(): void; onMouseup(): void; onMousemove($event: MouseEvent): void; toggleTreeNavigation(): void; private setDividerOffset; static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent<any>, [null, null, { optional: true; }, null, null, { optional: true; }]>; static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent<any>, "rxap-tree", never, { "dataSource": { "alias": "dataSource"; "required": true; }; "contentEditableMethod": { "alias": "contentEditableMethod"; "required": false; }; "toDisplay": { "alias": "toDisplay"; "required": false; }; "getIcon": { "alias": "getIcon"; "required": false; }; "getType": { "alias": "getType"; "required": false; }; "getStyle": { "alias": "getStyle"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "hasDetails": { "alias": "hasDetails"; "required": false; }; "hideLeafIcon": { "alias": "hideLeafIcon"; "required": false; }; "id": { "alias": "id"; "required": false; }; "dividerOffset": { "alias": "dividerOffset"; "required": false; }; }, { "details": "details"; }, ["content"], ["[searchHeader]", "*"], true, never>; }