UNPKG

@itwin/presentation-components

Version:

React components based on iTwin.js Presentation library

76 lines 3.67 kB
/** @packageDocumentation * @module Tree */ import "../../common/DisposePolyfill.js"; import { AbstractTreeNodeLoaderWithProvider, PagedTreeNodeLoader, RenderedItemsRange, TreeModel, TreeModelSource } from "@itwin/components-react"; import { PresentationTreeDataProviderProps } from "../DataProvider.js"; import { IPresentationTreeDataProvider } from "../IPresentationTreeDataProvider.js"; /** * Properties for [[usePresentationTreeNodeLoader]] hook. * @public * @deprecated in 4.x. This hook is not compatible with React 18 `StrictMode`. Use [[usePresentationTreeState]] instead. */ export interface PresentationTreeNodeLoaderProps extends PresentationTreeDataProviderProps { /** * Number of nodes in a single page. The created loader always requests at least * a page nodes, so it should be optimized for usability vs performance (using * smaller pages gives better responsiveness, but makes overall performance * slightly worse). * * Note: The prop is already defined in `PresentationTreeDataProviderProps` but specified here again to make it required. */ pagingSize: number; /** * Initialize tree data with the provided tree model. */ seedTreeModel?: TreeModel; } /** * Return type for [[usePresentationTreeNodeLoader]] hook. * @public * @deprecated in 4.x. This hook is not compatible with React 18 `StrictMode`. Use [[usePresentationTreeState]] instead. */ export interface PresentationTreeNodeLoaderResult { /** Tree node loader to be used with a tree component */ nodeLoader: PagedTreeNodeLoader<IPresentationTreeDataProvider>; /** * Callback for when rendered tree node item range changes. This property should be passed to * [ControlledTree]($components-react). */ onItemsRendered: (items: RenderedItemsRange) => void; } /** * Custom hooks which creates PagedTreeNodeLoader with PresentationTreeDataProvider using * supplied imodel and ruleset. * @public * @deprecated in 4.x. This hook is not compatible with React 18 `StrictMode`. Use [[usePresentationTreeState]] instead. */ export declare function usePresentationTreeNodeLoader(props: PresentationTreeNodeLoaderProps): PresentationTreeNodeLoaderResult; /** * Parameters for [[useControlledPresentationTreeFiltering]] hook * @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 ControlledPresentationTreeFilteringProps { nodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>; filter?: string; activeMatchIndex?: number; } /** * A custom hook that creates filtered model source and node loader for supplied filter. * If filter string is not provided or filtering is still in progress it returns supplied * model source and node loader. * * @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 useControlledPresentationTreeFiltering(props: ControlledPresentationTreeFilteringProps): { nodeHighlightingProps: import("@itwin/components-react").HighlightableTreeProps | undefined; filteredNodeLoader: AbstractTreeNodeLoaderWithProvider<IPresentationTreeDataProvider>; filteredModelSource: TreeModelSource; isFiltering: boolean; matchesCount: number | undefined; }; //# sourceMappingURL=TreeHooks.d.ts.map