/** @packageDocumentation * @module Tree */ import { IDisposable } from "@bentley/bentleyjs-core"; import { Subscription } from "./Observable"; import { TreeCheckboxStateChangeEventArgs, TreeEvents, TreeNodeEventArgs, TreeSelectionModificationEventArgs, TreeSelectionReplacementEventArgs } from "./TreeEvents"; import { TreeModelNode } from "./TreeModel"; import { TreeModelSource } from "./TreeModelSource"; import { ITreeNodeLoader } from "./TreeNodeLoader"; /** * Params used for tree node editing. * @public */ export interface TreeEditingParams { /** Callback that is called when node is updated. */ onNodeUpdated: (node: TreeModelNode, newValue: string) => void; } /** * Data structure that describes tree event handler params. * @public */ export interface TreeEventHandlerParams { /** Model source used to modify tree model while handling events. */ modelSource: TreeModelSource; /** Node loader used to load children when node is expanded. */ nodeLoader: ITreeNodeLoader; /** Specifies whether children should be disposed when parent node is collapsed or not. */ collapsedChildrenDisposalEnabled?: boolean; /** Parameters used for node editing. */ editingParams?: TreeEditingParams; } /** * Default tree event handler. * @public */ export declare class TreeEventHandler implements TreeEvents, IDisposable { private _modelMutator; private _editingParams?; private _disposed; private _selectionReplaced; constructor(params: TreeEventHandlerParams); /** Disposes tree event handler. */ dispose(): void; get modelSource(): TreeModelSource; /** Expands node and starts loading children. */ onNodeExpanded({ nodeId }: TreeNodeEventArgs): void; /** Collapses node */ onNodeCollapsed({ nodeId }: TreeNodeEventArgs): void; /** Selects and deselects nodes until event is handled, handler is disposed or selection replaced event occurs. */ onSelectionModified({ modifications }: TreeSelectionModificationEventArgs): Subscription | undefined; /** Replaces currently selected nodes until event is handled, handler is disposed or another selection replaced event occurs. */ onSelectionReplaced({ replacements }: TreeSelectionReplacementEventArgs): Subscription | undefined; /** Changes nodes checkbox states. */ onCheckboxStateChanged({ stateChanges }: TreeCheckboxStateChangeEventArgs): Subscription | undefined; /** Activates node editing if editing parameters are supplied and node is editable. */ onDelayedNodeClick({ nodeId }: TreeNodeEventArgs): void; /** Activates node editing if editing parameters are supplied and node is editable. */ onNodeEditorActivated({ nodeId }: TreeNodeEventArgs): void; /** Activates node editing if editing parameters are supplied and node is editable. */ private activateEditor; } //# sourceMappingURL=TreeEventHandler.d.ts.map