UNPKG

@itwin/presentation-hierarchies

Version:

A package for creating hierarchies based on data in iTwin.js iModels.

36 lines 1.83 kB
import { Observable } from "rxjs"; import { ECClassHierarchyInspector, InstanceKey } from "@itwin/presentation-shared"; import { HierarchyFilteringPath } from "../HierarchyFiltering.js"; import { DefineHierarchyLevelProps, HierarchyLevelDefinition, InstanceNodesQueryDefinition } from "../imodel/IModelHierarchyDefinition.js"; import { RxjsHierarchyDefinition, RxjsNodeParser, RxjsNodePostProcessor, RxjsNodePreProcessor } from "../internal/RxjsHierarchyDefinition.js"; interface FilteringHierarchyDefinitionProps { imodelAccess: ECClassHierarchyInspector & { imodelKey: string; }; source: RxjsHierarchyDefinition; nodeIdentifierPaths: HierarchyFilteringPath[]; nodesParser?: RxjsNodeParser; } /** @internal */ export declare class FilteringHierarchyDefinition implements RxjsHierarchyDefinition { private _imodelAccess; private _source; private _nodeIdentifierPaths; private _nodesParser; constructor(props: FilteringHierarchyDefinitionProps); get preProcessNode(): RxjsNodePreProcessor; private shouldExpandGroupingNode; get postProcessNode(): RxjsNodePostProcessor; get parseNode(): RxjsNodeParser; defineHierarchyLevel(props: DefineHierarchyLevelProps): Observable<HierarchyLevelDefinition>; } /** @internal */ export declare const ECSQL_COLUMN_NAME_FilterECInstanceId = "FilterECInstanceId"; /** @internal */ export declare const ECSQL_COLUMN_NAME_FilterClassName = "FilterClassName"; /** @internal */ export declare function applyECInstanceIdsFilter(def: InstanceNodesQueryDefinition, filteredInstanceKeys: InstanceKey[]): InstanceNodesQueryDefinition; /** @internal */ export declare function applyECInstanceIdsSelector(def: InstanceNodesQueryDefinition): InstanceNodesQueryDefinition; export {}; //# sourceMappingURL=FilteringHierarchyDefinition.d.ts.map