UNPKG

@itwin/presentation-hierarchies-react

Version:

React components based on `@itwin/presentation-hierarchies`

44 lines 1.82 kB
import { Observable } from "rxjs"; import { GenericInstanceFilter, HierarchyNode, HierarchyProvider } from "@itwin/presentation-hierarchies"; import { TreeModelHierarchyNode, TreeModelNode, TreeModelRootNode } from "./TreeModel.js"; /** @internal */ export interface LoadedTreePart { parentId: string | undefined; loadedNodes: TreeModelNode[]; } /** @internal */ export interface HierarchyLevelOptions { instanceFilter?: GenericInstanceFilter; hierarchyLevelSizeLimit?: number | "unbounded"; } /** @internal */ export interface LoadNodesOptions { parent: TreeModelHierarchyNode | TreeModelRootNode; getHierarchyLevelOptions: (node: TreeModelRootNode | TreeModelHierarchyNode) => HierarchyLevelOptions; shouldLoadChildren: (node: TreeModelHierarchyNode) => boolean; buildNode?: (node: TreeModelHierarchyNode) => TreeModelHierarchyNode; ignoreCache?: boolean; } /** @internal */ export interface ITreeLoader { loadNodes(options: LoadNodesOptions): Observable<LoadedTreePart>; } /** @internal */ export declare class TreeLoader implements ITreeLoader { private _hierarchyProvider; private _onHierarchyLimitExceeded; private _onHierarchyLoadError; private _treeNodeIdFactory; constructor(_hierarchyProvider: HierarchyProvider, _onHierarchyLimitExceeded: (props: { parentId?: string; filter?: GenericInstanceFilter; limit?: number | "unbounded"; }) => void, _onHierarchyLoadError: (props: { parentId?: string; type: "timeout" | "unknown"; error: unknown; }) => void, treeNodeIdFactory?: (node: Pick<HierarchyNode, "key" | "parentKeys">) => string); private loadChildren; loadNodes({ shouldLoadChildren, ...options }: LoadNodesOptions): Observable<LoadedTreePart>; } //# sourceMappingURL=TreeLoader.d.ts.map