@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
41 lines • 2.09 kB
TypeScript
/** @packageDocumentation
* @module Tree
*/
import { ReactElement } from "react";
import { AbstractTreeNodeLoaderWithProvider, ControlledTreeProps, TreeEventHandler, TreeRendererProps } from "@itwin/components-react";
import { IPresentationTreeDataProvider } from "../IPresentationTreeDataProvider.js";
import { UsePresentationTreeStateResult } from "./UsePresentationTreeState.js";
/**
* Props for [[PresentationTree]] component.
*
* @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 PresentationTreeProps<TEventHandler extends TreeEventHandler> = Omit<ControlledTreeProps, "model" | "nodeLoader" | "eventsHandler" | "onItemsRendered" | "nodeHighlightingProps" | "treeRenderer"> & {
state: UsePresentationTreeStateResult<TEventHandler>;
treeRenderer?: (props: TreeRendererProps & {
nodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>;
}) => ReactElement;
};
/**
* Component that provides a convenient API for using [[usePresentationTreeState]] hook with [ControlledTree]($components-react).
*
* Usage example:
* ```tsx
* function Tree(props) {
* const state = usePresentationTreeState({ imodel: props.imodel, ruleset: TREE_RULESET, pagingSize: PAGING_SIZE });
* if (!state) {
* return null;
* }
*
* return <PresentationTree state={state} width={200} height={400} selectionMode={SelectionMode.Single} />;
* }
* ```
*
* @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 PresentationTree<TEventHandler extends TreeEventHandler>({ state, ...props }: PresentationTreeProps<TEventHandler>): import("react/jsx-runtime.js").JSX.Element;
//# sourceMappingURL=PresentationTree.d.ts.map