@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
93 lines (92 loc) • 2.94 kB
TypeScript
import { Dictionary } from 'lodash-es';
export interface ITreeNodeData {
id?: number;
parentId?: number;
title?: string;
isOpen?: boolean;
data?: any;
isParent?: boolean;
loading?: boolean;
isMatch?: boolean;
isHide?: boolean;
isActive?: boolean;
isChecked?: boolean;
disabled?: boolean;
[prop: string]: any;
children?: [];
}
export interface ITreeMap {
[index: number]: ITreeNodeData;
}
export interface ITreeItem {
title: string;
open?: boolean;
loading?: boolean;
isMatch?: boolean;
items?: ITreeItem[];
isParent?: boolean;
data?: any;
id?: any;
isHide?: boolean;
isActive?: boolean;
isChecked?: boolean;
halfChecked?: boolean;
disabled?: boolean;
[prop: string]: any;
disableAdd?: boolean;
disableEdit?: boolean;
disableDelete?: boolean;
}
export interface ITreeInput {
treeItems: Array<ITreeItem>;
parentId?: number;
treeNodeChildrenKey?: string;
treeNodeIdKey?: string;
checkboxDisabledKey?: string;
treeNodeTitleKey?: string;
}
export declare class TreeNode implements ITreeNodeData {
id: any;
parentId: any;
data: any;
constructor(id: any, parentId: any, data: any);
}
export declare class TreeFactory {
nodes: Dictionary<TreeNode>;
private idx;
private _checked;
private _treeRoot;
static create(): TreeFactory;
static fromTree({ treeItems, treeNodeChildrenKey, treeNodeIdKey, checkboxDisabledKey, treeNodeTitleKey }: ITreeInput): TreeFactory;
constructor();
mapTreeItems: ({ treeItems, parentId, treeNodeChildrenKey, treeNodeIdKey, checkboxDisabledKey, treeNodeTitleKey }: ITreeInput) => this;
addNode({ id, parentId, ...data }: ITreeNodeData): TreeNode;
editNodeTitle(id: number): void;
deleteNodeById(id: number): this;
toggleNodeById(id: number): this;
openNodesById(id: number): this;
closeNodesById(id: number, closeChildren?: boolean): this;
disabledNodesById(id: number): this;
private _disabledParentNodes;
checkNodesById(id: number, checked: boolean): Array<Object>;
private checkParentNodes;
private checkChildNodes;
getCheckedNodes(): Array<any>;
getDisabledNodes(): Array<any>;
activeNodeById(id: number): void;
getChildrenById(id: number): Array<TreeNode>;
private toTree;
startLoading(id: number): void;
endLoading(id: number): void;
private isMatchNode;
getNodeById(id: any): any;
hideNodeById(id: any, hide: boolean): this;
private maintainCheckedNodeList;
private dfs;
addChildNode(parentNode: TreeNode, childNode: TreeNode): void;
private removeChildNode;
private resetSearchResults;
searchTree(target: any, hideUnmatched?: boolean): any;
readonly treeRoot: TreeNode[];
deactivateAllNodes(): void;
}