@itwin/presentation-components
Version:
React components based on iTwin.js Presentation library
29 lines • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PresentationTree = PresentationTree;
const jsx_runtime_1 = require("react/jsx-runtime");
const components_react_1 = require("@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).
*/
function PresentationTree({ state, ...props }) {
const treeModel = (0, components_react_1.useTreeModel)(state.nodeLoader.modelSource);
return ((0, jsx_runtime_1.jsx)(components_react_1.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