@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
103 lines (102 loc) • 4.18 kB
TypeScript
import { EventEmitter } from '@angular/core';
import { NestedTreeControl } from '@angular/cdk/tree';
import { Filter } from '../../../filter/models/filter';
import { CaseTreeService } from './case-tree.service';
import { CaseTreeNode } from './model/case-tree-node';
import { MatTreeNestedDataSource } from '@angular/material/tree';
import { CaseTreePath } from './model/case-tree-path';
import * as i0 from "@angular/core";
export declare abstract class AbstractTreeComponent {
protected _treeService: CaseTreeService;
/**
* `true` is emitted whenever the tree's root node is in it's loading state.
*
* `false` is emitted when the root node is no longer in the loading state.
*
* The first value emitted from this Output is `false`, when the tree finishes initializing.
*
* The root node enters it's loading state when it's children are being loaded.
*/
treeRootLoading: EventEmitter<boolean>;
/**
* `true` is emitted whenever the tree's root node is adding a new child node.
*
* `false` is emitted when the root node is no longer adding a new child node.
*
* The first value emitted from this Output is `false`, when the tree finishes initializing.
*
* No further calls to add a child node should be made, while a child is being added.
*/
treeRootAddingChild: EventEmitter<boolean>;
protected constructor(_treeService: CaseTreeService);
/**
* The {@link Filter} that determines the root node of the tree.
*
* The tree can only have one root. If more than one case is returned by the Filter.
* The first result will be used as the tree root.
*
* If you want to have multiple nodes in the first level checkout the [showTreeRoot]{@link AbstractTreeComponent#showTreeRoot} property.
* @param filter Case Filter that determines the tree root
*/
set filter(filter: Filter);
/**
* Whether the tree root should be displayed as a node or not.
*
* `true` displays the root as the only node in the first level.
*
* `false` displays the root's child nodes in the first level.
*
* If you want to add more children while the root is hidden use the [addRootChildNode]
* {@link AbstractTreeComponent#addRootChildNode} method.
* @param showTreeRoot whether the root node should be displayed in the tree or not
*/
set showTreeRoot(showTreeRoot: boolean);
/**
* Weather the tree is eager loaded or not.
*
* Defaults to `false`.
*
* It is not recommended to eager load large trees as each node sends a separate backend request to load its data.
*
* @param eager the new setting for eager loading
*/
set eagerLoaded(eager: boolean);
/**
* @ignore
*/
get dataSource(): MatTreeNestedDataSource<CaseTreeNode>;
/**
* @ignore
*/
get treeControl(): NestedTreeControl<CaseTreeNode>;
/**
* @ignore
*/
hasChild: (_: number, node: CaseTreeNode) => boolean;
/**
* @ignore
*/
caseNodeClicked(node: CaseTreeNode): void;
/**
* @ignore
*/
toggleCaseNode(event: Event, node: CaseTreeNode): void;
/**
* @ignore
*/
selectedCaseNode(node: CaseTreeNode): boolean;
/**
* Adds a child to the root node.
*
* Useful if you set the [showTreeRoot]{@link AbstractTreeComponent#showTreeRoot} property to `false`.
*/
addRootChildNode(): void;
/**
* Expands all nodes in the tree dictated by the argument.
*
* @param path nodes that should be expanded along with their path from the root node
*/
expandPath(path: CaseTreePath): void;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTreeComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTreeComponent, "ncc-abstract-tree", never, { "filter": { "alias": "filter"; "required": false; }; "showTreeRoot": { "alias": "showTreeRoot"; "required": false; }; "eagerLoaded": { "alias": "eagerLoaded"; "required": false; }; }, { "treeRootLoading": "treeRootLoading"; "treeRootAddingChild": "treeRootAddingChild"; }, never, never, false, never>;
}