devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
1,108 lines (1,094 loc) • 43 kB
TypeScript
/**
* DevExtreme (ui/tree_list.d.ts)
* Version: 19.2.6
* Build date: Thu Jan 30 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import '../jquery_augmentation';
import {
dxElement
} from '../core/element';
import {
template
} from '../core/templates/template';
import DataSource from '../data/data_source';
import {
event
} from '../events';
import {
GridBase,
GridBaseColumn,
GridBaseColumnButton,
GridBaseEditing,
GridBaseEditingTexts,
GridBaseOptions,
GridBasePaging,
GridBaseScrolling,
GridBaseSelection
} from './data_grid';
import dxScrollable from './scroll_view/ui.scrollable';
import Widget from './widget/ui.widget';
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListOptions extends GridBaseOptions<dxTreeList> {
/**
* @docid dxTreeListOptions.autoExpandAll
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
autoExpandAll?: boolean;
/**
* @docid dxTreeListOptions.columns
* @type Array<dxTreeListColumn,string>
* @default undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
columns?: Array<dxTreeListColumn | string>;
/**
* @docid dxTreeListOptions.customizeColumns
* @type function(columns)
* @type_function_param1 columns:Array<dxTreeListColumn>
* @prevFileNamespace DevExpress.ui
* @public
*/
customizeColumns?: ((columns: Array<dxTreeListColumn>) => any);
/**
* @docid dxTreeListOptions.dataStructure
* @type Enums.TreeListDataStructure
* @default "plain"
* @prevFileNamespace DevExpress.ui
* @public
*/
dataStructure?: 'plain' | 'tree';
/**
* @docid dxTreeListOptions.editing
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
editing?: dxTreeListEditing;
/**
* @docid dxTreeListOptions.expandNodesOnFiltering
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
expandNodesOnFiltering?: boolean;
/**
* @docid dxTreeListOptions.expandedRowKeys
* @type Array<any>
* @default []
* @fires dxTreeListOptions.onOptionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
expandedRowKeys?: Array<any>;
/**
* @docid dxTreeListOptions.filterMode
* @type Enums.TreeListFilterMode
* @default "withAncestors"
* @prevFileNamespace DevExpress.ui
* @public
*/
filterMode?: 'fullBranch' | 'withAncestors' | 'matchOnly';
/**
* @docid dxTreeListOptions.hasItemsExpr
* @type string|function
* @prevFileNamespace DevExpress.ui
* @public
*/
hasItemsExpr?: string | Function;
/**
* @docid dxTreeListOptions.itemsExpr
* @type string|function
* @default "items"
* @prevFileNamespace DevExpress.ui
* @public
*/
itemsExpr?: string | Function;
/**
* @docid dxTreeListOptions.keyExpr
* @type string|function
* @default "id"
* @prevFileNamespace DevExpress.ui
* @public
*/
keyExpr?: string | Function;
/**
* @docid dxTreeListOptions.onCellClick
* @type function(e)|string
* @type_function_param1 e:object
* @type_function_param1_field4 jQueryEvent:jQuery.Event:deprecated(event)
* @type_function_param1_field5 event:event
* @type_function_param1_field6 data:object
* @type_function_param1_field7 key:any
* @type_function_param1_field8 value:any
* @type_function_param1_field9 displayValue:any
* @type_function_param1_field10 text:string
* @type_function_param1_field11 columnIndex:number
* @type_function_param1_field12 column:object
* @type_function_param1_field13 rowIndex:number
* @type_function_param1_field14 rowType:string
* @type_function_param1_field15 cellElement:dxElement
* @type_function_param1_field16 row:dxTreeListRowObject
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onCellClick?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, jQueryEvent?: JQueryEventObject, event?: event, data?: any, key?: any, value?: any, displayValue?: any, text?: string, columnIndex?: number, column?: any, rowIndex?: number, rowType?: string, cellElement?: dxElement, row?: dxTreeListRowObject }) => any) | string;
/**
* @docid dxTreeListOptions.onCellDblClick
* @type function(e)
* @type_function_param1 e:object
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onCellDblClick?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, event?: event, data?: any, key?: any, value?: any, displayValue?: any, text?: string, columnIndex?: number, column?: dxTreeListColumn, rowIndex?: number, rowType?: string, cellElement?: dxElement, row?: dxTreeListRowObject }) => any);
/**
* @docid dxTreeListOptions.onCellHoverChanged
* @type function(e)
* @type_function_param1 e:object
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onCellHoverChanged?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, eventType?: string, data?: any, key?: any, value?: any, text?: string, displayValue?: any, columnIndex?: number, rowIndex?: number, column?: dxTreeListColumn, rowType?: string, cellElement?: dxElement, row?: dxTreeListRowObject }) => any);
/**
* @docid dxTreeListOptions.onCellPrepared
* @type function(e)
* @type_function_param1 e:object
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onCellPrepared?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, data?: any, key?: any, value?: any, displayValue?: any, text?: string, columnIndex?: number, column?: dxTreeListColumn, rowIndex?: number, rowType?: string, row?: dxTreeListRowObject, isSelected?: boolean, isExpanded?: boolean, isNewRow?: boolean, cellElement?: dxElement, watch?: Function, oldValue?: any }) => any);
/**
* @docid dxTreeListOptions.onContextMenuPreparing
* @type function(e)
* @type_function_param1 e:Object
* @type_function_param1_field4 items:Array<Object>
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onContextMenuPreparing?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, items?: Array<any>, target?: string, targetElement?: dxElement, columnIndex?: number, column?: dxTreeListColumn, rowIndex?: number, row?: dxTreeListRowObject }) => any);
/**
* @docid dxTreeListOptions.onEditingStart
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 key:any
* @type_function_param1_field6 cancel:boolean
* @type_function_param1_field7 column:object
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onEditingStart?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, data?: any, key?: any, cancel?: boolean, column?: any }) => any);
/**
* @docid dxTreeListOptions.onEditorPrepared
* @type function(options)
* @type_function_param1 options:object
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onEditorPrepared?: ((options: { component?: dxTreeList, element?: dxElement, model?: any, parentType?: string, value?: any, setValue?: any, updateValueTimeout?: number, width?: number, disabled?: boolean, rtlEnabled?: boolean, editorElement?: dxElement, readOnly?: boolean, dataField?: string, row?: dxTreeListRowObject }) => any);
/**
* @docid dxTreeListOptions.onEditorPreparing
* @type function(e)
* @type_function_param1 e:object
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onEditorPreparing?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, parentType?: string, value?: any, setValue?: any, updateValueTimeout?: number, width?: number, disabled?: boolean, rtlEnabled?: boolean, cancel?: boolean, editorElement?: dxElement, readOnly?: boolean, editorName?: string, editorOptions?: any, dataField?: string, row?: dxTreeListRowObject }) => any);
/**
* @docid dxTreeListOptions.onFocusedCellChanged
* @type function(e)
* @type_function_param1 e:object
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onFocusedCellChanged?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, cellElement?: dxElement, columnIndex?: number, rowIndex?: number, row?: dxTreeListRowObject, column?: dxTreeListColumn }) => any);
/**
* @docid dxTreeListOptions.onFocusedCellChanging
* @type function(e)
* @type_function_param1 e:object
* @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<dxTreeListRowObject>
* @type_function_param1_field11 columns:Array<dxTreeListColumn>
* @type_function_param1_field12 cancel:boolean
* @type_function_param1_field13 isHighlighted:boolean
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onFocusedCellChanging?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, cellElement?: dxElement, prevColumnIndex?: number, prevRowIndex?: number, newColumnIndex?: number, newRowIndex?: number, event?: event, rows?: Array<dxTreeListRowObject>, columns?: Array<dxTreeListColumn>, cancel?: boolean, isHighlighted?: boolean }) => any);
/**
* @docid dxTreeListOptions.onFocusedRowChanged
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 rowElement:dxElement
* @type_function_param1_field5 rowIndex:number
* @type_function_param1_field6 row:dxTreeListRowObject
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onFocusedRowChanged?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, rowElement?: dxElement, rowIndex?: number, row?: dxTreeListRowObject }) => any);
/**
* @docid dxTreeListOptions.onFocusedRowChanging
* @type function(e)
* @type_function_param1 e:object
* @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<dxTreeListRowObject>
* @type_function_param1_field9 cancel:boolean
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onFocusedRowChanging?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, rowElement?: dxElement, prevRowIndex?: number, newRowIndex?: number, event?: event, rows?: Array<dxTreeListRowObject>, cancel?: boolean }) => any);
/**
* @docid dxTreeListOptions.onNodesInitialized
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 root:dxTreeListNode
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onNodesInitialized?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, root?: dxTreeListNode }) => any);
/**
* @docid dxTreeListOptions.onRowClick
* @type function(e)|string
* @type_function_param1 e:object
* @type_function_param1_field4 jQueryEvent:jQuery.Event:deprecated(event)
* @type_function_param1_field5 event:event
* @type_function_param1_field6 data:object
* @type_function_param1_field7 key:any
* @type_function_param1_field8 values:Array<any>
* @type_function_param1_field9 columns:Array<Object>
* @type_function_param1_field10 rowIndex:number
* @type_function_param1_field11 rowType:string
* @type_function_param1_field12 isSelected:boolean
* @type_function_param1_field13 isExpanded:boolean
* @type_function_param1_field14 isNewRow:boolean
* @type_function_param1_field15 rowElement:dxElement
* @type_function_param1_field16 handled:boolean
* @type_function_param1_field17 node:dxTreeListNode
* @type_function_param1_field18 level:number
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowClick?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, jQueryEvent?: JQueryEventObject, event?: event, data?: any, key?: any, values?: Array<any>, columns?: Array<any>, rowIndex?: number, rowType?: string, isSelected?: boolean, isExpanded?: boolean, isNewRow?: boolean, rowElement?: dxElement, handled?: boolean, node?: dxTreeListNode, level?: number }) => any) | string;
/**
* @docid dxTreeListOptions.onRowDblClick
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 event:event
* @type_function_param1_field5 data:object
* @type_function_param1_field6 key:any
* @type_function_param1_field7 values:Array<any>
* @type_function_param1_field8 columns:Array<dxTreeListColumn>
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowDblClick?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, event?: event, data?: any, key?: any, values?: Array<any>, columns?: Array<dxTreeListColumn>, rowIndex?: number, rowType?: string, isSelected?: boolean, isExpanded?: boolean, isNewRow?: boolean, rowElement?: dxElement }) => any);
/**
* @docid dxTreeListOptions.onRowPrepared
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 key:any
* @type_function_param1_field6 values:Array<any>
* @type_function_param1_field7 columns:Array<dxTreeListColumn>
* @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
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowPrepared?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, data?: any, key?: any, values?: Array<any>, columns?: Array<dxTreeListColumn>, rowIndex?: number, rowType?: string, isSelected?: boolean, isExpanded?: boolean, isNewRow?: boolean, rowElement?: dxElement, node?: dxTreeListNode, level?: number }) => any);
/**
* @docid dxTreeListOptions.paging
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
paging?: dxTreeListPaging;
/**
* @docid dxTreeListOptions.parentIdExpr
* @type string|function
* @default "parentId"
* @prevFileNamespace DevExpress.ui
* @public
*/
parentIdExpr?: string | Function;
/**
* @docid dxTreeListOptions.remoteOperations
* @type object|Enums.Mode
* @default "auto"
* @prevFileNamespace DevExpress.ui
* @public
*/
remoteOperations?: { filtering?: boolean, grouping?: boolean, sorting?: boolean } | 'auto';
/**
* @docid dxTreeListOptions.rootValue
* @type any
* @default 0
* @prevFileNamespace DevExpress.ui
* @public
*/
rootValue?: any;
/**
* @docid dxTreeListOptions.scrolling
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
scrolling?: dxTreeListScrolling;
/**
* @docid dxTreeListOptions.selection
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
selection?: dxTreeListSelection;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListEditing extends GridBaseEditing {
/**
* @docid dxTreeListOptions.editing.allowAdding
* @type boolean|function
* @default false
* @type_function_param1 options:object
* @type_function_param1_field1 component:dxTreeList
* @type_function_param1_field2 row:dxTreeListRowObject
* @type_function_return Boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
allowAdding?: boolean | ((options: { component?: dxTreeList, row?: dxTreeListRowObject }) => boolean);
/**
* @docid dxTreeListOptions.editing.allowDeleting
* @type boolean|function
* @default false
* @type_function_param1 options:object
* @type_function_param1_field1 component:dxTreeList
* @type_function_param1_field2 row:dxTreeListRowObject
* @type_function_return Boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
allowDeleting?: boolean | ((options: { component?: dxTreeList, row?: dxTreeListRowObject }) => boolean);
/**
* @docid dxTreeListOptions.editing.allowUpdating
* @type boolean|function
* @default false
* @type_function_param1 options:object
* @type_function_param1_field1 component:dxTreeList
* @type_function_param1_field2 row:dxTreeListRowObject
* @type_function_return Boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
allowUpdating?: boolean | ((options: { component?: dxTreeList, row?: dxTreeListRowObject }) => boolean);
/**
* @docid dxTreeListOptions.editing.texts
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
texts?: dxTreeListEditingTexts;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListEditingTexts extends GridBaseEditingTexts {
/**
* @docid dxTreeListOptions.editing.texts.addRowToNode
* @type string
* @default "Add"
* @prevFileNamespace DevExpress.ui
* @public
*/
addRowToNode?: string;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListPaging extends GridBasePaging {
/**
* @docid dxTreeListOptions.paging.enabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
enabled?: boolean;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListScrolling extends GridBaseScrolling {
/**
* @docid dxTreeListOptions.scrolling.mode
* @type Enums.TreeListScrollingMode
* @default "virtual"
* @prevFileNamespace DevExpress.ui
* @public
*/
mode?: 'standard' | 'virtual';
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListSelection extends GridBaseSelection {
/**
* @docid dxTreeListOptions.selection.recursive
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
recursive?: boolean;
}
/** The TreeList is a widget that represents data from a local or remote source in the form of a multi-column tree view. This widget offers such features as sorting, filtering, editing, selection, etc. */
export default class dxTreeList extends Widget implements GridBase {
constructor(element: Element, options?: dxTreeListOptions)
constructor(element: JQuery, options?: dxTreeListOptions)
/**
* @docid dxTreeListMethods.addColumn
* @publicName addColumn(columnOptions)
* @param1 columnOptions:object|string
* @prevFileNamespace DevExpress.ui
* @public
*/
addColumn(columnOptions: any | string): void;
/**
* @docid dxTreeListMethods.addRow
* @publicName addRow()
* @prevFileNamespace DevExpress.ui
* @public
*/
addRow(): void;
/**
* @docid dxTreeListMethods.addRow
* @publicName addRow(parentId)
* @param1 parentId:any
* @prevFileNamespace DevExpress.ui
* @public
*/
addRow(parentId: any): void;
/**
* @docid dxTreeListMethods.collapseRow
* @publicName collapseRow(key)
* @param1 key:any
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
collapseRow(key: any): Promise<void> & JQueryPromise<void>;
/**
* @docid dxTreeListMethods.expandRow
* @publicName expandRow(key)
* @param1 key:any
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
expandRow(key: any): Promise<void> & JQueryPromise<void>;
/**
* @docid dxTreeListMethods.forEachNode
* @publicName forEachNode(callback)
* @param1 callback:function
* @prevFileNamespace DevExpress.ui
* @public
*/
forEachNode(callback: Function): void;
/**
* @docid dxTreeListMethods.forEachNode
* @publicName forEachNode(nodes, callback)
* @param1 nodes:Array<dxTreeListNode>
* @param2 callback:function
* @prevFileNamespace DevExpress.ui
* @public
*/
forEachNode(nodes: Array<dxTreeListNode>, callback: Function): void;
/**
* @docid dxTreeListMethods.getNodeByKey
* @publicName getNodeByKey(key)
* @param1 key:object|string|number
* @return dxTreeListNode
* @prevFileNamespace DevExpress.ui
* @public
*/
getNodeByKey(key: any | string | number): dxTreeListNode;
/**
* @docid dxTreeListMethods.getRootNode
* @publicName getRootNode()
* @return dxTreeListNode
* @prevFileNamespace DevExpress.ui
* @public
*/
getRootNode(): dxTreeListNode;
/**
* @docid dxTreeListMethods.getSelectedRowKeys
* @publicName getSelectedRowKeys()
* @return Array<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
getSelectedRowKeys(): Array<any>;
/**
* @docid dxTreeListMethods.getSelectedRowKeys
* @publicName getSelectedRowKeys(leavesOnly)
* @param1 leavesOnly:boolean
* @return Array<any>
* @deprecated
* @prevFileNamespace DevExpress.ui
* @public
*/
getSelectedRowKeys(leavesOnly: boolean): Array<any>;
/**
* @docid dxTreeListMethods.getSelectedRowKeys
* @publicName getSelectedRowKeys(mode)
* @param1 mode:string
* @return Array<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
getSelectedRowKeys(mode: string): Array<any>;
/**
* @docid dxTreeListMethods.getSelectedRowsData
* @publicName getSelectedRowsData()
* @return Array<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
getSelectedRowsData(): Array<any>;
/**
* @docid dxTreeListMethods.getSelectedRowsData
* @publicName getSelectedRowsData(mode)
* @param1 mode:string
* @return Array<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
getSelectedRowsData(mode: string): Array<any>;
/**
* @docid dxTreeListMethods.getVisibleColumns
* @publicName getVisibleColumns()
* @return Array<dxTreeListColumn>
* @prevFileNamespace DevExpress.ui
* @public
*/
getVisibleColumns(): Array<dxTreeListColumn>;
/**
* @docid dxTreeListMethods.getVisibleColumns
* @publicName getVisibleColumns(headerLevel)
* @param1 headerLevel:number
* @return Array<dxTreeListColumn>
* @prevFileNamespace DevExpress.ui
* @public
*/
getVisibleColumns(headerLevel: number): Array<dxTreeListColumn>;
/**
* @docid dxTreeListMethods.getVisibleRows
* @publicName getVisibleRows()
* @return Array<dxTreeListRowObject>
* @prevFileNamespace DevExpress.ui
* @public
*/
getVisibleRows(): Array<dxTreeListRowObject>;
/**
* @docid dxTreeListMethods.isRowExpanded
* @publicName isRowExpanded(key)
* @param1 key:any
* @return boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isRowExpanded(key: any): boolean;
/**
* @docid dxTreeListMethods.loadDescendants
* @publicName loadDescendants()
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
loadDescendants(): Promise<void> & JQueryPromise<void>;
/**
* @docid dxTreeListMethods.loadDescendants
* @publicName loadDescendants(keys)
* @param1 keys:Array<any>
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
loadDescendants(keys: Array<any>): Promise<void> & JQueryPromise<void>;
/**
* @docid dxTreeListMethods.loadDescendants
* @publicName loadDescendants(keys, childrenOnly)
* @param1 keys:Array<any>
* @param2 childrenOnly:boolean
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
loadDescendants(keys: Array<any>, childrenOnly: boolean): Promise<void> & JQueryPromise<void>;
beginCustomLoading(messageText: string): void;
byKey(key: any | string | number): Promise<any> & JQueryPromise<any>;
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(): Promise<void> & JQueryPromise<void>;
deselectRows(keys: Array<any>): Promise<any> & JQueryPromise<any>;
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: Element | JQuery): 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): Array<Element> & JQuery | undefined;
getRowIndexByKey(key: any | string | number): number;
getScrollable(): dxScrollable;
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): Promise<void> & JQueryPromise<void>;
pageSize(): number;
pageSize(value: number): void;
refresh(): Promise<void> & JQueryPromise<void>;
refresh(changesOnly: boolean): Promise<void> & JQueryPromise<void>;
repaintRows(rowIndexes: Array<number>): void;
saveEditData(): Promise<void> & JQueryPromise<void>;
searchByText(text: string): void;
selectAll(): Promise<void> & JQueryPromise<void>;
selectRows(keys: Array<any>, preserve: boolean): Promise<any> & JQueryPromise<any>;
selectRowsByIndexes(indexes: Array<number>): Promise<any> & JQueryPromise<any>;
showColumnChooser(): void;
state(): any;
state(state: any): void;
undeleteRow(rowIndex: number): void;
updateDimensions(): void;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListColumn extends GridBaseColumn {
/**
* @docid dxTreeListColumn.buttons
* @type Array<Enums.TreeListColumnButtonName,dxTreeListColumnButton>
* @prevFileNamespace DevExpress.ui
* @public
*/
buttons?: Array<'add' | 'cancel' | 'delete' | 'edit' | 'save' | 'undelete' | dxTreeListColumnButton>;
/**
* @docid dxTreeListColumn.cellTemplate
* @type template|function
* @type_function_param1 cellElement:dxElement
* @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
* @prevFileNamespace DevExpress.ui
* @public
*/
cellTemplate?: template | ((cellElement: dxElement, cellInfo: { data?: any, component?: dxTreeList, value?: any, oldValue?: any, displayValue?: any, text?: string, columnIndex?: number, rowIndex?: number, column?: dxTreeListColumn, row?: dxTreeListRowObject, rowType?: string, watch?: Function }) => any);
/**
* @docid dxTreeListColumn.columns
* @type Array<dxTreeListColumn,string>
* @default undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
columns?: Array<dxTreeListColumn | string>;
/**
* @docid dxTreeListColumn.editCellTemplate
* @type template|function
* @type_function_param1 cellElement:dxElement
* @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
* @prevFileNamespace DevExpress.ui
* @public
*/
editCellTemplate?: template | ((cellElement: dxElement, cellInfo: { setValue?: any, data?: any, component?: dxTreeList, value?: any, displayValue?: any, text?: string, columnIndex?: number, rowIndex?: number, column?: dxTreeListColumn, row?: dxTreeListRowObject, rowType?: string, watch?: Function }) => any);
/**
* @docid dxTreeListColumn.headerCellTemplate
* @type template|function
* @type_function_param1 columnHeader:dxElement
* @type_function_param2 headerInfo:object
* @type_function_param2_field1 component:dxTreeList
* @type_function_param2_field2 columnIndex:number
* @type_function_param2_field3 column:dxTreeListColumn
* @prevFileNamespace DevExpress.ui
* @public
*/
headerCellTemplate?: template | ((columnHeader: dxElement, headerInfo: { component?: dxTreeList, columnIndex?: number, column?: dxTreeListColumn }) => any);
/**
* @docid dxTreeListColumn.type
* @publicName type
* @type Enums.TreeListCommandColumnType
* @prevFileNamespace DevExpress.ui
* @public
*/
type?: 'adaptive' | 'buttons';
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListColumnButton extends GridBaseColumnButton {
/**
* @docid dxTreeListColumnButton.name
* @type Enums.TreeListColumnButtonName|string
* @prevFileNamespace DevExpress.ui
* @public
*/
name?: 'add' | 'cancel' | 'delete' | 'edit' | 'save' | 'undelete' | string;
/**
* @docid dxTreeListColumnButton.onClick
* @type function(e)|string
* @type_function_param1 e:object
* @type_function_param1_field1 component:dxTreeList
* @type_function_param1_field2 element:dxElement
* @type_function_param1_field3 model:object
* @type_function_param1_field4 event:event
* @type_function_param1_field5 row:dxTreeListRowObject
* @type_function_param1_field6 column:dxTreeListColumn
* @prevFileNamespace DevExpress.ui
* @public
*/
onClick?: ((e: { component?: dxTreeList, element?: dxElement, model?: any, event?: event, row?: dxTreeListRowObject, column?: dxTreeListColumn }) => any) | string;
/**
* @docid dxTreeListColumnButton.template
* @type template|function
* @type_function_param1 cellElement:dxElement
* @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|Node|jQuery
* @prevFileNamespace DevExpress.ui
* @public
*/
template?: template | ((cellElement: dxElement, cellInfo: { component?: dxTreeList, data?: any, key?: any, columnIndex?: number, column?: dxTreeListColumn, rowIndex?: number, rowType?: string, row?: dxTreeListRowObject }) => string | Element | JQuery);
/**
* @docid dxTreeListColumnButton.visible
* @type boolean|function
* @default true
* @type_function_param1 options:object
* @type_function_param1_field1 component:dxTreeList
* @type_function_param1_field2 row:dxTreeListRowObject
* @type_function_param1_field3 column:dxTreeListColumn
* @type_function_return Boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
visible?: boolean | ((options: { component?: dxTreeList, row?: dxTreeListRowObject, column?: dxTreeListColumn }) => boolean);
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListNode {
/**
* @docid dxTreeListNode.children
* @type Array<dxTreeListNode>
* @prevFileNamespace DevExpress.ui
* @public
*/
children?: Array<dxTreeListNode>;
/**
* @docid dxTreeListNode.data
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
data?: any;
/**
* @docid dxTreeListNode.hasChildren
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
hasChildren?: boolean;
/**
* @docid dxTreeListNode.key
* @type any
* @prevFileNamespace DevExpress.ui
* @public
*/
key?: any;
/**
* @docid dxTreeListNode.level
* @type number
* @prevFileNamespace DevExpress.ui
* @public
*/
level?: number;
/**
* @docid dxTreeListNode.parent
* @type dxTreeListNode
* @prevFileNamespace DevExpress.ui
* @public
*/
parent?: dxTreeListNode;
/**
* @docid dxTreeListNode.visible
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
visible?: boolean;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface dxTreeListRowObject {
/**
* @docid dxTreeListRowObject.isEditing
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isEditing?: boolean;
/**
* @docid dxTreeListRowObject.isExpanded
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isExpanded?: boolean;
/**
* @docid dxTreeListRowObject.isNewRow
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isNewRow?: boolean;
/**
* @docid dxTreeListRowObject.isSelected
* @type boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isSelected?: boolean;
/**
* @docid dxTreeListRowObject.key
* @type any
* @prevFileNamespace DevExpress.ui
* @public
*/
key?: any;
/**
* @docid dxTreeListRowObject.level
* @type number
* @prevFileNamespace DevExpress.ui
* @public
*/
level?: number;
/**
* @docid dxTreeListRowObject.node
* @type dxTreeListNode
* @prevFileNamespace DevExpress.ui
* @public
*/
node?: dxTreeListNode;
/**
* @docid dxTreeListRowObject.rowIndex
* @type number
* @prevFileNamespace DevExpress.ui
* @public
*/
rowIndex?: number;
/**
* @docid dxTreeListRowObject.rowType
* @type string
* @prevFileNamespace DevExpress.ui
* @public
*/
rowType?: string;
/**
* @docid dxTreeListRowObject.values
* @type Array<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
values?: Array<any>;
}
declare global {
interface JQuery {
dxTreeList(): JQuery;
dxTreeList(options: "instance"): dxTreeList;
dxTreeList(options: string): any;
dxTreeList(options: string, ...params: any[]): any;
dxTreeList(options: dxTreeListOptions): JQuery;
}
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export type Options = dxTreeListOptions;
/** @deprecated use Options instead */
/** Warning! This type is used for internal purposes. Do not import it directly. */
export type IOptions = dxTreeListOptions;