@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
26 lines • 1.39 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { ControlledTree, useTreeModel, } from "@itwin/components-react";
/**
* 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 function PresentationTree({ state, ...props }) {
const treeModel = useTreeModel(state.nodeLoader.modelSource);
return (_jsx(ControlledTree, { ...props, model: treeModel, nodeLoader: state.nodeLoader, eventsHandler: state.eventHandler, onItemsRendered: state.onItemsRendered, nodeHighlightingProps: state.filteringResult?.highlightProps, treeRenderer: props.treeRenderer ? (treeProps) => props.treeRenderer({ ...treeProps, nodeLoader: state.nodeLoader }) : undefined }));
}
//# sourceMappingURL=PresentationTree.js.map