@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
108 lines • 5.75 kB
TypeScript
/** @packageDocumentation
* @module Tree
*/
import { DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, TreeNodeItem } from "@itwin/components-react";
import { Descriptor, NodeKey } from "@itwin/presentation-common";
import { PresentationInstanceFilterInfo } from "../instance-filter-builder/PresentationFilterBuilder.js";
/**
* Describes descriptor used for hierarchy level filtering. It can be lazy loaded.
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export type HierarchyLevelFilteringDescriptor = Descriptor | (() => Promise<Descriptor>);
/**
* Data structure that describes information for tree item hierarchy level filtering.
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export interface PresentationTreeNodeItemFilteringInfo {
/**
* Descriptor that describes instances of this tree node item hierarchy level. It can be used to create instance
* filter for filtering hierarchy level.
*
* If it is set to `undefined` hierarchy level under this node is not filterable.
*/
descriptor: HierarchyLevelFilteringDescriptor;
/**
* List of filters applied on ancestor nodes. Some nodes might need to apply ancestor filter to get correct children.
* For example, grouping node under filtered hierarchy level.
*/
ancestorFilters: PresentationInstanceFilterInfo[];
/** Currently active filter for this item hierarchy. */
active?: PresentationInstanceFilterInfo;
}
/**
* Data structure that describes tree node item created by [[PresentationTreeDataProvider]].
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export interface PresentationTreeNodeItem extends DelayLoadedTreeNodeItem {
/** Node key of the node from which this item was created. */
key: NodeKey;
/** Information for this item hierarchy level filtering. */
filtering?: PresentationTreeNodeItemFilteringInfo;
}
/**
* Type that is assigned to a [[PresentationInfoTreeNodeItem]] to determine what type of message an item conveys.
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export declare enum InfoTreeNodeItemType {
ResultSetTooLarge = 0,
BackendTimeout = 1,
Cancelled = 2,
NoChildren = 3,
Unset = 4
}
/**
* Data structure that describes tree node item created by [[PresentationTreeDataProvider]]
* which is used to carry information message.
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export interface PresentationInfoTreeNodeItem extends ImmediatelyLoadedTreeNodeItem {
/** Message that his tree item is carrying. */
message: string;
/** Selection is disabled for this type of tree item. */
isSelectionDisabled: true;
/** This type of tree item cannot have children. */
children: undefined;
/** Type of item message */
type: InfoTreeNodeItemType;
}
/**
* Describes tree node item that supports hierarchy level filtering.
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export type FilterablePresentationTreeNodeItem = PresentationTreeNodeItem & {
filtering: PresentationTreeNodeItemFilteringInfo;
};
/**
* Function that checks if supplied [TreeNodeItem]($components-react) is [[PresentationTreeNodeItem]].
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export declare function isPresentationTreeNodeItem(item: TreeNodeItem): item is PresentationTreeNodeItem;
/**
* Function that checks if supplied [TreeNodeItem]($components-react) is [[PresentationInfoTreeNodeItem]].
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export declare function isPresentationInfoTreeNodeItem(item: TreeNodeItem): item is PresentationInfoTreeNodeItem;
/**
* Function that check if supplied [[PresentationTreeNodeItem]] is [[FilterablePresentationTreeNodeItem]].
* @public
* @deprecated in 5.7. All tree-related APIs have been deprecated in favor of the new generation hierarchy
* building APIs (see https://github.com/iTwin/presentation/blob/33e79ee8d77f30580a9bab81a72884bda008db25/README.md#the-packages).
*/
export declare function isFilterablePresentationTreeNodeItem(item: PresentationTreeNodeItem): item is FilterablePresentationTreeNodeItem;
//# sourceMappingURL=PresentationTreeNodeItem.d.ts.map