/** * DevExtreme (ui/tree_list.d.ts) * Version: 21.1.7 * Build date: Thu Aug 07 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { Skip, } from '../core/index'; import { UserDefinedElement, DxElement, UserDefinedElementsArray, } from '../core/element'; import { template, } from '../core/templates/template'; import { DxPromise, } from '../core/utils/deferred'; import DataSource from '../data/data_source'; import { Cancelable, EventInfo, NativeEventInfo, InitializedEventInfo, ChangedOptionInfo, } from '../events/index'; import { GridBase, ColumnBase, ColumnButtonBase, EditingBase, EditingTextsBase, GridBaseOptions, PagingBase, ScrollingBase, SelectionBase, AdaptiveDetailRowPreparingInfo, DataErrorOccurredInfo, DataChangeInfo, DragStartEventInfo, RowDraggingEventInfo, DragDropInfo, DragReorderInfo, KeyDownInfo, NewRowInfo, RowInsertedInfo, RowInsertingInfo, RowKeyInfo, RowRemovedInfo, RowRemovingInfo, RowUpdatedInfo, RowUpdatingInfo, RowValidatingInfo, SavingInfo, SelectionChangedInfo, ToolbarPreparingInfo, RowDraggingTemplateDataModel, } from './data_grid'; import dxScrollable from './scroll_view/ui.scrollable'; import Widget from './widget/ui.widget'; interface CellInfo { readonly data: any; readonly key: any; 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; } /** @public */ export type Scrollable = Skip; /** @public */ export type AdaptiveDetailRowPreparingEvent = EventInfo & AdaptiveDetailRowPreparingInfo; /** @public */ export type CellClickEvent = NativeEventInfo & CellInfo; /** @public */ export type CellDblClickEvent = NativeEventInfo & CellInfo; /** @public */ export type CellHoverChangedEvent = EventInfo & CellInfo & { readonly eventType: string; }; /** @public */ export type CellPreparedEvent = EventInfo & CellInfo & { readonly isSelected?: boolean; readonly isExpanded?: boolean; readonly isNewRow?: boolean; readonly watch?: Function; readonly oldValue?: any; }; /** @public */ export type ContentReadyEvent = EventInfo; /** @public */ export type ContextMenuPreparingEvent = EventInfo & { items?: Array; readonly target: string; readonly targetElement: DxElement; readonly columnIndex: number; readonly column?: Column; readonly rowIndex: number; readonly row?: Row; }; /** @public */ export type DataErrorOccurredEvent = EventInfo & DataErrorOccurredInfo; /** @public */ export type DisposingEvent = EventInfo; /** @public */ export type EditCanceledEvent = EventInfo & DataChangeInfo; /** @public */ export type EditCancelingEvent = Cancelable & EventInfo & DataChangeInfo; /** @public */ export type EditingStartEvent = Cancelable & EventInfo & { readonly data: any; readonly key: any; readonly column: any; }; /** @public */ 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; }; /** @public */ 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; }; /** @public */ export type FocusedCellChangedEvent = EventInfo & { readonly cellElement: DxElement; readonly columnIndex: number; readonly rowIndex: number; readonly row: Row; readonly column: Column; }; /** @public */ export type FocusedCellChangingEvent = Cancelable & NativeEventInfo & { readonly cellElement: DxElement; readonly prevColumnIndex: number; readonly prevRowIndex: number; newColumnIndex: number; newRowIndex: number; readonly rows: Array; readonly columns: Array; isHighlighted: boolean; }; /** @public */ export type FocusedRowChangedEvent = EventInfo & { readonly rowElement: DxElement; readonly rowIndex: number; readonly row: Row; }; /** @public */ export type FocusedRowChangingEvent = NativeEventInfo & { readonly rowElement: DxElement; readonly prevRowIndex: number; newRowIndex: number; readonly rows: Array; }; /** @public */ export type InitializedEvent = InitializedEventInfo; /** @public */ export type InitNewRowEvent = EventInfo & NewRowInfo; /** @public */ export type KeyDownEvent = NativeEventInfo & KeyDownInfo; /** @public */ export type NodesInitializedEvent = EventInfo & { readonly root: Node; }; /** @public */ export type OptionChangedEvent = EventInfo & ChangedOptionInfo; /** @public */ export type RowClickEvent = NativeEventInfo & { readonly data: any; readonly key: any; 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; }; /** @public */ export type RowCollapsedEvent = EventInfo & RowKeyInfo; /** @public */ export type RowCollapsingEvent = Cancelable & EventInfo & RowKeyInfo; /** @public */ export type RowDblClickEvent = NativeEventInfo & { readonly data: any; readonly key: any; readonly values: Array; readonly columns: Array; readonly rowIndex: number; readonly rowType: string; readonly isSelected?: boolean; readonly isExpanded?: boolean; readonly isNewRow?: boolean; readonly rowElement: DxElement; }; /** @public */ export type RowExpandedEvent = EventInfo & RowKeyInfo; /** @public */ export type RowExpandingEvent = Cancelable & EventInfo & RowKeyInfo; /** @public */ export type RowInsertedEvent = EventInfo & RowInsertedInfo; /** @public */ export type RowInsertingEvent = EventInfo & RowInsertingInfo; /** @public */ export type RowPreparedEvent = EventInfo & { readonly data: any; readonly key: any; 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; }; /** @public */ export type RowRemovedEvent = EventInfo & RowRemovedInfo; /** @public */ export type RowRemovingEvent = EventInfo & RowRemovingInfo; /** @public */ export type RowUpdatedEvent = EventInfo & RowUpdatedInfo; /** @public */ export type RowUpdatingEvent = EventInfo & RowUpdatingInfo; /** @public */ export type RowValidatingEvent = EventInfo & RowValidatingInfo; /** @public */ export type SavedEvent = EventInfo & DataChangeInfo; /** @public */ export type SavingEvent = EventInfo & SavingInfo; /** @public */ export type SelectionChangedEvent = EventInfo & SelectionChangedInfo; /** @public */ export type ToolbarPreparingEvent = EventInfo & ToolbarPreparingInfo; /** @public */ export type RowDraggingAddEvent = RowDraggingEventInfo & DragDropInfo; /** @public */ export type RowDraggingChangeEvent = Cancelable & RowDraggingEventInfo & DragDropInfo; /** @public */ export type RowDraggingEndEvent = Cancelable & RowDraggingEventInfo & DragDropInfo; /** @public */ export type RowDraggingMoveEvent = Cancelable & RowDraggingEventInfo & DragDropInfo; /** @public */ export type RowDraggingStartEvent = Cancelable & DragStartEventInfo; /** @public */ export type RowDraggingRemoveEvent = RowDraggingEventInfo; /** @public */ export type RowDraggingReorderEvent = RowDraggingEventInfo & DragReorderInfo; /** @public */ export type ColumnButtonClickEvent = NativeEventInfo & { row?: Row; column?: Column; }; /** @public */ export type ColumnButtonTemplateData = { readonly component: dxTreeList; readonly data: any; readonly key: any; readonly columnIndex: number; readonly column: Column; readonly rowIndex: number; readonly rowType: string; readonly row: Row; }; /** @public */ export type ColumnCellTemplateData = { readonly data: any; 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; }; /** @public */ export type ColumnEditCellTemplateData = { readonly setValue?: any; readonly data: any; 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; }; export type ColumnHeaderCellTemplateData = { readonly component: dxTreeList; readonly columnIndex: number; readonly column: Column; }; /** @public */ export type RowDraggingTemplateData = RowDraggingTemplateDataModel; /** * @deprecated use Properties instead * @namespace DevExpress.ui */ export interface dxTreeListOptions extends GridBaseOptions { /** * @docid * @default false * @public */ autoExpandAll?: boolean; /** * @docid * @type Array * @default undefined * @public */ columns?: Array; /** * @docid * @type_function_param1 columns:Array * @public */ customizeColumns?: ((columns: Array) => void); /** * @docid * @type Enums.TreeListDataStructure * @default "plain" * @public */ dataStructure?: 'plain' | 'tree'; /** * @docid * @public * @type object */ editing?: Editing; /** * @docid * @default true * @public */ expandNodesOnFiltering?: boolean; /** * @docid * @default [] * @fires dxTreeListOptions.onOptionChanged * @public */ expandedRowKeys?: Array; /** * @docid * @type Enums.TreeListFilterMode * @default "withAncestors" * @public */ filterMode?: 'fullBranch' | 'withAncestors' | 'matchOnly'; /** * @docid * @public */ hasItemsExpr?: string | Function; /** * @docid * @default "items" * @public */ itemsExpr?: string | Function; /** * @docid * @default "id" * @public */ keyExpr?: string | Function; /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 event:event * @type_function_param1_field5 data:object * @type_function_param1_field6 key:any * @type_function_param1_field7 value:any * @type_function_param1_field8 displayValue:any * @type_function_param1_field9 text:string * @type_function_param1_field10 columnIndex:number * @type_function_param1_field11 column:object * @type_function_param1_field12 rowIndex:number * @type_function_param1_field13 rowType:string * @type_function_param1_field14 cellElement:DxElement * @type_function_param1_field15 row:dxTreeListRowObject * @default null * @action * @public */ onCellClick?: ((e: CellClickEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 event:event * @type_function_param1_field5 data:object * @type_function_param1_field6 key:any * @type_function_param1_field7 value:any * @type_function_param1_field8 displayValue:any * @type_function_param1_field9 text:string * @type_function_param1_field10 columnIndex:number * @type_function_param1_field11 column:dxTreeListColumn * @type_function_param1_field12 rowIndex:number * @type_function_param1_field13 rowType:string * @type_function_param1_field14 cellElement:DxElement * @type_function_param1_field15 row:dxTreeListRowObject * @default null * @action * @public */ onCellDblClick?: ((e: CellDblClickEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 eventType:string * @type_function_param1_field5 data:object * @type_function_param1_field6 key:any * @type_function_param1_field7 value:any * @type_function_param1_field8 text:string * @type_function_param1_field9 displayValue:any * @type_function_param1_field10 columnIndex:number * @type_function_param1_field11 rowIndex:number * @type_function_param1_field12 column:dxTreeListColumn * @type_function_param1_field13 rowType:string * @type_function_param1_field14 cellElement:DxElement * @type_function_param1_field15 row:dxTreeListRowObject * @default null * @action * @public */ onCellHoverChanged?: ((e: CellHoverChangedEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 data:object * @type_function_param1_field5 key:any * @type_function_param1_field6 value:any * @type_function_param1_field7 displayValue:any * @type_function_param1_field8 text:string * @type_function_param1_field9 columnIndex:number * @type_function_param1_field10 column:dxTreeListColumn * @type_function_param1_field11 rowIndex:number * @type_function_param1_field12 rowType:string * @type_function_param1_field13 row:dxTreeListRowObject * @type_function_param1_field14 isSelected:boolean * @type_function_param1_field15 isExpanded:boolean * @type_function_param1_field16 isNewRow:boolean * @type_function_param1_field17 cellElement:DxElement * @type_function_param1_field18 watch:function * @type_function_param1_field19 oldValue:any * @default null * @action * @public */ onCellPrepared?: ((e: CellPreparedEvent) => void); /** * @docid * @type_function_param1 e:Object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 items:Array * @type_function_param1_field5 target:string * @type_function_param1_field6 targetElement:DxElement * @type_function_param1_field7 columnIndex:number * @type_function_param1_field8 column:dxTreeListColumn * @type_function_param1_field9 rowIndex:number * @type_function_param1_field10 row:dxTreeListRowObject * @default null * @action * @public */ onContextMenuPreparing?: ((e: ContextMenuPreparingEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 data:object * @type_function_param1_field5 key:any * @type_function_param1_field6 cancel:boolean * @type_function_param1_field7 column:object * @default null * @action * @public */ onEditingStart?: ((e: EditingStartEvent) => void); /** * @docid * @type_function_param1 options:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 parentType:string * @type_function_param1_field5 value:any * @type_function_param1_field6 setValue(newValue, newText):any * @type_function_param1_field7 updateValueTimeout:number * @type_function_param1_field8 width:number * @type_function_param1_field9 disabled:boolean * @type_function_param1_field10 rtlEnabled:boolean * @type_function_param1_field11 editorElement:DxElement * @type_function_param1_field12 readOnly:boolean * @type_function_param1_field13 dataField:string * @type_function_param1_field14 row:dxTreeListRowObject * @default null * @action * @public */ onEditorPrepared?: ((options: EditorPreparedEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 parentType:string * @type_function_param1_field5 value:any * @type_function_param1_field6 setValue(newValue, newText):any * @type_function_param1_field7 updateValueTimeout:number * @type_function_param1_field8 width:number * @type_function_param1_field9 disabled:boolean * @type_function_param1_field10 rtlEnabled:boolean * @type_function_param1_field11 cancel:boolean * @type_function_param1_field12 editorElement:DxElement * @type_function_param1_field13 readOnly:boolean * @type_function_param1_field14 editorName:string * @type_function_param1_field15 editorOptions:object * @type_function_param1_field16 dataField:string * @type_function_param1_field17 row:dxTreeListRowObject * @default null * @action * @public */ onEditorPreparing?: ((e: EditorPreparingEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 cellElement:DxElement * @type_function_param1_field5 columnIndex:number * @type_function_param1_field6 rowIndex:number * @type_function_param1_field7 row:dxTreeListRowObject * @type_function_param1_field8 column:dxTreeListColumn * @default null * @action * @public */ onFocusedCellChanged?: ((e: FocusedCellChangedEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 cellElement:DxElement * @type_function_param1_field5 prevColumnIndex:number * @type_function_param1_field6 prevRowIndex:number * @type_function_param1_field7 newColumnIndex:number * @type_function_param1_field8 newRowIndex:number * @type_function_param1_field9 event:event * @type_function_param1_field10 rows:Array * @type_function_param1_field11 columns:Array * @type_function_param1_field12 cancel:boolean * @type_function_param1_field13 isHighlighted:boolean * @default null * @action * @public */ onFocusedCellChanging?: ((e: FocusedCellChangingEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 rowElement:DxElement * @type_function_param1_field5 rowIndex:number * @type_function_param1_field6 row:dxTreeListRowObject * @default null * @action * @public */ onFocusedRowChanged?: ((e: FocusedRowChangedEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 rowElement:DxElement * @type_function_param1_field5 prevRowIndex:number * @type_function_param1_field6 newRowIndex:number * @type_function_param1_field7 event:event * @type_function_param1_field8 rows:Array * @type_function_param1_field9 cancel:boolean * @default null * @action * @public */ onFocusedRowChanging?: ((e: FocusedRowChangingEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 root:dxTreeListNode * @default null * @action * @public */ onNodesInitialized?: ((e: NodesInitializedEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 event:event * @type_function_param1_field5 data:object * @type_function_param1_field6 key:any * @type_function_param1_field7 values:Array * @type_function_param1_field8 columns:Array * @type_function_param1_field9 rowIndex:number * @type_function_param1_field10 rowType:string * @type_function_param1_field11 isSelected:boolean * @type_function_param1_field12 isExpanded:boolean * @type_function_param1_field13 isNewRow:boolean * @type_function_param1_field14 rowElement:DxElement * @type_function_param1_field15 handled:boolean * @type_function_param1_field16 node:dxTreeListNode * @type_function_param1_field17 level:number * @default null * @action * @public */ onRowClick?: ((e: RowClickEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 event:event * @type_function_param1_field5 data:object * @type_function_param1_field6 key:any * @type_function_param1_field7 values:Array * @type_function_param1_field8 columns:Array * @type_function_param1_field9 rowIndex:number * @type_function_param1_field10 rowType:string * @type_function_param1_field11 isSelected:boolean * @type_function_param1_field12 isExpanded:boolean * @type_function_param1_field13 isNewRow:boolean * @type_function_param1_field14 rowElement:DxElement * @default null * @action * @public */ onRowDblClick?: ((e: RowDblClickEvent) => void); /** * @docid * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 data:object * @type_function_param1_field5 key:any * @type_function_param1_field6 values:Array * @type_function_param1_field7 columns:Array * @type_function_param1_field8 rowIndex:number * @type_function_param1_field9 rowType:string * @type_function_param1_field10 isSelected:boolean * @type_function_param1_field11 isExpanded:boolean * @type_function_param1_field12 isNewRow:boolean * @type_function_param1_field13 rowElement:DxElement * @type_function_param1_field14 node:dxTreeListNode * @type_function_param1_field15 level:number * @default null * @action * @public */ onRowPrepared?: ((e: RowPreparedEvent) => void); /** * @docid * @public * @type object */ paging?: Paging; /** * @docid * @default "parentId" * @public */ parentIdExpr?: string | Function; /** * @docid * @type object|Enums.Mode * @default "auto" * @public */ remoteOperations?: { /** * @docid * @default false */ filtering?: boolean; /** * @docid * @default false */ grouping?: boolean; /** * @docid * @default false */ sorting?: boolean; } | 'auto'; /** * @docid * @default 0 * @public */ rootValue?: any; /** * @docid * @public * @type object */ scrolling?: Scrolling; /** * @docid * @public * @type object */ selection?: Selection; } /** * @public * @namespace DevExpress.ui * @deprecated Use Editing instead */ export type dxTreeListEditing = Editing; /** @public */ export interface Editing extends EditingBase { /** * @docid dxTreeListOptions.editing.allowAdding * @default false * @type_function_param1_field2 row:dxTreeListRowObject * @public */ allowAdding?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row }) => boolean); /** * @docid dxTreeListOptions.editing.allowDeleting * @default false * @type_function_param1_field2 row:dxTreeListRowObject * @public */ allowDeleting?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row }) => boolean); /** * @docid dxTreeListOptions.editing.allowUpdating * @default false * @type_function_param1_field2 row:dxTreeListRowObject * @public */ allowUpdating?: boolean | ((options: { readonly component: dxTreeList; readonly row?: Row }) => boolean); /** * @docid dxTreeListOptions.editing.texts * @type object * @public */ texts?: EditingTexts; } /** * @public * @namespace DevExpress.ui * @deprecated */ export type dxTreeListEditingTexts = EditingTexts; export interface EditingTexts extends EditingTextsBase { /** * @docid dxTreeListOptions.editing.texts.addRowToNode * @default "Add" * @public */ addRowToNode?: string; } /** * @public * @namespace DevExpress.ui * @deprecated */ export type dxTreeListPaging = Paging; export interface Paging extends PagingBase { /** * @docid dxTreeListOptions.paging.enabled * @default false * @public */ enabled?: boolean; } /** * @public * @namespace DevExpress.ui * @deprecated Use Scrolling instead */ export type dxTreeListScrolling = Scrolling; /** @public */ export interface Scrolling extends ScrollingBase { /** * @docid dxTreeListOptions.scrolling.mode * @type Enums.TreeListScrollingMode * @default "virtual" * @public */ mode?: 'standard' | 'virtual'; } /** * @public * @namespace DevExpress.ui * @deprecated Use Selection instead */ export type dxTreeListSelection = Selection; /** @public */ export interface Selection extends SelectionBase { /** * @docid dxTreeListOptions.selection.recursive * @default false * @public */ recursive?: boolean; } /** * @docid * @inherits GridBase * @namespace DevExpress.ui * @public */ export default class dxTreeList extends Widget implements GridBase { constructor(element: UserDefinedElement, options?: dxTreeListOptions) /** * @docid * @publicName addColumn(columnOptions) * @param1 columnOptions:object|string * @public */ addColumn(columnOptions: any | string): void; /** * @docid * @publicName addRow() * @return Promise * @public */ addRow(): DxPromise; /** * @docid * @publicName addRow(parentId) * @return Promise * @public */ addRow(parentId: any): DxPromise; /** * @docid * @publicName collapseRow(key) * @return Promise * @public */ collapseRow(key: any): DxPromise; /** * @docid * @publicName expandRow(key) * @return Promise * @public */ expandRow(key: any): DxPromise; /** * @docid * @publicName forEachNode(callback) * @public */ forEachNode(callback: Function): void; /** * @docid * @publicName forEachNode(nodes, callback) * @param1 nodes:Array * @public */ forEachNode(nodes: Array, callback: Function): void; /** * @docid * @publicName getNodeByKey(key) * @param1 key:object|string|number * @return dxTreeListNode * @public */ getNodeByKey(key: any | string | number): Node; /** * @docid * @publicName getRootNode() * @return dxTreeListNode * @public */ getRootNode(): Node; /** * @docid * @publicName getSelectedRowKeys() * @public */ getSelectedRowKeys(): Array; /** * @docid * @publicName getSelectedRowKeys(mode) * @public */ getSelectedRowKeys(mode: string): Array; /** * @docid * @publicName getSelectedRowsData() * @public */ getSelectedRowsData(): Array; /** * @docid * @publicName getSelectedRowsData(mode) * @public */ getSelectedRowsData(mode: string): Array; /** * @docid * @publicName getVisibleColumns() * @return Array * @public */ getVisibleColumns(): Array; /** * @docid * @publicName getVisibleColumns(headerLevel) * @return Array * @public */ getVisibleColumns(headerLevel: number): Array; /** * @docid * @publicName getVisibleRows() * @return Array * @public */ getVisibleRows(): Array; /** * @docid * @publicName isRowExpanded(key) * @public */ isRowExpanded(key: any): boolean; /** * @docid * @publicName loadDescendants() * @return Promise * @public */ loadDescendants(): DxPromise; /** * @docid * @publicName loadDescendants(keys) * @return Promise * @public */ loadDescendants(keys: Array): DxPromise; /** * @docid * @publicName loadDescendants(keys, childrenOnly) * @return Promise * @public */ loadDescendants(keys: Array, childrenOnly: boolean): DxPromise; beginCustomLoading(messageText: string): void; byKey(key: any | string | number): 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: any): 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): any; getRowElement(rowIndex: number): UserDefinedElementsArray | undefined; getRowIndexByKey(key: any | string | number): number; getScrollable(): Scrollable; getVisibleColumnIndex(id: number | string): number; hasEditData(): boolean; hideColumnChooser(): void; isAdaptiveDetailRowExpanded(key: any): boolean; isRowFocused(key: any): boolean; isRowSelected(key: any): boolean; keyOf(obj: any): any; navigateToRow(key: any): void; 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; } /** * @public */ export type Column = dxTreeListColumn; /** * @namespace DevExpress.ui * @deprecated Use the Column type instead */ export interface dxTreeListColumn extends ColumnBase { /** * @docid dxTreeListColumn.buttons * @type Array * @public */ buttons?: Array<'add' | 'cancel' | 'delete' | 'edit' | 'save' | 'undelete' | ColumnButton>; /** * @docid dxTreeListColumn.cellTemplate * @type_function_param2 cellInfo:object * @type_function_param2_field1 data:object * @type_function_param2_field2 component:dxTreeList * @type_function_param2_field3 value:any * @type_function_param2_field4 oldValue:any * @type_function_param2_field5 displayValue:any * @type_function_param2_field6 text:string * @type_function_param2_field7 columnIndex:number * @type_function_param2_field8 rowIndex:number * @type_function_param2_field9 column:dxTreeListColumn * @type_function_param2_field10 row:dxTreeListRowObject * @type_function_param2_field11 rowType:string * @type_function_param2_field12 watch:function * @public */ cellTemplate?: template | ((cellElement: DxElement, cellInfo: ColumnCellTemplateData) => any); /** * @docid dxTreeListColumn.columns * @type Array * @default undefined * @public */ columns?: Array; /** * @docid dxTreeListColumn.editCellTemplate * @type_function_param2 cellInfo:object * @type_function_param2_field1 setValue(newValue, newText):any * @type_function_param2_field2 data:object * @type_function_param2_field3 component:dxTreeList * @type_function_param2_field4 value:any * @type_function_param2_field5 displayValue:any * @type_function_param2_field6 text:string * @type_function_param2_field7 columnIndex:number * @type_function_param2_field8 rowIndex:number * @type_function_param2_field9 column:dxTreeListColumn * @type_function_param2_field10 row:dxTreeListRowObject * @type_function_param2_field11 rowType:string * @type_function_param2_field12 watch:function * @public */ editCellTemplate?: template | ((cellElement: DxElement, cellInfo: ColumnEditCellTemplateData) => any); /** * @docid dxTreeListColumn.headerCellTemplate * @type_function_param2 headerInfo:object * @type_function_param2_field1 component:dxTreeList * @type_function_param2_field2 columnIndex:number * @type_function_param2_field3 column:dxTreeListColumn * @public */ headerCellTemplate?: template | ((columnHeader: DxElement, headerInfo: ColumnHeaderCellTemplateData) => any); /** * @docid dxTreeListColumn.type * @publicName type * @type Enums.TreeListCommandColumnType * @public */ type?: 'adaptive' | 'buttons' | 'drag'; } /** * @public */ export type ColumnButton = dxTreeListColumnButton; /** * @namespace DevExpress.ui * @deprecated Use the TreeList's ColumnButton type instead */ export interface dxTreeListColumnButton extends ColumnButtonBase { /** * @docid dxTreeListColumnButton.name * @type Enums.TreeListColumnButtonName|string * @public */ name?: 'add' | 'cancel' | 'delete' | 'edit' | 'save' | 'undelete' | string; /** * @docid dxTreeListColumnButton.onClick * @type_function_param1 e:object * @type_function_param1_field1 component:dxTreeList * @type_function_param1_field2 element:DxElement * @type_function_param1_field3 model:any * @type_function_param1_field4 event:event * @type_function_param1_field5 row:dxTreeListRowObject * @type_function_param1_field6 column:dxTreeListColumn * @public */ onClick?: ((e: ColumnButtonClickEvent) => void); /** * @docid dxTreeListColumnButton.template * @type_function_param2 cellInfo:object * @type_function_param2_field1 component:dxTreeList * @type_function_param2_field2 data:object * @type_function_param2_field3 key:any * @type_function_param2_field4 columnIndex:number * @type_function_param2_field5 column:dxTreeListColumn * @type_function_param2_field6 rowIndex:number * @type_function_param2_field7 rowType:string * @type_function_param2_field8 row:dxTreeListRowObject * @type_function_return string|Element|jQuery * @public */ template?: template | ((cellElement: DxElement, cellInfo: ColumnButtonTemplateData) => string | UserDefinedElement); /** * @docid dxTreeListColumnButton.visible * @default true * @type_function_param1_field2 row:dxTreeListRowObject * @type_function_param1_field3 column:dxTreeListColumn * @public */ visible?: boolean | ((options: { readonly component: dxTreeList; row?: Row; readonly column: Column }) => boolean); } /** * @namespace DevExpress.ui * @deprecated Use Node instead */ export type dxTreeListNode = Node; /** * @public * @docid dxTreeListNode * @type object */ export interface Node { /** * @docid dxTreeListNode.children * @type Array * @public */ children?: Array; /** * @docid dxTreeListNode.data * @public */ data?: any; /** * @docid dxTreeListNode.hasChildren * @public */ hasChildren?: boolean; /** * @docid dxTreeListNode.key * @public */ key: any; /** * @docid dxTreeListNode.level * @public */ level: number; /** * @docid dxTreeListNode.parent * @type dxTreeListNode * @public */ parent?: Node; /** * @docid dxTreeListNode.visible * @public */ visible?: boolean; } /** * @namespace DevExpress.ui * @deprecated Use Row instead */ export type dxTreeListRowObject = Row; /** * @public * @docid dxTreeListRowObject * @type object */ export interface Row { /** * @docid dxTreeListRowObject.isEditing * @public */ readonly isEditing?: boolean; /** * @docid dxTreeListRowObject.isExpanded * @public */ readonly isExpanded?: boolean; /** * @docid dxTreeListRowObject.isNewRow * @public */ readonly isNewRow?: boolean; /** * @docid dxTreeListRowObject.isSelected * @public */ readonly isSelected?: boolean; /** * @docid dxTreeListRowObject.key * @public */ readonly key: any; /** * @docid dxTreeListRowObject.level * @public */ readonly level: number; /** * @docid dxTreeListRowObject.node * @type dxTreeListNode * @public */ readonly node: Node; /** * @docid dxTreeListRowObject.rowIndex * @public */ readonly rowIndex: number; /** * @docid dxTreeListRowObject.rowType * @public */ readonly rowType: string; /** * @docid dxTreeListRowObject.values * @public */ readonly values: Array; } /** @public */ export type Properties = dxTreeListOptions; /** @deprecated use Properties instead */ export type Options = dxTreeListOptions; /** @deprecated use Properties instead */ export type IOptions = dxTreeListOptions;