@alfresco/adf-content-services
Version:
Alfresco ADF content services
66 lines (65 loc) • 2.33 kB
TypeScript
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>>;
}