devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
239 lines (231 loc) • 7.93 kB
TypeScript
/**
* DevExtreme (ui/collection/ui.collection_widget.base.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, {
DataSourceOptions
} from '../../data/data_source';
import {
event
} from '../../events';
import Widget, {
WidgetOptions
} from '../widget/ui.widget';
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface CollectionWidgetOptions<T = CollectionWidget> extends WidgetOptions<T> {
/**
* @docid CollectionWidgetOptions.dataSource
* @type string|Array<string,CollectionWidgetItem>|DataSource|DataSourceOptions
* @default null
* @prevFileNamespace DevExpress.ui
* @public
*/
dataSource?: string | Array<string | CollectionWidgetItem> | DataSource | DataSourceOptions;
/**
* @docid CollectionWidgetOptions.itemHoldTimeout
* @type number
* @default 750
* @prevFileNamespace DevExpress.ui
* @public
*/
itemHoldTimeout?: number;
/**
* @docid CollectionWidgetOptions.itemTemplate
* @type template|function
* @default "item"
* @type_function_param1 itemData:object
* @type_function_param2 itemIndex:number
* @type_function_param3 itemElement:dxElement
* @type_function_return string|Node|jQuery
* @prevFileNamespace DevExpress.ui
* @public
*/
itemTemplate?: template | ((itemData: any, itemIndex: number, itemElement: dxElement) => string | Element | JQuery);
/**
* @docid CollectionWidgetOptions.items
* @type Array<string, CollectionWidgetItem, object>
* @fires CollectionWidgetOptions.onOptionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
items?: Array<string | CollectionWidgetItem | any>;
/**
* @docid CollectionWidgetOptions.keyExpr
* @type string|function
* @default null
* @prevFileNamespace DevExpress.ui
* @public
*/
keyExpr?: string | Function;
/**
* @docid CollectionWidgetOptions.noDataText
* @type string
* @default "No data to display"
* @prevFileNamespace DevExpress.ui
* @public
*/
noDataText?: string;
/**
* @docid CollectionWidgetOptions.onItemClick
* @type function(e)|string
* @extends Action
* @type_function_param1 e:object
* @type_function_param1_field4 itemData:object
* @type_function_param1_field5 itemElement:dxElement
* @type_function_param1_field6 itemIndex:number
* @type_function_param1_field7 jQueryEvent:jQuery.Event:deprecated(event)
* @type_function_param1_field8 event:event
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onItemClick?: ((e: { component?: T, element?: dxElement, model?: any, itemData?: any, itemElement?: dxElement, itemIndex?: number, jQueryEvent?: JQueryEventObject, event?: event }) => any) | string;
/**
* @docid CollectionWidgetOptions.onItemContextMenu
* @extends Action
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 itemData:object
* @type_function_param1_field5 itemElement:dxElement
* @type_function_param1_field6 itemIndex:number
* @type_function_param1_field7 jQueryEvent:jQuery.Event:deprecated(event)
* @type_function_param1_field8 event:event
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onItemContextMenu?: ((e: { component?: T, element?: dxElement, model?: any, itemData?: any, itemElement?: dxElement, itemIndex?: number, jQueryEvent?: JQueryEventObject, event?: event }) => any);
/**
* @docid CollectionWidgetOptions.onItemHold
* @extends Action
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 itemData:object
* @type_function_param1_field5 itemElement:dxElement
* @type_function_param1_field6 itemIndex:number
* @type_function_param1_field7 event:event
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onItemHold?: ((e: { component?: T, element?: dxElement, model?: any, itemData?: any, itemElement?: dxElement, itemIndex?: number, event?: event }) => any);
/**
* @docid CollectionWidgetOptions.onItemRendered
* @extends Action
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 itemData:object
* @type_function_param1_field5 itemElement:dxElement
* @type_function_param1_field6 itemIndex:number
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onItemRendered?: ((e: { component?: T, element?: dxElement, model?: any, itemData?: any, itemElement?: dxElement, itemIndex?: number }) => any);
/**
* @docid CollectionWidgetOptions.onSelectionChanged
* @extends Action
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 addedItems:array<any>
* @type_function_param1_field5 removedItems:array<any>
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onSelectionChanged?: ((e: { component?: T, element?: dxElement, model?: any, addedItems?: Array<any>, removedItems?: Array<any> }) => any);
/**
* @docid CollectionWidgetOptions.selectedIndex
* @type number
* @default -1
* @fires CollectionWidgetOptions.onSelectionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
selectedIndex?: number;
/**
* @docid CollectionWidgetOptions.selectedItem
* @type object
* @default null
* @fires CollectionWidgetOptions.onSelectionChanged
* @ref
* @prevFileNamespace DevExpress.ui
* @public
*/
selectedItem?: any;
/**
* @docid CollectionWidgetOptions.selectedItemKeys
* @type Array<any>
* @fires CollectionWidgetOptions.onSelectionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
selectedItemKeys?: Array<any>;
/**
* @docid CollectionWidgetOptions.selectedItems
* @type Array<any>
* @fires CollectionWidgetOptions.onSelectionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
selectedItems?: Array<any>;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
/** The base class for widgets containing an item collection. */
export default class CollectionWidget extends Widget {
constructor(element: Element, options?: CollectionWidgetOptions)
constructor(element: JQuery, options?: CollectionWidgetOptions)
getDataSource(): DataSource;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface CollectionWidgetItem {
/**
* @docid CollectionWidgetItem.disabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
disabled?: boolean;
/**
* @docid CollectionWidgetItem.html
* @type String
* @prevFileNamespace DevExpress.ui
* @public
*/
html?: string;
/**
* @docid CollectionWidgetItem.template
* @type template|function
* @type_function_return string|Node|jQuery
* @prevFileNamespace DevExpress.ui
* @public
*/
template?: template | (() => string | Element | JQuery);
/**
* @docid CollectionWidgetItem.text
* @type String
* @prevFileNamespace DevExpress.ui
* @public
*/
text?: string;
/**
* @docid CollectionWidgetItem.visible
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
visible?: boolean;
}