@alauda/ui
Version:
Angular UI components by Alauda Frontend Team.
95 lines (94 loc) • 4.45 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { Observable } from 'rxjs';
import { CommonFormControl } from '../form';
import { InputComponent } from '../input/input.component';
import { Bem } from '../internal/utils';
import { TrackFn } from '../select/select.types';
import { TooltipDirective } from '../tooltip/tooltip.directive';
import { TreeNode } from './tree-select.types';
import * as i0 from "@angular/core";
export declare class TreeSelectComponent<T = unknown> extends CommonFormControl<T> {
get nodesData(): TreeNode<T>[];
set nodesData(val: TreeNode<T>[]);
loading: boolean;
placeholder: string;
filterable: boolean;
clearable: boolean;
leafOnly: boolean;
filterFn: (filterString: string, node: TreeNode<T>) => boolean;
trackFn: TrackFn<T>;
labelFn?: (value: T) => string;
filterChange: EventEmitter<string>;
show: EventEmitter<void>;
hide: EventEmitter<void>;
protected selectRef: ElementRef<HTMLElement>;
protected tooltipRef: TooltipDirective;
nodeListRef: ElementRef<HTMLElement>;
inputRef: InputComponent;
private _nodesData;
private _filterString;
private readonly filterString$$;
filterString$: Observable<string>;
containerWidth: string;
displayText: string;
flattedNodes: Array<TreeNode<T>>;
get isClearable(): string;
get opened(): boolean;
get inputReadonly(): boolean;
get filterString(): string;
set filterString(val: string);
updatePosition(): void;
onVisibleNodes(visible: boolean): void;
onInput(event: Event): void;
onNodeClick(node: TreeNodeComponent<T>): void;
getVisibleNodeCount(): number;
selectNode(node: TreeNodeComponent<T>): void;
onKeyDown(event: KeyboardEvent): void;
openOption(): void;
closeOption(): void;
updateSelectDisplay(value: any): void;
clearValue(event: Event): void;
protected valueIn(v: T): T;
getPlaceholder(): string;
getInputValue(): string;
trackByLabel: (_: number, node: TreeNode<T>) => string;
private flatNodesData;
private getLabelFromNode;
private _filterFn;
private _trackFn;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeSelectComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TreeSelectComponent<any>, "aui-tree-select", never, { "nodesData": { "alias": "nodesData"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "leafOnly": { "alias": "leafOnly"; "required": false; }; "filterFn": { "alias": "filterFn"; "required": false; }; "trackFn": { "alias": "trackFn"; "required": false; }; "labelFn": { "alias": "labelFn"; "required": false; }; }, { "filterChange": "filterChange"; "show": "show"; "hide": "hide"; }, never, ["aui-tree-node-placeholder"], true, never>;
static ngAcceptInputType_filterable: unknown;
static ngAcceptInputType_clearable: unknown;
static ngAcceptInputType_leafOnly: unknown;
}
export declare class TreeNodeComponent<T> implements AfterViewInit, OnDestroy {
private readonly cdr;
bem: Bem;
private _nodeData;
private readonly nodeData$$;
private readonly destroy$$;
get nodeData(): TreeNode<T>;
set nodeData(val: TreeNode<T>);
leafOnly: boolean;
titleRef: ElementRef<HTMLElement>;
childNodes: QueryList<TreeNodeComponent<T>>;
selected: boolean;
visible: boolean;
isLeaf: boolean;
private readonly select;
selected$: Observable<boolean>;
selfVisible$: Observable<boolean>;
visible$: Observable<boolean>;
constructor(select: TreeSelectComponent<T>, cdr: ChangeDetectorRef);
ngAfterViewInit(): void;
ngOnDestroy(): void;
onClick(): void;
switchExpanded(): void;
getIcon(): string;
trackByLabel(_: number, data: TreeNode<T>): string;
scrollToNode(node: TreeNodeComponent<T>): void;
static ɵfac: i0.ɵɵFactoryDeclaration<TreeNodeComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<TreeNodeComponent<any>, "aui-tree-node", never, { "nodeData": { "alias": "nodeData"; "required": false; }; "leafOnly": { "alias": "leafOnly"; "required": false; }; }, {}, never, never, true, never>;
static ngAcceptInputType_leafOnly: unknown;
}