/** * DevExtreme (ui/tree_list.d.ts) * Version: 25.1.7 * Build date: Mon Nov 10 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { UserDefinedElement, DxElement, UserDefinedElementsArray, } from '../core/element'; import { template, DataStructure, Mode, ScrollMode, SingleMultipleOrNone, ToolbarItemLocation, } from '../common'; import { DxPromise, } from '../core/utils/deferred'; import { DataSource } from '../common/data'; import { Cancelable, EventInfo, NativeEventInfo, InitializedEventInfo, ChangedOptionInfo, InteractionEvent, } from '../events'; import { AdaptiveDetailRowPreparingInfo, ColumnBase, ColumnButtonBase, GridsContextMenuTarget, DataChangeInfo, DataErrorOccurredInfo, DragDropInfo, DragReorderInfo, DragStartEventInfo, EditingBase, EditingTextsBase, GridBase, GridBaseOptions, KeyDownInfo, NewRowInfo, PagingBase, ReducedNativeEventInfo, RowDraggingEventInfo, RowDraggingTemplateData, RowInsertedInfo, RowInsertingInfo, RowKeyInfo, RowRemovedInfo, RowRemovingInfo, RowUpdatedInfo, RowUpdatingInfo, RowValidatingInfo, SavingInfo, ScrollingBase, SelectionBase, SelectionChangedInfo, ToolbarPreparingInfo, } from '../common/grids'; import { dxToolbarItem } from './toolbar'; import dxScrollable from './scroll_view/ui.scrollable'; import Widget from './widget/ui.widget'; /** * * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export interface CellInfo { /** * */ readonly data: TRowData; /** * */ readonly key: TKey; /** * */ readonly value?: any; /** * */ readonly displayValue?: any; /** * */ readonly text: string; /** * */ readonly columnIndex: number; /** * */ readonly column: Column; /** * */ readonly rowIndex: number; /** * */ readonly rowType: string; /** * */ readonly cellElement: DxElement; /** * */ readonly row: Row; } export { DisplayMode, SearchMode, } from '../common'; export { ApplyFilterMode, ColumnChooser, ColumnChooserMode, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, ColumnCustomizeTextArg, ColumnFixing, ColumnFixingTexts, ColumnHeaderFilter, ColumnHeaderFilterSearchConfig, ColumnLookup, ColumnResizeMode, GridsContextMenuTarget, DataChange, DataChangeType, DataRenderMode, EnterKeyAction, EnterKeyDirection, FilterOperation, FilterPanelTexts, FilterRow, FilterRowOperationDescriptions, FilterType, FixedPosition, GridsEditMode, GridsEditRefreshMode, GroupExpandMode, HeaderFilter, HeaderFilterSearchConfig, HeaderFilterGroupInterval, HeaderFilterTexts, KeyboardNavigation, LoadPanel, NewRowPosition, Pager, PagerPageSize, RowDraggingTemplateData, SearchPanel, SelectedFilterOperation, SelectionColumnDisplayMode, Sorting, StartEditAction, StateStoreType, StateStoring, SummaryType, } from '../common/grids'; export { DataStructure, Mode, ScrollMode, SingleMultipleOrNone, ToolbarItemLocation, }; export type TreeListPredefinedColumnButton = 'add' | 'cancel' | 'delete' | 'edit' | 'save' | 'undelete'; export type TreeListPredefinedToolbarItem = 'addRowButton' | 'applyFilterButton' | 'columnChooserButton' | 'revertButton' | 'saveButton' | 'searchPanel'; export type TreeListCommandColumnType = 'adaptive' | 'buttons' | 'drag'; export type TreeListFilterMode = 'fullBranch' | 'withAncestors' | 'matchOnly'; export type Scrollable = Omit; /** * The type of the adaptiveDetailRowPreparing event handler's argument. */ export type AdaptiveDetailRowPreparingEvent = EventInfo> & AdaptiveDetailRowPreparingInfo; /** * The type of the cellClick event handler's argument. */ export type CellClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & CellInfo; /** * The type of the cellDblClick event handler's argument. */ export type CellDblClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & CellInfo; /** * The type of the cellHoverChanged event handler's argument. */ export type CellHoverChangedEvent = EventInfo> & CellInfo & { /** * */ readonly eventType: string; }; /** * The type of the cellPrepared event handler's argument. */ export type CellPreparedEvent = EventInfo> & CellInfo & { /** * */ readonly isSelected?: boolean; /** * */ readonly isExpanded?: boolean; /** * */ readonly isNewRow?: boolean; /** * */ readonly watch?: Function; /** * */ readonly oldValue?: any; }; /** * The type of the contentReady event handler's argument. */ export type ContentReadyEvent = EventInfo>; /** * The type of the contextMenuPreparing event handler's argument. */ export type ContextMenuPreparingEvent = EventInfo> & { /** * */ items?: Array; /** * */ readonly target: GridsContextMenuTarget; /** * */ readonly targetElement: DxElement; /** * */ readonly columnIndex: number; /** * */ readonly column?: Column; /** * */ readonly rowIndex: number; /** * */ readonly row?: Row; }; /** * The type of the dataErrorOccurred event handler's argument. */ export type DataErrorOccurredEvent = EventInfo> & DataErrorOccurredInfo; /** * The type of the disposing event handler's argument. */ export type DisposingEvent = EventInfo>; /** * The type of the editCanceled event handler's argument. */ export type EditCanceledEvent = EventInfo> & DataChangeInfo; /** * The type of the editCanceling event handler's argument. */ export type EditCancelingEvent = Cancelable & EventInfo> & DataChangeInfo; /** * The type of the editingStart event handler's argument. */ export type EditingStartEvent = Cancelable & EventInfo> & { /** * */ readonly data: TRowData; /** * */ readonly key: TKey; /** * */ readonly column: Column; }; /** * The type of the editorPrepared event handler's argument. */ export type EditorPreparedEvent = EventInfo> & { /** * */ readonly parentType: string; /** * */ readonly value?: any; /** * */ readonly setValue?: any; /** * */ readonly updateValueTimeout?: number; /** * */ readonly width?: number; /** * */ readonly disabled: boolean; /** * */ readonly rtlEnabled: boolean; /** * */ readonly editorElement: DxElement; /** * */ readonly readOnly: boolean; /** * */ readonly dataField?: string; /** * */ readonly row?: Row; }; /** * The type of the editorPreparing event handler's argument. */ export type EditorPreparingEvent = Cancelable & EventInfo> & { /** * */ readonly parentType: string; /** * */ readonly value?: any; /** * */ readonly setValue?: any; /** * */ updateValueTimeout?: number; /** * */ readonly width?: number; /** * */ readonly disabled: boolean; /** * */ readonly rtlEnabled: boolean; /** * */ readonly editorElement: DxElement; /** * */ readonly readOnly: boolean; /** * */ editorName: string; /** * */ editorOptions: any; /** * */ readonly dataField?: string; /** * */ readonly row?: Row; }; /** * The type of the focusedCellChanged event handler's argument. */ export type FocusedCellChangedEvent = EventInfo> & { /** * */ readonly cellElement: DxElement; /** * */ readonly columnIndex: number; /** * */ readonly rowIndex: number; /** * */ readonly row: Row; /** * */ readonly column: Column; }; /** * The type of the focusedCellChanging event handler's argument. */ export type FocusedCellChangingEvent = Cancelable & NativeEventInfo, InteractionEvent> & { /** * */ readonly cellElement: DxElement; /** * */ readonly prevColumnIndex: number; /** * */ readonly prevRowIndex: number; /** * */ newColumnIndex: number; /** * */ newRowIndex: number; /** * */ readonly rows: Array>; /** * */ readonly columns: Array>; /** * */ isHighlighted: boolean; }; /** * The type of the focusedRowChanged event handler's argument. */ export type FocusedRowChangedEvent = EventInfo> & { /** * */ readonly rowElement: DxElement; /** * */ readonly rowIndex: number; /** * */ readonly row: Row; }; /** * The type of the focusedRowChanging event handler's argument. */ export type FocusedRowChangingEvent = Cancelable & NativeEventInfo, InteractionEvent> & { /** * */ readonly rowElement: DxElement; /** * */ readonly prevRowIndex: number; /** * */ newRowIndex: number; /** * */ readonly rows: Array>; }; /** * The type of the initialized event handler's argument. */ export type InitializedEvent = InitializedEventInfo>; /** * The type of the initNewRow event handler's argument. */ export type InitNewRowEvent = EventInfo> & NewRowInfo; /** * The type of the keyDown event handler's argument. */ export type KeyDownEvent = NativeEventInfo, KeyboardEvent> & KeyDownInfo; /** * The type of the nodesInitialized event handler's argument. */ export type NodesInitializedEvent = EventInfo> & { /** * */ readonly root: Node; }; /** * The type of the optionChanged event handler's argument. */ export type OptionChangedEvent = EventInfo> & ChangedOptionInfo; /** * The type of the rowClick event handler's argument. */ export type RowClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & { /** * */ readonly data: TRowData; /** * */ readonly key: TKey; /** * */ readonly values: Array; /** * */ readonly columns: Array>; /** * */ readonly rowIndex: number; /** * */ readonly rowType: string; /** * */ readonly isSelected?: boolean; /** * */ readonly isExpanded?: boolean; /** * */ readonly isNewRow?: boolean; /** * */ readonly rowElement: DxElement; /** * */ readonly handled: boolean; /** * */ readonly node: Node; /** * */ readonly level: number; }; /** * The type of the rowCollapsed event handler's argument. */ export type RowCollapsedEvent = EventInfo> & RowKeyInfo; /** * The type of the rowCollapsing event handler's argument. */ export type RowCollapsingEvent = Cancelable & EventInfo> & RowKeyInfo; /** * The type of the rowDblClick event handler's argument. */ export type RowDblClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & { /** * */ readonly data: TRowData; /** * */ readonly key: TKey; /** * */ readonly values: Array; /** * */ readonly columns: Array>; /** * */ readonly rowIndex: number; /** * */ readonly rowType: string; /** * */ readonly isSelected?: boolean; /** * */ readonly isExpanded?: boolean; /** * */ readonly isNewRow?: boolean; /** * */ readonly rowElement: DxElement; }; /** * The type of the rowExpanded event handler's argument. */ export type RowExpandedEvent = EventInfo> & RowKeyInfo; /** * The type of the rowExpanding event handler's argument. */ export type RowExpandingEvent = Cancelable & EventInfo> & RowKeyInfo; /** * The type of the rowInserted event handler's argument. */ export type RowInsertedEvent = EventInfo> & RowInsertedInfo; /** * The type of the rowInserting event handler's argument. */ export type RowInsertingEvent = EventInfo> & RowInsertingInfo; /** * The type of the rowPrepared event handler's argument. */ export type RowPreparedEvent = EventInfo> & { /** * */ readonly data: TRowData; /** * */ readonly key: TKey; /** * */ readonly values: Array; /** * */ readonly columns: Array>; /** * */ readonly rowIndex: number; /** * */ readonly rowType: string; /** * */ readonly isSelected?: boolean; /** * */ readonly isExpanded?: boolean; /** * */ readonly isNewRow?: boolean; /** * */ readonly rowElement: DxElement; /** * */ readonly node: Node; /** * */ readonly level: number; }; /** * The type of the rowRemoved event handler's argument. */ export type RowRemovedEvent = EventInfo> & RowRemovedInfo; /** * The type of the rowRemoving event handler's argument. */ export type RowRemovingEvent = EventInfo> & RowRemovingInfo; /** * The type of the rowUpdated event handler's argument. */ export type RowUpdatedEvent = EventInfo> & RowUpdatedInfo; /** * The type of the rowUpdating event handler's argument. */ export type RowUpdatingEvent = EventInfo> & RowUpdatingInfo; /** * The type of the rowValidating event handler's argument. */ export type RowValidatingEvent = EventInfo> & RowValidatingInfo; /** * The type of the saved event handler's argument. */ export type SavedEvent = EventInfo> & DataChangeInfo; /** * The type of the saving event handler's argument. */ export type SavingEvent = EventInfo> & SavingInfo; /** * The type of the selectionChanged event handler's argument. */ export type SelectionChangedEvent = EventInfo> & SelectionChangedInfo; /** * The type of the toolbarPreparing event handler's argument. */ export type ToolbarPreparingEvent = EventInfo> & ToolbarPreparingInfo; export type RowDraggingAddEvent = ReducedNativeEventInfo> & RowDraggingEventInfo & DragDropInfo; export type RowDraggingChangeEvent = Cancelable & ReducedNativeEventInfo> & RowDraggingEventInfo & DragDropInfo; export type RowDraggingEndEvent = Cancelable & ReducedNativeEventInfo> & RowDraggingEventInfo & DragDropInfo; export type RowDraggingMoveEvent = Cancelable & ReducedNativeEventInfo> & RowDraggingEventInfo & DragDropInfo; export type RowDraggingStartEvent = Cancelable & ReducedNativeEventInfo> & DragStartEventInfo; export type RowDraggingRemoveEvent = ReducedNativeEventInfo> & RowDraggingEventInfo; export type RowDraggingReorderEvent = ReducedNativeEventInfo> & RowDraggingEventInfo & DragReorderInfo; export type ColumnButtonClickEvent = NativeEventInfo, PointerEvent | MouseEvent> & { row?: Row; column?: Column; }; export type ColumnButtonTemplateData = { readonly component: dxTreeList; readonly data: TRowData; readonly key: TKey; readonly columnIndex: number; readonly column: Column; readonly rowIndex: number; readonly rowType: string; readonly row: Row; }; export type ColumnCellTemplateData = { readonly data: TRowData; readonly component: dxTreeList; readonly value?: any; readonly oldValue?: any; readonly displayValue?: any; readonly text: string; readonly columnIndex: number; readonly rowIndex: number; readonly column: Column; readonly row: Row; readonly rowType: string; readonly watch?: Function; }; export type ColumnEditCellTemplateData = { readonly setValue?: any; readonly data: TRowData; readonly component: dxTreeList; readonly value?: any; readonly displayValue?: any; readonly text: string; readonly columnIndex: number; readonly rowIndex: number; readonly column: Column; readonly row: Row; readonly rowType: string; readonly watch?: Function; }; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type ColumnHeaderCellTemplateData = { readonly component: dxTreeList; readonly columnIndex: number; readonly column: Column; }; type OverriddenKeys = 'autoExpandAll' | 'columns' | 'customizeColumns' | 'dataStructure' | 'editing' | 'expandedRowKeys' | 'expandNodesOnFiltering' | 'filterMode' | 'hasItemsExpr' | 'itemsExpr' | 'keyExpr' | 'onCellClick' | 'onCellDblClick' | 'onCellHoverChanged' | 'onCellPrepared' | 'onContextMenuPreparing' | 'onEditingStart' | 'onEditorPrepared' | 'onEditorPreparing' | 'onFocusedCellChanged' | 'onFocusedCellChanging' | 'onFocusedRowChanged' | 'onFocusedRowChanging' | 'onNodesInitialized' | 'onRowClick' | 'onRowDblClick' | 'onRowPrepared' | 'paging' | 'parentIdExpr' | 'remoteOperations' | 'rootValue' | 'scrolling' | 'selection' | 'toolbar'; /** * * @deprecated */ export type dxTreeListOptions = Omit, TRowData, TKey>, OverriddenKeys> & { /** * Specifies whether all rows are expanded. */ autoExpandAll?: boolean; /** * Configures columns. */ columns?: Array | string> | undefined; /** * Customizes columns after they are created. */ customizeColumns?: ((columns: Array>) => void); /** * Notifies the UI component of the used data structure. */ dataStructure?: DataStructure; /** * Configures editing. */ editing?: Editing; /** * Specifies whether nodes appear expanded or collapsed after filtering is applied. */ expandNodesOnFiltering?: boolean; /** * Specifies expanded rows with keys. */ expandedRowKeys?: Array; /** * Specifies whether filter and search results should include matching rows only, matching rows with ancestors, or matching rows with ancestors and descendants (full branch). */ filterMode?: TreeListFilterMode; /** * Specifies which data field defines whether the node has children. */ hasItemsExpr?: string | Function; /** * Specifies which data field contains nested items. Set this property when your data has a hierarchical structure. */ itemsExpr?: string | Function; /** * Specifies the key property (or properties) that provide(s) key values to access data items. Each key value must be unique. */ keyExpr?: string | Function; /** * A function that is executed when a cell is clicked or tapped. Executed before onRowClick. */ onCellClick?: ((e: CellClickEvent) => void); /** * A function that is executed when a cell is double-clicked or double-tapped. Executed before onRowDblClick. */ onCellDblClick?: ((e: CellDblClickEvent) => void); /** * A function that is executed after the pointer enters or leaves a cell. */ onCellHoverChanged?: ((e: CellHoverChangedEvent) => void); /** * A function that is executed after a grid cell is created. */ onCellPrepared?: ((e: CellPreparedEvent) => void); /** * A function that is executed before the context menu is rendered. */ onContextMenuPreparing?: ((e: ContextMenuPreparingEvent) => void); /** * A function that is executed before a cell or row switches to the editing state. */ onEditingStart?: ((e: EditingStartEvent) => void); /** * A function that is executed after an editor is created. Not executed for cells with an editCellTemplate. */ onEditorPrepared?: ((options: EditorPreparedEvent) => void); /** * A function used to customize cell editors. Not executed for cells with an editCellTemplate. */ onEditorPreparing?: ((e: EditorPreparingEvent) => void); /** * A function that is executed after the focused cell changes. Applies only to cells in data rows. */ onFocusedCellChanged?: ((e: FocusedCellChangedEvent) => void); /** * A function that is executed before the focused cell changes. Applies only to cells in data rows. */ onFocusedCellChanging?: ((e: FocusedCellChangingEvent) => void); /** * A function that executed when the focused row changes. Applies only to data rows. focusedRowEnabled should be true. */ onFocusedRowChanged?: ((e: FocusedRowChangedEvent) => void); /** * A function that is executed before the focused row changes. Applies only to data rows. focusedRowEnabled should be true. */ onFocusedRowChanging?: ((e: FocusedRowChangingEvent) => void); /** * A function that is executed after the loaded nodes are initialized. */ onNodesInitialized?: ((e: NodesInitializedEvent) => void); /** * A function that is executed when a grid row is clicked or tapped. */ onRowClick?: ((e: RowClickEvent) => void); /** * A function that is executed when a row is double-clicked or double-tapped. Executed after onCellDblClick. */ onRowDblClick?: ((e: RowDblClickEvent) => void); /** * A function that is executed after a row is created. */ onRowPrepared?: ((e: RowPreparedEvent) => void); /** * Configures paging. */ paging?: Paging; /** * Specifies which data field provides parent keys. */ parentIdExpr?: string | Function; /** * Notifies the TreeList of the server's data processing operations. Applies only if data has a plain structure. */ remoteOperations?: { /** * Specifies whether filtering should be performed on the server. */ filtering?: boolean; /** * Specifies whether grouping should be performed on the server. */ grouping?: boolean; /** * Specifies whether sorting should be performed on the server. */ sorting?: boolean; } | Mode; /** * Specifies the root key. Applies if dataStructure is 'plain'. */ rootValue?: TKey; /** * Configures scrolling. */ scrolling?: Scrolling; /** * Configures runtime selection. */ selection?: Selection; /** * Configures the toolbar. */ toolbar?: Toolbar | undefined; }; /** * @deprecated Use Editing instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListEditing = Editing; /** * Configures editing. */ export interface Editing extends EditingBase { /** * Specifies whether a user can add new rows. It is called for each data row when defined as a function. */ allowAdding?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row }) => boolean); /** * Specifies whether a user can delete rows. It is called for each data row when defined as a function. */ allowDeleting?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row }) => boolean); /** * Specifies whether a user can update rows. It is called for each data row when defined as a function */ allowUpdating?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row }) => boolean); /** * Contains properties that specify texts for editing-related UI elements. */ texts?: EditingTexts; } /** * @deprecated Use EditingTexts instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListEditingTexts = EditingTexts; /** * Contains properties that specify texts for editing-related UI elements. */ export type EditingTexts = EditingTextsBase & { /** * Specifies text for the button that adds a new nested row. Applies if the editing.mode is 'batch' or 'cell'. */ addRowToNode?: string; }; /** * @deprecated Use Paging instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListPaging = Paging; /** * An object that configures paging. */ export type Paging = PagingBase & { /** * Specifies whether paging is enabled. */ enabled?: boolean; }; /** * @deprecated Use Scrolling instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListScrolling = Scrolling; /** * Configures scrolling. */ export interface Scrolling extends ScrollingBase { /** * Specifies the scrolling mode. */ mode?: ScrollMode; } /** * @deprecated Use Selection instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListSelection = Selection; /** * Configures runtime selection. */ export interface Selection extends SelectionBase { /** * Specifies whether selection is recursive. */ recursive?: boolean; } /** * The TreeList is a UI component that represents data from a local or remote source in the form of a multi-column tree view. This UI component offers such features as sorting, filtering, editing, selection, etc. */ export default class dxTreeList extends Widget> implements GridBase { /** * Adds a new column. */ addColumn(columnOptions: Column | string): void; /** * Adds an empty data row to the highest hierarchical level and switches it to the editing state. */ addRow(): DxPromise; /** * Adds an empty data row to a specified parent row. */ addRow(parentId: TKey): DxPromise; /** * Collapses a row with a specific key. */ collapseRow(key: TKey): DxPromise; /** * Expands a row with a specific key. */ expandRow(key: TKey): DxPromise; /** * Performs a pre-order tree traversal, executing a function on each visited node. Starts traversing from the top level nodes. */ forEachNode(callback: Function): void; /** * Performs a pre-order tree traversal, executing a function on each visited node. Starts traversing from the specified nodes. */ forEachNode(nodes: Array>, callback: Function): void; /** * Gets a node with a specific key. */ getNodeByKey(key: TKey): Node; /** * Gets the root node. */ getRootNode(): Node; /** * Gets the keys of the rows selected explicitly via the API or via a click or tap. */ getSelectedRowKeys(): Array; /** * Gets selected row keys. */ getSelectedRowKeys(mode: string): Array; /** * Gets the data objects of the rows selected explicitly via the API or via a click or tap. */ getSelectedRowsData(): Array; /** * Gets selected row data objects. */ getSelectedRowsData(mode: string): Array; /** * Gets all visible columns. */ getVisibleColumns(): Array>; /** * Gets all visible columns at a specific hierarchical level of column headers. Use it to access banded columns. */ getVisibleColumns(headerLevel: number): Array>; /** * Gets currently rendered rows. */ getVisibleRows(): Array>; /** * Checks whether a row is expanded or collapsed. */ isRowExpanded(key: TKey): boolean; /** * Loads all root node descendants (all data items). Takes effect only if data has a plain structure and remoteOperations.filtering is set to true. Does not load/reload cached data. */ loadDescendants(): DxPromise; /** * Loads specified node descendants. Takes effect only if data has a plain structure and remoteOperations.filtering is set to true. Does not load/reload cached data. */ loadDescendants(keys: Array): DxPromise; /** * Loads specified node descendants. Affects all descendants when childrenOnly is set to `false` (default) and only direct descendants when childrenOnly is set to `true`. Takes effect only if data has plain structure and remoteOperations.filtering is set to true. Does not load/reload cached data. */ loadDescendants(keys: Array, childrenOnly: boolean): DxPromise; beginCustomLoading(messageText: string): void; byKey(key: TKey): DxPromise; cancelEditData(): void; cellValue(rowIndex: number, dataField: string): any; cellValue(rowIndex: number, dataField: string, value: any): void; cellValue(rowIndex: number, visibleColumnIndex: number): any; cellValue(rowIndex: number, visibleColumnIndex: number, value: any): void; clearFilter(): void; clearFilter(filterName: string): void; clearSelection(): void; clearSorting(): void; closeEditCell(): void; collapseAdaptiveDetailRow(): void; columnCount(): number; columnOption(id: number | string): any; columnOption(id: number | string, optionName: string): any; columnOption(id: number | string, optionName: string, optionValue: any): void; columnOption(id: number | string, options: any): void; deleteColumn(id: number | string): void; deleteRow(rowIndex: number): void; deselectAll(): DxPromise; deselectRows(keys: Array): DxPromise>; editCell(rowIndex: number, dataField: string): void; editCell(rowIndex: number, visibleColumnIndex: number): void; editRow(rowIndex: number): void; endCustomLoading(): void; expandAdaptiveDetailRow(key: TKey): void; filter(): any; filter(filterExpr: any): void; focus(): void; focus(element: UserDefinedElement): void; getCellElement(rowIndex: number, dataField: string): DxElement | undefined; getCellElement(rowIndex: number, visibleColumnIndex: number): DxElement | undefined; getCombinedFilter(): any; getCombinedFilter(returnDataField: boolean): any; getDataSource(): DataSource; getKeyByRowIndex(rowIndex: number): TKey | undefined; getRowElement(rowIndex: number): UserDefinedElementsArray | undefined; getRowIndexByKey(key: TKey): number; getScrollable(): Scrollable; getVisibleColumnIndex(id: number | string): number; hasEditData(): boolean; hideColumnChooser(): void; isAdaptiveDetailRowExpanded(key: TKey): boolean; isRowFocused(key: TKey): boolean; isRowSelected(key: TKey): boolean; keyOf(obj: TRowData): TKey; navigateToRow(key: TKey): DxPromise; pageCount(): number; pageIndex(): number; pageIndex(newIndex: number): DxPromise; pageSize(): number; pageSize(value: number): void; refresh(): DxPromise; refresh(changesOnly: boolean): DxPromise; repaintRows(rowIndexes: Array): void; saveEditData(): DxPromise; searchByText(text: string): void; selectAll(): DxPromise; selectRows(keys: Array, preserve: boolean): DxPromise>; selectRowsByIndexes(indexes: Array): DxPromise>; showColumnChooser(): void; state(): any; state(state: any): void; undeleteRow(rowIndex: number): void; updateDimensions(): void; } type DefaultToolbarItemName = 'addRowButton' | 'applyFilterButton' | 'columnChooserButton' | 'revertButton' | 'saveButton' | 'searchPanel'; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListToolbar = Toolbar; /** * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListToolbarItem = ToolbarItem; /** * Configures toolbar items. * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export interface ToolbarItem extends dxToolbarItem { /** * A name used to identify the toolbar item. */ name?: TreeListPredefinedToolbarItem | string; /** * Specifies a location for the item on the toolbar. */ location?: ToolbarItemLocation; } /** * Configures the toolbar. */ export type Toolbar = { /** * Configures toolbar items. */ items?: Array; /** * Specifies whether the toolbar is visible. */ visible?: boolean | undefined; /** * Specifies whether the toolbar responds to user interaction. */ disabled?: boolean; }; export type Column = dxTreeListColumn; /** * @deprecated Use the Column type instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export interface dxTreeListColumn extends ColumnBase { /** * Allows you to customize buttons in the edit column or create a custom command column. Applies only if the column's type is 'buttons'. */ buttons?: Array>; /** * Specifies a custom template for data cells. */ cellTemplate?: template | ((cellElement: DxElement, cellInfo: ColumnCellTemplateData) => any); /** * Configures columns. */ columns?: Array | string> | undefined; /** * Specifies a custom template for data cells in an editing state. */ editCellTemplate?: template | ((cellElement: DxElement, cellInfo: ColumnEditCellTemplateData) => any); /** * Specifies a custom template for column headers. */ headerCellTemplate?: template | ((columnHeader: DxElement, headerInfo: ColumnHeaderCellTemplateData) => any); /** * Specifies the command column that this object customizes. */ type?: TreeListCommandColumnType; } export type ColumnButton = dxTreeListColumnButton; /** * @deprecated Use the TreeList's ColumnButton type instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export interface dxTreeListColumnButton extends ColumnButtonBase { /** * The name used to identify a built-in button. */ name?: TreeListPredefinedColumnButton | string; /** * A function that is executed when the button is clicked or tapped. */ onClick?: ((e: ColumnButtonClickEvent) => void); /** * Specifies a custom button template. */ template?: template | ((cellElement: DxElement, cellInfo: ColumnButtonTemplateData) => string | UserDefinedElement); /** * Specifies the button's visibility. */ visible?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row; readonly column: Column }) => boolean); /** * Specifies whether the button is disabled. */ disabled?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row; readonly column: Column }) => boolean); } /** * @deprecated Use Node instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListNode = Node; /** * A TreeList node's structure. */ export type Node = { /** * Contains all child nodes. */ children?: Array>; /** * The node's data object. */ data?: TRowData; /** * Indicates whether the node has child nodes. */ hasChildren?: boolean; /** * The node's key. */ key: TKey; /** * The node's hierarchical level. */ level: number; /** * The parent node. */ parent?: Node; /** * Indicates whether the node is visualized as a row. */ visible?: boolean; }; /** * @deprecated Use Row instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type dxTreeListRowObject = Row; /** * A grid row. */ export type Row = { /** * Indicates whether the row is in the editing state. */ readonly isEditing?: boolean; /** * Indicates whether the row is expanded or collapsed. Available if rowType is 'data'. */ readonly isExpanded?: boolean; /** * Indicates that the row is added, but not yet saved. Available if rowType is 'data'. */ readonly isNewRow?: boolean; /** * Indicates whether the row is selected. Available if rowType is 'data' or 'detail'. */ readonly isSelected?: boolean; /** * The row's key. Available if rowType is 'data', 'detail' or 'detailAdaptive'. */ readonly key: TKey; /** * The row's hierarchical level. Available if rowType is 'data' or 'detail'. */ readonly level: number; /** * The row's node. Available if rowType is 'data' or 'detail'. */ readonly node: Node; /** * The row's visible index. This index is zero-based and available if rowType is 'data', 'detail' or 'detailAdaptive'. */ readonly rowIndex: number; /** * The row's type. */ readonly rowType: string; /** * Values displayed in the row's cells. */ readonly values: Array; /** * A data object that the row visualizes. */ readonly data: TRowData; }; export type ExplicitTypes = { AdaptiveDetailRowPreparingEvent: AdaptiveDetailRowPreparingEvent; CellClickEvent: CellClickEvent; CellDblClickEvent: CellDblClickEvent; CellHoverChangedEvent: CellHoverChangedEvent; CellPreparedEvent: CellPreparedEvent; ColumnButtonClickEvent: ColumnButtonClickEvent; ColumnButtonTemplateData: ColumnButtonTemplateData; ColumnCellTemplateData: ColumnCellTemplateData; ColumnEditCellTemplateData: ColumnEditCellTemplateData; ContentReadyEvent: ContentReadyEvent; ContextMenuPreparingEvent: ContextMenuPreparingEvent; DataErrorOccurredEvent: DataErrorOccurredEvent; DisposingEvent: DisposingEvent; EditCanceledEvent: EditCanceledEvent; EditCancelingEvent: EditCancelingEvent; Editing: Editing; EditingStartEvent: EditingStartEvent; EditorPreparedEvent: EditorPreparedEvent; EditorPreparingEvent: EditorPreparingEvent; FocusedCellChangedEvent: FocusedCellChangedEvent; FocusedCellChangingEvent: FocusedCellChangingEvent; FocusedRowChangedEvent: FocusedRowChangedEvent; FocusedRowChangingEvent: FocusedRowChangingEvent; InitializedEvent: InitializedEvent; InitNewRowEvent: InitNewRowEvent; KeyDownEvent: KeyDownEvent; NodesInitializedEvent: NodesInitializedEvent; OptionChangedEvent: OptionChangedEvent; Properties: Properties; RowClickEvent: RowClickEvent; RowCollapsedEvent: RowCollapsedEvent; RowCollapsingEvent: RowCollapsingEvent; RowDblClickEvent: RowDblClickEvent; RowDraggingAddEvent: RowDraggingAddEvent; RowDraggingChangeEvent: RowDraggingChangeEvent; RowDraggingEndEvent: RowDraggingEndEvent; RowDraggingMoveEvent: RowDraggingMoveEvent; RowDraggingRemoveEvent: RowDraggingRemoveEvent; RowDraggingReorderEvent: RowDraggingReorderEvent; RowDraggingStartEvent: RowDraggingStartEvent; RowDraggingTemplateData: RowDraggingTemplateData; RowExpandedEvent: RowExpandedEvent; RowExpandingEvent: RowExpandingEvent; RowInsertedEvent: RowInsertedEvent; RowInsertingEvent: RowInsertingEvent; RowPreparedEvent: RowPreparedEvent; RowRemovedEvent: RowRemovedEvent; RowRemovingEvent: RowRemovingEvent; RowUpdatedEvent: RowUpdatedEvent; RowUpdatingEvent: RowUpdatingEvent; RowValidatingEvent: RowValidatingEvent; SavedEvent: SavedEvent; SavingEvent: SavingEvent; Scrolling: Scrolling; Selection: Selection; SelectionChangedEvent: SelectionChangedEvent; Toolbar: Toolbar; ToolbarItem: ToolbarItem; ToolbarPreparingEvent: ToolbarPreparingEvent; }; export type Properties = dxTreeListOptions; /** * @deprecated use Properties instead * @deprecated Attention! This type is for internal purposes only. If you used it previously, please submit a ticket to our {@link https://supportcenter.devexpress.com/ticket/create Support Center}. We will check if there is an alternative solution. */ export type Options = dxTreeListOptions;