UNPKG

igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

96 lines (95 loc) 3.67 kB
import { ElementRef, EventEmitter, InjectionToken, QueryList, TemplateRef } from '@angular/core'; import { IBaseCancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils'; import { ToggleAnimationSettings } from '../expansion-panel/toggle-animation-component'; /** Comparer function that can be used when searching through IgxTreeNode<any>[] */ export type IgxTreeSearchResolver = (data: any, node: IgxTreeNode<any>) => boolean; export interface IgxTree { /** @hidden @internal */ nodes: QueryList<IgxTreeNode<any>>; /** @hidden @internal */ rootNodes: IgxTreeNode<any>[]; singleBranchExpand: boolean; toggleNodeOnClick: boolean; selection: IgxTreeSelectionType; expandIndicator: TemplateRef<any>; animationSettings: ToggleAnimationSettings; /** @hidden @internal */ forceSelect: IgxTreeNode<any>[]; /** @hidden @internal */ disabledChange: EventEmitter<IgxTreeNode<any>>; /** @hidden @internal */ activeNodeBindingChange: EventEmitter<IgxTreeNode<any>>; nodeSelection: EventEmitter<ITreeNodeSelectionEvent>; nodeExpanding: EventEmitter<ITreeNodeTogglingEventArgs>; nodeExpanded: EventEmitter<ITreeNodeToggledEventArgs>; nodeCollapsing: EventEmitter<ITreeNodeTogglingEventArgs>; nodeCollapsed: EventEmitter<ITreeNodeToggledEventArgs>; activeNodeChanged: EventEmitter<IgxTreeNode<any>>; expandAll(nodes: IgxTreeNode<any>[]): void; collapseAll(nodes: IgxTreeNode<any>[]): void; deselectAll(node?: IgxTreeNode<any>[]): void; findNodes(searchTerm: any, comparer?: IgxTreeSearchResolver): IgxTreeNode<any>[] | null; } export interface IgxTreeNode<T> { parentNode?: IgxTreeNode<any> | null; loading: boolean; path: IgxTreeNode<any>[]; expanded: boolean | null; /** @hidden @internal */ indeterminate: boolean; selected: boolean | null; disabled: boolean; /** @hidden @internal */ isFocused: boolean; active: boolean; level: number; data: T; /** @hidden @internal */ nativeElement: HTMLElement; /** @hidden @internal */ header: ElementRef; /** @hidden @internal */ tabIndex: number; /** @hidden @internal */ allChildren: QueryList<IgxTreeNode<any>>; /** @hidden @internal */ _children: QueryList<IgxTreeNode<any>> | null; selectedChange: EventEmitter<boolean>; expandedChange: EventEmitter<boolean>; expand(): void; collapse(): void; toggle(): void; /** @hidden @internal */ addLinkChild(node: any): void; /** @hidden @internal */ removeLinkChild(node: any): void; } export interface ITreeNodeSelectionEvent extends IBaseCancelableBrowserEventArgs { oldSelection: IgxTreeNode<any>[]; newSelection: IgxTreeNode<any>[]; added: IgxTreeNode<any>[]; removed: IgxTreeNode<any>[]; event?: Event; } export interface ITreeNodeEditingEvent extends IBaseCancelableBrowserEventArgs { node: IgxTreeNode<any>; value: string; } export interface ITreeNodeEditedEvent extends IBaseEventArgs { node: IgxTreeNode<any>; value: any; } export interface ITreeNodeTogglingEventArgs extends IBaseEventArgs, IBaseCancelableBrowserEventArgs { node: IgxTreeNode<any>; } export interface ITreeNodeToggledEventArgs extends IBaseEventArgs { node: IgxTreeNode<any>; } export declare const IgxTreeSelectionType: { None: "None"; BiState: "BiState"; Cascading: "Cascading"; }; export type IgxTreeSelectionType = (typeof IgxTreeSelectionType)[keyof typeof IgxTreeSelectionType]; export declare const IGX_TREE_COMPONENT: InjectionToken<IgxTree>; export declare const IGX_TREE_NODE_COMPONENT: InjectionToken<IgxTreeNode<any>>;