/*! * @license * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { EventEmitter, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core'; import { Observable } from 'rxjs'; import { TreeNode } from '../models/tree-node.interface'; import { TreeService } from '../services/tree.service'; import { PaginationModel } from '@alfresco/adf-core'; import { SelectionModel } from '@angular/cdk/collections'; import { MatCheckbox } from '@angular/material/checkbox'; import { TreeContextMenuResult } from '../models/tree-context-menu-result.interface'; import * as i0 from "@angular/core"; export declare class TreeComponent implements OnInit, OnDestroy { treeService: TreeService; private readonly userPreferenceService; /** TemplateRef to provide empty template when no nodes are loaded */ emptyContentTemplate: TemplateRef; /** TemplateRef to provide context menu items for context menu displayed on each row*/ nodeActionsMenuTemplate: TemplateRef; /** Variable defining if tree header should be sticky. By default set to false */ stickyHeader: boolean; /** Variable defining if tree nodes should be selectable. By default set to false */ selectableNodes: boolean; /** Tree display name */ displayName: string; /** Load more suffix for load more button */ loadMoreSuffix: string; /** Icon shown when node has children and is collapsed. By default set to chevron_right */ expandIcon: string; /** Icon shown when node is expanded. By default set to expand_more */ collapseIcon: string; /** Emitted when pagination has been changed */ paginationChanged: EventEmitter; /** Emitted when any context menu option is selected */ contextMenuOptionSelected: EventEmitter>; nodeCheckboxes: QueryList; private readonly loadingRootSource; private _contextMenuSource; private _contextMenuOptions; private readonly contextMenuOptionsChanged$; loadingRoot$: Observable; treeNodesSelection: SelectionModel; set contextMenuSource(contextMenuSource: T); /** Array of context menu options which should be displayed for each row. */ set contextMenuOptions(contextMenuOptions: any[]); get contextMenuOptions(): any[]; ngOnInit(): void; ngOnDestroy(): void; /** * Checks if node is LoadMoreNode node * * @param _idx (unused) * @param node node to be checked * @returns `true` if there are more items to load, otherwise `false` */ isLoadMoreNode(_idx: number, node: T): boolean; /** * Checks if tree is empty * * @returns boolean */ isEmpty(): boolean; /** * Returns action icon based on expanded/collapsed node state. * * @param node node to be checked * @returns collapse or expand icon */ expandCollapseIconValue(node: T): string; /** * Refreshes the tree, root nodes are reloaded, tree selection is cleared. * * @param skipCount Number of root nodes to skip. * @param maxItems Maximum number of nodes returned from Observable. * @param searchTerm Specifies if categories should be filtered out by name or not. If not specified then returns categories without filtering. */ refreshTree(skipCount?: number, maxItems?: number, searchTerm?: string): void; /** * Collapses or expanding the node based on its current state * * @param node node to be collapsed/expanded */ expandCollapseNode(node: T): void; /** * Loads more subnode for a given parent node * * @param node parent node */ loadMoreSubnodes(node: T): void; /** * When node is selected it selects all its descendants * * @param node selected node */ onNodeSelected(node: T): void; /** * Checks if all descendants of a node are selected * * @param node selected node * @returns boolean */ descendantsAllSelected(node: T): boolean; /** * Checks if some descendants of a node are selected * * @param node selected node * @returns boolean */ descendantsPartiallySelected(node: T): boolean; private checkParentsSelection; private checkRootNodeSelection; private onTreeSelectionChange; private isRegularNode; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "adf-tree", never, { "emptyContentTemplate": { "alias": "emptyContentTemplate"; "required": false; }; "nodeActionsMenuTemplate": { "alias": "nodeActionsMenuTemplate"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "selectableNodes": { "alias": "selectableNodes"; "required": false; }; "displayName": { "alias": "displayName"; "required": false; }; "loadMoreSuffix": { "alias": "loadMoreSuffix"; "required": false; }; "expandIcon": { "alias": "expandIcon"; "required": false; }; "collapseIcon": { "alias": "collapseIcon"; "required": false; }; "contextMenuOptions": { "alias": "contextMenuOptions"; "required": false; }; }, { "paginationChanged": "paginationChanged"; "contextMenuOptionSelected": "contextMenuOptionSelected"; }, never, never, true, never>; }