UNPKG

@itwin/presentation-hierarchies-react

Version:

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

70 lines 2.97 kB
import { GenericInstanceFilter, HierarchyNode } from "@itwin/presentation-hierarchies"; import { SelectionChangeType } from "../UseSelectionHandler.js"; /** @internal */ export interface TreeModelRootNode { id: undefined; nodeData: undefined; hierarchyLimit?: number | "unbounded"; instanceFilter?: GenericInstanceFilter; isLoading?: boolean; } /** @internal */ export interface TreeModelHierarchyNode { id: string; nodeData: HierarchyNode; label: string; children: boolean; isLoading?: boolean; isExpanded?: boolean; isSelected?: boolean; hierarchyLimit?: number | "unbounded"; instanceFilter?: GenericInstanceFilter; } /** @internal */ export interface TreeModelGenericInfoNode { id: string; parentId: string | undefined; type: "Unknown"; message: string; } /** @internal */ export interface TreeModelNoFilterMatchesInfoNode { id: string; parentId: string | undefined; type: "NoFilterMatches"; } /** @internal */ export interface TreeModelResultSetTooLargeInfoNode { id: string; parentId: string | undefined; type: "ResultSetTooLarge"; resultSetSizeLimit: number; } /** @internal */ export type TreeModelInfoNode = TreeModelGenericInfoNode | TreeModelResultSetTooLargeInfoNode | TreeModelNoFilterMatchesInfoNode; /** @internal */ export type TreeModelNode = TreeModelHierarchyNode | TreeModelInfoNode; /** @internal */ export declare function isTreeModelHierarchyNode(node: TreeModelHierarchyNode | TreeModelInfoNode | TreeModelRootNode): node is TreeModelHierarchyNode; /** @internal */ export declare function isTreeModelInfoNode(node: TreeModelHierarchyNode | TreeModelInfoNode | TreeModelRootNode): node is TreeModelInfoNode; /** @internal */ export interface TreeModel { parentChildMap: Map<string | undefined, string[]>; idToNode: Map<string, TreeModelNode>; rootNode: TreeModelRootNode; } /** @internal */ export declare namespace TreeModel { function expandNode(model: TreeModel, nodeId: string, isExpanded: boolean): "none" | "loadChildren" | "reloadChildren"; /** @internal */ function addHierarchyPart(model: TreeModel, rootId: string | undefined, hierarchyPart: TreeModel): void; function removeSubTree(model: TreeModel, parentId: string | undefined): void; function setHierarchyLimit(model: TreeModel, nodeId: string | undefined, limit?: number | "unbounded"): boolean; function setInstanceFilter(model: TreeModel, nodeId: string | undefined, filter?: GenericInstanceFilter): boolean; function selectNodes(model: TreeModel, nodeIds: Array<string>, changeType: SelectionChangeType): void; function isNodeSelected(model: TreeModel, nodeId: string): boolean; function getNode(model: TreeModel, nodeId: string | undefined): TreeModelNode | TreeModelRootNode | undefined; function setIsLoading(model: TreeModel, nodeId: string | undefined, isLoading: boolean): void; } //# sourceMappingURL=TreeModel.d.ts.map