import { EventEmitter, ChangeDetectorRef, AfterViewInit, TemplateRef, OnInit } from '@angular/core'; import { TreeNode, RowNode, TreeTableComponent } from '@farris/ui-treetable'; import { CommonUtils } from '@farris/ui-common'; /** 节点id的前缀 */ export declare const TREE_ID_PREFIX = "TreeRow-"; /** 节点内容的指定字段 */ export declare const NODE_CONTENT_FIELD = "CodeViewNav--ContentInnerHTML"; export declare class TreeComponent implements OnInit, AfterViewInit { utils: CommonUtils; private cd; treeTable: TreeTableComponent; treeNodeTemplate: TemplateRef; /** 收起展开图标的类型 */ expendIcon: 'default' | 'chevron' | 'triangle'; showTips: boolean; width: number; height: number; showFilterBar: boolean; /** 是否启用多选 */ singleSelect: boolean; /** 启用多选后,是否显示checkbox */ showCheckbox: boolean; /** 主键字段 */ idField: string; /** 文本字段 */ displayText: string; /** 显示图标 */ showIcon: boolean; /** 显示边框线 */ showBorder: boolean; /** 禁用,禁用时不允许选中行 */ disabled: boolean; /** * 数据加载方式 * - all: 全部加载 * - async: 分层加载 */ loadDataType: 'all' | 'async'; /** 当多选时,选中当前行并钩选 */ checkOnSelect: boolean; /** 当多选时,钩选并选中当前行 */ selectOnCheck: boolean; /** 启用多选时,此属性为true时,仅当前行选中 */ onlySelectSelf: boolean; /** 启用级联选中功能 */ cascadeCheck: boolean; /** 向下级联选中 */ cascadeDown: boolean; /** 向上级联选中 */ cascadeUp: boolean; /** 空数据时,显示的提示文本 */ emptyMessage: string; /** 单击行选中后,在次点击不会被取消选中状态 */ keepSelect: boolean; /** 虚拟加载 */ virtualized: boolean; /** * 仅允许选择叶子节点 * - default: 应用服务器端传回的设置,如果服务器端没有设置,则与 no 保持一至 * - yes: 如果客户端设置为 `yes`, 服务器端的设置失效 * - no: 允许选择所有节点;服务器端设置失效 */ onlySelectLeaf: boolean | 'default' | 'yes' | 'no'; /** 叶子节点图标 */ leafIcon: string; /** 节点展开图标 */ expandIcon: string; /** 节点折叠图标 */ collapseIcon: string; /** 启用远端排序 */ remoteSort: boolean; /** 排序方式 asc | desc */ sortOrder: string; data: TreeNode[]; /** 是否启用双击展开节点 */ enableDblClickExpand: boolean; /** 是否启用单击收折节点 */ enableClickToggle: boolean; /** 双击时间间隔,通过改时间间隔判断用户是单击还是双击,单位:毫秒 */ clickInterval: number; /** 附加按钮点击事件 */ appendBtnClick: EventEmitter; /** 选中事件 */ nodeSelected: EventEmitter; /** 取消选中事件 */ nodeUnSelect: EventEmitter; /** 钩选事件 */ nodeChecked: EventEmitter; /** 取消钩选事件 */ nodeUnChecked: EventEmitter; /** 查询事件 */ search: EventEmitter; dblClick: EventEmitter; loadedData: EventEmitter; expand: EventEmitter; collapse: EventEmitter; cols: any[]; constructor(utils: CommonUtils, cd: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; /** 点击事件计时器,处理单击双击事件冲突 */ private clickTimer; /** 上一次被单击的节点的id,用于模拟双击事件 */ private lastClickedNodeId; onNodeClick(row: RowNode): void; private onDblClick; private handleClickToggle; /** * 根据id选中行 * @todo 联系黄老师排查树表格的bug * @param id 数据id */ selectById(id: string): void; /** 展开直到露出指定的节点 */ expandToNodeById(id: string): void; /** * 清空选中状态 */ clearSelection(): void; findNode(id: string): TreeNode; detectChanges(): void; /** 获取树表格实例 */ getTreeTable(): TreeTableComponent; /** 折叠所有节点 */ collapseAll(): void; /** 展开所有节点 */ expandAll(): void; } export declare class TreeModule { }