UNPKG

@alfresco/adf-content-services

Version:
66 lines (65 loc) 2.33 kB
import { DataSource } from '@angular/cdk/collections'; import { FlatTreeControl } from '@angular/cdk/tree'; import { BehaviorSubject, Observable } from 'rxjs'; import { TreeNode } from '../models/tree-node.interface'; import { TreeResponse } from '../models/tree-response.interface'; import * as i0 from "@angular/core"; export declare abstract class TreeService<T extends TreeNode> extends DataSource<T> { readonly treeControl: FlatTreeControl<T>; treeNodesSource: BehaviorSubject<T[]>; get treeNodes(): T[]; set treeNodes(nodes: T[]); constructor(); abstract getSubNodes(parentNodeId: string, skipCount?: number, maxItems?: number, searchTerm?: string): Observable<TreeResponse<T>>; /** * Expands node applying subnodes to it. * * @param nodeToExpand Node to be expanded * @param subNodes List of nodes that will be added as children of expanded node */ expandNode(nodeToExpand: T, subNodes: T[]): void; /** * Collapses a node removing all children from it. * * @param nodeToCollapse Node to be collapsed */ collapseNode(nodeToCollapse: T): void; /** * Append more child nodes to already expanded parent node * * @param nodeToAppend Expanded parent node * @param subNodes List of nodes that will be added as children of expanded node */ appendNodes(nodeToAppend: T, subNodes: T[]): void; /** * Removes provided node from the tree * * @param node Node to be removed */ removeNode(node: T): void; /** * Gets children of the node * * @param parentNode Parent node * @returns children of parent node */ getChildren(parentNode: T): T[]; /** * Checks if tree is empty * * @returns boolean */ isEmpty(): boolean; /** * Gets parent node of given node. If node with parentNodeId is not found it returns undefined. * * @param parentNodeId Id of a parent node to be found * @returns parent node or undefined when not found */ getParentNode(parentNodeId: string): T | undefined; connect(): Observable<T[]>; disconnect(): void; private collapseInnerNode; static ɵfac: i0.ɵɵFactoryDeclaration<TreeService<any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<TreeService<any>>; }