/** @packageDocumentation * @module Tree */ import * as React from "react"; import { NodeCheckboxProps as CheckboxProps, CheckBoxState, CommonProps, NodeCheckboxRenderer, Omit } from "@bentley/ui-core"; import { PropertyValueRendererManager } from "../../../properties/ValueRendererManager"; import { HighlightableTreeNodeProps } from "../../HighlightingEngine"; import { ITreeImageLoader } from "../../ImageLoader"; import { TreeNodeItem } from "../../TreeDataProvider"; import { CellEditingEngine } from "../CellEditingEngine"; import { BeInspireTreeNode } from "./BeInspireTree"; /** * Properties for Checkbox in [[TreeNode]] * @public * @deprecated Use [ControlledTree]($ui-components) instead. Will be removed in iModel.js 3.0. */ export interface NodeCheckboxProps extends Omit { onClick: (node: BeInspireTreeNode, newState: CheckBoxState) => void; } /** * Properties for [[TreeNode]] React component * @public * @deprecated Use [ControlledTree]($ui-components) instead. Will be removed in iModel.js 3.0. */ export interface TreeNodeProps extends CommonProps { node: BeInspireTreeNode; checkboxProps?: NodeCheckboxProps; onClick?: (e: React.MouseEvent) => void; onMouseDown?: (e: React.MouseEvent) => void; onMouseMove?: (e: React.MouseEvent) => void; onMouseUp?: (e: React.MouseEvent) => void; /** @beta */ cellEditing?: CellEditingEngine; /** @beta */ highlightProps?: HighlightableTreeNodeProps; showDescription?: boolean; valueRendererManager: PropertyValueRendererManager; /** If specified, icon from node will be loaded by provided ImageLoader */ imageLoader?: ITreeImageLoader; renderOverrides?: { /** @beta */ renderCheckbox?: NodeCheckboxRenderer; }; /** * Called when all of the component tasks are done. * There are 3 different conditions: * * Props and node did not update so there is no need to render. * * Provided label function was synchronous and the render finished. * * Provided label function was asynchronous and the second render finished. */ onFinalRenderComplete?: (renderId: string) => void; /** * Id specified by the parent component to identify all * nodes rendered at one request */ renderId?: string; } /** * Default component for rendering a node for the [DEPRECATED_Tree]($ui-components) * @public * @deprecated Use [ControlledTree]($ui-components) instead */ export declare class TreeNode extends React.Component { constructor(props: TreeNodeProps); shouldComponentUpdate(nextProps: TreeNodeProps): boolean; componentDidUpdate(_prevProps: TreeNodeProps): void; render(): JSX.Element; private _onCheckboxClick; } /** Properties for [[TreeNodeIcon]] React component * @public * @deprecated Use [ControlledTree]($ui-components) instead. Will be removed in iModel.js 3.0. */ export interface TreeNodeIconProps extends React.Attributes { node: BeInspireTreeNode; imageLoader: ITreeImageLoader; } /** React component that renders tree node icons * @public * @deprecated Use [ControlledTree]($ui-components) instead. Will be removed in iModel.js 3.0. */ export declare function TreeNodeIcon(props: TreeNodeIconProps): JSX.Element | null; //# sourceMappingURL=Node.d.ts.map