/// import { Properties as dxListOptions } from 'devextreme/ui/list'; import * as ko from 'knockout'; import { DxElement } from '../../../common/common-interfaces'; import { DashboardLocalizationId } from '../../../data/localization/_default'; import { CollectionEditorOptionsBase, CollectionEditorRefreshCallback, CollectionEditorViewModelBase } from './_collection-editor-viewmodel-base'; export interface CollectionEditorOptions extends CollectionEditorOptionsBase { propertyName?: string; isToolbarVisible?: boolean; allowAddItem?: boolean; allowReorderItem?: boolean; allowRemoveItem?: boolean; createNewItemHandler?: () => T; editItemHandler: (item: T, args: CollectionEditorEditItemArguments, container?: ko.Observable) => void; removeItemHandler?: (item: T) => void; enableRemoveItem?: () => boolean; reorderItemsHandler?: (item: T, direction: 'up' | 'down') => void; visibleItemsFilter?: (item: T) => boolean; customTemplate?: (itemData: T, itemIndex: number, itemElement: DxElement) => HTMLElement; forceRefreshCallback?: CollectionEditorRefreshCallback; } export declare class CollectionEditorViewModel extends CollectionEditorViewModelBase { private dataField; private dataSource; private enableEditItem; private enableRemoveItem; private createNewItemHandler; private editItemHandler; private removeItemHandler; private reorderItemsHandler; private visibleItemsFilter; private customTemplate; private subscriptions; customToolbarItems: Array<{ name: DashboardLocalizationId | string; icon: string; action: () => void; }>; constructor(params: CollectionEditorOptions, dataSource: ko.ObservableArray); getListOptions(): dxListOptions; add: () => void; edit: () => void; remove: () => void; up: () => void; down: () => void; protected _itemTemplate(itemData: any, itemIndex: any, itemElement: any): void; protected _getDisplayText(itemData: any): any; private _moveSelectedGridRow; protected _updateActionsState(): void; private _safeReloadDataSource; dispose(): void; } export declare class CollectionEditorEditItemArguments { requestRecalculation: JQuery.Callbacks; createImmediately: boolean; }