UNPKG

@ctodev/cclibrary-typings

Version:

Library typings for use with CLARC INFINITY

134 lines (133 loc) 4.91 kB
import { CollectionViewer, SelectionChange } from '@angular/cdk/collections'; import { FlatTreeControl } from '@angular/cdk/tree'; import { EventEmitter, OnInit } from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; import { BehaviorSubject, Observable } from 'rxjs'; import { TccKeyValuePair, TccTranslation } from '../../../odata/models/shared.model'; import { TccET_C4 } from '../../../odata/models/c4.model'; import { TccODataServiceFactory } from '../../../odata/factories/tcc-odata-service/tcc-odata-service.factory'; import { isNodeCheckedPipe } from '../../pipes/tcc-c4tree/isNodeChecked.pipe'; import { TccLibIcons } from '../../../shared/classes/tcc-register-icons.class'; interface c4TreeNode { Path: string; Name: string; DisplayName: TccTranslation; Description: TccTranslation; Id: string; Level: number; IsLoading: boolean; IsExpandable: ExpandableState; TryOpen?: true; } interface mappedNodes { childrenFetched: boolean; nodes: Array<c4TreeNode>; } export interface selectedNode { Path: string; Recursive: boolean; } declare enum ExpandableState { unknown = 0, expandable = 1, unexpandable = 2, error = 3, loadable = 4 } declare class DynamicDatabase { private factory; private treeControl; nodesChanged: BehaviorSubject<c4TreeNode[]>; forbiddenPaths: string[]; private nodeMap; private OrderBy; private selectarr; private service; constructor(factory: TccODataServiceFactory, treeControl: FlatTreeControl<c4TreeNode>); /** Initial data from database */ initialData(): Observable<c4TreeNode[]>; buildSelectedPathsData(selectedPaths: Array<selectedNode>): c4TreeNode[]; buildSelectedPathData(selectedPath: selectedNode, treeNodes: { [path: string]: c4TreeNode; }): void; getSiblings(node: c4TreeNode): Observable<c4TreeNode[]>; showInner(nodes: mappedNodes, str: string): string; showDatabase(): void; getChildren(node: c4TreeNode): Observable<c4TreeNode[]> | undefined; private getNextLevelChildren; private fetchChildNodes; private buildRequest; transformTccC4Node(node: TccET_C4.Node<any>, level: number): c4TreeNode; private sortInNodes; private checkForNode; buildFilter(path: string, targetLevel: number): string; /** * for forbidden paths ["/CLARC/SYS"] * @returns "(not ((Path/Items/0 eq 'CLARC') and (Path/Items/1 eq 'SYS'))) and " */ buildForbiddenPathFilter(): string; getParentPath(path: string): string; getPathLevel(path: string): number; } export declare class DynamicDataSource { private treeControl; private database; dataChange: BehaviorSubject<c4TreeNode[]>; get data(): c4TreeNode[]; set data(value: c4TreeNode[]); refreshData(): void; constructor(treeControl: FlatTreeControl<c4TreeNode>, database: DynamicDatabase); connect(collectionViewer: CollectionViewer): Observable<c4TreeNode[]>; showData(): void; handleSelectedNodes(nodes: selectedNode[]): Array<c4TreeNode>; loadSelectedNode(node: c4TreeNode): void; /** Handle expand/collapse behaviors */ handleTreeControl(change: SelectionChange<c4TreeNode>): void; /** * Toggle the node, remove from display list */ toggleNode(node: c4TreeNode, expand: boolean): void; } export declare class TccC4treeComponent implements OnInit { NodeClick: EventEmitter<{ Id: string; name: string; path: string; }>; showObject: boolean; showIcons: boolean; selectable: boolean; set selectedNodes(nodes: Array<selectedNode>); search: boolean; forbiddenPaths: string[]; SelectionChange: EventEmitter<Array<selectedNode>>; IconLib: typeof TccLibIcons.Icon; private selectedNodesSet; treeControl: FlatTreeControl<c4TreeNode>; dataSource: DynamicDataSource; private service; c4objectproperties: Array<TccKeyValuePair>; activeNode: string; _selectedNodes: Array<selectedNode>; _trigger: boolean; _searchtext: string; searchForm: UntypedFormControl; database: DynamicDatabase; nodeCheck: isNodeCheckedPipe; constructor(factory: TccODataServiceFactory); private filterForbiddenPaths; ngOnInit(): void; fetchObject(nodeid: string): Observable<TccET_C4.Node<any>>; getLevel(node: c4TreeNode): number; isExpandable(node: c4TreeNode): boolean; isLoading: (_: number, _nodeData: c4TreeNode) => boolean; hasChildren: (_: number, _nodeData: c4TreeNode) => boolean; isError: (_: number, _nodeData: c4TreeNode) => boolean; isLoadable: (_: number, _nodeData: c4TreeNode) => boolean; OnNodeClick(node: c4TreeNode): void; private normalizePath; checkboxchange(event: any, node: c4TreeNode): void; OnRefreshClick(node: c4TreeNode): void; searchfieldkeyup(event: any): void; } export {};