/** @packageDocumentation * @module PropertyGrid */ import * as React from "react"; import { PropertyRecord } from "@bentley/ui-abstract"; import { CommonProps, Orientation, RatioChangeResult } from "@bentley/ui-core"; import { PropertyUpdatedArgs } from "../../editors/EditorContainer"; import { ActionButtonRenderer } from "../../properties/renderers/ActionButtonRenderer"; import { PropertyValueRendererManager } from "../../properties/ValueRendererManager"; import { PropertyGridColumnInfo } from "../../properties/renderers/PropertyGridColumns"; import { PropertyCategory } from "../PropertyDataProvider"; /** Properties of [[PropertyList]] React component * @public */ export interface PropertyListProps extends CommonProps { orientation: Orientation; category?: PropertyCategory; properties: PropertyRecord[]; selectedPropertyKey?: string; onPropertyClicked?: (property: PropertyRecord, key?: string) => void; onPropertyRightClicked?: (property: PropertyRecord, key?: string) => void; onPropertyContextMenu?: (property: PropertyRecord, e: React.MouseEvent) => void; columnRatio?: number; /** Callback to column ratio changed event */ onColumnChanged?: (ratio: number) => void | RatioChangeResult; propertyValueRendererManager?: PropertyValueRendererManager; editingPropertyKey?: string; onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void; onEditCancel?: () => void; /** Enables/disables property hovering effect */ isPropertyHoverEnabled?: boolean; /** Enables/disables property selection */ isPropertySelectionEnabled?: boolean; /** Enables/disables property right click selection */ isPropertyRightClickSelectionEnabled?: boolean; /** Array of action button renderers */ actionButtonRenderers?: ActionButtonRenderer[]; /** Is resize handle hovered */ isResizeHandleHovered?: boolean; /** Callback to hover event change */ onResizeHandleHoverChanged?: (isHovered: boolean) => void; /** Is resize handle being dragged */ isResizeHandleBeingDragged?: boolean; /** Callback to drag event change */ onResizeHandleDragChanged?: (isDragStarted: boolean) => void; /** Callback to list width change event */ onListWidthChanged?: (width: number) => void; /** Information for styling property grid columns */ columnInfo?: PropertyGridColumnInfo; } /** * Get unique key for property record * @internal */ export declare function getPropertyKey(propertyCategory: PropertyCategory, propertyRecord: PropertyRecord): string; /** State of [[PropertyList]] React component * @internal */ interface PropertyListState { /** Width of the whole property list container */ width?: number; } /** A React component that renders multiple properties within a category as a list. * @public */ export declare class PropertyList extends React.Component { /** @internal */ readonly state: PropertyListState; constructor(props: PropertyListProps); private _listRef; private _onEditCommit; private afterRender; /** @internal */ componentDidMount(): void; /** @internal */ componentDidUpdate(): void; /** @internal */ render(): JSX.Element; } export {}; //# sourceMappingURL=PropertyList.d.ts.map