import * as _angular_core from '@angular/core'; import { TemplateRef, WritableSignal, InputSignalWithTransform, ModelSignal, OutputEmitterRef, InputSignal, ElementRef, OnChanges, Renderer2, ChangeDetectorRef, SimpleChanges } from '@angular/core'; import * as _ng_nest_ui_core from '@ng-nest/ui/core'; import { XData, XParentIdentityProperty, XAlign, XBoolean, XNumber, XIdentityProperty, XProperty } from '@ng-nest/ui/core'; import { CdkDragStart, CdkDragEnd, CdkDragMove, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop'; import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; /** * Tree * @selector x-tree * @decorator component */ declare const XTreePrefix = "x-tree"; /** * @zh_CN Tree 节点排序默认值 * @en_US Tree node order default value */ declare const X_TREE_ORDER_DEFAULT: XTreeOrder[]; declare const XTreeProperty_base: new () => { config: _ng_nest_ui_core.XTreeConfig | undefined; }; /** * Tree Property */ declare class XTreeProperty extends XTreeProperty_base { /** * @zh_CN 节点数据 * @en_US Node data */ readonly data: _angular_core.InputSignal>; /** * @zh_CN 显示多选框 * @en_US Show checkbox */ readonly checkbox: _angular_core.InputSignalWithTransform; /** * @zh_CN 开启懒加载节点,data 必须设置成函数类型 * @en_US Open lazy loading node, data must be set to function type */ readonly lazy: _angular_core.InputSignalWithTransform; /** * @zh_CN 当前激活的节点 Id, 当 multiple 为 true 时,值为数组(默认是 Id 数组,objectArray 为 true,对象数组) * @en_US Currently active node Id. When Multiple is true, the value is the Id array */ readonly activatedId: _angular_core.ModelSignal; /** * @zh_CN 展开的节点 * @en_US Expanded node */ readonly expanded: _angular_core.ModelSignal; /** * @zh_CN checkbox 选中的节点 * @en_US Checkbox selected node */ readonly checked: _angular_core.ModelSignal; /** * @zh_CN 展开所有节点 * @en_US Expand all nodes */ readonly expandedAll: _angular_core.InputSignalWithTransform; /** * @zh_CN 默认展开的层级 * @en_US Default expanded level */ readonly expandedLevel: _angular_core.InputSignalWithTransform; /** * @zh_CN 点击节点就触发展开/收起的操作,请确保节点上没有其它操作(checkbox、自定义的操作按钮) * @en_US Click the node to trigger the expand/collapse operation, please make sure that there are no other operations on the node (checkbox, custom operation button) */ readonly nodeOpen: _angular_core.InputSignalWithTransform; /** * @zh_CN 单位间距,这个与层级的乘积算出节点的左边距 * @en_US Unit spacing, the product of this and the level calculates the left margin of the node */ readonly spacing: _angular_core.InputSignalWithTransform; /** * @zh_CN 标签自定义模板 * @en_US Label custom template */ readonly labelTpl: _angular_core.InputSignal | undefined>; /** * @zh_CN 节点的高度, 默认是自适应高度 * @en_US The height of the node */ readonly nodeHeight: _angular_core.InputSignalWithTransform; /** * @zh_CN 是否允许多次点击一个节点触发多次事件 * @en_US Whether to allow multiple clicks on a node to trigger multiple events */ readonly allowManyActivated: _angular_core.InputSignalWithTransform; /** * @zh_CN 拖动节点 * @en_US Drag node */ readonly drag: _angular_core.InputSignalWithTransform; /** * @zh_CN 当前点击选中的节点变化的事件 * @en_US The event of the currently clicked node change */ readonly activatedChange: _angular_core.OutputEmitterRef; /** * @zh_CN 使用 checkedbox 选中变化的事件 * @en_US Use checkedbox to select changed events */ readonly checkboxChange: _angular_core.OutputEmitterRef; /** * @zh_CN 如果 data 是函数类型,可以通过此参数控制请求,用于弹框中的表格,弹出后再请求 * @en_US If data is a function type, you can use this parameter to control the request, which is often used in the form in the pop-up box, and then request it after it pops up */ readonly manual: _angular_core.ModelSignal; /** * @zh_CN checkbox 状态改变触发层级检查 * @en_US Checkbox status changes trigger level checks */ readonly levelCheck: _angular_core.InputSignalWithTransform; /** * @zh_CN 节点内容不换行显示省略号 * @en_US Show ellipsis without wrapping */ readonly nodeNowrap: _angular_core.InputSignalWithTransform; /** * @zh_CN 节点垂直对齐方式 * @en_US Show ellipsis without wrapping */ readonly nodeAlignItems: _angular_core.InputSignal; /** * @zh_CN 树节点操作按钮 * @en_US Tree node operation buttons */ readonly actions: _angular_core.InputSignal; /** * @zh_CN 滚动区域元素 * @en_US Rolling area element */ readonly scrollElement: _angular_core.InputSignal; /** * @zh_CN 开启虚拟滚动 * @en_US Turn on virtual scrolling */ readonly virtualScroll: _angular_core.InputSignalWithTransform; /** * @zh_CN 滚动区域高度,开启虚拟滚动的时候生效 * @en_US Rolling area height */ readonly virtualScrollHeight: _angular_core.InputSignalWithTransform; /** * @zh_CN 虚拟滚动高度自适应指定元素 * @en_US virtual rolling height follows the specified object */ readonly heightAdaption: _angular_core.InputSignal; /** * @zh_CN itemSize,对应 cdk scroll 中的参数,开启虚拟滚动才生效 * @en_US itemSize,corresponding to the parameters in cdk scroll */ readonly itemSize: _angular_core.InputSignalWithTransform; /** * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数,开启虚拟滚动才生效 * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll */ readonly minBufferPx: _angular_core.InputSignalWithTransform; /** * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数,开启虚拟滚动才生效 * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll */ readonly maxBufferPx: _angular_core.InputSignalWithTransform; /** * @zh_CN 多选功能,当前激活的节点可以是多个 * @en_US Multiple choice */ readonly multiple: _angular_core.InputSignalWithTransform; /** * @zh_CN 当开启多选的时候,activatedId 的值为对象数组 * @en_US When multiple selection is enabled, the value of activatedId is an array of objects */ readonly objectArray: _angular_core.InputSignalWithTransform; /** * @zh_CN 当开启多选的时候,点击父节点,包含子节点 * @en_US When selecting multiple options, click on the parent node to include the child nodes */ readonly includeChildren: _angular_core.InputSignalWithTransform; /** * @zh_CN 关键字高亮,针对下拉树搜索 * @en_US Keyword highlighting */ readonly keywordText: _angular_core.InputSignal; /** * @zh_CN 匹配关键字区分大小写,针对下拉树搜索 * @en_US Case-sensitive */ readonly caseSensitive: _angular_core.InputSignalWithTransform; /** * @zh_CN 只能选择叶子节点 * @en_US Only leaf nodes can be selected */ readonly onlyLeaf: _angular_core.InputSignalWithTransform; /** * @zh_CN 展开收起的图标自定义模版 * @en_US Expand the folded icon custom template */ readonly expandedIcon: _angular_core.InputSignal | undefined>; /** * @zh_CN 显示连接线 * @en_US Show line */ readonly showLine: _angular_core.InputSignalWithTransform; /** * @zh_CN 排序属性 * @en_US Order property */ readonly order: _angular_core.InputSignal; /** * @zh_CN 节点点击事件 * @en_US Node click event */ readonly nodeClick: _angular_core.OutputEmitterRef; /** * @zh_CN 节点开始拖动事件 * @en_US Node drag started */ readonly nodeDragStarted: _angular_core.OutputEmitterRef; /** * @zh_CN 节点结束拖动事件 * @en_US Node drag ended */ readonly nodeDragEnded: _angular_core.OutputEmitterRef; /** * @zh_CN 节点正在拖动事件 * @en_US Node drag moved */ readonly nodeDragMoved: _angular_core.OutputEmitterRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN Tree 数据对象 * @en_US Tree data object */ interface XTreeNode extends XParentIdentityProperty { /** * @zh_CN 激活的 * @en_US active */ activated?: boolean; /** * @zh_CN 检查更新 * @en_US Check for updates */ change?: Function; /** * @zh_CN checkbox 是否选中 * @en_US whether checkbox is selected */ checked?: boolean; /** * @zh_CN 禁用checkbox * @en_US Disable checkbox */ disabled?: boolean; /** * @zh_CN checkbox 子节点是否有选中的状态 * @en_US Whether the child node of checkbox is selected */ indeterminate?: boolean; /** * @zh_CN 节点高度,优先级高于 tree 参数 * @en_US Node height, highest priority */ height?: string; /** * @zh_CN 节点内容不换行显示省略号,优先级高于 tree 参数 * @en_US Show ellipsis without wrapping, highest priority */ nowrap?: boolean; /** * @zh_CN 节点垂直对齐方式,优先级高于 tree 参数 * @en_US Show ellipsis without wrapping, highest priority */ alignItems?: XAlign; /** * @zh_CN 节点懒加载中 * @en_US Node lazy loading */ loading?: boolean; /** * @zh_CN 显示拖动指示器 * @en_US Show drag indicator */ showDragIndicator?: boolean; /** * @zh_CN 自定义属性 * @en_US Custom attributes */ [property: string]: any; } /** * @zh_CN Tree 节点操作 * @en_US Tree node operation */ interface XTreeAction extends XIdentityProperty { /** * @zh_CN 操作 * @en_US Operating */ handler?: Function; /** * @zh_CN 图标 * @en_US Icon */ icon?: string; } /** * @zh_CN Tree 节点拖动事件 * @en_US Tree node drag event */ interface XTreeNodeDragEvent { /** * @zh_CN 对应 cdk 中的事件 * @en_US drag cdk event */ event?: CdkDragStart | CdkDragEnd | CdkDragMove; /** * @zh_CN 拖动的节点 * @en_US drag node */ from?: XTreeNode; /** * @zh_CN 要拖动到的位置对应的节点 * @en_US Node corresponding to the position to drag */ to?: XTreeNode; /** * @zh_CN 对应节点的前面还是后面 * @en_US The front or back of the corresponding node */ position?: -1 | 0 | 1; } /** * TreeNode * @selector x-tree-node * @decorator directive */ declare const XTreeNodePrefix = "x-tree-node"; /** * TreeNode Property */ declare class XTreeNodeProperty extends XProperty { /** * @zh_CN 节点数据 * @en_US Node data */ readonly node: _angular_core.InputSignal; /** * @zh_CN 层级 * @en_US Level */ readonly level: _angular_core.ModelSignal; /** * @zh_CN 节点的高度 * @en_US The height of the node */ readonly nodeHeight: _angular_core.ModelSignal; /** * @zh_CN 节点内容不换行显示省略号 * @en_US Show ellipsis without wrapping */ readonly nodeNowrap: _angular_core.ModelSignal; /** * @zh_CN 节点垂直对齐方式 * @en_US Show ellipsis without wrapping */ readonly nodeAlignItems: _angular_core.ModelSignal; /** * @zh_CN 标记为虚拟滚动的节点 * @en_US Mark as a node of virtual rolling */ readonly virtualScroll: _angular_core.ModelSignal; /** * @zh_CN 禁用 * @en_US Disabled */ readonly disabled: _angular_core.ModelSignal; /** * @zh_CN id * @en_US Id */ readonly id: _angular_core.ModelSignal; /** * @zh_CN pid * @en_US pId */ readonly pid: _angular_core.ModelSignal; /** * @zh_CN 叶子节点 * @en_US A leaf node */ readonly leaf: _angular_core.ModelSignal; /** * @zh_CN 节点的高度 * @en_US The height of the node */ readonly height: _angular_core.ModelSignal; /** * @zh_CN 节点垂直对齐方式 * @en_US Show ellipsis without wrapping */ readonly alignItems: _angular_core.ModelSignal; /** * @zh_CN 节点垂直对齐方式 * @en_US Show ellipsis without wrapping */ readonly loading: _angular_core.ModelSignal; /** * @zh_CN 展开 * @en_US open */ readonly open: _angular_core.ModelSignal; /** * @zh_CN checkbox 是否选中 * @en_US whether checkbox is selected */ readonly checked: _angular_core.ModelSignal; /** * @zh_CN checkbox 子节点是否有选中的状态 * @en_US Whether the child node of checkbox is selected */ readonly indeterminate: _angular_core.ModelSignal; /** * @zh_CN 节点名称 * @en_US The name of the node */ readonly label: _angular_core.ModelSignal; /** * @zh_CN 节点内容不换行显示省略号,优先级高于 tree 参数 * @en_US Show ellipsis without wrapping, highest priority */ readonly nowrap: _angular_core.ModelSignal; /** * @zh_CN 节点展开收起事件 * @en_US Node expansion pack up */ readonly toggle: _angular_core.OutputEmitterRef; /** * @zh_CN 树节点操作按钮 * @en_US Tree node operation buttons */ readonly actions: _angular_core.InputSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN Tree 节点排序属性 * @en_US Tree node order property */ interface XTreeOrder { /** * @zh_CN treenode 排序属性 * @en_US treenode order property */ property: string; /** * @zh_CN 排序方式 * @en_US order type */ order: XTreeOrderType; } type XTreeOrderType = 'asc' | 'desc'; interface XTreeContext { nodes: WritableSignal; dragging: WritableSignal; hoverTreeNode: WritableSignal; spacing: InputSignalWithTransform; dragPosition: WritableSignal<-1 | 0 | 1>; activatedId: ModelSignal; multiple: InputSignalWithTransform; objectArray: InputSignalWithTransform; levelCheck: InputSignalWithTransform; activatedNode: WritableSignal; nodeOpen: InputSignalWithTransform; onlyLeaf: InputSignalWithTransform; includeChildren: InputSignalWithTransform; activatedChange: OutputEmitterRef; nodeClick: OutputEmitterRef; checkboxChange: OutputEmitterRef; allowManyActivated: InputSignalWithTransform; showLine: InputSignalWithTransform; expandedIcon: InputSignal | undefined>; checkbox: InputSignalWithTransform; labelTpl: InputSignal | undefined>; keywordText: InputSignal; caseSensitive: InputSignalWithTransform; } declare class XTreeNodeComponent extends XTreeNodeProperty { tree: XTreeContext; nodeMouseenter: _angular_core.OutputEmitterRef<{ event: MouseEvent; node: XTreeNode; ele: ElementRef; }>; rootClass: boolean; private document; fontSize: _angular_core.Signal; private unSubject; onMouseenter(event: MouseEvent): void; onMouseleave(_event: MouseEvent): void; showDragIndicator: _angular_core.Signal; isChildrenLast: _angular_core.Signal; isParentLast: _angular_core.Signal; verticalLevel: _angular_core.Signal; verticalWidth: _angular_core.Signal; paddingLeft: _angular_core.Signal; indicatorWidth: _angular_core.Signal; indicatorStyle: _angular_core.Signal<{ bottom: string; top?: undefined; } | { top: string; bottom?: undefined; } | { bottom?: undefined; top?: undefined; }>; changed: _angular_core.WritableSignal; activated: _angular_core.Signal; private cdr; private treeService; elementRef: ElementRef; ngOnInit(): void; ngOnDestroy(): void; onActivate(event: Event, node: XTreeNode): void; onCheckboxChange(): void; getVerticalLeft(i: number): number; setCheckbox(): void; getChildren(): XTreeNode[]; setChildrenCheckbox(checked: boolean): void; setParentCheckbox(): void; setIndeterminate(node: XTreeNode): void; getNodeDisabled(disabled?: boolean): XBoolean; onAction(event: Event, action: XTreeAction, node: XTreeNode): void; onToggle(event: Event, node: XTreeNode): void; trackByItem(_index: number, item: XTreeNode): string; trackByAction(_index: number, item: XTreeAction): any; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XTreeService { getChildren(data: XTreeNode[], node: XTreeNode): XTreeNode[]; getParents(data: XTreeNode[], node: XTreeNode): XTreeNode[]; getOpenChildren(data: XTreeNode[], node: XTreeNode): XTreeNode[]; moveNode(data: XTreeNode[], from: XTreeNode, to: XTreeNode, pos: -1 | 0 | 1): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class XTreeComponent extends XTreeProperty implements OnChanges, XTreeContext { renderer: Renderer2; elementRef: ElementRef; cdr: ChangeDetectorRef; treeService: XTreeService; tree: _angular_core.Signal | undefined>; virtualBody: _angular_core.Signal; dropList: _angular_core.Signal | undefined>; nodeComponents: _angular_core.Signal; private document; private fontSize; nodes: _angular_core.WritableSignal; virtualNodes: _angular_core.WritableSignal; activatedNode: _angular_core.WritableSignal; dataIsFunc: _angular_core.WritableSignal; getting: _angular_core.WritableSignal; treeData: _angular_core.WritableSignal; dragging: _angular_core.WritableSignal; dragPosition: _angular_core.WritableSignal<0 | 1 | -1>; hoverTreeNode: _angular_core.WritableSignal; hoverTreeEle: ElementRef; draggingTreeNode: _angular_core.WritableSignal; isEmpty: _angular_core.Signal; private unSubject; private resizeObserver; constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef, treeService: XTreeService); heightAdaptionSignal: _angular_core.WritableSignal; isVirtualScrollAdaption: _angular_core.Signal; virtualScrollHeightSignal: _angular_core.Signal; minBufferPxSignal: _angular_core.Signal; maxBufferPxSignal: _angular_core.Signal; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnDestroy(): void; setData(): void; cdkDragStarted(event: CdkDragStart): void; cdkDragEnded(event: CdkDragEnd): void; insertNode(dragNode: XTreeNode, hoverNode: XTreeNode, dragPosition: -1 | 0 | 1): void; cdkDragMoved(event: CdkDragMove): void; predicate(_drag: CdkDrag, _drop: CdkDropList): boolean; private setManual; private getDataByFunc; private setDataChange; nodeMouseenter($event: { event: MouseEvent; node: XTreeNode; ele: ElementRef; }): void; setScrollTop(): void; getCheckedNodes(): XTreeNode[]; getCheckedKeys(): any[]; setCheckedKeys(keys?: any[]): void; setExpandedAll(): void; setExpanded(): void; setChangeExpanded(): void; setVirtualExpandedAll(item: XTreeNode, expandedAll: boolean): void; virtualToggle(node: XTreeNode): void; addOrRemoveExpanded(node: XTreeNode): void; setActivatedNode(nodes: XTreeNode[], parentOpen?: boolean, dataChange?: boolean): void; setParentOpen(nodes: XTreeNode[], node: XTreeNode): void; onToggle(event: Event | null, node: XTreeNode): void; getLazyData(node: XTreeNode, callBack?: () => void): void; addNode(node: XTreeNode): void; setActivatedId(node: XTreeNode): void; removeNode(node: XTreeNode): void; updateNode(node: XTreeNode, nowNode: XTreeNode): void; trackByItem(_index: number, item: XTreeNode): XTreeNode; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XTreeModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { XTreeComponent, XTreeModule, XTreeNodeComponent, XTreeNodePrefix, XTreeNodeProperty, XTreePrefix, XTreeProperty, X_TREE_ORDER_DEFAULT }; export type { XTreeAction, XTreeNode, XTreeNodeDragEvent, XTreeOrder, XTreeOrderType };