devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
115 lines (111 loc) • 3.62 kB
TypeScript
/**
* DevExtreme (data/custom_store.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 Store, {
StoreOptions
} from './abstract_store';
import {
LoadOptions
} from './load_options';
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface CustomStoreOptions extends StoreOptions<CustomStore> {
/**
* @docid CustomStoreOptions.byKey
* @type function
* @type_function_param1 key:object|string|number
* @type_function_return Promise<any>
* @prevFileNamespace DevExpress.data
* @public
*/
byKey?: ((key: any | string | number) => Promise<any> | JQueryPromise<any>);
/**
* @docid CustomStoreOptions.cacheRawData
* @type boolean
* @default true
* @prevFileNamespace DevExpress.data
* @public
*/
cacheRawData?: boolean;
/**
* @docid CustomStoreOptions.insert
* @type function
* @type_function_param1 values:object
* @type_function_return Promise<any>
* @prevFileNamespace DevExpress.data
* @public
*/
insert?: ((values: any) => Promise<any> | JQueryPromise<any>);
/**
* @docid CustomStoreOptions.load
* @type function
* @type_function_param1 options:LoadOptions
* @type_function_return Promise<any>|Array<any>
* @prevFileNamespace DevExpress.data
* @public
*/
load?: ((options: LoadOptions) => Promise<any> | JQueryPromise<any> | Array<any>);
/**
* @docid CustomStoreOptions.loadMode
* @type string
* @default 'processed'
* @acceptValues 'processed'|'raw'
* @prevFileNamespace DevExpress.data
* @public
*/
loadMode?: 'processed' | 'raw';
/**
* @docid CustomStoreOptions.remove
* @type function
* @type_function_param1 key:object|string|number
* @type_function_return Promise<void>
* @prevFileNamespace DevExpress.data
* @public
*/
remove?: ((key: any | string | number) => Promise<void> | JQueryPromise<void>);
/**
* @docid CustomStoreOptions.totalCount
* @type function
* @type_function_param1 loadOptions:object
* @type_function_param1_field1 filter:object
* @type_function_param1_field2 group:object
* @type_function_return Promise<number>
* @prevFileNamespace DevExpress.data
* @public
*/
totalCount?: ((loadOptions: { filter?: any, group?: any }) => Promise<number> | JQueryPromise<number>);
/**
* @docid CustomStoreOptions.update
* @type function
* @type_function_param1 key:object|string|number
* @type_function_param2 values:object
* @type_function_return Promise<any>
* @prevFileNamespace DevExpress.data
* @public
*/
update?: ((key: any | string | number, values: any) => Promise<any> | JQueryPromise<any>);
/**
* @docid CustomStoreOptions.useDefaultSearch
* @type boolean
* @default undefined
* @prevFileNamespace DevExpress.data
* @public
*/
useDefaultSearch?: boolean;
}
/** The CustomStore enables you to implement custom data access logic for consuming data from any source. */
export default class CustomStore extends Store {
constructor(options?: CustomStoreOptions)
/**
* @docid CustomStoreMethods.clearRawDataCache
* @publicName clearRawDataCache()
* @prevFileNamespace DevExpress.data
* @public
*/
clearRawDataCache(): void;
}