/devextreme/dx.devextreme.d.ts

https://github.com/vilic/DefinitelyTyped · TypeScript Typings · 5670 lines · 3555 code · 2 blank · 2113 comment · 1 complexity · b2ea57cceba4f4426ea4ba147ce31cad MD5 · raw file

  1. // Type definitions for DevExtreme 14.2+
  2. // Project: http://js.devexpress.com/
  3. // Definitions by: DevExpress Inc. <http://devexpress.com/>
  4. // Definitions: https://github.com/borisyankov/DefinitelyTyped
  5. ///<reference path="../jquery/jquery.d.ts" />
  6. declare module DevExpress {
  7. /** A mixin that provides a capability to fire and subscribe to events. */
  8. export interface EventsMixin<T> {
  9. /** Subscribes to a specified event. */
  10. on(eventName: string, eventHandler: Function): T;
  11. /** Subscribes to the specified events. */
  12. on(events: { [eventName: string]: Function; }): T;
  13. /** Detaches all event handlers from the specified event. */
  14. off(eventName: string): Object;
  15. /** Detaches a particular event handler from the specified event. */
  16. off(eventName: string, eventHandler: Function): T;
  17. }
  18. /** An object that serves as a namespace for the methods required to perform validation. */
  19. export module validationEngine {
  20. export interface IValidator {
  21. validate(): ValidatorValidationResult;
  22. }
  23. export interface ValidatorValidationResult {
  24. isValid: boolean;
  25. name?: string;
  26. value: any;
  27. brokenRule: any;
  28. validationRules: any[];
  29. }
  30. export interface ValidationGroupValidationResult {
  31. isValid: boolean;
  32. brokenRules: any[];
  33. validators: IValidator[];
  34. }
  35. export interface GroupConfig extends EventsMixin<GroupConfig> {
  36. group: any;
  37. validators: IValidator[];
  38. validate(): ValidationGroupValidationResult;
  39. }
  40. /** Provides access to the object that represents the specified validation group. */
  41. export function getGroupConfig(group: any): GroupConfig
  42. /** Provides access to the object that represents the default validation group. */
  43. export function getGroupConfig(): GroupConfig
  44. /** Validates rules of the validators that belong to the specified validation group. */
  45. export function validateGroup(group: any): ValidationGroupValidationResult;
  46. /** Validates rules of the validators that belong to the default validation group. */
  47. export function validateGroup(): ValidationGroupValidationResult;
  48. /** Validates the rules that are defined within the dxValidator objects that are registered for the specified ViewModel. */
  49. export function validateModel(model: Object): ValidationGroupValidationResult;
  50. /** Registers all the dxValidator objects by which the fields of the specified ViewModel are extended. */
  51. export function registerModelForValidation(model: Object): void;
  52. }
  53. export var hardwareBackButton: JQueryCallback;
  54. /** Processes the hardware back button click. */
  55. export function processHardwareBackButton(): void;
  56. /** Specifies whether or not the entire application/site supports right-to-left representation. */
  57. export var rtlEnabled: boolean;
  58. /** Registers a new component in the DevExpress.ui namespace, and a jQuery plugin and Knockout binding for the required component. */
  59. export function registerComponent(name: string, componentClass: Object): void;
  60. /** Registers a new component in the specified namespace as a jQuery plugin, Angular directive and Knockout binding. */
  61. export function registerComponent(name: string, namespace: Object, componentClass: Object): void;
  62. /** Requests that the browser call a specified function to update animation before the next repaint. */
  63. export function requestAnimationFrame(callback: Function): number;
  64. /** Cancels an animation frame request scheduled with the requestAnimationFrame method. */
  65. export function cancelAnimationFrame(requestID: number): void;
  66. /** Custom Knockout binding that links an HTML element with a specific action. */
  67. export class Action { }
  68. /** Used to get URLs that vary in a locally running application and the application running on production. */
  69. export class EndpointSelector {
  70. constructor(options: {
  71. [key: string]: {
  72. local?: string;
  73. production?: string;
  74. }
  75. });
  76. /** Returns a local or a productional URL depending on how the application is currently running. */
  77. urlFor(key: string): string;
  78. }
  79. /** An object that serves as a namespace for the methods that are used to animate UI elements. */
  80. export module fx {
  81. /** The animation object specifies the widget animation options. */
  82. export interface AnimationOptions {
  83. /** A function called after animation is completed. */
  84. complete?: (element: JQuery, config: AnimationOptions) => void;
  85. /** A number specifying wait time before animation execution. */
  86. delay?: number;
  87. /** A number specifying the time in milliseconds spent on animation. */
  88. duration?: number;
  89. /** A string specifying the type of an easing function used for animation. */
  90. easing?: string;
  91. /** Specifies the initial widget animation state. */
  92. from?: any;
  93. /** A function called before animation is started. */
  94. start?: (element: JQuery, config: AnimationOptions) => void;
  95. /** Specifies the initial widget animation state. */
  96. to?: any;
  97. /** A string value specifying the animation type. */
  98. type?: string;
  99. /** Specifies the animation direction for the "slideIn" and "slideOut" animation types. */
  100. direction?: string;
  101. }
  102. /** Animates the specified element. */
  103. export function animate(element: HTMLElement, config: Object): Object;
  104. /** Returns a value indicating whether the specified element is being animated. */
  105. export function isAnimating(element: HTMLElement): boolean;
  106. /** Stops the animation. */
  107. export function stop(element: HTMLElement, jumpToEnd: boolean): void;
  108. }
  109. /** An object that serves as a namespace for the methods and events specifying information on the current device. */
  110. export module devices {
  111. /** The device object defines the device on which the application is running. */
  112. export interface Device {
  113. /** Indicates whether or not the device platform is Android. */
  114. android?: boolean;
  115. /** Specifies the type of the device on which the application is running. */
  116. deviceType?: string;
  117. /** Indicates whether or not the device platform is generic, which means that the application will look and behave according to a generic "light" or "dark" theme. */
  118. generic?: boolean;
  119. /** Indicates whether or not the device platform is iOS. */
  120. ios?: boolean;
  121. /** Indicates whether or not the device type is 'phone'. */
  122. phone?: boolean;
  123. /** Specifies the platform of the device on which the application is running. */
  124. platform?: string;
  125. /** Indicates whether or not the device type is 'tablet'. */
  126. tablet?: boolean;
  127. /** Indicates whether or not the device platform is Tizen. */
  128. tizen?: boolean;
  129. /** Specifies an array with the major and minor versions of the device platform. */
  130. version?: Array<number>;
  131. /** Indicates whether or not the device platform is Windows8. */
  132. win8?: boolean;
  133. }
  134. export var orientationChanged: JQueryCallback;
  135. /** Overrides actual device information to force the application to operate as if it was running on the specified device. */
  136. export function current(deviceName: any): void;
  137. /** Returns information about the current device. */
  138. export function current(): Device;
  139. /** Returns the current device orientation. */
  140. export function orientation(): string;
  141. /** Returns real information about the current device regardless of the value passed to the devices.current(deviceName) method. */
  142. export function real(): Device;
  143. }
  144. /** The position object specifies the widget positioning options. */
  145. export interface PositionOptions {
  146. /** The target element position that the widget is positioned against. */
  147. at?: string;
  148. /** The element within which the widget is positioned. */
  149. boundary?: Element;
  150. /** A string value holding horizontal and vertical offset from the window's boundaries. */
  151. boundaryOffset?: string;
  152. /** Specifies how to move the widget if it overflows the screen. */
  153. collision?: any;
  154. /** The position of the widget to align against the target element. */
  155. my?: string;
  156. /** The target element that the widget is positioned against. */
  157. of?: HTMLElement;
  158. /** A string value holding horizontal and vertical offset in pixels, separated by a space (e.g., "5 -10"). */
  159. offset?: string;
  160. }
  161. export interface ComponentOptions {
  162. /** A handler for the optionChanged event. */
  163. onOptionChanged?: Function;
  164. /** A handler for the disposing event. */
  165. onDisposing?: Function;
  166. }
  167. /** A base class for all components and widgets. */
  168. export class Component {
  169. constructor(options?: ComponentOptions)
  170. /** Prevents the component from refreshing until the endUpdate method is called. */
  171. beginUpdate(): void;
  172. /** Enables the component to refresh after the beginUpdate method call. */
  173. endUpdate(): void;
  174. /** Returns an instance of this component class. */
  175. instance(): Component;
  176. /** Sets one or more options of this component. */
  177. option(options: Object): void;
  178. /** Returns the configuration options of this component. */
  179. option(): Object;
  180. /** Gets the value of the specified configuration option of this component. */
  181. option(optionName: string): any;
  182. /** Sets a value to the specified configuration option of this component. */
  183. option(optionName: string, optionValue: any): void;
  184. }
  185. export interface DOMComponentOptions extends ComponentOptions {
  186. /** Specifies whether or not the current component supports a right-to-left representation. */
  187. rtlEnabled?: boolean;
  188. }
  189. /** A base class for all components. */
  190. export class DOMComponent extends Component {
  191. constructor(element: JQuery, options?: DOMComponentOptions);
  192. constructor(element: HTMLElement, options?: DOMComponentOptions);
  193. /** Returns the root HTML element of the widget. */
  194. element(): JQuery;
  195. /** Specifies the device-dependent default configuration options for this component. */
  196. static defaultOptions(rule: {
  197. device?: any;
  198. options?: any;
  199. }): void;
  200. }
  201. export module data {
  202. export interface ODataError extends Error {
  203. httpStatus?: number;
  204. errorDetails?: any;
  205. }
  206. export interface StoreOptions {
  207. inserted?: (values: Object, key: any) => void;
  208. inserting?: (values: Object) => void;
  209. loaded?: (result: Array<any>) => void;
  210. loading?: (loadOptions: LoadOptions) => void;
  211. modified?: () => void;
  212. modifying?: () => void;
  213. removed?: (key: any) => void;
  214. removing?: (key: any) => void;
  215. updated?: (key: any, values: Object) => void;
  216. updating?: (key: any, values: Object) => void;
  217. /** A handler for the modified event. */
  218. onModified?: () => void;
  219. /** A handler for the modifying event. */
  220. onModifying?: () => void;
  221. /** A handler for the removed event. */
  222. onRemoved?: (key: any) => void;
  223. /** A handler for the removing event. */
  224. onRemoving?: (key: any) => void;
  225. /** A handler for the updated event. */
  226. onUpdated?: (key: any, values: Object) => void;
  227. /** A handler for the updating event. */
  228. onUpdating?: (key: any, values: Object) => void;
  229. /** A handler for the loaded event. */
  230. onLoaded?: (result: Array<any>) => void;
  231. /** A handler for the loading event. */
  232. onLoading?: (loadOptions: LoadOptions) => void;
  233. /** A handler for the inserted event. */
  234. onInserted?: (values: Object, key: any) => void;
  235. /** A handler for the inserting event. */
  236. onInserting?: (values: Object) => void;
  237. /** Specifies the function called when the Store causes an error. */
  238. errorHandler?: (e: Error) => void;
  239. /** Specifies the key properties within the data associated with the Store. */
  240. key?: any;
  241. }
  242. export interface LoadOptions {
  243. filter?: Object;
  244. sort?: Object;
  245. select?: Object;
  246. group?: Object;
  247. skip?: number;
  248. take?: number;
  249. userData?: Object;
  250. requireTotalCount?: boolean;
  251. }
  252. /** The base class for all Stores. */
  253. export class Store implements EventsMixin<Store> {
  254. inserted: JQueryCallback;
  255. inserting: JQueryCallback;
  256. loaded: JQueryCallback;
  257. loading: JQueryCallback;
  258. modified: JQueryCallback;
  259. modifying: JQueryCallback;
  260. removed: JQueryCallback;
  261. removing: JQueryCallback;
  262. updated: JQueryCallback;
  263. updating: JQueryCallback;
  264. constructor(options?: StoreOptions);
  265. /** Returns the data item specified by the key. */
  266. byKey(key: any, extraOptions?: Object): JQueryPromise<any>;
  267. /** Adds an item to the data associated with this Store. */
  268. insert(values: Object): JQueryPromise<any>;
  269. /** Returns the key expression specified via the key configuration option. */
  270. key(): any;
  271. /** Returns the key of the Store item that matches the specified object. */
  272. keyOf(obj: Object): any;
  273. /** Starts loading the data. */
  274. load(obj?: LoadOptions): JQueryPromise<any[]>;
  275. /** Removes the data item specified by the key. */
  276. remove(key: any): JQueryPromise<any>;
  277. /** Obtains the total count of items that will be returned by the load() function. */
  278. totalCount(obj?: {
  279. filter?: Object;
  280. select?: Object;
  281. group?: Object;
  282. sort?: Object;
  283. }): JQueryPromise<any>;
  284. /** Updates the data item specified by the key. */
  285. update(key: any, values: Object): JQueryPromise<any>;
  286. on(eventName: "removing", eventHandler: (key: any) => void): Store;
  287. on(eventName: "removed", eventHandler: (key: any) => void): Store;
  288. on(eventName: "updating", eventHandler: (key: any, values: Object) => void): Store;
  289. on(eventName: "updated", eventHandler: (key: any, values: Object) => void): Store;
  290. on(eventName: "inserting", eventHandler: (values: Object) => void): Store;
  291. on(eventName: "inserted", eventHandler: (values: Object, key: any) => void): Store;
  292. on(eventName: "modifying", eventHandler: () => void): Store;
  293. on(eventName: "modified", eventHandler: () => void): Store;
  294. on(eventName: "loading", eventHandler: (loadOptions: LoadOptions) => void): Store;
  295. on(eventName: "loaded", eventHandler: (result: Array<any>) => void): Store;
  296. on(eventName: string, eventHandler: Function): Store;
  297. on(events: { [eventName: string]: Function; }): Store;
  298. off(eventName: "removing"): Store;
  299. off(eventName: "removed"): Store;
  300. off(eventName: "updating"): Store;
  301. off(eventName: "updated"): Store;
  302. off(eventName: "inserting"): Store;
  303. off(eventName: "inserted"): Store;
  304. off(eventName: "modifying"): Store;
  305. off(eventName: "modified"): Store;
  306. off(eventName: "loading"): Store;
  307. off(eventName: "loaded"): Store;
  308. off(eventName: string): Store;
  309. off(eventName: "removing", eventHandler: (key: any) => void): Store;
  310. off(eventName: "removed", eventHandler: (key: any) => void): Store;
  311. off(eventName: "updating", eventHandler: (key: any, values: Object) => void): Store;
  312. off(eventName: "updated", eventHandler: (key: any, values: Object) => void): Store;
  313. off(eventName: "inserting", eventHandler: (values: Object) => void): Store;
  314. off(eventName: "inserted", eventHandler: (values: Object, key: any) => void): Store;
  315. off(eventName: "modifying", eventHandler: () => void): Store;
  316. off(eventName: "modified", eventHandler: () => void): Store;
  317. off(eventName: "loading", eventHandler: (loadOptions: LoadOptions) => void): Store;
  318. off(eventName: "loaded", eventHandler: (result: Array<any>) => void): Store;
  319. off(eventName: string, eventHandler: Function): Store;
  320. }
  321. export interface ArrayStoreOptions extends StoreOptions {
  322. /** Specifies the array associated with this Store. */
  323. data?: Array<any>;
  324. }
  325. /** A Store accessing an in-memory array. */
  326. export class ArrayStore extends Store {
  327. constructor(options?: ArrayStoreOptions);
  328. /** Clears all data associated with the current ArrayStore. */
  329. clear(): void;
  330. /** Creates the Query object for the underlying array. */
  331. createQuery(): Query;
  332. }
  333. interface Promise {
  334. then(doneFn?: Function, failFn?: Function, progressFn?: Function): Promise;
  335. }
  336. export interface CustomStoreOptions extends StoreOptions {
  337. /** The user implementation of the byKey(key, extraOptions) method. */
  338. byKey?: (key: any) => Promise;
  339. /**
  340. * User implementation of the byKey(key, extraOptions) method.
  341. * @deprecated Use "byKey" instead
  342. */
  343. lookup?: (key: any) => Promise;
  344. /** The user implementation of the insert(values) method. */
  345. insert?: (values: Object) => Promise;
  346. /** The user implementation of the load(options) method. */
  347. load?: (options?: LoadOptions) => Promise;
  348. /** The user implementation of the remove(key) method. */
  349. remove?: (key: any) => Promise;
  350. /** The user implementation of the totalCount(options) method. */
  351. totalCount?: () => Promise;
  352. /** The user implementation of the update(key, values) method. */
  353. update?: (key: any, values: Object) => Promise;
  354. }
  355. /** A Store object that enables you to implement your own data access logic. */
  356. export class CustomStore extends Store {
  357. constructor(options: CustomStoreOptions);
  358. }
  359. export interface DataSourceOptions {
  360. /** Specifies data filtering conditions. */
  361. filter?: Object;
  362. /** Specifies data grouping conditions. */
  363. group?: Object;
  364. /** The item mapping function. */
  365. map?: (record: any) => any;
  366. /** Specifies the maximum number of items the page can contain. */
  367. pageSize?: number;
  368. /** Specifies whether a DataSource loads data by pages, or all items at once. */
  369. paginate?: boolean;
  370. /** The data post processing function. */
  371. postProcess?: (data: any[]) => any[];
  372. /** Specifies a value by which the required items are searched. */
  373. searchExpr?: Object;
  374. /** Specifies the comparison operation used to search for the required items. */
  375. searchOperation?: string;
  376. /** Specifies the value to which the search expression is compared. */
  377. searchValue?: Object;
  378. /** Specifies the initial select option value. */
  379. select?: Object;
  380. /** Specifies the initial sort option value. */
  381. sort?: Object;
  382. /** Specifies the underlying Store instance used to access data. */
  383. store?: any;
  384. /** A handler for the changed event. */
  385. onChanged?: () => void;
  386. /** A handler for the loadingChanged event. */
  387. onLoadingChanged?: (isLoading: boolean) => void;
  388. /** A handler for the loadError event. */
  389. onLoadError?: (e?: Error) => void;
  390. }
  391. /** An object that provides access to a data web service or local data storage for collection container widgets. */
  392. export class DataSource implements EventsMixin<DataSource> {
  393. constructor(options?: DataSourceOptions);
  394. changed: JQueryCallback;
  395. loadError: JQueryCallback;
  396. loadingChanged: JQueryCallback;
  397. /** Disposes all resources associated with this DataSource. */
  398. dispose(): void;
  399. /** Returns the current filter option value. */
  400. filter(): Object;
  401. /** Sets the filter option value. */
  402. filter(filterExpr: Object): void;
  403. /** Returns the current group option value. */
  404. group(): Object;
  405. /** Sets the group option value. */
  406. group(groupExpr: Object): void;
  407. /** Indicates whether or not the current page contains fewer items than the number of items specified by the pageSize configuration option. */
  408. isLastPage(): boolean;
  409. /** Indicates whether or not at least one load() method execution has successfully finished. */
  410. isLoaded(): boolean;
  411. /** Indicates whether or not the DataSource is currently being loaded. */
  412. isLoading(): boolean;
  413. /** Returns the array of items currently operated by the DataSource. */
  414. items(): Array<any>;
  415. /** Returns the key expression. */
  416. key(): any;
  417. /** Starts loading data. */
  418. load(): JQueryPromise<Array<any>>;
  419. /** Returns an object that would be passed to the load() method of the underlying Store according to the current data shaping option values of the current DataSource instance. */
  420. loadOptions(): Object;
  421. /** Returns the current pageSize option value. */
  422. pageSize(): number;
  423. /** Sets the pageSize option value. */
  424. pageSize(value: number): void;
  425. /** Specifies the index of the currently loaded page. */
  426. pageIndex(): number;
  427. /** Specifies the index of the page to be loaded during the next load() method execution. */
  428. pageIndex(newIndex: number): void;
  429. /** Returns the current paginate option value. */
  430. paginate(): boolean;
  431. /** Sets the paginate option value. */
  432. paginate(value: boolean): void;
  433. /** Returns the searchExpr option value. */
  434. searchExpr(): Object;
  435. /** Sets the searchExpr option value. */
  436. searchExpr(expr: Object): void;
  437. /** Returns the currently specified search operation. */
  438. searchOperation(): string;
  439. /** Sets the current search operation. */
  440. searchOperation(op: string): void;
  441. /** Returns the searchValue option value. */
  442. searchValue(): Object;
  443. /** Sets the searchValue option value. */
  444. searchValue(value: Object): void;
  445. /** Returns the current select option value. */
  446. select(): Object;
  447. /** Sets the select option value. */
  448. select(expr: Object): void;
  449. /** Returns the current sort option value. */
  450. sort(): Object;
  451. /** Sets the sort option value. */
  452. sort(sortExpr: Object): void;
  453. /** Returns the underlying Store instance. */
  454. store(): Store;
  455. /** Returns the number of data items available in an underlying Store after the last load() operation without paging. */
  456. totalCount(): number;
  457. on(eventName: "loadingChanged", eventHandler: (isLoading: boolean) => void): DataSource;
  458. on(eventName: "loadError", eventHandler: (e?: Error) => void): DataSource;
  459. on(eventName: "changed", eventHandler: () => void): DataSource;
  460. on(eventName: string, eventHandler: Function): DataSource;
  461. on(events: { [eventName: string]: Function; }): DataSource;
  462. off(eventName: "loadingChanged"): DataSource;
  463. off(eventName: "loadError"): DataSource;
  464. off(eventName: "changed"): DataSource;
  465. off(eventName: string): DataSource;
  466. off(eventName: "loadingChanged", eventHandler: (isLoading: boolean) => void): DataSource;
  467. off(eventName: "loadError", eventHandler: (e?: Error) => void): DataSource;
  468. off(eventName: "changed", eventHandler: () => void): DataSource;
  469. off(eventName: string, eventHandler: Function): DataSource;
  470. }
  471. /** An object used to work with primitive data types not supported by JavaScript when accessing an OData web service. */
  472. export class EdmLiteral {
  473. /** Returns a string representation of the value associated with this EdmLiteral object. */
  474. valueOf(): string;
  475. }
  476. /** An object used to generate and hold the GUID. */
  477. export class Guid {
  478. /** Creates a new Guid instance that holds the specified GUID. */
  479. constructor(value: string);
  480. /** Creates a new Guid instance holding the generated GUID. */
  481. constructor();
  482. /** Returns a string representation of the Guid instance. */
  483. toString(): string;
  484. /** Returns a string representation of the Guid instance. */
  485. valueOf(): string;
  486. }
  487. export interface LocalStoreOptions extends ArrayStoreOptions {
  488. /** Specifies the time (in miliseconds) after the change operation, before the data is flushed. */
  489. flushInterval?: number;
  490. /** Specifies whether the data is flushed immediatelly after each change operation, or after the delay specified via the flushInterval option. */
  491. immediate?: boolean;
  492. /** The unique identifier used to distinguish the data within the HTML5 Web Storage. */
  493. name?: string;
  494. }
  495. /** A Store providing access to the HTML5 Web Storage. */
  496. export class LocalStore extends ArrayStore {
  497. constructor(options?: LocalStoreOptions);
  498. /** Removes all data associated with this Store. */
  499. clear(): void;
  500. }
  501. export interface ODataContextOptions extends ODataStoreOptions {
  502. /** Specifies the list of entities to be accessed via the ODataContext. */
  503. entities?: Object;
  504. /** Specifies the function called if the ODataContext causes an error. */
  505. errorHandler?: (e: Error) => void;
  506. }
  507. /** Provides access to the entire OData service. */
  508. export class ODataContext {
  509. constructor(options?: ODataContextOptions);
  510. /** Initiates the specified WebGet service operation that returns a value. For the information on service operations, refer to the OData documentation. */
  511. get(operationName: string, params: Object): JQueryPromise<any>;
  512. /** Initiates the specified WebGet service operation that returns nothing. For the information on service operations, refer to the OData documentation. */
  513. invoke(operationName: string, params: Object, httpMethod: Object): JQueryPromise<any>;
  514. /** Return a special proxy object to describe the entity link. */
  515. objectLink(entityAlias: string, key: any): Object;
  516. }
  517. export interface ODataStoreOptions extends StoreOptions {
  518. /** A function used to customize a web request before it is sent. */
  519. beforeSend?: (request: Object) => void;
  520. /** Specifies whether the ODataStore uses the JSONP approach to access non-CORS-compatible remote services. */
  521. jsonp?: boolean;
  522. /** Specifies the type of the ODataStore key property. The following key types are supported out of the box: String, Int32, Int64, and Guid. */
  523. keyType?: any;
  524. /** Specifies the URL of the data service being accessed via the current ODataContext. */
  525. url?: string;
  526. /** Specifies the version of the OData protocol used to interact with the data service. */
  527. version?: number;
  528. /** Specifies the value of the withCredentials field of the underlying jqXHR object. */
  529. withCredentials?: boolean;
  530. }
  531. /** A Store providing access to a separate OData web service entity. */
  532. export class ODataStore extends Store {
  533. constructor(options?: ODataStoreOptions);
  534. /** Creates the Query object for the OData endpoint. */
  535. createQuery(loadOptions: Object): Object;
  536. }
  537. /** An universal chainable data query interface object. */
  538. export interface Query {
  539. /** Calculates a custom summary for the items in the current Query. */
  540. aggregate(step: (accumulator: any, value: any) => any): JQueryPromise<any>;
  541. /** Calculates a custom summary for the items in the current Query. */
  542. aggregate(seed: any, step: (accumulator: any, value: any) => any, finalize: (result: any) => any): JQueryPromise<any>;
  543. /** Calculates the average item value for the current Query. */
  544. avg(getter: Object): JQueryPromise<any>;
  545. /** Finds the item with the maximum getter value. */
  546. max(getter: Object): JQueryPromise<any>;
  547. /** Finds the item with the maximum value in the Query. */
  548. max(): JQueryPromise<any>;
  549. /** Finds the item with the minimum value in the Query. */
  550. min(): JQueryPromise<any>;
  551. /** Finds the item with the minimum getter value. */
  552. min(getter: Object): JQueryPromise<any>;
  553. /** Calculates the average item value for the current Query, if each Query item has a numeric type. */
  554. avg(): JQueryPromise<any>;
  555. /** Returns the total count of items in the current Query. */
  556. count(): JQueryPromise<any>;
  557. /** Executes the Query. */
  558. enumerate(): JQueryPromise<any>;
  559. /** Filters the current Query data. */
  560. filter(criteria: Array<any>): Query;
  561. /** Groups the current Query data. */
  562. groupBy(getter: Object): Query;
  563. /** Applies the specified transformation to each item. */
  564. select(getter: Object): Query;
  565. /** Limits the data item count. */
  566. slice(skip: number, take?: number): Query;
  567. /** Sorts current Query data. */
  568. sortBy(getter: Object, desc: boolean): Query;
  569. /** Sorts current Query data. */
  570. sortBy(getter: Object): Query;
  571. /** Calculates the sum of item getter values in the current Query. */
  572. sum(getter: Object): JQueryPromise<any>;
  573. /** Calculates the sum of item values in the current Query. */
  574. sum(): JQueryPromise<any>;
  575. /** Adds one more sorting condition to the current Query. */
  576. thenBy(getter: Object): Query;
  577. /** Adds one more sorting condition to the current Query. */
  578. thenBy(getter: Object, desc: boolean): Query;
  579. /** Returns the array of current Query items. */
  580. toArray(): Array<any>;
  581. }
  582. /** The global data layer error handler. */
  583. export var errorHandler: (e: Error) => void;
  584. /** Encodes the specified string or array of bytes to base64 encoding. */
  585. export function base64_encode(input: any): string;
  586. /** Creates a Query instance. */
  587. export function query(array: Array<any>): Query;
  588. /** Creates a Query instance for accessing the remote service specified by a URL. */
  589. export function query(url: string, queryOptions: Object): Query;
  590. /** This section describes the utility objects provided by the DevExtreme data layer. */
  591. export var utils: {
  592. /** Compiles a getter function from the getter expression. */
  593. compileGetter(expr: any): Function;
  594. /** Compiles a setter function from the setter expression. */
  595. compileSetter(expr: any): Function;
  596. odata: {
  597. /** Holds key value converters for OData. */
  598. keyConverters: {
  599. String(value: any): string;
  600. Int32(value: any): number;
  601. Int64(value: any): EdmLiteral;
  602. Guid(value: any): Guid;
  603. Boolean(value: any): boolean;
  604. Single(value: any): EdmLiteral;
  605. Decimal(value: any): EdmLiteral;
  606. };
  607. }
  608. }
  609. }
  610. /** An object that serves as a namespace for DevExtreme UI widgets as well as for methods implementing UI logic in DevExtreme sites/applications. */
  611. export module ui {
  612. /**
  613. * Sets parameters for the viewport meta tag.
  614. * @deprecated Use the "DevExpress.utils.initMobileViewport" option instead.
  615. */
  616. export function initViewport(options: { allowZoom?: boolean; allowPan?: boolean; allowSelection?: boolean }): void;
  617. export interface WidgetOptions extends DOMComponentOptions {
  618. /** A Boolean value specifying whether or not the widget changes its state when interacting with a user. */
  619. activeStateEnabled?: boolean;
  620. /** A Boolean value specifying whether or not the widget can respond to user interaction. */
  621. disabled?: boolean;
  622. /** Specifies the height of the widget. */
  623. height?: any;
  624. /** A Boolean value specifying whether or not the widget changes its state when being hovered by an end user. */
  625. hoverStateEnabled?: boolean;
  626. /** Specifies whether or not the widget can be focused. */
  627. focusStateEnabled?: boolean;
  628. /** A Boolean value specifying whether or not the widget is visible. */
  629. visible?: boolean;
  630. /** Specifies the width of the widget. */
  631. width?: any;
  632. /** Specifies the widget tab index. */
  633. tabIndex?: number;
  634. /** Specifies the text of the hint displayed for the widget. */
  635. hint?: string;
  636. }
  637. /** The base class for widgets. */
  638. export class Widget extends DOMComponent {
  639. constructor(options?: WidgetOptions);
  640. /** Redraws the widget. */
  641. repaint(): void;
  642. /** Sets focus on the widget. */
  643. focus(): void;
  644. }
  645. export interface CollectionWidgetOptions extends WidgetOptions {
  646. /** A data source used to fetch data to be displayed by the widget. */
  647. dataSource?: any;
  648. itemClickAction?: any;
  649. itemHoldAction?: Function;
  650. /** The time period in milliseconds before the onItemHold event is raised. */
  651. itemHoldTimeout?: number;
  652. itemRender?: any;
  653. itemRenderedAction?: Function;
  654. /** An array of items displayed by the widget. */
  655. items?: Array<any>;
  656. /**
  657. * A function performed when a widget item is selected.
  658. * @deprecated Use the 'onSelectionChanged' option instead
  659. */
  660. itemSelectAction?: Function;
  661. /** The template to be used for rendering items. */
  662. itemTemplate?: any;
  663. loopItemFocus?: boolean;
  664. /** The text or HTML markup displayed by the widget if the item collection is empty. */
  665. noDataText?: string;
  666. onContentReady?: any;
  667. contentReadyAction?: any;
  668. /** A handler for the itemClick event. */
  669. onItemClick?: any;
  670. /** A handler for the itemContextMenu event. */
  671. onItemContextMenu?: Function;
  672. /** A handler for the itemHold event. */
  673. onItemHold?: Function;
  674. /** A handler for the itemRendered event. */
  675. onItemRendered?: Function;
  676. /** A handler for the selectionChanged event. */
  677. onSelectionChanged?: Function;
  678. /** The index of the currently selected widget item. */
  679. selectedIndex?: number;
  680. /** The selected item object. */
  681. selectedItem?: Object;
  682. /** An array of currently selected item objects. */
  683. selectedItems?: Array<any>;
  684. /** A handler for the itemDeleting event. */
  685. onItemDeleting?: Function;
  686. /** A handler for the itemDeleted event. */
  687. onItemDeleted?: Function;
  688. /** A handler for the itemReordered event. */
  689. onItemReordered?: Function;
  690. }
  691. /** The base class for widgets containing an item collection. */
  692. export class CollectionWidget extends Widget {
  693. constructor(element: JQuery, options?: CollectionWidgetOptions);
  694. constructor(element: HTMLElement, options?: CollectionWidgetOptions);
  695. selectItem(itemElement: any): void;
  696. unselectItem(itemElement: any): void;
  697. deleteItem(itemElement: any): JQueryPromise<void>;
  698. isItemSelected(itemElement: any): boolean;
  699. reorderItem(itemElement: any, toItemElement: any): JQueryPromise<void>;
  700. }
  701. export interface DataExpressionMixinOptions {
  702. /** A data source used to fetch data to be displayed by the widget. */
  703. dataSource?: any;
  704. /** Specifies the name of the data source item field whose value is displayed by the widget. */
  705. displayExpr?: any;
  706. /** Specifies the name of a data source item field whose value is held in the value configuration option. */
  707. valueExpr?: any;
  708. itemRender?: any;
  709. /** An array of items displayed by the widget. */
  710. items?: Array<any>;
  711. /** The template to be used for rendering items. */
  712. itemTemplate?: any;
  713. /** The currently selected value in the widget. */
  714. value?: any;
  715. }
  716. export interface EditorOptions extends WidgetOptions {
  717. /** The currently specified value. */
  718. value?: any;
  719. /** A handler for the valueChanged event. */
  720. onValueChanged?: Function;
  721. valueChangeAction?: Function;
  722. /** A Boolean value specifying whether or not the widget is read-only. */
  723. readOnly?: boolean;
  724. /** Holds the object that defines the error that occurred during validation. */
  725. validationError?: Object;
  726. /** Specifies whether the editor's value is valid. */
  727. isValid?: boolean;
  728. /** Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed. */
  729. validationMessageMode?: string;
  730. }
  731. /** A base class for editors. */
  732. export class Editor extends Widget { }
  733. /** An object that serves as a namespace for methods displaying a message in an application/site. */
  734. export var dialog: {
  735. /** Creates an alert dialog message containing a single "OK" button. */
  736. alert(message: string, title: string): JQueryPromise<void>;
  737. /** Creates a confirm dialog that contains "Yes" and "No" buttons. */
  738. confirm(message: string, title: string): JQueryPromise<boolean>;
  739. /** Creates a custom dialog using the options specified by the passed configuration object. */
  740. custom(options: { title?: string; message?: string; buttons?: Array<Object>; }): {
  741. show(): JQueryPromise<any>;
  742. hide(): void;
  743. hide(value: any): void;
  744. };
  745. };
  746. /** Creates a toast message. */
  747. export function notify(message: any, type: string, displayTime: number): void;
  748. /** Creates a toast message. */
  749. export function notify(options: Object): void;
  750. /** An object that serves as a namespace for the methods that work with DevExtreme CSS Themes. */
  751. export var themes: {
  752. /** Returns the name of the currently applied theme. */
  753. current(): string;
  754. /** Changes the current theme to the specified one. */
  755. current(themeName: string): void;
  756. };
  757. /** Sets a specified template engine. */
  758. export function setTemplateEngine(name: string): void;
  759. /** Sets a custom template engine defined via custom compile and render functions. */
  760. export function setTemplateEngine(options: Object): void;
  761. /** An object that serves as a namespace for utility methods that can be helpful when working with the DevExtreme framework and UI widgets. */
  762. export var utils: {
  763. /** Sets parameters for the viewport meta tag. */
  764. initMobileViewport(options: { allowZoom?: boolean; allowPan?: boolean; allowSelection?: boolean }): void;
  765. };
  766. }
  767. }
  768. declare module DevExpress.framework {
  769. /** An object used to store information on the views displayed in an application. */
  770. export class ViewCache {
  771. viewRemoved: JQueryCallback;
  772. /** Removes all the viewInfo objects from the cache. */
  773. clear(): void;
  774. /** Obtains a viewInfo object from the cache by the specified key. */
  775. getView(key: string): Object;
  776. /** Checks whether or not a viewInfo object is contained in the view cache under the specified key. */
  777. hasView(key: string): boolean;
  778. /** Removes a viewInfo object from the cache by the specified key. */
  779. removeView(key: string): Object;
  780. /** Adds the specified viewInfo object to the cache under the specified key. */
  781. setView(key: string, viewInfo: Object): void;
  782. }
  783. export interface dxCommandOptions extends DOMComponentOptions {
  784. action?: any;
  785. /** Specifies an action performed when the execute() method of the command is called. */
  786. onExecute?: any;
  787. /** Indicates whether or not the widget that displays this command is disabled. */
  788. disabled?: boolean;
  789. /** Specifies the name of the icon shown inside the widget associated with this command. */
  790. icon?: string;
  791. /** A URL pointing to the icon shown inside the widget associated with this command. */
  792. iconSrc?: string;
  793. /** The identifier of the command. */
  794. id?: string;
  795. /** Specifies the title of the widget associated with this command. */
  796. title?: string;
  797. /** Specifies the type of the button, if the command is rendered as a dxButton widget. */
  798. type?: string;
  799. /** A Boolean value specifying whether or not the widget associated with this command is visible. */
  800. visible?: boolean;
  801. }
  802. /** A markup component used to define markup options for a command. */
  803. export class dxCommand extends DOMComponent {
  804. constructor(element: JQuery, options: dxCommandOptions);
  805. constructor(options: dxCommandOptions);
  806. /** Executes the action associated with this command. */
  807. execute(): void;
  808. }
  809. /** An object responsible for routing. */
  810. export class Router {
  811. /** Adds a routing rule to the list of registered rules. */
  812. register(pattern: string, defaults?: Object, constraints?: Object): void;
  813. /** Decodes the specified URI to an object using the registered routing rules. */
  814. parse(uri: string): Object;
  815. /** Formats an object to a URI. */
  816. format(obj: Object): string;
  817. }
  818. export module html {
  819. export var layoutSets: Array<string>;
  820. export interface HtmlApplicationOptions {
  821. /** Specifies where the commands that are defined in the application's views must be displayed. */
  822. commandMapping?: Object;
  823. /**
  824. * The name of the default layout used by the application.
  825. * @deprecated Use the "navigationType" option instead.
  826. */
  827. defaultLayout?: string;
  828. /** Specifies whether or not view caching is disabled. */
  829. disableViewCache?: boolean;
  830. /** An array of layout controllers that should be used to show application views in the current navigation context. */
  831. layoutSet?: any;
  832. /** Specifies whether the current application must behave as a mobile or web application. */
  833. mode?: string;
  834. /** Specifies the object that represents a root namespace of the application. */
  835. namespace?: Object;
  836. /** Specifies application behavior when the user navigates to a root view. */
  837. navigateToRootViewMode?: string;
  838. /** An array of dxCommand configuration objects used to define commands available from the application's global navigation. */
  839. navigation?: Array<any>;
  840. /**
  841. * Specifies a strategy for choosing layouts for views in your application.
  842. * @deprecated Use the "layoutSet" option instead.
  843. */
  844. navigationType?: string;
  845. /**
  846. * Specifies the object that represents the root namespace of the application.
  847. * @deprecated Use the "namespace" option instead.
  848. */
  849. ns?: Object;
  850. /** Indicates whether on not to use the title of the previously displayed view as text on the Back button. */
  851. useViewTitleAsBackText?: boolean;
  852. /** A custom view cache to be used in the application. */
  853. viewCache?: Object;
  854. /** Specifies a limit for the views that can be cached. */
  855. viewCacheSize?: number;
  856. /** Specifies options for the viewport meta tag of a mobile browser. */
  857. viewPort?: JQuery;
  858. /** A custom router to be used in the application. */
  859. router?: Router;
  860. }
  861. /** An object used to manage views, as well as control the application life cycle. */
  862. export class HtmlApplication implements EventsMixin<HtmlApplication> {
  863. constructor(options: HtmlApplicationOptions);
  864. afterViewSetup: JQueryCallback;
  865. beforeViewSetup: JQueryCallback;
  866. initialized: JQueryCallback;
  867. navigating: JQueryCallback;
  868. navigatingBack: JQueryCallback;
  869. resolveLayoutController: JQueryCallback;
  870. viewDisposed: JQueryCallback;
  871. viewDisposing: JQueryCallback;
  872. viewHidden: JQueryCallback;
  873. viewRendered: JQueryCallback;
  874. viewShowing: JQueryCallback;
  875. viewShown: JQueryCallback;
  876. /** Provides access to the ViewCache object. */
  877. viewCache: ViewCache;
  878. /** An array of dxCommand components that are created based on the application's navigation option value. */
  879. navigation: Array<any>;
  880. /** Provides access to the Router object. */
  881. router: Router;
  882. /** Navigates to the URI preceding the current one in the navigation history. */
  883. back(): void;
  884. /** Returns a Boolean value indicating whether or not backwards navigation is currently possible. */
  885. canBack(): boolean;
  886. /** Removes the application state that has been saved by the saveState() method to the state storage. */
  887. clearState(): void;
  888. /** Creates global navigation commands. */
  889. createNavigation(navigationConfig: Array<any>): void;
  890. /** Returns an HTML template of the specified view. */
  891. getViewTemplate(viewName: string): JQuery;
  892. /** Returns a configuration object used to create a dxView component for a specified view. */
  893. getViewTemplateInfo(viewName: string): Object;
  894. /** Adds a specified HTML template to a collection of view or layout templates. */
  895. loadTemplates(source: any): JQueryPromise<any>;
  896. /** Navigates to the specified URI. */
  897. navigate(uri?: any, options?: Object): void;
  898. /** Renders navigation commands to the navigation command containers that are located in the layouts used in the application. */
  899. renderNavigation(): void;
  900. /** Restores the application state that has been saved by the saveState() method to the state storage, and applies it to the application. */
  901. restoreState(): void;
  902. /** Saves the current application state. */
  903. saveState(): void;
  904. /** Provides access to the object that defines the current context to be considered when choosing an appropriate template for a view. */
  905. templateContext(): Object;
  906. on(eventName: "initialized", eventHandler: () => void): HtmlApplication;
  907. on(eventName: "afterViewSetup", eventHandler: (e: {
  908. viewInfo: Object;
  909. }) => void): HtmlApplication;
  910. on(eventName: "beforeViewSetup", eventHandler: (e: {
  911. viewInfo: Object;
  912. }) => void): HtmlApplication;
  913. on(eventName: "navigating", eventHandler: (e: {
  914. currentUri: string;
  915. uri: string;
  916. cancel: boolean;
  917. options: {
  918. root: boolean;
  919. target: string;
  920. direction: string;
  921. rootInDetailPane: boolean;
  922. modal: boolean;
  923. };
  924. }) => void): HtmlApplication;
  925. on(eventName: "navigatingBack", eventHandler: (e: {
  926. cancel: boolean;
  927. isHardwareButton: boolean;
  928. }) => void): HtmlApplication;
  929. on(eventName: "resolveLayoutController", eventHandler: (e: {
  930. viewInfo: Object;
  931. layoutController: Object;
  932. availableLayoutControllers: Array<Object>;
  933. }) => void): HtmlApplication;
  934. on(eventName: "viewDisposed", eventHandler: (e: {
  935. viewInfo: Object;
  936. }) => void): HtmlApplication;
  937. on(eventName: "viewDisposing", eventHandler: (e: {
  938. viewInfo: Object;
  939. }) => void): HtmlApplication;
  940. on(eventName: "viewHidden", eventHandler: (e: {
  941. viewInfo: Object;
  942. }) => void): HtmlApplication;
  943. on(eventName: "viewRendered", eventHandler: (e: {
  944. viewInfo: Object;
  945. }) => void): HtmlApplication;
  946. on(eventName: "viewShowing", eventHandler: (e: {
  947. viewInfo: Object;
  948. direction: string;
  949. }) => void): HtmlApplication;
  950. on(eventName: "viewShown", eventHandler: (e: {
  951. viewInfo: Object;
  952. direction: string;
  953. }) => void): HtmlApplication;
  954. on(eventName: string, eventHandler: Function): HtmlApplication;
  955. on(events: { [eventName: string]: Function; }): HtmlApplication;
  956. off(eventName: "initialized"): HtmlApplication;
  957. off(eventName: "afterViewSetup"): HtmlApplication;
  958. off(eventName: "beforeViewSetup"): HtmlApplication;
  959. off(eventName: "navigating"): HtmlApplication;
  960. off(eventName: "navigatingBack"): HtmlApplication;
  961. off(eventName: "resolveLayoutController"): HtmlApplication;
  962. off(eventName: "viewDisposed"): HtmlApplication;
  963. off(eventName: "viewDisposing"): HtmlApplication;
  964. off(eventName: "viewHidden"): HtmlApplication;
  965. off(eventName: "viewRendered"): HtmlApplication;
  966. off(eventName: "viewShowing"): HtmlApplication;
  967. off(eventName: "viewShown"): HtmlApplication;
  968. off(eventName: string): HtmlApplication;
  969. off(eventName: "initialized", eventHandler: () => void): HtmlApplication;
  970. off(eventName: "afterViewSetup", eventHandler: (e: {
  971. viewInfo: Object;
  972. }) => void): HtmlApplication;
  973. off(eventName: "beforeViewSetup", eventHandler: (e: {
  974. viewInfo: Object;
  975. }) => void): HtmlApplication;
  976. off(eventName: "navigating", eventHandler: (e: {
  977. currentUri: string;
  978. uri: string;
  979. cancel: boolean;
  980. options: {
  981. root: boolean;
  982. target: string;
  983. direction: string;
  984. rootInDetailPane: boolean;
  985. modal: boolean;
  986. };
  987. }) => void): HtmlApplication;
  988. off(eventName: "navigatingBack", eventHandler: (e: {
  989. cancel: boolean;
  990. isHardwareButton: boolean;
  991. }) => void): HtmlApplication;
  992. off(eventName: "resolveLayoutController", eventHandler: (e: {
  993. viewInfo: Object;
  994. layoutController: Object;
  995. availableLayoutControllers: Array<Object>;
  996. }) => void): HtmlApplication;
  997. off(eventName: "viewDisposed", eventHandler: (e: {
  998. viewInfo: Object;
  999. }) => void): HtmlApplication;
  1000. off(eventName: "viewDisposing", eventHandler: (e: {
  1001. viewInfo: Object;
  1002. }) => void): HtmlApplication;
  1003. off(eventName: "viewHidden", eventHandler: (e: {
  1004. viewInfo: Object;
  1005. }) => void): HtmlApplication;
  1006. off(eventName: "viewRendered", eventHandler: (e: {
  1007. viewInfo: Object;
  1008. }) => void): HtmlApplication;
  1009. off(eventName: "viewShowing", eventHandler: (e: {
  1010. viewInfo: Object;
  1011. direction: string;
  1012. }) => void): HtmlApplication;
  1013. off(eventName: "viewShown", eventHandler: (e: {
  1014. viewInfo: Object;
  1015. direction: string;
  1016. }) => void): HtmlApplication;
  1017. off(eventName: string, eventHandler: Function): HtmlApplication;
  1018. }
  1019. }
  1020. }
  1021. declare module DevExpress.ui {
  1022. export interface dxValidatorOptions extends DOMComponentOptions {
  1023. /** An array of validation rules to be checked for the editor with which the dxValidator object is associated. */
  1024. validationRules?: Array<any>;
  1025. /** Specifies the editor name to be used in the validation default messages. */
  1026. name?: string;
  1027. /** An object that specifies what and when to validate and how to apply the validation result. */
  1028. adapter?: Object;
  1029. /** Specifies the validation group the editor will be related to. */
  1030. validationGroup?: string;
  1031. /** A handler for the validated event. */
  1032. onValidated?: (params: validationEngine.ValidatorValidationResult) => void;
  1033. }
  1034. /** A widget that is used to validate the associated DevExtreme editors against the defined validation rules. */
  1035. export class dxValidator extends DOMComponent implements validationEngine.IValidator {
  1036. constructor(element: JQuery, options?: dxValidatorOptions);
  1037. constructor(element: Element, options?: dxValidatorOptions);
  1038. /** Validates the value of the editor that is controlled by the current dxValidator object against the list of the specified validation rules. */
  1039. validate(): validationEngine.ValidatorValidationResult;
  1040. }
  1041. /** The widget that is used in the Knockout and Angular approaches to combine the editors to be validated. */
  1042. export class dxValidationGroup extends DOMComponent {
  1043. constructor(element: JQuery);
  1044. constructor(element: Element);
  1045. /** Validates rules of the validators that belong to the current validation group. */
  1046. validate(): validationEngine.ValidationGroupValidationResult;
  1047. }
  1048. export interface dxValidationSummaryOptions extends CollectionWidgetOptions {
  1049. /** Specifies the validation group for which summary should be generated. */
  1050. validationGroup?: string;
  1051. }
  1052. /** A widget for displaying the result of checking validation rules for editors. */
  1053. export class dxValidationSummary extends CollectionWidget {
  1054. constructor(element: JQuery, options?: dxValidationSummaryOptions);
  1055. constructor(element: Element, options?: dxValidationSummaryOptions);
  1056. }
  1057. export interface dxTooltipOptions extends dxPopoverOptions {
  1058. }
  1059. /** A tooltip widget. */
  1060. export class dxTooltip extends dxPopover {
  1061. constructor(element: JQuery, options?: dxTooltipOptions);
  1062. constructor(element: Element, options?: dxTooltipOptions);
  1063. }
  1064. export interface dxDropDownListOptions extends dxDropDownEditorOptions {
  1065. /** Returns the value currently displayed by the widget. */
  1066. displayValue?: string;
  1067. /** The minimum number of characters that must be entered into the text box to begin a search. */
  1068. minSearchLength?: number;
  1069. /** Specifies the name of a data source item field or an expression whose value is compared to the search criterion. */
  1070. searchExpr?: Object;
  1071. /** Specifies the binary operation used to filter data. */
  1072. searchMode?: string;
  1073. /** Specifies the time delay, in milliseconds, after the last character has been typed in, before a search is executed. */
  1074. searchTimeout?: number;
  1075. /** A handler for the valueChanged event. */
  1076. onValueChanged?: Function;
  1077. /** Specifies DOM event names that update a widget's value. */
  1078. valueChangeEvent?: string;
  1079. /** Specifies whether or not the widget supports searching. */
  1080. searchEnabled?: boolean;
  1081. /** Specifies whether or not the widget displays items by pages. */
  1082. pagingEnabled?: boolean;
  1083. }
  1084. /** A base class for drop-down list widgets. */
  1085. export class dxDropDownList extends dxDropDownEditor {
  1086. constructor(element: JQuery, options?: dxDropDownListOptions);
  1087. constructor(element: Element, options?: dxDropDownListOptions);
  1088. }
  1089. export interface dxToolbarOptions extends CollectionWidgetOptions {
  1090. menuItemRender?: any;
  1091. /** The template used to render menu items. */
  1092. menuItemTemplate?: any;
  1093. /** Informs the widget about its location in a view HTML markup. */
  1094. renderAs?: string;
  1095. }
  1096. /** A toolbar widget. */
  1097. export class dxToolbar extends CollectionWidget {
  1098. constructor(element: JQuery, options?: dxToolbarOptions);
  1099. constructor(element: Element, options?: dxToolbarOptions);
  1100. }
  1101. export interface dxToastOptions extends dxOverlayOptions {
  1102. animation?: fx.AnimationOptions;
  1103. /** The time span in milliseconds during which the dxToast widget is visible. */
  1104. displayTime?: number;
  1105. height?: any;
  1106. /** The dxToast message text. */
  1107. message?: string;
  1108. position?: PositionOptions;
  1109. shading?: boolean;
  1110. /** Specifies the dxToast widget type. */
  1111. type?: string;
  1112. width?: any;
  1113. closeOnBackButton?: boolean;
  1114. }
  1115. /** The toast message widget. */
  1116. export class dxToast extends dxOverlay {
  1117. constructor(element: JQuery, options?: dxToastOptions);
  1118. constructor(element: Element, options?: dxToastOptions);
  1119. }
  1120. export interface dxTextEditorOptions extends EditorOptions {
  1121. /** A handler for the change event. */
  1122. onChange?: Function;
  1123. changeAction?: Function;
  1124. /** A handler for the copy event. */
  1125. onCopy?: Function;
  1126. copyAction?: Function;
  1127. /** A handler for the cut event. */
  1128. onCut?: Function;
  1129. cutAction?: Function;
  1130. /** A handler for the enterKey event. */
  1131. onEnterKey?: Function;
  1132. enterKeyAction?: Function;
  1133. /** A handler for the focusIn event. */
  1134. onFocusIn?: Function;
  1135. focusInAction?: Function;
  1136. /** A handler for the focusOut event. */
  1137. onFocusOut?: Function;
  1138. focusOutAction?: Function;
  1139. /** A handler for the input event. */
  1140. onInput?: Function;
  1141. inputAction?: Function;
  1142. /** A handler for the keyDown event. */
  1143. onKeyDown?: Function;
  1144. keyDownAction?: Function;
  1145. /** A handler for the keyPress event. */
  1146. onKeyPress?: Function;
  1147. keyPressAction?: Function;
  1148. /** A handler for the keyUp event. */
  1149. onKeyUp?: Function;
  1150. keyUpAction?: Function;
  1151. /** A handler for the paste event. */
  1152. onPaste?: Function;
  1153. pasteAction?: Function;
  1154. /** The text displayed by the widget when the widget value is empty. */
  1155. placeholder?: string;
  1156. /** Specifies whether to display the Clear button in the widget. */
  1157. showClearButton?: boolean;
  1158. /** Specifies the current value displayed by the widget. */
  1159. value?: any;
  1160. valueUpdateAction?: Function;
  1161. valueChangeAction?: Function;
  1162. /** Specifies DOM event names that update a widget's value. */
  1163. valueChangeEvent?: string;
  1164. valueUpdateEvent?: string;
  1165. /** Specifies whether or not the widget checks the inner text for spelling mistakes. */
  1166. spellcheck?: boolean;
  1167. }
  1168. /** A base class for text editing widgets. */
  1169. export class dxTextEditor extends Editor {
  1170. constructor(element: JQuery, options?: dxTextEditorOptions);
  1171. constructor(element: Element, options?: dxTextEditorOptions);
  1172. /** Removes focus from the input element. */
  1173. blur(): void;
  1174. /** Sets focus to the input element representing the widget. */
  1175. focus(): void;
  1176. }
  1177. export interface dxTextBoxOptions extends dxTextEditorOptions {
  1178. /** Specifies the maximum number of characters you can enter into the textbox. */
  1179. maxLength?: any;
  1180. /** The "mode" attribute value of the actual HTML input element representing the text box. */
  1181. mode?: string;
  1182. }
  1183. /** A single-line text box widget. */
  1184. export class dxTextBox extends dxTextEditor {
  1185. constructor(element: JQuery, options?: dxTextBoxOptions);
  1186. constructor(element: Element, options?: dxTextBoxOptions);
  1187. }
  1188. export interface dxTextAreaOptions extends dxTextBoxOptions {
  1189. /** Specifies whether or not the widget checks the inner text for spelling mistakes. */
  1190. spellcheck?: boolean;
  1191. }
  1192. /** A widget used to display and edit multi-line text. */
  1193. export class dxTextArea extends dxTextBox {
  1194. constructor(element: JQuery, options?: dxTextAreaOptions);
  1195. constructor(element: Element, options?: dxTextAreaOptions);
  1196. }
  1197. export interface dxTabsOptions extends CollectionWidgetOptions {
  1198. /** Specifies whether or not an end-user can scroll tabs by swiping. */
  1199. scrollByContent?: boolean;
  1200. /** Specifies whether or not an end-user can scroll tabs. */
  1201. scrollingEnabled?: boolean;
  1202. /** A Boolean value that specifies the availability of navigation buttons. */
  1203. showNavButtons?: boolean;
  1204. }
  1205. /** A tab strip used to switch between pages. */
  1206. export class dxTabs extends CollectionWidget {
  1207. constructor(element: JQuery, options?: dxTabsOptions);
  1208. constructor(element: Element, options?: dxTabsOptions);
  1209. }
  1210. export interface dxTabPanelOptions extends dxMultiViewOptions {
  1211. /** A handler for the titleClick event. */
  1212. onTitleClick?: any;
  1213. /** A handler for the titleHold event. */
  1214. onTitleHold?: Function;
  1215. /** A handler for the titleRendered event. */
  1216. onTitleRendered?: Function;
  1217. /** A template to be used for rendering the widget title. */
  1218. titleTemplate?: any;
  1219. }
  1220. /** A widget used to display a view and to switch between several views by clicking the appropriate tabs. */
  1221. export class dxTabPanel extends dxMultiView {
  1222. constructor(element: JQuery, options?: dxTabPanelOptions);
  1223. constructor(element: Element, options?: dxTabPanelOptions);
  1224. }
  1225. export interface dxSelectBoxOptions extends dxDropDownListOptions {
  1226. /** The template to be used for rendering the widget text field. */
  1227. fieldTemplate?: any;
  1228. /** The text that is provided as a hint in the select box editor. */
  1229. placeholder?: string;
  1230. /** Specifies whether or not the widget allows an end-user to enter a custom value. */
  1231. editEnabled?: boolean;
  1232. }
  1233. /** A widget that allows you to select an item in a dropdown list. */
  1234. export class dxSelectBox extends dxDropDownList {
  1235. constructor(element: JQuery, options?: dxSelectBoxOptions);
  1236. constructor(element: Element, options?: dxSelectBoxOptions);
  1237. /** Closes the drop-down editor. */
  1238. close(): void;
  1239. /** Opens the drop-down editor. */
  1240. open(): void;
  1241. }
  1242. export interface dxTagBoxOptions extends dxSelectBoxOptions {
  1243. /** Holds the list of selected values. */
  1244. values?: Array<any>;
  1245. /** Holds the last selected value. */
  1246. value?: any;
  1247. /** A handler for the valueChanged event. */
  1248. onValueChanged?: (e: {
  1249. component: dxTagBox;
  1250. element: JQuery;
  1251. model: Object;
  1252. value: Object;
  1253. values: Object;
  1254. itemData: Object;
  1255. jQueryEvent: JQueryEventObject;
  1256. }) => void;
  1257. }
  1258. /** A widget that allows you to select multiple items from a dropdown list. */
  1259. export class dxTagBox extends dxSelectBox {
  1260. constructor(element: JQuery, options?: dxTagBoxOptions);
  1261. constructor(element: Element, options?: dxTagBoxOptions);
  1262. }
  1263. export interface dxScrollViewOptions extends dxScrollableOptions {
  1264. /** A handler for the pullDown event. */
  1265. onPullDown?: Function;
  1266. pullDownAction?: Function;
  1267. /** Specifies the text shown in the pullDown panel when pulling the content down lowers the refresh threshold. */
  1268. pulledDownText?: string;
  1269. /** Specifies the text shown in the pullDown panel while pulling the content down to the refresh threshold. */
  1270. pullingDownText?: string;
  1271. /** A handler for the reachBottom event. */
  1272. onReachBottom?: Function;
  1273. reachBottomAction?: Function;
  1274. /** Specifies the text shown in the pullDown panel displayed when content is scrolled to the bottom. */
  1275. reachBottomText?: string;
  1276. /** Specifies the text shown in the pullDown panel displayed when the content is being refreshed. */
  1277. refreshingText?: string;
  1278. /** Returns a value indicating if the scrollView content is larger then the widget container. */
  1279. isFull(): boolean;
  1280. /** Locks the widget until the release(preventScrollBottom) method is called and executes the function passed to the onPullDown option and the handler assigned to the pullDown event. */
  1281. refresh(): void;
  1282. /** Notifies the scroll view that data loading is finished. */
  1283. release(preventScrollBottom: boolean): JQueryPromise<void>;
  1284. /** Toggles the loading state of the widget. */
  1285. toggleLoading(showOrHide: boolean): void;
  1286. }
  1287. /** A widget used to display scrollable content. */
  1288. export class dxScrollView extends dxScrollable {
  1289. constructor(element: JQuery, options?: dxScrollViewOptions);
  1290. constructor(element: Element, options?: dxScrollViewOptions);
  1291. }
  1292. export interface dxScrollableLocation {
  1293. top?: number;
  1294. left?: number;
  1295. }
  1296. export interface dxScrollableOptions extends DOMComponentOptions {
  1297. /** A string value specifying the available scrolling directions. */
  1298. direction?: string;
  1299. /** A Boolean value specifying whether or not the widget can respond to user interaction. */
  1300. disabled?: boolean;
  1301. /** A handler for the scroll event. */
  1302. onScroll?: Function;
  1303. scrollAction?: Function;
  1304. /** Specifies when the widget shows the scrollbar. */
  1305. showScrollbar?: string;
  1306. /** A handler for the update event. */
  1307. onUpdated?: Function;
  1308. updateAction?: Function;
  1309. /** Indicates whether to use native or simulated scrolling. */
  1310. useNative?: boolean;
  1311. }
  1312. /** A widget used to display scrollable content. */
  1313. export class dxScrollable extends DOMComponent {
  1314. constructor(element: JQuery, options?: dxScrollableOptions);
  1315. constructor(element: Element, options?: dxScrollableOptions);
  1316. /** Returns the height of the scrollable widget in pixels. */
  1317. clientHeight(): number;
  1318. /** Returns the width of the scrollable widget in pixels. */
  1319. clientWidth(): number;
  1320. /** An HTML element of the widget. */
  1321. content(): JQuery;
  1322. /** Scrolls the widget content by the specified number of pixels. */
  1323. scrollBy(distance: number): void;
  1324. /** Scrolls widget content by the specified number of pixels in horizontal and vertical directions. */
  1325. scrollBy(distanceObject: dxScrollableLocation): void;
  1326. /** Returns the height of the scrollable content in pixels. */
  1327. scrollHeight(): number;
  1328. /** Returns the current scroll position against the leftmost position. */
  1329. scrollLeft(): number;
  1330. /** Returns how far the scrollable content is scrolled from the top and from the left. */
  1331. scrollOffset(): dxScrollableLocation;
  1332. /** Scrolls widget content to the specified position. */
  1333. scrollTo(targetLocation: number): void;
  1334. /** Scrolls widget content to a specified position. */
  1335. scrollTo(targetLocation: dxScrollableLocation): void;
  1336. /** Scrolls widget content to the specified element. */
  1337. scrollToElement(element: Element): void;
  1338. /** Returns the current scroll position against the topmost position. */
  1339. scrollTop(): number;
  1340. /** Returns the width of the scrollable content in pixels. */
  1341. scrollWidth(): number;
  1342. /** Updates the dimensions of the scrollable contents. */
  1343. update(): void;
  1344. }
  1345. export interface dxRadioGroupOptions extends CollectionWidgetOptions {
  1346. /** Specifies the radio group layout. */
  1347. layout?: string;
  1348. }
  1349. /** A widget that enables a user to select one item within a list of items represented by radio buttons. */
  1350. export class dxRadioGroup extends CollectionWidget {
  1351. constructor(element: JQuery, options?: dxRadioGroupOptions);
  1352. constructor(element: Element, options?: dxRadioGroupOptions);
  1353. }
  1354. export interface dxPopupOptions extends dxOverlayOptions {
  1355. animation?: fx.AnimationOptions;
  1356. /** Specifies whether or not to allow a user to drag the popup window. */
  1357. dragEnabled?: boolean;
  1358. /** A Boolean value specifying whether or not to display the widget in full-screen mode. */
  1359. fullScreen?: boolean;
  1360. position?: PositionOptions;
  1361. /** A Boolean value specifying whether or not to display the title in the overlay window. */
  1362. showTitle?: boolean;
  1363. /** The title in the overlay window. */
  1364. title?: string;
  1365. /** A template to be used for rendering the widget title. */
  1366. titleTemplate?: any;
  1367. width?: any;
  1368. /** Specifies items displayed on the top or bottom toolbar of the popup window. */
  1369. buttons?: Array<any>;
  1370. /** A handler for the titleRendered event. */
  1371. onTitleRendered?: Function;
  1372. }
  1373. /** A widget that displays required content in a popup window. */
  1374. export class dxPopup extends dxOverlay {
  1375. constructor(element: JQuery, options?: dxPopupOptions);
  1376. constructor(element: Element, options?: dxPopupOptions);
  1377. }
  1378. export interface dxPopoverOptions extends dxPopupOptions {
  1379. /** An object defining animation options of the widget. */
  1380. animation?: fx.AnimationOptions;
  1381. /** Specifies the height of the widget. */
  1382. height?: any;
  1383. /** An object defining widget positioning options. */
  1384. position?: PositionOptions;
  1385. shading?: boolean;
  1386. /** A Boolean value specifying whether or not to display the title in the overlay window. */
  1387. showTitle?: boolean;
  1388. /** The target element associated with a popover. */
  1389. target?: any;
  1390. /** Specifies the width of the widget. */
  1391. width?: any;
  1392. }
  1393. /** A widget that displays the required content in a popup window. */
  1394. export class dxPopover extends dxPopup {
  1395. constructor(element: JQuery, options?: dxPopoverOptions);
  1396. constructor(element: Element, options?: dxPopoverOptions);
  1397. }
  1398. export interface dxOverlayOptions extends WidgetOptions {
  1399. /** An object that defines the animation options of the widget. */
  1400. animation?: fx.AnimationOptions;
  1401. /** A Boolean value specifying whether or not the widget is closed if a user presses the Back hardware button. */
  1402. closeOnBackButton?: boolean;
  1403. /** A Boolean value specifying whether or not the widget is closed if a user clicks outside of the overlapping window. */
  1404. closeOnOutsideClick?: any;
  1405. /** A template to be used for rendering widget content. */
  1406. contentTemplate?: any;
  1407. /** Specifies whether widget content is rendered when the widget is shown or when rendering the widget. */
  1408. deferRendering?: boolean;
  1409. /** Specifies whether or not an end-user can drag the widget. */
  1410. dragEnabled?: boolean;
  1411. /** The height of the widget in pixels. */
  1412. height?: any;
  1413. /** A handler for the hidden event. */
  1414. onHidden?: Function;
  1415. hiddenAction?: Function;
  1416. /** A handler for the hiding event. */
  1417. onHiding?: Function;
  1418. hidingAction?: Function;
  1419. /** An object defining widget positioning options. */
  1420. position?: PositionOptions;
  1421. /** A Boolean value specifying whether or not the main screen is inactive while the widget is active. */
  1422. shading?: boolean;
  1423. /** Specifies the shading color. */
  1424. shadingColor?: string;
  1425. /** A handler for the showing event. */
  1426. onShowing?: Function;
  1427. showingAction?: Function;
  1428. /** A handler for the shown event. */
  1429. onShown?: Function;
  1430. shownAction?: Function;
  1431. /** A Boolean value specifying whether or not the widget is visible. */
  1432. visible?: boolean;
  1433. /** The widget width in pixels. */
  1434. width?: any;
  1435. }
  1436. /** A widget displaying the required content in an overlay window. */
  1437. export class dxOverlay extends Widget {
  1438. constructor(element: JQuery, options?: dxOverlayOptions);
  1439. constructor(element: Element, options?: dxOverlayOptions);
  1440. /** An HTML element of the widget. */
  1441. content(): JQuery;
  1442. /** Hides the widget. */
  1443. hide(): JQueryPromise<void>;
  1444. /** Recalculates the overlay's size and position. */
  1445. repaint(): void;
  1446. /** Shows the widget. */
  1447. show(): JQueryPromise<void>;
  1448. /** Toggles the visibility of the widget. */
  1449. toggle(showing: boolean): JQueryPromise<void>;
  1450. }
  1451. export interface dxNumberBoxOptions extends dxTextEditorOptions {
  1452. /** The maximum value accepted by the number box. */
  1453. max?: number;
  1454. /** The minimum value accepted by the number box. */
  1455. min?: number;
  1456. /** Specifies whether to show spin buttons. */
  1457. showSpinButtons?: boolean;
  1458. useTouchSpinButtons?: boolean;
  1459. /** Specifies by which value the widget value changes when a spin button is clicked. */
  1460. step?: number;
  1461. /** The current number box value. */
  1462. value?: number;
  1463. }
  1464. /** A textbox widget that enables a user to enter numeric values. */
  1465. export class dxNumberBox extends dxTextEditor {
  1466. constructor(element: JQuery, options?: dxNumberBoxOptions);
  1467. constructor(element: Element, options?: dxNumberBoxOptions);
  1468. }
  1469. export interface dxNavBarOptions extends dxTabsOptions { }
  1470. /** A widget that contains items used to navigate through application views. */
  1471. export class dxNavBar extends dxTabs {
  1472. constructor(element: JQuery, options?: dxNavBarOptions);
  1473. constructor(element: Element, options?: dxNavBarOptions);
  1474. }
  1475. export interface dxMultiViewOptions extends CollectionWidgetOptions {
  1476. /** Specifies whether or not to animate the displayed item change. */
  1477. animationEnabled?: boolean;
  1478. /** A Boolean value specifying whether or not to scroll back to the first item after the last item is swiped. */
  1479. loop?: boolean;
  1480. /** The index of the currently displayed item. */
  1481. selectedIndex?: number;
  1482. /** A Boolean value specifying whether or not to allow users to change the selected index by swiping. */
  1483. swipeEnabled?: boolean;
  1484. }
  1485. /** A widget used to display a view and to switch between several views. */
  1486. export class dxMultiView extends CollectionWidget {
  1487. constructor(element: JQuery, options?: dxMultiViewOptions);
  1488. constructor(element: Element, options?: dxMultiViewOptions);
  1489. }
  1490. export interface dxMapOptions extends WidgetOptions {
  1491. /** Specifies whether or not the widget automatically adjusts center and zoom option values when adding a new marker or route. */
  1492. autoAdjust?: boolean;
  1493. bounds?: {
  1494. northEast?: {
  1495. lat?: number;
  1496. lng?: number;
  1497. };
  1498. southWest?: {
  1499. lat?: number;
  1500. lng?: number;
  1501. };
  1502. /** An object, a string, or an array specifying the location displayed at the center of the widget. */
  1503. center?: {
  1504. /** The latitude location displayed in the center of the widget. */
  1505. lat?: number;
  1506. /** The longitude location displayed in the center of the widget. */
  1507. lng?: number;
  1508. };
  1509. /** A handler for the click event. */
  1510. onClick?: any;
  1511. clickAction?: any;
  1512. /** Specifies whether or not map widget controls are available. */
  1513. controls?: boolean;
  1514. /** Specifies the height of the widget. */
  1515. height?: number;
  1516. /** A key used to authenticate the application within the required map provider. */
  1517. key?: {
  1518. /** A key used to authenticate the application within the "Bing" map provider. */
  1519. bing?: string;
  1520. /** A key used to authenticate the application within the "Google" map provider. */
  1521. google?: string;
  1522. /** A key used to authenticate the application within the "Google Static" map provider. */
  1523. googleStatic?: string;
  1524. }
  1525. /**
  1526. * An object, a string, or an array specifying the location displayed at the center of the widget.
  1527. * @deprecated Use the 'center' option instead
  1528. */
  1529. location?: {
  1530. lat?: number;
  1531. lng?: number;
  1532. };
  1533. /** A handler for the markerAdded event. */
  1534. onMarkerAdded?: Function;
  1535. markerAddedAction?: Function;
  1536. /** A URL pointing to the custom icon to be used for map markers. */
  1537. markerIconSrc?: string;
  1538. /** A handler for the markerRemoved event. */
  1539. onMarkerRemoved?: Function;
  1540. markerRemovedAction?: Function;
  1541. /** An array of markers displayed on a map. */
  1542. markers?: Array<any>;
  1543. /** The name of the current map data provider. */
  1544. provider?: string;
  1545. /** A handler for the ready event. */
  1546. onReady?: Function;
  1547. readyAction?: Function;
  1548. /** A handler for the routeAdded event. */
  1549. onRouteAdded?: Function;
  1550. routeAddedAction?: Function;
  1551. /** A handler for the routeRemoved event. */
  1552. onRouteRemoved?: Function;
  1553. routeRemovedAction?: Function;
  1554. /** An array of routes shown on the map. */
  1555. routes?: Array<any>;
  1556. /** The type of a map to display. */
  1557. type?: string;
  1558. /** Specifies the width of the widget. */
  1559. width?: number;
  1560. /** The zoom level of the map. */
  1561. zoom?: number;
  1562. /** Adds a marker to the map. */
  1563. addMarker(markerOptions: Object): JQueryPromise<Object>;
  1564. /** Adds a route to the map. */
  1565. addRoute(options: Object): JQueryPromise<Object>;
  1566. /** Removes a marker from the map. */
  1567. removeMarker(marker: Object): JQueryPromise<void>;
  1568. /** Removes a route from the map. */
  1569. removeRoute(route: any): JQueryPromise<void>;
  1570. };
  1571. }
  1572. /** An interactive map widget. */
  1573. export class dxMap extends Widget {
  1574. constructor(element: JQuery, options?: dxMapOptions);
  1575. constructor(element: Element, options?: dxMapOptions);
  1576. }
  1577. export interface dxLookupOptions extends dxDropDownListOptions {
  1578. /** An object defining widget animation options. */
  1579. animation?: fx.AnimationOptions;
  1580. autoPagingEnabled?: boolean;
  1581. /** The text displayed on the Cancel button. */
  1582. cancelButtonText?: string;
  1583. /** The text displayed on the Clear button. */
  1584. clearButtonText?: string;
  1585. /** A Boolean value specifying whether or not the widget is closed if a user clicks outside of the overlaying window. */
  1586. closeOnOutsideClick?: any;
  1587. /** The text displayed on the Done button. */
  1588. doneButtonText?: string;
  1589. /** A Boolean value specifying whether or not to display the lookup in full-screen mode. */
  1590. fullScreen?: boolean;
  1591. /** A Boolean value specifying whether or not to group widget items. */
  1592. grouped?: boolean;
  1593. groupRender?: any;
  1594. /** The name of the template used to display a group header. */
  1595. groupTemplate?: any;
  1596. /** The text displayed on the button used to load the next page from the data source. */
  1597. nextButtonText?: string;
  1598. /** The text or HTML markup displayed by the widget if there are no items satisfying the specified search condition. */
  1599. noDataText?: string;
  1600. /** A handler for the pageLoading event. */
  1601. onPageLoading?: Function;
  1602. pageLoadingAction?: Function;
  1603. /** Specifies the text shown in the pullDown panel, which is displayed when the widget is scrolled to the bottom. */
  1604. pageLoadingText?: string;
  1605. /** The text displayed by the widget when nothing is selected. */
  1606. placeholder?: string;
  1607. /** The height of the widget popup element. */
  1608. popupHeight?: any;
  1609. /** The width of the widget popup element. */
  1610. popupWidth?: any;
  1611. /** An object defining widget positioning options. */
  1612. position?: PositionOptions;
  1613. /** Specifies the text displayed in the pullDown panel when the widget is pulled below the refresh threshold. */
  1614. pulledDownText?: string;
  1615. /** Specifies the text shown in the pullDown panel while the list is being pulled down to the refresh threshold. */
  1616. pullingDownText?: string;
  1617. /** A handler for the pullRefresh event. */
  1618. onPullRefresh?: Function;
  1619. pullRefreshAction?: Function;
  1620. /** A Boolean value specifying whether or not the widget supports the "pull down to refresh" gesture. */
  1621. pullRefreshEnabled?: boolean;
  1622. /** Specifies the text displayed in the pullDown panel while the widget is being refreshed. */
  1623. refreshingText?: string;
  1624. /** A handler for the scroll event. */
  1625. onScroll?: Function;
  1626. scrollAction?: Function;
  1627. /** A Boolean value specifying whether or not the search bar is visible. */
  1628. searchEnabled?: boolean;
  1629. /** The text that is provided as a hint in the lookup's search bar. */
  1630. searchPlaceholder?: string;
  1631. /** A Boolean value specifying whether or not the main screen is inactive while the lookup is active. */
  1632. shading?: boolean;
  1633. /** Specifies whether to display the Cancel button in the lookup window. */
  1634. showCancelButton?: boolean;
  1635. /** Specifies whether to display the Done button in the lookup window. */
  1636. showDoneButton?: boolean;
  1637. /** A Boolean value specifying whether the widget loads the next page automatically when you reach the bottom of the list or when a button is clicked. */
  1638. showNextButton?: boolean;
  1639. /** The title of the lookup window. */
  1640. title?: string;
  1641. /** A template to be used for rendering the widget title. */
  1642. titleTemplate?: any;
  1643. /** Specifies whether or not the widget uses native scrolling. */
  1644. useNativeScrolling?: boolean;
  1645. /** Specifies whether or not to show lookup contents in a dxPopover widget. */
  1646. usePopover?: boolean;
  1647. /** A handler for the valueChanged event. */
  1648. onValueChanged?: Function;
  1649. contentReadyAction?: Function;
  1650. onContentReady?: Function;
  1651. titleRender?: any;
  1652. /** A handler for the titleRendered event. */
  1653. onTitleRendered?: Function;
  1654. }
  1655. /** A widget that allows a user to select predefined values from a lookup window. */
  1656. export class dxLookup extends dxDropDownList {
  1657. constructor(element: JQuery, options?: dxLookupOptions);
  1658. constructor(element: Element, options?: dxLookupOptions);
  1659. /** This section lists the data source fields that are used in a default template for lookup drop-down items. */
  1660. }
  1661. export interface dxLoadPanelOptions extends dxOverlayOptions {
  1662. /** An object defining the animation options of the widget. */
  1663. animation?: fx.AnimationOptions;
  1664. /** The delay in milliseconds after which the load panel is displayed. */
  1665. delay?: number;
  1666. /** The height of the widget. */
  1667. height?: number;
  1668. /** A URL pointing to an image to be used as a load indicator. */
  1669. indicatorSrc?: string;
  1670. /** The text displayed in the load panel. */
  1671. message?: string;
  1672. /** A Boolean value specifying whether or not to show a load indicator. */
  1673. showIndicator?: boolean;
  1674. /** A Boolean value specifying whether or not to show the pane behind the load indicator. */
  1675. showPane?: boolean;
  1676. /** The width of the widget. */
  1677. width?: number;
  1678. }
  1679. /** A widget used to indicate whether or not an element is loading. */
  1680. export class dxLoadPanel extends dxOverlay {
  1681. constructor(element: JQuery, options?: dxLoadPanelOptions);
  1682. constructor(element: Element, options?: dxLoadPanelOptions);
  1683. }
  1684. export interface dxLoadIndicatorOptions extends WidgetOptions {
  1685. /** Specifies the path to an image used as the indicator. */
  1686. indicatorSrc?: string;
  1687. }
  1688. /** The widget used to indicate the loading process. */
  1689. export class dxLoadIndicator extends Widget {
  1690. constructor(element: JQuery, options?: dxLoadIndicatorOptions);
  1691. constructor(element: Element, options?: dxLoadIndicatorOptions);
  1692. }
  1693. export interface dxListOptions extends CollectionWidgetOptions {
  1694. /** A Boolean value specifying whether or not to load the next page from the data source when the list is scrolled to the bottom. */
  1695. autoPagingEnabled?: boolean;
  1696. /** Specifies whether or not the widget displays items by pages. */
  1697. pagingEnabled?: boolean;
  1698. /** An object used to set configuration options for the dxList's edit mode. */
  1699. editConfig?: {
  1700. /** Specifies whether the list items can be deleted. */
  1701. deleteEnabled?: boolean;
  1702. /**
  1703. * A mode specifying how to delete a list item.
  1704. * @deprecated Use the "deleteType" option instead.
  1705. */
  1706. deleteMode?: string;
  1707. /** Specifies the way a user can delete items from the list. */
  1708. deleteType?: string;
  1709. itemRender?: any;
  1710. /** The template used to render list items in edit mode. */
  1711. itemTemplate?: any;
  1712. /** Specifies the array of items for a context menu called for a list item. */
  1713. menuItems?: Array<any>;
  1714. /** Specifies whether an item context menu is shown when a user swipes or holds an item. */
  1715. menuType?: string;
  1716. /** Specifies whether or not a user can reorder items. */
  1717. reorderEnabled?: boolean;
  1718. /** Specifies whether the list items can be selected. */
  1719. selectionEnabled?: boolean;
  1720. /**
  1721. * A mode specifying how to select a list item.
  1722. * @deprecated Use the "selectionType" option instead.
  1723. */
  1724. selectionMode?: string;
  1725. /** A type specifying how to select a list item. */
  1726. selectionType?: string;
  1727. /** Specifies whether the item list represented by this widget is editable. */
  1728. editEnabled?: boolean;
  1729. /** Specifies whether or not to show the load panel during data loading. */
  1730. indicateLoading?: boolean;
  1731. };
  1732. /** A Boolean value specifying whether or not to display a grouped list. */
  1733. grouped?: boolean;
  1734. groupRender?: any;
  1735. /** The name of the template used to display a group header. */
  1736. groupTemplate?: any;
  1737. /** A handler for the itemDeleted event. */
  1738. onItemDeleted?: Function;
  1739. itemDeleteAction?: Function;
  1740. /** A handler for the itemReordered event. */
  1741. onItemReordered?: Function;
  1742. itemReorderAction?: Function;
  1743. /** A handler for the itemClick event. */
  1744. onItemClick?: any;
  1745. /** A handler for the itemSwipe event. */
  1746. onItemSwipe?: Function;
  1747. itemSwipeAction?: Function;
  1748. /** The text displayed on the button used to load the next page from the data source. */
  1749. nextButtonText?: string;
  1750. /** A handler for the pageLoading event. */
  1751. onPageLoading?: Function;
  1752. pageLoadingAction?: Function;
  1753. /** Specifies the text shown in the pullDown panel, which is displayed when the list is scrolled to the bottom. */
  1754. pageLoadingText?: string;
  1755. /** Specifies the text displayed in the pullDown panel when the list is pulled below the refresh threshold. */
  1756. pulledDownText?: string;
  1757. /** Specifies the text shown in the pullDown panel while the list is being pulled down to the refresh threshold. */
  1758. pullingDownText?: string;
  1759. /** A handler for the pullRefresh event. */
  1760. onPullRefresh?: Function;
  1761. pullRefreshAction?: Function;
  1762. /** A Boolean value specifying whether or not the widget supports the "pull down to refresh" gesture. */
  1763. pullRefreshEnabled?: boolean;
  1764. /** Specifies the text displayed in the pullDown panel while the list is being refreshed. */
  1765. refreshingText?: string;
  1766. /** A handler for the scroll event. */
  1767. onScroll?: Function;
  1768. scrollAction?: Function;
  1769. /** A Boolean value specifying whether to enable or disable list scrolling. */
  1770. scrollingEnabled?: boolean;
  1771. /** Specifies whether the list supports single item selection or multi-selection. */
  1772. selectionMode?: string;
  1773. /** A Boolean value specifying whether the widget loads the next page automatically when you reach the bottom of the list or when a button is clicked. */
  1774. showNextButton?: boolean;
  1775. /** A Boolean value specifying if the widget scrollbar is visible. */
  1776. showScrollbar?: boolean;
  1777. /** Specifies whether or not the widget uses native scrolling. */
  1778. useNativeScrolling?: boolean;
  1779. itemUnselectAction?: Function;
  1780. onItemContextMenu?: Function;
  1781. onItemHold?: Function;
  1782. /** Specifies whether or not an end-user can collapse groups. */
  1783. collapsibleGroups?: boolean;
  1784. }
  1785. /** A list widget. */
  1786. export class dxList extends CollectionWidget {
  1787. constructor(element: JQuery, options?: dxListOptions);
  1788. constructor(element: Element, options?: dxListOptions);
  1789. /** Returns the height of the widget in pixels. */
  1790. clientHeight(): number;
  1791. /** Removes the specified item from the list. */
  1792. deleteItem(itemIndex: any): JQueryPromise<void>;
  1793. /** Removes the specified item from the list. */
  1794. deleteItem(itemElement: Element): JQueryPromise<void>;
  1795. /** Returns a Boolean value that indicates whether or not the specified item is selected. */
  1796. isItemSelected(itemIndex: any): boolean;
  1797. /** Returns a Boolean value that indicates whether or not the specified item is selected. */
  1798. isItemSelected(itemElement: Element): boolean;
  1799. /**
  1800. * Reloads list data.
  1801. * @deprecated Use the "reload" method instead.
  1802. */
  1803. refresh(): void;
  1804. /** Reloads list data. */
  1805. reload(): void;
  1806. /** Moves the specified item to the specified position in the list. */
  1807. reorderItem(itemElement: Element, toItemElement: Element): JQueryPromise<void>;
  1808. /** Moves the specified item to the specified position in the list. */
  1809. reorderItem(itemIndex: any, toItemIndex: any): JQueryPromise<void>;
  1810. /** Scrolls the list content by the specified number of pixels. */
  1811. scrollBy(distance: number): void;
  1812. /** Returns the height of the list content in pixels. */
  1813. scrollHeight(): number;
  1814. /** Scrolls list content to the specified position. */
  1815. scrollTo(location: number): void;
  1816. /** Scrolls the list to the specified item. */
  1817. scrollToItem(itemElement: Element): void;
  1818. /** Scrolls the list to the specified item. */
  1819. scrollToItem(itemIndex: any): void;
  1820. /** Returns how far the list content is scrolled from the top. */
  1821. scrollTop(): number;
  1822. /** Selects the specified item from the list. */
  1823. selectItem(itemElement: Element): void;
  1824. /** Selects the specified item from the list. */
  1825. selectItem(itemIndex: any): void;
  1826. /** Deselects the specified item from the list. */
  1827. unselectItem(itemElement: Element): void;
  1828. /** Unselects the specified item from the list. */
  1829. unselectItem(itemIndex: any): void;
  1830. /**
  1831. * Updates the widget scrollbar according to widget content size.
  1832. * @deprecated Use the "updateDimensions" method instead.
  1833. */
  1834. update(): JQueryPromise<void>;
  1835. /** Updates the widget scrollbar according to widget content size. */
  1836. updateDimensions(): JQueryPromise<void>;
  1837. /** Expands the specified group. */
  1838. expandGroup(groupIndex: number): JQueryPromise<void>;
  1839. /** Collapses the specified group. */
  1840. collapseGroup(groupIndex: number): JQueryPromise<void>;
  1841. }
  1842. export interface dxGalleryOptions extends CollectionWidgetOptions {
  1843. /** The time, in milliseconds, spent on slide animation. */
  1844. animationDuration?: number;
  1845. /** A Boolean value specifying whether or not to allow users to switch between items by clicking an indicator. */
  1846. indicatorEnabled?: boolean;
  1847. /** A Boolean value specifying whether or not to scroll back to the first item after the last item is swiped. */
  1848. loop?: boolean;
  1849. /** The index of the currently active gallery item. */
  1850. selectedIndex?: number;
  1851. /** A Boolean value specifying whether or not to display an indicator that points to the selected gallery item. */
  1852. showIndicator?: boolean;
  1853. /** A Boolean value that specifies the availability of the "Forward" and "Back" navigation buttons. */
  1854. showNavButtons?: boolean;
  1855. /** The time interval in milliseconds, after which the gallery switches to the next item. */
  1856. slideshowDelay?: number;
  1857. /** A Boolean value specifying whether or not to allow users to switch between items by swiping. */
  1858. swipeEnabled?: boolean;
  1859. }
  1860. /** An image gallery widget. */
  1861. export class dxGallery extends CollectionWidget {
  1862. constructor(element: JQuery, options?: dxGalleryOptions);
  1863. constructor(element: Element, options?: dxGalleryOptions);
  1864. /** Shows the specified gallery item. */
  1865. goToItem(itemIndex: number, animation: boolean): JQueryPromise<any>;
  1866. /** Shows the next gallery item. */
  1867. nextItem(animation: boolean): JQueryPromise<any>;
  1868. /** Shows the previous gallery item. */
  1869. prevItem(animation: boolean): JQueryPromise<any>;
  1870. }
  1871. export interface dxDropDownEditorOptions extends dxTextBoxOptions {
  1872. /** A handler for the closed event. */
  1873. onClosed?: Function;
  1874. /** A handler for the opened event. */
  1875. onOpened?: Function;
  1876. /** Specifies whether or not the drop-down window is displayed. */
  1877. opened?: boolean;
  1878. closeAction?: Function;
  1879. openAction?: Function;
  1880. shownAction?: Function;
  1881. hiddenAction?: Function;
  1882. }
  1883. /** A drop-down editor widget. */
  1884. export class dxDropDownEditor extends dxTextBox {
  1885. constructor(element: JQuery, options?: dxDropDownEditorOptions);
  1886. constructor(element: Element, options?: dxDropDownEditorOptions);
  1887. /** Closes the drop-down editor. */
  1888. close(): void;
  1889. /** Opens the drop-down editor. */
  1890. open(): void;
  1891. }
  1892. export interface dxDateBoxOptions extends dxTextEditorOptions {
  1893. /** A dxCalendar configuration object used to initialize the drop-down calendar. */
  1894. calendarOptions?: dxCalendarOptions;
  1895. /** Specifies whether or not to close the drop-down calendar when widget value has been changed. */
  1896. closeOnValueChange?: boolean;
  1897. /** A format used to display date/time information. */
  1898. format?: string;
  1899. /** A Globalize format string specifying the date display format. */
  1900. formatString?: string;
  1901. /** The last date that can be selected within the widget. */
  1902. max?: Date;
  1903. /** The minimum date that can be selected within the widget. */
  1904. min?: Date;
  1905. /** The text displayed by the widget when the widget value is not yet specified. This text is also used as a title of the date picker. */
  1906. placeholder?: string;
  1907. /** Specifies whether or not a user can pick out a date via the drop-down calendar. */
  1908. useCalendar?: boolean;
  1909. /** A Date object specifying the date and time currently selected using the date box. */
  1910. value?: Date;
  1911. /** Specifies whether or not the widget uses the native HTML input element. */
  1912. useNative?: boolean;
  1913. /** Specifies the interval between neighboring values in the popup list in minutes. */
  1914. interval?: number;
  1915. }
  1916. /** A date box widget. */
  1917. export class dxDateBox extends dxTextEditor {
  1918. constructor(element: JQuery, options?: dxDateBoxOptions);
  1919. constructor(element: Element, options?: dxDateBoxOptions);
  1920. }
  1921. export interface dxCheckBoxOptions extends EditorOptions {
  1922. checked?: boolean;
  1923. /** Specifies the widget state. */
  1924. value?: boolean;
  1925. /** Specifies the text displayed by the check box. */
  1926. text?: string;
  1927. }
  1928. /** A check box widget. */
  1929. export class dxCheckBox extends Editor {
  1930. constructor(element: JQuery, options?: dxCheckBoxOptions);
  1931. constructor(element: Element, options?: dxCheckBoxOptions);
  1932. }
  1933. export interface dxCalendarOptions extends EditorOptions {
  1934. /** Specifies a date displayed on the current calendar page. */
  1935. currentDate?: Date;
  1936. /** Specifies the first day of a week. */
  1937. firstDayOfWeek?: number;
  1938. /** The latest date the widget allows to select. */
  1939. max?: Date;
  1940. /** The earliest date the widget allows to select. */
  1941. min?: Date;
  1942. }
  1943. /** A calendar widget. */
  1944. export class dxCalendar extends Editor {
  1945. constructor(element: JQuery, options?: dxCalendarOptions);
  1946. constructor(element: Element, options?: dxCalendarOptions);
  1947. }
  1948. export interface dxButtonOptions extends WidgetOptions {
  1949. /** A handler for the click event. */
  1950. onClick?: any;
  1951. clickAction?: any;
  1952. /** The name of an icon to be displayed on the button. */
  1953. icon?: string;
  1954. /** A URL pointing to the image to be displayed on the button. */
  1955. iconSrc?: string;
  1956. /** The text displayed on the button. */
  1957. text?: string;
  1958. /** Specifies the button type. */
  1959. type?: string;
  1960. /** Specifies the name of the validation group to be accessed in the click event handler. */
  1961. validationGroup?: string;
  1962. }
  1963. /** A button widget. */
  1964. export class dxButton extends Widget {
  1965. constructor(element: JQuery, options?: dxButtonOptions);
  1966. constructor(element: Element, options?: dxButtonOptions);
  1967. }
  1968. export interface dxBoxOptions extends CollectionWidget {
  1969. /** Specifies how widget items are aligned along the main direction. */
  1970. align?: string;
  1971. /** Specifies the direction of item positioning in the widget. */
  1972. direction?: string;
  1973. /** Specifies how widget items are aligned cross-wise. */
  1974. crossAlign?: string;
  1975. }
  1976. /** A container widget used to arrange inner elements. */
  1977. export class dxBox extends CollectionWidget {
  1978. constructor(element: JQuery, options?: dxBoxOptions);
  1979. constructor(element: Element, options?: dxBoxOptions);
  1980. }
  1981. export interface dxResponsiveBoxOptions extends CollectionWidgetOptions {
  1982. /** Specifies the collection of rows for the grid used to position layout elements. */
  1983. rows?: Array<Object>;
  1984. /** Specifies the collection of columns for the grid used to position layout elements. */
  1985. cols?: Array<Object>;
  1986. /** Specifies the function returning the screen factor depending on the screen width. */
  1987. screenByWidth?: (width: number) => string;
  1988. /** Specifies the screen factor with which all elements are located in a single column. */
  1989. singleColumnScreen?: string;
  1990. }
  1991. /** A widget used to build an adaptive markup dependent on screen resolution. */
  1992. export class dxResponsiveBox extends CollectionWidget {
  1993. constructor(element: JQuery, options?: dxBoxOptions);
  1994. constructor(element: Element, options?: dxBoxOptions);
  1995. }
  1996. export interface dxAutocompleteOptions extends dxDropDownListOptions {
  1997. /** The minimum number of characters that must be entered into the text box to begin a search. */
  1998. minSearchLength?: number;
  1999. /** Specifies the maximum count of items displayed by the widget. */
  2000. maxItemCount?: number;
  2001. /** Specifies the currently selected item. */
  2002. selectedItem?: Object;
  2003. }
  2004. /** A textbox widget that supports autocompletion. */
  2005. export class dxAutocomplete extends dxDropDownList {
  2006. constructor(element: JQuery, options?: dxAutocompleteOptions);
  2007. constructor(element: Element, options?: dxAutocompleteOptions);
  2008. /** Opens the drop-down editor. */
  2009. open(): void;
  2010. /** Closes the drop-down editor. */
  2011. close(): void;
  2012. }
  2013. export interface dxAccordionOptions extends CollectionWidgetOptions {
  2014. /** A number specifying the time in milliseconds spent on the animation of the expanding or collapsing of a panel. */
  2015. animationDuration?: number;
  2016. /** Specifies the height of the widget. */
  2017. height?: any;
  2018. /** Specifies whether all items can be collapsed or whether at least one item must always be expanded. */
  2019. collapsible?: boolean;
  2020. /** Specifies whether the widget can expand several items or only a single item at once. */
  2021. multiple?: boolean;
  2022. /** The template to be used for rendering dxAccordion items. */
  2023. itemTemplate?: any;
  2024. /** A handler for the itemTitleClick event. */
  2025. onItemTitleClick?: any;
  2026. /** A handler for the itemTitleHold event. */
  2027. onItemTitleHold?: Function;
  2028. /** The template to be used for rendering an item title. */
  2029. itemTitleTemplate?: any;
  2030. /** The index number of the currently selected item. */
  2031. selectedIndex?: number;
  2032. }
  2033. /** A widget that displays data source items on collapsible panels. */
  2034. export class dxAccordion extends CollectionWidget {
  2035. constructor(element: JQuery, options?: dxAccordionOptions);
  2036. constructor(element: Element, options?: dxAccordionOptions);
  2037. /** Collapses the specified item. */
  2038. collapseItem(index: number): JQueryPromise<dxAccordion>;
  2039. /** Expands the specified item. */
  2040. expandItem(index: number): JQueryPromise<dxAccordion>;
  2041. }
  2042. export interface dxFileUploaderFile {
  2043. /** Specifies the selected file name. */
  2044. name?: string;
  2045. /** Specifies the selected file size in bytes. */
  2046. size?: number;
  2047. /** Specifies the MIME type of the selected file. */
  2048. type?: string;
  2049. /** Specifies the date and time of the last selected file modification. */
  2050. lastModifiedDate?: Date;
  2051. }
  2052. export interface dxFileUploaderOptions extends EditorOptions {
  2053. /** An object that holds the selected file data. */
  2054. value?: dxFileUploaderFile;
  2055. /** Holds data of the files selected in the widget. */
  2056. values?: Array<dxFileUploaderFile>;
  2057. /** Specifies the text displayed on the button opening the file selection dialog. */
  2058. buttonText?: string;
  2059. /** Specifies the text displayed on the area to which an end-user can drop a file. */
  2060. labelText?: string;
  2061. /** Specifies the value passed to the name attribute of the underlying input element. */
  2062. name?: string;
  2063. /** Specifies whether the widget enables an end-user to select a single file or multiple files. */
  2064. multiple?: boolean;
  2065. /** Specifies a file type or several types accepted by the widget. */
  2066. accept?: string;
  2067. }
  2068. /** A widget used to select and upload a file or multiple files. */
  2069. export class dxFileUploader extends Editor {
  2070. constructor(element: JQuery, options?: dxFileUploaderOptions);
  2071. constructor(element: Element, options?: dxFileUploaderOptions);
  2072. }
  2073. export interface dxTrackBarOptions extends EditorOptions {
  2074. /** The minimum value the widget can accept. */
  2075. min?: number;
  2076. /** The maximum value the widget can accept. */
  2077. max?: number;
  2078. /** The current widget value. */
  2079. value?: number;
  2080. }
  2081. /** A base class for track bar widgets. */
  2082. export class dxTrackBar extends Editor {
  2083. constructor(element: JQuery, options?: dxTrackBarOptions);
  2084. constructor(element: Element, options?: dxTrackBarOptions);
  2085. }
  2086. export interface dxProgressBarOptions extends dxTrackBarOptions {
  2087. /** Specifies a format for the progress status. */
  2088. statusFormat?: any;
  2089. /** Specifies whether or not the widget displays a progress status. */
  2090. showStatus?: boolean;
  2091. /** A handler for the complete event. */
  2092. onComplete?: Function;
  2093. }
  2094. /** A widget used to indicate a progress. */
  2095. export class dxProgressBar extends dxTrackBar {
  2096. constructor(element: JQuery, options?: dxProgressBarOptions);
  2097. constructor(element: Element, options?: dxProgressBarOptions);
  2098. }
  2099. export interface dxSliderOptions extends dxTrackBarOptions {
  2100. /** The slider step size. */
  2101. step?: number;
  2102. /** The current slider value. */
  2103. value?: number;
  2104. /** Specifies whether or not to highlight a range selected within the widget. */
  2105. showRange?: boolean;
  2106. /** Specifies options for the slider tooltip. */
  2107. tooltip?: {
  2108. /** Specifies whether or not the tooltip is enabled. */
  2109. enabled?: boolean;
  2110. /** Specifies format for the tooltip. */
  2111. format?: any;
  2112. /** Specifies whether the tooltip is located over or under the slider. */
  2113. position?: string;
  2114. /** Specifies whether the widget always shows a tooltip or only when a pointer is over the slider. */
  2115. showMode?: string;
  2116. };
  2117. /** Specifies options for labels displayed at the min and max values. */
  2118. label?: {
  2119. /** Specifies whether or not slider labels are visible. */
  2120. visible?: boolean;
  2121. /** Specifies whether labels are located over or under the scale. */
  2122. position?: string;
  2123. /** Specifies a format for labels. */
  2124. format?: any;
  2125. };
  2126. }
  2127. /** A widget that allows a user to select a numeric value within a given range. */
  2128. export class dxSlider extends dxTrackBar {
  2129. constructor(element: JQuery, options?: dxSliderOptions);
  2130. constructor(element: Element, options?: dxSliderOptions);
  2131. }
  2132. export interface dxRangeSliderOptions extends dxSliderOptions {
  2133. /** The left edge of the interval currently selected using the range slider. */
  2134. start?: number;
  2135. /** The right edge of the interval currently selected using the range slider. */
  2136. end?: number;
  2137. }
  2138. /** A widget that enables a user to select a range of numeric values. */
  2139. export class dxRangeSlider extends dxSlider {
  2140. constructor(element: JQuery, options?: dxRangeSliderOptions);
  2141. constructor(element: Element, options?: dxRangeSliderOptions);
  2142. }
  2143. export interface dxTileViewOptions extends CollectionWidgetOptions {
  2144. /** Specifies the height of the base tile view item. */
  2145. baseItemHeight?: number;
  2146. /** Specifies the width of the base tile view item. */
  2147. baseItemWidth?: number;
  2148. /** Specifies the height of the widget. */
  2149. height?: any;
  2150. /** Specifies the distance in pixels between adjacent tiles. */
  2151. itemMargin?: number;
  2152. listHeight?: any;
  2153. /** A Boolean value specifying whether or not to display a scrollbar. */
  2154. showScrollbar?: boolean;
  2155. }
  2156. /** A widget displaying several blocks of data as tiles. */
  2157. export class dxTileView extends CollectionWidget {
  2158. constructor(element: JQuery, options?: dxTileViewOptions);
  2159. constructor(element: Element, options?: dxTileViewOptions);
  2160. /** Returns the current scroll position of the widget content. */
  2161. scrollPosition(): number;
  2162. }
  2163. export interface dxSwitchOptions extends EditorOptions {
  2164. /** Text displayed when the widget is in a disabled state. */
  2165. offText?: string;
  2166. /** Text displayed when the widget is in an enabled state. */
  2167. onText?: string;
  2168. /** A Boolean value specifying whether the current switch state is "On" or "Off". */
  2169. value?: boolean;
  2170. }
  2171. /** A switch widget. */
  2172. export class dxSwitch extends Editor {
  2173. constructor(element: JQuery, options?: dxSwitchOptions);
  2174. constructor(element: Element, options?: dxSwitchOptions);
  2175. }
  2176. export interface dxSlideoutOptions extends CollectionWidgetOptions {
  2177. /** A Boolean value specifying whether or not the widget changes its state when interacting with a user. */
  2178. activeStateEnabled?: boolean;
  2179. /** A Boolean value specifying whether or not to display a grouped menu. */
  2180. menuGrouped?: boolean;
  2181. menuGroupRender?: any;
  2182. /** The name of the template used to display a group header. */
  2183. menuGroupTemplate?: any;
  2184. menuItemRender?: any;
  2185. /** The template used to render menu items. */
  2186. menuItemTemplate?: any;
  2187. /** Specifies whether or not the slide-out menu is displayed. */
  2188. menuVisible?: boolean;
  2189. /** Indicates whether the menu can be shown/hidden by swiping the widget's main panel. */
  2190. swipeEnabled?: boolean;
  2191. }
  2192. /** The dxSlideOut widget allows you to slide-out the current view to reveal an item list. */
  2193. export class dxSlideOut extends CollectionWidget {
  2194. constructor(element: JQuery, options?: dxSlideoutOptions);
  2195. constructor(element: Element, options?: dxSlideoutOptions);
  2196. /** Hides the widget's slide-out menu. */
  2197. hideMenu(): JQueryPromise<void>;
  2198. /** Displays the widget's slide-out menu. */
  2199. showMenu(): JQueryPromise<void>;
  2200. /** Toggles the visibility of the widget's slide-out menu. */
  2201. toggleMenuVisibility(showing: boolean): JQueryPromise<void>;
  2202. }
  2203. export interface dxPivotOptions extends CollectionWidgetOptions {
  2204. /** The index of the currently active pivot item. */
  2205. selectedIndex?: number;
  2206. }
  2207. /** A widget that is similar to a traditional tab control, but optimized for the phone with simplified end-user interaction. */
  2208. export class dxPivot extends CollectionWidget {
  2209. constructor(element: JQuery, options?: dxPivotOptions);
  2210. constructor(element: Element, options?: dxPivotOptions);
  2211. }
  2212. export interface dxPanoramaOptions extends CollectionWidgetOptions {
  2213. /** An object exposing options for setting a background image for the panorama. */
  2214. backgroundImage?: {
  2215. /** Specifies the height of the panorama's background image. */
  2216. height?: number;
  2217. /** Specifies the URL of the image that is used as the panorama's background image. */
  2218. url?: string;
  2219. /** Specifies the width of the panorama's background image. */
  2220. width?: number;
  2221. };
  2222. /** The index of the currently active panorama item. */
  2223. selectedIndex?: number;
  2224. /** Specifies the widget content title. */
  2225. title?: string;
  2226. }
  2227. /** A widget displaying the required content in a long horizontal canvas that extends beyond the frames of the screen. */
  2228. export class dxPanorama extends CollectionWidget {
  2229. constructor(element: JQuery, options?: dxDropDownEditorOptions);
  2230. constructor(element: Element, options?: dxDropDownEditorOptions);
  2231. }
  2232. export interface dxDropDownMenuOptions extends WidgetOptions {
  2233. /** A handler for the buttonClick event. */
  2234. onButtonClick?: any;
  2235. buttonClickAction?: any;
  2236. /** The name of the icon to be displayed by the DropDownMenu button. */
  2237. buttonIcon?: string;
  2238. /** A URL pointing to the image to be displayed by the DropDownMenu button. */
  2239. buttonIconSrc?: string;
  2240. /** The text displayed in the DropDownMenu button. */
  2241. buttonText?: string;
  2242. /** A data source used to fetch data to be displayed by the widget. */
  2243. dataSource?: any;
  2244. /** A handler for the itemClick event. */
  2245. onItemClick?: any;
  2246. itemClickAction?: any;
  2247. itemRender?: any;
  2248. /** An array of items displayed by the widget. */
  2249. items?: Array<any>;
  2250. /** The template to be used for rendering items. */
  2251. itemTemplate?: any;
  2252. /** Specifies whether or not to show the drop down menu within a dxPopover widget. */
  2253. usePopover?: boolean;
  2254. /** The width of the menu popup in pixels. */
  2255. popupWidth?: any;
  2256. /** The height of the menu popup in pixels. */
  2257. popupHeight?: any;
  2258. }
  2259. /** A drop-down menu widget. */
  2260. export class dxDropDownMenu extends Widget {
  2261. constructor(element: JQuery, options?: dxDropDownEditorOptions);
  2262. constructor(element: Element, options?: dxDropDownEditorOptions);
  2263. /** This section lists the data source fields that are used in a default template for drop-down menu items. */
  2264. }
  2265. export interface dxActionSheetOptions extends CollectionWidgetOptions {
  2266. cancelClickAction?: any;
  2267. /** A handler for the cancelClick event. */
  2268. onCancelClick?: any;
  2269. /** The text displayed in the button that closes the action sheet. */
  2270. cancelText?: string;
  2271. /** Specifies whether to display the Cancel button in action sheet. */
  2272. showCancelButton?: boolean;
  2273. /** A Boolean value specifying whether or not the title of the action sheet is visible. */
  2274. showTitle?: boolean;
  2275. /** Specifies the element the action sheet popover points at. */
  2276. target?: any;
  2277. /** The title of the action sheet. */
  2278. title?: string;
  2279. /** Specifies whether or not to show the action sheet within a dxPopover widget. */
  2280. usePopover?: boolean;
  2281. /** A Boolean value specifying whether or not the dxActionSheet widget is visible. */
  2282. visible?: boolean;
  2283. }
  2284. /** A widget consisting of a set of choices related to a certain task. */
  2285. export class dxActionSheet extends CollectionWidget {
  2286. constructor(element: JQuery, options?: dxActionSheetOptions);
  2287. constructor(element: Element, options?: dxActionSheetOptions);
  2288. /** Hides the widget. */
  2289. hide(): JQueryPromise<dxActionSheet>;
  2290. /** Shows the widget. */
  2291. show(): JQueryPromise<dxActionSheet>;
  2292. /** Shows or hides the widget depending on the Boolean value passed as the parameter. */
  2293. toggle(showing: boolean): JQueryPromise<dxActionSheet>;
  2294. }
  2295. export interface dxColorBoxOptions extends dxDropDownEditorOptions {
  2296. /** Specifies the text displayed on the button that applies changes and closes the drop-down editor. */
  2297. applyButtonText?: string;
  2298. /** Specifies whether the widget value is updated after the Apply button is clicked or immediately after a color is selected in the palette. */
  2299. applyValueMode?: string;
  2300. /** Specifies the text displayed on the button that cancels changes and closes the drop-down editor. */
  2301. cancelButtonText?: string;
  2302. /** Specifies whether or not the widget value includes the alpha channel component. */
  2303. editAlphaChannel?: boolean;
  2304. /** The color currently selected by the widget. */
  2305. value?: string;
  2306. }
  2307. /** A widget used to specify a color value. */
  2308. export class dxColorBox extends dxDropDownEditor {
  2309. constructor(element: JQuery, options?: dxColorBoxOptions);
  2310. constructor(element: Element, options?: dxColorBoxOptions);
  2311. }
  2312. export interface dxColorPickerOptions extends dxColorBoxOptions { }
  2313. /**
  2314. * A widget used to specify a color value.
  2315. * @deprecated Use the dxColorBox widget instead
  2316. */
  2317. export class dxColorPicker extends dxColorBox {
  2318. constructor(element: JQuery, options?: dxColorPickerOptions);
  2319. constructor(element: Element, options?: dxColorPickerOptions);
  2320. }
  2321. export interface dxTreeViewOptions extends CollectionWidgetOptions {
  2322. /** Specifies whether a nested or plain array is used as a data source. */
  2323. dataStructure?: string;
  2324. /** An array of currently expanded item objects. */
  2325. expandedItems?: Array<any>;
  2326. /** Specifies whether or not a check box is displayed at each tree view item. */
  2327. showCheckBoxes?: boolean;
  2328. /** Specifies whether or not to select nodes recursively. */
  2329. selectNodesRecursive?: boolean;
  2330. /** Specifies whether the "Select All" check box is displayed over the tree view. */
  2331. selectAllEnabled?: boolean;
  2332. /** Specifies the text displayed at the "Select All" check box. */
  2333. selectAllText?: string;
  2334. /** Specifies the name of the data source item field used as a key. */
  2335. keyExpr?: any;
  2336. /** Specifies the name of the data source item field whose value is displayed by the widget. */
  2337. displayExpr?: any;
  2338. /** Specifies the name of the data source item field whose value defines whether or not the corresponding node is selected. */
  2339. selectedExpr?: any;
  2340. /** Specifies the name of the data source item field whose value defines whether or not the corresponding node is expanded. */
  2341. expandedExpr?: any;
  2342. /** Specifies the name of the data source item field that contains an array of nested items. */
  2343. itemsExpr?: any;
  2344. /** Specifies the name of the data source item field that holds the key of the parent item. */
  2345. parentIdExpr?: any;
  2346. /** A string value specifying available scrolling directions. */
  2347. scrollDirection?: string;
  2348. /** A handler for the itemSelected event. */
  2349. onItemSelected?: Function;
  2350. /** A handler for the itemExpanded event. */
  2351. onItemExpanded?: Function;
  2352. /** A handler for the itemCollapsed event. */
  2353. onItemCollapsed?: Function;
  2354. }
  2355. /** A widget displaying specified data items as a tree. */
  2356. export class dxTreeView extends CollectionWidget {
  2357. constructor(element: JQuery, options?: dxTreeViewOptions);
  2358. constructor(element: Element, options?: dxTreeViewOptions);
  2359. /** Updates the tree view scrollbars according to the current size of the widget content. */
  2360. updateDimensions(): JQueryPromise<void>;
  2361. /** Selects the specified item. */
  2362. selectItem(itemElement: any): void;
  2363. /** Unselects the specified item. */
  2364. unselectItem(itemElement: any): void;
  2365. /** Expands the specified item. */
  2366. expandItem(itemElement: any): void;
  2367. /** Collapses the specified item. */
  2368. collapseItem(itemElement: any): void;
  2369. /** Returns all nodes of the tree view. */
  2370. getNodes(): Array<Object>;
  2371. }
  2372. export interface dxMenuBaseOptions extends CollectionWidgetOptions {
  2373. /** An object that defines the animation options of the widget. */
  2374. animation?: fx.AnimationOptions;
  2375. /** A Boolean value specifying whether or not the widget changes its state when interacting with a user. */
  2376. activeStateEnabled?: boolean;
  2377. /** Specifies the name of the CSS class associated with the menu. */
  2378. cssClass?: string;
  2379. /** Holds an array of menu items. */
  2380. items?: Array<any>;
  2381. /** Specifies whether or not an item becomes selected if an end-user clicks it. */
  2382. selectionByClick?: boolean;
  2383. /** Specifies the selection mode supported by the menu. */
  2384. selectionMode?: string;
  2385. /** Specifies the user interaction by which submenus are shown. */
  2386. showSubmenuMode?: string;
  2387. }
  2388. export class dxMenuBase extends CollectionWidget {
  2389. constructor(element: JQuery, options?: dxMenuBaseOptions);
  2390. constructor(element: Element, options?: dxMenuBaseOptions);
  2391. /** Selects the specified item. */
  2392. selectItem(itemElement: any): void;
  2393. /** Unselects the specified item. */
  2394. unselectItem(itemElement: any): void;
  2395. }
  2396. export interface dxMenuOptions extends dxMenuBaseOptions {
  2397. firstSubMenuDirection?: string;
  2398. /** Specifies whether the menu has horizontal or vertical orientation. */
  2399. orientation?: string;
  2400. /** Specifies by which user interaction the first-level submenu is shown. */
  2401. showFirstSubmenuMode?: string;
  2402. showPopupMode?: string;
  2403. /** Specifies by which user interaction secondary-level submenus are shown. */
  2404. showSubmenuMode?: string;
  2405. /** Specifies the direction at which the submenus are displayed. */
  2406. submenuDirection?: string;
  2407. /** A handler for the submenuHidden event. */
  2408. onSubmenuHidden?: Function;
  2409. submenuHiddenAction?: Function;
  2410. /** A handler for the submenuHiding event. */
  2411. onSubmenuHiding?: Function;
  2412. submenuHidingAction?: Function;
  2413. /** A handler for the submenuShowing event. */
  2414. onSubmenuShowing?: Function;
  2415. submenuShowingAction?: Function;
  2416. /** A handler for the submenuShown event. */
  2417. onSubmenuShown?: Function;
  2418. submenuShownAction?: Function;
  2419. }
  2420. /** A menu widget. */
  2421. export class dxMenu extends dxMenuBase {
  2422. constructor(element: JQuery, options?: dxMenuOptions);
  2423. constructor(element: Element, options?: dxMenuOptions);
  2424. }
  2425. export interface dxContextMenuOptions extends dxMenuBaseOptions {
  2426. direction?: string;
  2427. hiddenAction?: Function;
  2428. hidingAction?: Function;
  2429. /** Specifies whether the context menu can be called only from code or by user interaction as well. */
  2430. invokeOnlyFromCode?: boolean;
  2431. /** A handler for the hidden event. */
  2432. onHidden?: Function;
  2433. /** A handler for the hiding event. */
  2434. onHiding?: Function;
  2435. /** A handler for the positioning event. */
  2436. onPositioning?: Function;
  2437. /** A handler for the showing event. */
  2438. onShowing?: Function;
  2439. /** A handler for the shown event. */
  2440. onShown?: Function;
  2441. /** An object defining widget positioning options. */
  2442. position?: PositionOptions;
  2443. positioningAction?: Function;
  2444. showingAction?: Function;
  2445. shownAction?: Function;
  2446. /** Specifies by which user interaction the context menu is shown. */
  2447. showSubmenuMode?: string;
  2448. /** Specifies the direction at which submenus are displayed. */
  2449. submenuDirection?: string;
  2450. /** The target element associated with a popover. */
  2451. target?: any;
  2452. /** A Boolean value specifying whether or not the widget is visible. */
  2453. visible?: boolean;
  2454. }
  2455. /** A context menu widget. */
  2456. export class dxContextMenu extends dxMenuBase {
  2457. constructor(element: JQuery, options?: dxContextMenuOptions);
  2458. constructor(element: Element, options?: dxContextMenuOptions);
  2459. }
  2460. export interface dxRemoteOperations {
  2461. /** Specifies whether or not filtering must be performed on the server side. */
  2462. filtering?: boolean;
  2463. /** Specifies whether or not paging must be performed on the server side. */
  2464. paging?: boolean;
  2465. /** Specifies whether or not sorting must be performed on the server side. */
  2466. sorting?: boolean;
  2467. }
  2468. export interface dxDataGridColumn {
  2469. /** Specifies the content alignment within column cells. */
  2470. alignment?: string;
  2471. /** Specifies whether the values in a column can be edited at runtime. Setting this option makes sense only when editing is enabled for a grid. */
  2472. allowEditing?: boolean;
  2473. /** Specifies whether or not a column can be used for filtering grid records. Setting this option makes sense only when the filter row or search panel is visible. */
  2474. allowFiltering?: boolean;
  2475. /** Specifies whether a column can be used for grouping grid records at runtime. Setting this option makes sense only when the group panel is visible. */
  2476. allowGrouping?: boolean;
  2477. /** Specifies whether or not a column can be hidden by a user. Setting this option makes sense only when the column chooser is visible. */
  2478. allowHiding?: boolean;
  2479. /** Specifies whether or not a particular column can be used in column reordering. Setting this option makes sense only when the allowColumnReordering option is set to true. */
  2480. allowReordering?: boolean;
  2481. /** Specifies whether or not a particular column can be resized by a user. Setting this option makes sense only when the allowColumnResizing option is true. */
  2482. allowResizing?: boolean;
  2483. /** Specifies whether grid records can be sorted by a specific column at runtime. Setting this option makes sense only when the sorting mode differs from none. */
  2484. allowSorting?: boolean;
  2485. /** Specifies whether groups appear expanded or not when records are grouped by a specific column. Setting this option makes sense only when grouping is allowed for this column. */
  2486. autoExpandGroup?: boolean;
  2487. /** Specifies a callback function that returns a value to be displayed in a column cell. */
  2488. calculateCellValue?: (rowData: Object) => string;
  2489. /** Specifies a callback function that defines filters for customary calculated grid cells. */
  2490. calculateFilterExpression?: (filterValue: any, selectedFilterOperation: string) => Array<any>;
  2491. /** Specifies a caption for a column. */
  2492. caption?: string;
  2493. /** Specifies a custom template for grid column cells. */
  2494. cellTemplate?: any;
  2495. /** Specifies a CSS class to be applied to a column. */
  2496. cssClass?: string;
  2497. /** Specifies a callback function that determines grouping values. */
  2498. calculateGroupValue?: (rowData: Object) => string;
  2499. /** Specifies a callback function that returns the text to be displayed in the cells of a column. */
  2500. customizeText?: (cellInfo: { value: any; valueText: string }) => string;
  2501. /** Specifies the field of a data source that provides data for a column. */
  2502. dataField?: string;
  2503. /** Specifies the required type of column values. */
  2504. dataType?: string;
  2505. /** Specifies a custom template for the cell of a grid column when it is in an editing state. */
  2506. editCellTemplate?: any;
  2507. /** Specifies whether HTML tags are displayed as plain text or applied to the values of the column. */
  2508. encodeHtml?: boolean;
  2509. /** In a boolean column, replaces all false items with a specified text. */
  2510. falseText?: string;
  2511. /** Specifies the set of available filter operations. */
  2512. filterOperations?: Array<any>;
  2513. /** Specifies a filter value for a column. */
  2514. filterValue?: any;
  2515. /** Specifies a format for the values displayed in a column. */
  2516. format?: string;
  2517. /** Specifies a custom template for the group cell of a grid column. */
  2518. groupCellTemplate?: any;
  2519. /** Specifies the index of a column when grid records are grouped by the values of this column. */
  2520. groupIndex?: number;
  2521. /** Specifies a custom template for the header of a grid column. */
  2522. headerCellTemplate?: any;
  2523. /** Specifies options of a lookup column. */
  2524. lookup?: {
  2525. /** Specifies whether or not a user can nullify values of a lookup column. */
  2526. allowClearing?: boolean;
  2527. /**
  2528. Specifies the data source providing data for a lookup column.
  2529. */
  2530. dataSource?: any;
  2531. /** Specifies the expression defining the data source field whose values must be displayed. */
  2532. displayExpr?: any;
  2533. /** Specifies the expression defining the data source field whose values must be replaced. */
  2534. valueExpr?: string;
  2535. };
  2536. /** Specifies a precision for formatted values displayed in a column. */
  2537. precision?: number;
  2538. /** Specifies a filter operation applied to a column. */
  2539. selectedFilterOperation?: string;
  2540. /** Specifies whether or not the column displays its values by using editors. */
  2541. showEditorAlways?: boolean;
  2542. /** Specifies whether or not to display the column when grid records are grouped by it. */
  2543. showWhenGrouped?: boolean;
  2544. /** Specifies the index of a column when grid records are sorted by the values of this column. */
  2545. sortIndex?: number;
  2546. /** Specifies the initial sort order of column values. */
  2547. sortOrder?: string;
  2548. /** In a boolean column, replaces all true items with a specified text. */
  2549. trueText?: string;
  2550. /** Specifies whether a column is visible or not. */
  2551. visible?: boolean;
  2552. /** Specifies the sequence number of the column in the grid. */
  2553. visibleIndex?: number;
  2554. /** Specifies a column width in pixels or percentages. */
  2555. width?: any;
  2556. /** Specifies an array of validation rules to be checked when updating column cell values. */
  2557. validationRules?: Array<Object>;
  2558. /** Specifies whether or not to display the header of a hidden column in the column chooser. */
  2559. showInColumnChooser?: boolean;
  2560. /** Specifies the identifier of the column. */
  2561. name?: string;
  2562. }
  2563. export interface dxDataGridOptions extends WidgetOptions {
  2564. /** Specifies whether the outer borders of the grid are visible or not. */
  2565. showBorders?: boolean;
  2566. /** Indicates whether to show the error row for the grid. */
  2567. errorRowEnabled?: boolean;
  2568. /** A handler for the rowValidating event. */
  2569. onRowValidating?: (e: Object) => void;
  2570. initNewRow?: (e: { data: Object }) => void;
  2571. /** A handler for the initNewRow event. */
  2572. onInitNewRow?: (e: { data: Object }) => void;
  2573. rowInserted?: (e: { data: Object; key: any }) => void;
  2574. /** A handler for the rowInserted event. */
  2575. onRowInserted?: (e: { data: Object; key: any }) => void;
  2576. rowInserting?: (e: { data: Object; cancel: boolean }) => void;
  2577. /** A handler for the rowInserting event. */
  2578. onRowInserting?: (e: { data: Object; cancel: boolean }) => void;
  2579. rowRemoved?: (e: { data: Object; key: any }) => void;
  2580. /** A handler for the rowRemoved event. */
  2581. onRowRemoved?: (e: { data: Object; key: any }) => void;
  2582. rowRemoving?: (e: { data: Object; key: any; cancel: boolean }) => void;
  2583. /** A handler for the rowRemoving event. */
  2584. onRowRemoving?: (e: { data: Object; key: any; cancel: boolean }) => void;
  2585. rowUpdated?: (e: { data: Object; key: any }) => void;
  2586. /** A handler for the rowUpdated event. */
  2587. onRowUpdated?: (e: { data: Object; key: any }) => void;
  2588. rowUpdating?: (e: { oldData: Object; newData: Object; key: any; cancel: boolean }) => void;
  2589. /** A handler for the rowUpdating event. */
  2590. onRowUpdating?: (e: { oldData: Object; newData: Object; key: any; cancel: boolean }) => void;
  2591. /** Enables a hint that appears when a user hovers the mouse pointer over a cell with truncated content. */
  2592. cellHintEnabled?: boolean;
  2593. /** Specifies whether or not grid columns can be reordered by a user. */
  2594. allowColumnReordering?: boolean;
  2595. /** Specifies whether or not grid columns can be resized by a user. */
  2596. allowColumnResizing?: boolean;
  2597. cellClick?: any;
  2598. /** A handler for the cellClick event. */
  2599. onCellClick?: any;
  2600. cellHoverChanged?: (e: Object) => void;
  2601. /** A handler for the cellHoverChanged event. */
  2602. onCellHoverChanged?: (e: Object) => void;
  2603. cellPrepared?: (e: Object) => void;
  2604. /** A handler for the cellPrepared event. */
  2605. onCellPrepared?: (e: Object) => void;
  2606. /** Specifies whether or not the width of grid columns depends on column content. */
  2607. columnAutoWidth?: boolean;
  2608. /** Specifies the options of a column chooser. */
  2609. columnChooser?: {
  2610. /** Specifies text displayed by the column chooser panel when it does not contain any columns. */
  2611. emptyPanelText?: string;
  2612. /** Specifies whether a user can invoke the column chooser or not. */
  2613. enabled?: boolean;
  2614. /** Specifies the height of the column chooser panel. */
  2615. height?: number;
  2616. /** Specifies text displayed in the title of the column chooser panel. */
  2617. title?: string;
  2618. /** Specifies the width of the column chooser panel. */
  2619. width?: number;
  2620. };
  2621. /**
  2622. An array of grid columns.
  2623. */
  2624. columns?: Array<dxDataGridColumn>;
  2625. onContentReady?: Function;
  2626. contentReadyAction?: Function;
  2627. /** Specifies a function that customizes grid columns after they are created. */
  2628. customizeColumns?: (columns: Array<dxDataGridColumn>) => void;
  2629. dataErrorOccurred?: (errorObject: Error) => void;
  2630. /** Specifies a data source for the grid. */
  2631. dataSource?: any;
  2632. editingStart?: (e: {
  2633. data: Object;
  2634. key: any;
  2635. cancel: boolean;
  2636. column: dxDataGridColumn
  2637. }) => void;
  2638. /** A handler for the editingStart event. */
  2639. onEditingStart?: (e: {
  2640. data: Object;
  2641. key: any;
  2642. cancel: boolean;
  2643. column: dxDataGridColumn
  2644. }) => void;
  2645. editorPrepared?: (e: Object) => void;
  2646. /** A handler for the editorPrepared event. */
  2647. onEditorPrepared?: (e: Object) => void;
  2648. editorPreparing?: (e: Object) => void;
  2649. /** A handler for the editorPreparing event. */
  2650. onEditorPreparing?: (e: Object) => void;
  2651. /** Contains options that specify how grid content can be changed. */
  2652. editing?: {
  2653. /** Specifies whether or not grid records can be edited at runtime. */
  2654. editEnabled?: boolean;
  2655. /** Specifies how grid values can be edited manually. */
  2656. editMode?: string;
  2657. /** Specifies whether or not new records can be inserted into a grid. */
  2658. insertEnabled?: boolean;
  2659. /** Specifies whether or not records can be deleted from a grid. */
  2660. removeEnabled?: boolean;
  2661. /** Contains options that specify texts for editing-related grid controls. */
  2662. texts?: {
  2663. /** Specifies text for a hint that appears when a user hovers the mouse pointer over the "Save" button. Setting this option makes sense only when the editMode option is set to batch. */
  2664. saveAllChanges?: string;
  2665. /** Specifies text for a cancel button displayed when a row is in the editing state. Setting this option makes sense only when the editEnabled option is set to true. */
  2666. cancelRowChanges?: string;
  2667. /** Specifies text for a hint that appears when a user hovers the mouse pointer over the "Revert" button. Setting this option makes sense only when the editMode option is set to batch. */
  2668. cancelAllChanges?: string;
  2669. /** Specifies a message to be displayed by a confirmation window. Setting this option makes sense only when the edit mode is "row". */
  2670. confirmDeleteMessage?: string;
  2671. /** Specifies text to be displayed in the title of a confirmation window. Setting this option makes sense only when the edit mode is "row". */
  2672. confirmDeleteTitle?: string;
  2673. /** Specifies text for a button that deletes a row from a grid. Setting this option makes sense only when the removeEnabled option is set to true. */
  2674. deleteRow?: string;
  2675. /** Specifies text for a hint that appears when a user hovers the mouse pointer over the "Add" button. Setting this option makes sense only when the insertEnabled option is true. */
  2676. addRow?: string;
  2677. /** Specifies text for a button that turns a row into the editing state. Setting this option makes sense only when the editEnabled option is set to true. */
  2678. editRow?: string;
  2679. /**
  2680. * Specifies text for a button that recovers a deleted row. Setting this option makes sense only if the grid uses the batch edit mode and the removeEnabled option is set to true.
  2681. * @deprecated Use the "undeleteRow" option instead.
  2682. */
  2683. recoverRow?: string;
  2684. /** Specifies text for a save button displayed when a row is in the editing state. Setting this option makes sense only when the editEnabled option is set to true. */
  2685. saveRowChanges?: string;
  2686. /** Specifies text for a button that recovers a deleted row. Setting this option makes sense only if the grid uses the batch edit mode and the removeEnabled option is set to true. */
  2687. undeleteRow?: string;
  2688. };
  2689. };
  2690. /** Specifies filter row options. */
  2691. filterRow?: {
  2692. /** Specifies when to apply a filter. */
  2693. applyFilter?: string;
  2694. /** Specifies text for the hint that pops up when a user hovers the mouse pointer over the "Apply Filter" button. */
  2695. applyFilterText?: string;
  2696. /** Specifies descriptions for filter operations. */
  2697. operationDescriptions?: {
  2698. "=": string;
  2699. "<>": string;
  2700. "<": string;
  2701. "<=": string;
  2702. ">": string;
  2703. ">=": string;
  2704. "startswith": string;
  2705. "contains": string;
  2706. "notcontains": string;
  2707. "endswith": string;
  2708. };
  2709. /** Specifies text for the reset operation in a filter list. */
  2710. resetOperationText?: string;
  2711. /** Specifies text for the operation of clearing the applied filter when a select box is used. */
  2712. showAllText?: string;
  2713. /** Specifies whether or not an icon that allows the user to choose a filter operation is visible. */
  2714. showOperationChooser?: boolean;
  2715. /** Specifies whether the filter row is visible or not. */
  2716. visible?: boolean;
  2717. };
  2718. /** Specifies the behavior of grouped grid records. */
  2719. grouping?: {
  2720. /** Specifies whether the user can collapse grouped records in a grid or not. */
  2721. allowCollapsing?: boolean;
  2722. /** Specifies whether groups appear expanded or not. */
  2723. autoExpandAll?: boolean;
  2724. /** Specifies the message displayed in a group row when the corresponding group is continued from the previous page. */
  2725. groupContinuedMessage?: string;
  2726. /**
  2727. Specifies the message displayed in a group row when the corresponding group continues on the next page.
  2728. */
  2729. groupContinuesMessage?: string;
  2730. };
  2731. /** Specifies options that configure the group panel. */
  2732. groupPanel?: {
  2733. /** Specifies whether columns can be dragged onto or from the group panel. */
  2734. allowColumnDragging?: boolean;
  2735. /** Specifies text displayed by the group panel when it does not contain any columns. */
  2736. emptyPanelText?: string;
  2737. /** Specifies whether the group panel is visible or not. */
  2738. visible?: boolean;
  2739. };
  2740. /** Specifies options configuring the load panel. */
  2741. loadPanel?: {
  2742. /** Specifies whether to show the load panel or not. */
  2743. enabled?: boolean;
  2744. /** Specifies the height of the load panel in pixels. */
  2745. height?: number;
  2746. /** Specifies a URL pointing to an image to be used as a loading indicator. */
  2747. indicatorSrc?: string;
  2748. /** Specifies whether or not a loading indicator must be displayed on the load panel. */
  2749. showIndicator?: boolean;
  2750. /** Specifies whether or not the pane of the load panel must be displayed. */
  2751. showPane?: boolean;
  2752. /** Specifies text displayed by the load panel. */
  2753. text?: string;
  2754. /** Specifies the width of the load panel in pixels. */
  2755. width?: number;
  2756. };
  2757. /** Specifies text displayed when a grid does not contain any records. */
  2758. noDataText?: string;
  2759. /** Specifies the options of a grid pager. */
  2760. pager?: {
  2761. /** Specifies the page sizes that can be selected at runtime. */
  2762. allowedPageSizes?: any;
  2763. /** Specifies whether to show the page size selector or not. */
  2764. showPageSizeSelector?: boolean;
  2765. /** Specifies whether to show the pager or not. */
  2766. visible?: any;
  2767. /** Specifies the text accompanying the page navigator. */
  2768. infoText?: string;
  2769. /** Specifies whether or not to display the text accompanying the page navigator. This text is specified by the infoText option. */
  2770. showInfo?: boolean;
  2771. /** Specifies whether or not to display buttons that switch the grid to the previous or next page. */
  2772. showNavigationButtons?: boolean;
  2773. };
  2774. /** Specifies paging options. */
  2775. paging?: {
  2776. /** Specifies whether dxDataGrid loads data page by page or all at once. */
  2777. enabled?: boolean;
  2778. /** Specifies the grid page that should be displayed by default. */
  2779. pageIndex?: number;
  2780. /** Specifies the size of grid pages. */
  2781. pageSize?: number;
  2782. };
  2783. /** Specifies whether or not grid rows must be shaded in a different way. */
  2784. rowAlternationEnabled?: boolean;
  2785. rowClick?: any;
  2786. /** A handler for the rowClick event. */
  2787. onRowClick?: any;
  2788. rowPrepared?: (e: Object) => void;
  2789. /** A handler for the rowPrepared event. */
  2790. onRowPrepared?: (e: Object) => void;
  2791. /** Specifies a custom template for grid rows. */
  2792. rowTemplate?: any;
  2793. /** A configuration object specifying scrolling options. */
  2794. scrolling?: {
  2795. /** Specifies the scrolling mode. */
  2796. mode?: string;
  2797. /** Specifies whether or not a grid must preload pages adjacent to the current page when using virtual scrolling. */
  2798. preloadEnabled?: boolean;
  2799. };
  2800. /** Specifies options of the search panel. */
  2801. searchPanel?: {
  2802. /** Specifies whether or not search strings in the located grid records should be highlighted. */
  2803. highlightSearchText?: boolean;
  2804. /** Specifies text displayed by the search panel when no search string was typed. */
  2805. placeholder?: string;
  2806. /** Specifies whether the search panel is visible or not. */
  2807. visible?: boolean;
  2808. /** Specifies the width of the search panel in pixels. */
  2809. width?: number;
  2810. /** Sets a search string for the search panel. */
  2811. text?: string;
  2812. };
  2813. /** Specifies the operations that must be performed on the server side. */
  2814. remoteOperations?: any;
  2815. /** Allows you to sort groups according to the values of group summary items. */
  2816. sortByGroupSummaryInfo?: Array<{
  2817. /** Specifies the group summary item whose values must be used to sort groups. */
  2818. summaryItem?: string;
  2819. /** Specifies the identifier of the column that must be used in grouping so that sorting by group summary item values be applied. */
  2820. groupColumn?: string;
  2821. /** Specifies the sort order of group summary item values. */
  2822. sortOrder?: string;
  2823. }>;
  2824. /** Allows you to build a master-detail interface in the grid. */
  2825. masterDetail?: {
  2826. /** Enables an end-user to expand/collapse detail sections. */
  2827. enabled?: boolean;
  2828. /** Specifies whether detail sections appear expanded or collapsed. */
  2829. autoExpandAll?: boolean;
  2830. /** Specifies the template for detail sections. */
  2831. template?: any;
  2832. };
  2833. /** Specifies the keys of the records that must appear selected initially. */
  2834. selectedRowKeys?: Array<any>;
  2835. /** Specifies options of runtime selection. */
  2836. selection?: {
  2837. /** Specifies whether the user can select all grid records at once. */
  2838. allowSelectAll?: boolean;
  2839. /** Specifies the selection mode. */
  2840. mode?: string;
  2841. };
  2842. selectionChanged?: (e: {
  2843. currentSelectedRowKeys: Array<any>;
  2844. currentDeselectedRowKeys: Array<any>;
  2845. selectedRowKeys: Array<any>;
  2846. selectedRowsData: Array<any>;
  2847. }) => void;
  2848. /** A handler for the dataErrorOccured event. */
  2849. onDataErrorOccurred?: (e: { error: Error }) => void;
  2850. /** A handler for the selectionChanged event. */
  2851. onSelectionChanged?: (e: {
  2852. currentSelectedRowKeys: Array<any>;
  2853. currentDeselectedRowKeys: Array<any>;
  2854. selectedRowKeys: Array<any>;
  2855. selectedRowsData: Array<any>;
  2856. }) => void;
  2857. /** Specifies whether column headers are visible or not. */
  2858. showColumnHeaders?: boolean;
  2859. /** Specifies whether or not vertical lines separating one grid column from another are visible. */
  2860. showColumnLines?: boolean;
  2861. /** Specifies whether or not horizontal lines separating one grid row from another are visible. */
  2862. showRowLines?: boolean;
  2863. /** Specifies options of runtime sorting. */
  2864. sorting?: {
  2865. /** Specifies text for the context menu item that sets an ascending sort order in a column. */
  2866. ascendingText?: string;
  2867. /** Specifies text for the context menu item that resets sorting settings for a column. */
  2868. clearText?: string;
  2869. /** Specifies text for the context menu item that sets a descending sort order in a column. */
  2870. descendingText?: string;
  2871. /** Specifies the runtime sorting mode. */
  2872. mode?: string;
  2873. };
  2874. /** Specifies options of state storing. */
  2875. stateStoring?: {
  2876. /** Specifies a callback function that performs specific actions on state loading. */
  2877. customLoad?: () => JQueryPromise<Object>;
  2878. /** Specifies a callback function that performs specific actions on state saving. */
  2879. customSave?: (gridState: Object) => void;
  2880. /** Specifies whether or not a grid saves its state. */
  2881. enabled?: boolean;
  2882. /** Specifies the delay between the last change of a grid state and the operation of saving this state in milliseconds. */
  2883. savingTimeout?: number;
  2884. /** Specifies a unique key to be used for storing the grid state. */
  2885. storageKey?: string;
  2886. /** Specifies the type of storage to be used for state storing. */
  2887. type?: string;
  2888. };
  2889. /** Specifies the options of the grid summary. */
  2890. summary?: {
  2891. /** Contains options that specify text patterns for summary items. */
  2892. texts?: {
  2893. /** Specifies a pattern for the 'sum' summary items when they are displayed in the parent column. */
  2894. sum?: string;
  2895. /** Specifies a pattern for the 'sum' summary items displayed in a group row or in any other column rather than the parent one. */
  2896. sumOtherColumn?: string;
  2897. /** Specifies a pattern for the 'min' summary items when they are displayed in the parent column. */
  2898. min?: string;
  2899. /** Specifies a pattern for the 'min' summary items displayed in a group row or in any other column rather than the parent one. */
  2900. minOtherColumn?: string;
  2901. /** Specifies a pattern for the 'max' summary items when they are displayed in the parent column. */
  2902. max?: string;
  2903. /** Specifies a pattern for the 'max' summary items displayed in a group row or in any other column rather than the parent one. */
  2904. maxOtherColumn?: string;
  2905. /** Specifies a pattern for the 'avg' summary items when they are displayed in the parent column. */
  2906. avg?: string;
  2907. /** Specifies a pattern for the 'avg' summary items displayed in a group row or in any other column rather than the parent one. */
  2908. avgOtherColumn?: string;
  2909. /** Specifies a pattern for the 'count' summary items. */
  2910. count?: string;
  2911. };
  2912. /** Specifies items of the group summary. */
  2913. groupItems?: Array<{
  2914. /** Specifies the identifier of a summary item. */
  2915. name?: string;
  2916. /** Specifies the column that provides data for a group summary item. */
  2917. column?: string;
  2918. /** Customizes the text to be displayed in the summary item. */
  2919. customizeText?: (itemInfo: {
  2920. value: any;
  2921. valueText: string;
  2922. }) => string;
  2923. /** Specifies a pattern for the summary item text. */
  2924. displayFormat?: string;
  2925. /** Specifies a precision for the summary item value of a numeric format. */
  2926. precision?: number;
  2927. /** Specifies whether or not a summary item must be displayed in the group footer. */
  2928. showInGroupFooter?: boolean;
  2929. /** Specifies the column that must hold the summary item when this item is displayed in the group footer. */
  2930. showInColumn?: string;
  2931. /** Specifies how to aggregate data for a summary item. */
  2932. summaryType?: string;
  2933. /** Specifies a format for the summary item value. */
  2934. valueFormat?: string;
  2935. }>;
  2936. /** Specifies items of the total summary. */
  2937. totalItems?: Array<{
  2938. /** Specifies the identifier of a summary item. */
  2939. name?: string;
  2940. /** Specifies the alignment of a summary item. */
  2941. alignment?: string;
  2942. /** Specifies the column that provides data for a summary item. */
  2943. column?: string;
  2944. /** Specifies a CSS class to be applied to a summary item. */
  2945. cssClass?: string;
  2946. /** Customizes the text to be displayed in the summary item. */
  2947. customizeText?: (itemInfo: {
  2948. value: any;
  2949. valueText: string;
  2950. }) => string;
  2951. /** Specifies a pattern for the summary item text. */
  2952. displayFormat?: string;
  2953. /** Specifies a precision for the summary item value of a numeric format. */
  2954. precision?: number;
  2955. /** Specifies the column that must hold the summary item. */
  2956. showInColumn?: string;
  2957. /** Specifies how to aggregate data for a summary item. */
  2958. summaryType?: string;
  2959. /** Specifies a format for the summary item value. */
  2960. valueFormat?: string;
  2961. }>;
  2962. /** Allows you to use a custom aggregate function to calculate the value of a summary item. */
  2963. calculateCustomSummary?: (options: {
  2964. component: dxDataGrid;
  2965. name?: string;
  2966. value: any;
  2967. totalValue: any;
  2968. summaryProcess: string
  2969. }) => void;
  2970. };
  2971. /** Specifies whether text that does not fit into a column should be wrapped. */
  2972. wordWrapEnabled?: boolean;
  2973. }
  2974. /**
  2975. A data grid widget.
  2976. */
  2977. export class dxDataGrid extends Widget {
  2978. constructor(element: JQuery, options?: dxDataGridOptions);
  2979. constructor(element: Element, options?: dxDataGridOptions);
  2980. /** Ungroups grid records. */
  2981. clearGrouping(): void;
  2982. /** Clears sorting settings of all grid columns at once. */
  2983. clearSorting(): void;
  2984. /** Allows you to obtain a cell by its row index and the data field of its column. */
  2985. getCellElement(rowIndex: number, dataField: string): any;
  2986. /** Allows you to obtain a cell by its row index and the visible index of its column. */
  2987. getCellElement(rowIndex: number, visibleColumnIndex: number): any;
  2988. /** Returns the current state of the grid. */
  2989. state(): Object;
  2990. /** Sets the grid state. */
  2991. state(state: Object): void;
  2992. /** Allows you to obtain the row index by a data key. */
  2993. getRowIndexByKey(key: any): number;
  2994. /** Allows you to obtain the data key by a row index. */
  2995. getKeyByRowIndex(rowIndex: number): any;
  2996. /** Adds a new column to a grid. */
  2997. addColumn(columnOptions: dxDataGridColumn): void;
  2998. /** Displays the load panel. */
  2999. beginCustomLoading(messageText: string): void;
  3000. /** Discards changes made in a grid. */
  3001. cancelEditData(): void;
  3002. /** Clears the filter applied to grid records from code. */
  3003. clearFilter(): void;
  3004. /** Deselects all grid records. */
  3005. clearSelection(): void;
  3006. /** Draws the cell being edited from the editing state. Use this method when the edit mode is batch. */
  3007. closeEditCell(): void;
  3008. /** Collapses groups or master rows in a grid. */
  3009. collapseAll(groupIndex?: number): void;
  3010. /** Returns the number of data columns in a grid. */
  3011. columnCount(): number;
  3012. /** Returns the value of a specific column option. */
  3013. columnOption(id: number, optionName: string): any;
  3014. /** Sets an option of a specific column. */
  3015. columnOption(id: number, optionName: string, optionValue: any): void;
  3016. /** Returns the options of a column by an identifier. */
  3017. columnOption(id: any): Object;
  3018. /** Sets several options of a column at once. */
  3019. columnOption(id: any, options: Object): void;
  3020. /** Sets a specific cell into the editing state. */
  3021. editCell(rowIndex: number, columnIndex: number): void;
  3022. /** Sets a specific row into the editing state. */
  3023. editRow(rowIndex: number): void;
  3024. /** Hides the load panel. */
  3025. endCustomLoading(): void;
  3026. /** Expands groups or master rows in a grid. */
  3027. expandAll(groupIndex: number): void;
  3028. /** Allows you to find out whether a specific group or master row is expanded or collapsed. */
  3029. isRowExpanded(key: any): boolean;
  3030. /** Allows you to expand a specific group or master row by its key. */
  3031. expandRow(key: any): void;
  3032. /** Allows you to collapse a specific group or master row by its key. */
  3033. collapseRow(key: any): void;
  3034. /** Applies a filter to grid records. */
  3035. filter(filterExpr: Array<any>): void;
  3036. /** Gets the keys of currently selected grid records. */
  3037. getSelectedRowKeys(): Array<Object>;
  3038. /** Gets the data objects of currently selected grid records. */
  3039. getSelectedRowsData(): Array<Object>;
  3040. /** Hides the column chooser panel. */
  3041. hideColumnChooser(): void;
  3042. /** Adds a new data row to a grid. */
  3043. insertRow(): void;
  3044. /** Returns the key corresponding to the passed data object. */
  3045. keyOf(obj: Object): any;
  3046. /** Switches a grid to a specified page. */
  3047. pageIndex(newIndex: number): void;
  3048. /** Gets the index of the current page. */
  3049. pageIndex(): number;
  3050. /** Sets the page size. */
  3051. pageSize(value: number): void;
  3052. /** Gets the current page size. */
  3053. pageSize(): number;
  3054. /**
  3055. * Recovers a row deleted in the batch edit mode.
  3056. * @deprecated Use the "undeleteRow" method instead.
  3057. */
  3058. recoverRow(rowIndex: number): void;
  3059. /** Refreshes grid data. */
  3060. refresh(): void;
  3061. /** Removes a specific row from a grid. */
  3062. removeRow(rowIndex: number): void;
  3063. /** Saves changes made in a grid. */
  3064. saveEditData(): void;
  3065. /**
  3066. Searches grid records by a search string.
  3067. */
  3068. searchByText(text: string): void;
  3069. /** Selects all grid records. */
  3070. selectAll(): void;
  3071. /** Selects specific grid records. */
  3072. selectRows(keys: Array<any>, preserve: boolean): void;
  3073. /** Deselects specific grid records. */
  3074. deselectRows(keys: Array<any>): void;
  3075. /** Selects grid rows by indexes. */
  3076. selectRowsByIndexes(indexes: Array<any>): void;
  3077. /** Allows you to find out whether a row is selected or not. */
  3078. isRowSelected(key: any): boolean;
  3079. /** Invokes the column chooser panel. */
  3080. showColumnChooser(): void;
  3081. startSelectionWithCheckboxes(): boolean;
  3082. /** Returns the number of records currently held by a grid. */
  3083. totalCount(): number;
  3084. /** Recovers a row deleted in the batch edit mode. */
  3085. undeleteRow(rowIndex: number): void;
  3086. /** Allows you to obtain a data object by its key. */
  3087. byKey(key: any): JQueryPromise<any>;
  3088. /** Gets the value of a total summary item. */
  3089. getTotalSummaryValue(summaryItemName: string): any;
  3090. }
  3091. }
  3092. declare module DevExpress.viz.charts {
  3093. /** This section describes the fields and methods that can be used in code to manipulate the Series object. */
  3094. export interface BaseSeries {
  3095. /** Provides information about the state of the series object. */
  3096. fullState: number;
  3097. /** Returns the type of the series. */
  3098. type: string;
  3099. /** Unselects all the selected points of the series. The points are displayed in an initial style. */
  3100. clearSelection(): void;
  3101. /** Gets a point from the series point collection based on the specified argument. */
  3102. getPointByArg(pointArg: any): Object;
  3103. /** Gets a point from the series point collection based on the specified point position. */
  3104. getPointByPos(positionIndex: number): Object;
  3105. /** Selects the series. The series is displayed in a 'selected' style until another series is selected or the current series is deselected programmatically. */
  3106. select(): void;
  3107. /** Selects the specified point. The point is displayed in a 'selected' style. */
  3108. selectPoint(point: BasePoint): void;
  3109. /** Deselects the specified point. The point is displayed in an initial style. */
  3110. deselectPoint(point: BasePoint): void;
  3111. /** Returns an array of all points in the series. */
  3112. getAllPoints(): Array<BasePoint>;
  3113. /** Returns visible series points. */
  3114. getVisiblePoints(): Array<BasePoint>;
  3115. }
  3116. /** This section describes the methods that can be used in code to manipulate the Point object. */
  3117. export interface BasePoint {
  3118. /** Provides information about the state of the point object. */
  3119. fullState: number;
  3120. /** Returns the point's argument value that was set in the data source. */
  3121. originalArgument: any;
  3122. /** Returns the point's value that was set in the data source. */
  3123. originalValue: any;
  3124. /** Returns the tag of the point. */
  3125. tag: string;
  3126. /** Deselects the point. */
  3127. clearSelection(): void;
  3128. /** Gets the color of a particular point. */
  3129. getColor(): string;
  3130. /** Hides the tooltip of the point. */
  3131. hideTooltip(): void;
  3132. /** Provides information about the hover state of a point. */
  3133. isHovered(): any;
  3134. /** Provides information about the selection state of a point. */
  3135. isSelected(): any;
  3136. /** Selects the point. The point is displayed in a 'selected' style until another point is selected or the current point is deselected programmatically. */
  3137. select(): void;
  3138. /** Shows the tooltip of the point. */
  3139. showTooltip(): void;
  3140. /** Allows you to obtain the label of a series point. */
  3141. getLabel(): any;
  3142. /** Returns the series object to which the point belongs. */
  3143. series: BaseSeries;
  3144. }
  3145. /** This section describes the fields and methods that can be used in code to manipulate the Series object. */
  3146. export interface ChartSeries extends BaseSeries {
  3147. /** Returns the name of the series pane. */
  3148. pane: string;
  3149. /** Returns the name of the value axis of the series. */
  3150. axis: string;
  3151. /** Returns the name of the series. */
  3152. name: string;
  3153. /** Returns the tag of the series. */
  3154. tag: string;
  3155. /** Hides a particular series. */
  3156. hide(): void;
  3157. /** Provides information about the hover state of a series. */
  3158. isHovered(): any;
  3159. /** Provides information about the selection state of a series. */
  3160. isSelected(): any;
  3161. /** Provides information about the visibility state of a series. */
  3162. isVisible(): boolean;
  3163. /** Makes a particular series visible. */
  3164. show(): void;
  3165. selectPoint(point: ChartPoint): void;
  3166. deselectPoint(point: ChartPoint): void;
  3167. getAllPoints(): Array<ChartPoint>;
  3168. getVisiblePoints(): Array<ChartPoint>;
  3169. }
  3170. /** This section describes the methods that can be used in code to manipulate the Point object. */
  3171. export interface ChartPoint extends BasePoint {
  3172. /** Contains the close value of the point. This field is useful for points belonging to a series of the candle stick or stock type only. */
  3173. originalCloseValue: any;
  3174. /** Contains the high value of the point. This field is useful for points belonging to a series of the candle stick or stock type only. */
  3175. originalHighValue: any;
  3176. /** Contains the low value of the point. This field is useful for points belonging to a series of the candle stick or stock type only. */
  3177. originalLowValue: any;
  3178. /** Contains the first value of the point. This field is useful for points belonging to a series of the range area or range bar type only. */
  3179. originalMinValue: any;
  3180. /** Contains the open value of the point. This field is useful for points belonging to a series of the candle stick or stock type only. */
  3181. originalOpenValue: any;
  3182. /** Contains the size of the bubble as it was set in the data source. This field is useful for points belonging to a series of the bubble type only. */
  3183. size: any;
  3184. /** Gets the parameters of the point's minimum bounding rectangle (MBR). */
  3185. getBoundingRect(): { x: number; y: number; width: number; height: number; };
  3186. series: ChartSeries;
  3187. }
  3188. /** This section describes the methods that can be used in code to manipulate the Label object. */
  3189. export interface Label {
  3190. /** Gets the parameters of the label's minimum bounding rectangle (MBR). */
  3191. getBoundingRect(): { x: number; y: number; width: number; height: number; };
  3192. /** Hides the point label. */
  3193. hide(): void;
  3194. /** Shows the point label. */
  3195. show(): void;
  3196. }
  3197. export interface PieSeries extends BaseSeries {
  3198. selectPoint(point: PiePoint): void;
  3199. deselectPoint(point: PiePoint): void;
  3200. getAllPoints(): Array<PiePoint>;
  3201. getVisiblePoints(): Array<PiePoint>;
  3202. }
  3203. /** This section describes the methods that can be used in code to manipulate the Point object. */
  3204. export interface PiePoint extends BasePoint {
  3205. /** Gets the percentage value of the specific point. */
  3206. percent: any;
  3207. /** Provides information about the visibility state of a point. */
  3208. isVisible(): boolean;
  3209. /** Makes a specific point visible. */
  3210. show(): void;
  3211. /** Hides a specific point. */
  3212. hide(): void;
  3213. series: PieSeries;
  3214. }
  3215. /** This section describes the fields and methods that can be used in code to manipulate the Series object. */
  3216. export interface PolarSeries extends BaseSeries {
  3217. /** Returns the name of the value axis of the series. */
  3218. axis: string;
  3219. /** Returns the name of the series. */
  3220. name: string;
  3221. /** Returns the tag of the series. */
  3222. tag: string;
  3223. /** Hides a particular series. */
  3224. hide(): void;
  3225. /** Provides information about the hover state of a series. */
  3226. isHovered(): any;
  3227. /** Provides information about the selection state of a series. */
  3228. isSelected(): any;
  3229. /** Provides information about the visibility state of a series. */
  3230. isVisible(): boolean;
  3231. /** Makes a particular series visible. */
  3232. show(): void;
  3233. selectPoint(point: PolarPoint): void;
  3234. deselectPoint(point: PolarPoint): void;
  3235. getAllPoints(): Array<PolarPoint>;
  3236. getVisiblePoints(): Array<PolarPoint>;
  3237. }
  3238. /** This section describes the methods that can be used in code to manipulate the Point object. */
  3239. export interface PolarPoint extends BasePoint {
  3240. /** Gets the parameters of the point's minimum bounding rectangle (MBR). */
  3241. getBoundingRect(): Object;
  3242. series: PolarSeries;
  3243. }
  3244. export interface Strip {
  3245. /** Specifies a color for a strip. */
  3246. color?: string;
  3247. /** An object that defines the label configuration options of a strip. */
  3248. label?: {
  3249. /** Specifies the text displayed in a strip. */
  3250. text?: string;
  3251. };
  3252. /** Specifies a start value for a strip. */
  3253. startValue?: any;
  3254. /** Specifies an end value for a strip. */
  3255. endValue?: any;
  3256. }
  3257. export interface BaseSeriesConfigLabel {
  3258. /** Specifies a format for arguments displayed by point labels. */
  3259. argumentFormat?: string;
  3260. /** Specifies a precision for formatted point arguments displayed in point labels. */
  3261. argumentPrecision?: number;
  3262. /** Specifies a background color for point labels. */
  3263. backgroundColor?: string;
  3264. /** Specifies border options for point labels. */
  3265. border?: viz.core.DashedBorder;
  3266. /** Specifies connector options for series point labels. */
  3267. connector?: {
  3268. /** Specifies the color of label connectors. */
  3269. color?: string;
  3270. /** Indicates whether or not label connectors are visible. */
  3271. visible?: boolean;
  3272. /** Specifies the width of label connectors. */
  3273. width?: number;
  3274. };
  3275. /** Specifies a callback function that returns the text to be displayed by point labels. */
  3276. customizeText?: (pointInfo: Object) => string;
  3277. /** Specifies font options for the text displayed in point labels. */
  3278. font?: viz.core.Font;
  3279. /** Specifies a format for the text displayed by point labels. */
  3280. format?: string;
  3281. position?: string;
  3282. /** Specifies a precision for formatted point values displayed in point labels. */
  3283. precision?: number;
  3284. /** Specifies the angle used to rotate point labels from their initial position. */
  3285. rotationAngle?: number;
  3286. /** Specifies the visibility of point labels. */
  3287. visible?: boolean;
  3288. }
  3289. export interface SeriesConfigLabel extends BaseSeriesConfigLabel {
  3290. /** Specifies whether or not to show a label when the point has a zero value. */
  3291. showForZeroValues?: boolean;
  3292. }
  3293. export interface ChartSeriesConfigLabel extends SeriesConfigLabel {
  3294. /** Specifies how to align point labels relative to the corresponding data points that they represent. */
  3295. alignment?: string;
  3296. /** Specifies how to shift point labels horizontally from their initial positions. */
  3297. horizontalOffset?: number;
  3298. /** Specifies how to shift point labels vertically from their initial positions. */
  3299. verticalOffset?: number;
  3300. /** Specifies a precision for the percentage values displayed in the labels of a full-stacked-like series. */
  3301. percentPrecision?: number;
  3302. }
  3303. export interface BaseCommonSeriesConfig {
  3304. /** Specifies the data source field that provides arguments for series points. */
  3305. argumentField?: string;
  3306. axis?: string;
  3307. /** An object defining the label configuration options for a series in the dxChart widget. */
  3308. label?: ChartSeriesConfigLabel;
  3309. /** Specifies border options for point labels. */
  3310. border?: viz.core.DashedBorder;
  3311. /** Specifies a series color. */
  3312. color?: string;
  3313. /** Specifies the dash style of the series' line. */
  3314. dashStyle?: string;
  3315. hoverMode?: string;
  3316. /** An object defining configuration options for a hovered series. */
  3317. hoverStyle?: {
  3318. /** An object defining the border options for a hovered series. */
  3319. border?: viz.core.DashedBorder;
  3320. /** <p>Sets a color for a series when it is hovered over.</p> */
  3321. color?: string;
  3322. /** Specifies the dash style for the line in a hovered series. */
  3323. dashStyle?: string;
  3324. /** Specifies the hatching options to be applied when a series is hovered over. */
  3325. hatching?: viz.core.Hatching;
  3326. /** Specifies the width of a line in a hovered series. */
  3327. width?: number;
  3328. };
  3329. /** Specifies whether a chart ignores null data points or not. */
  3330. ignoreEmptyPoints?: boolean;
  3331. /** Specifies how many points are acceptable to be in a series to display all labels for these points. Otherwise, the labels will not be displayed. */
  3332. maxLabelCount?: number;
  3333. /** Specifies the minimal length of a displayed bar in pixels. */
  3334. minBarSize?: number;
  3335. /** Specifies opacity for a series. */
  3336. opacity?: number;
  3337. /** Specifies the series elements to highlight when the series is selected. */
  3338. selectionMode?: string;
  3339. /** An object defining configuration options for a selected series. */
  3340. selectionStyle?: {
  3341. /** An object defining the border options for a selected series. */
  3342. border?: viz.core.DashedBorder;
  3343. /** Sets a color for a series when it is selected. */
  3344. color?: string;
  3345. /** Specifies the dash style for the line in a selected series. */
  3346. dashStyle?: string;
  3347. /** Specifies the hatching options to be applied when a series is selected. */
  3348. hatching?: viz.core.Hatching;
  3349. /** Specifies the width of a line in a selected series. */
  3350. width?: number;
  3351. };
  3352. /** Specifies whether or not to show the series in the chart's legend. */
  3353. showInLegend?: boolean;
  3354. /** Specifies the name of the stack where the values of the _stackedBar_ series must be located. */
  3355. stack?: string;
  3356. /** Specifies the name of the data source field that provides data about a point. */
  3357. tagField?: string;
  3358. /** Specifies the data source field that provides values for series points. */
  3359. valueField?: string;
  3360. /** Specifies the visibility of a series. */
  3361. visible?: boolean;
  3362. /** Specifies a line width. */
  3363. width?: number;
  3364. /** Configures error bars. */
  3365. valueErrorBar?: {
  3366. /** Specifies whether error bars must be displayed in full or partially. */
  3367. displayMode?: string;
  3368. /** Specifies the data field that provides data for low error values. */
  3369. lowValueField?: string;
  3370. /** Specifies the data field that provides data for high error values. */
  3371. highValueField?: string;
  3372. /** Specifies how error bar values must be calculated. */
  3373. type?: string;
  3374. /** Specifies the value to be used for generating error bars. */
  3375. value?: number;
  3376. /** Specifies the color of error bars. */
  3377. color?: string;
  3378. /** Specifies the opacity of error bars. */
  3379. opacity?: number;
  3380. /** Specifies the length of the lines that indicate the error bar edges. */
  3381. edgeLength?: number;
  3382. /** Specifies the width of the error bar line. */
  3383. lineWidth?: number;
  3384. };
  3385. }
  3386. export interface CommonPointOptions {
  3387. /** Specifies border options for points in the line and area series. */
  3388. border?: viz.core.Border;
  3389. /** Specifies the points color. */
  3390. color?: string;
  3391. /** Specifies what series points to highlight when a point is hovered over. */
  3392. hoverMode?: string;
  3393. /** An object defining configuration options for a hovered point. */
  3394. hoverStyle?: {
  3395. /** An object defining the border options for a hovered point. */
  3396. border?: viz.core.Border;
  3397. /** Sets a color for a point when it is hovered over. */
  3398. color?: string;
  3399. /** Specifies the diameter of a hovered point in the series that represents data points as symbols (not as bars for instance). */
  3400. size?: number;
  3401. };
  3402. /** Specifies what series points to highlight when a point is selected. */
  3403. selectionMode?: string;
  3404. /** An object defining configuration options for a selected point. */
  3405. selectionStyle?: {
  3406. /** An object defining the border options for a selected point. */
  3407. border?: viz.core.Border;
  3408. /** <p>Sets a color for a point when it is selected.</p> */
  3409. color?: string;
  3410. /** Specifies the diameter of a selected point in the series that represents data points as symbols (not as bars for instance). */
  3411. size?: number;
  3412. };
  3413. /** Specifies the point diameter in pixels for those series that represent data points as symbols (not as bars for instance). */
  3414. size?: number;
  3415. /** Specifies a symbol for presenting points of the line and area series. */
  3416. symbol?: string;
  3417. visible?: boolean;
  3418. }
  3419. export interface ChartCommonPointOptions extends CommonPointOptions {
  3420. /** An object specifying the parameters of an image that is used as a point marker. */
  3421. image?: {
  3422. /** Specifies the height of an image that is used as a point marker. */
  3423. height?: any;
  3424. /** Specifies a URL leading to the image to be used as a point marker. */
  3425. url?: any;
  3426. /** Specifies the width of an image that is used as a point marker. */
  3427. width?: any;
  3428. };
  3429. }
  3430. export interface PolarCommonPointOptions extends CommonPointOptions {
  3431. /** An object specifying the parameters of an image that is used as a point marker. */
  3432. image?: {
  3433. /** Specifies the height of an image that is used as a point marker. */
  3434. height?: number;
  3435. /** Specifies a URL leading to the image to be used as a point marker. */
  3436. url?: string;
  3437. /** Specifies the width of an image that is used as a point marker. */
  3438. width?: number;
  3439. };
  3440. }
  3441. /** An object that defines configuration options for chart series. */
  3442. export interface CommonSeriesConfig extends BaseCommonSeriesConfig {
  3443. /** Specifies the data source field that provides a 'close' value for a _candleStick_ or _stock_ series. */
  3444. closeValueField?: string;
  3445. /** Specifies a radius for bar corners. */
  3446. cornerRadius?: number;
  3447. /** Specifies the data source field that provides a 'high' value for a _candleStick_ or _stock_ series. */
  3448. highValueField?: string;
  3449. /** Specifies the color for the body (rectangle) of a _candleStick_ series. */
  3450. innerColor?: string;
  3451. /** Specifies the data source field that provides a 'low' value for a _candleStick_ or _stock_ series. */
  3452. lowValueField?: string;
  3453. /** Specifies the data source field that provides an 'open' value for a _candleStick_ or _stock_ series. */
  3454. openValueField?: string;
  3455. /** Specifies the pane that will be used to display a series. */
  3456. pane?: string;
  3457. /** An object defining configuration options for points in line-, scatter- and area-like series. */
  3458. point?: ChartCommonPointOptions;
  3459. /** Specifies the data source field that provides values for one end of a range series. To set the data source field for the other end of the range series, use the rangeValue2Field property. */
  3460. rangeValue1Field?: string;
  3461. /** Specifies the data source field that provides values for the second end of a range series. To set the data source field for the other end of the range series, use the rangeValue1Field property. */
  3462. rangeValue2Field?: string;
  3463. /** Specifies reduction options for the stock or candleStick series. */
  3464. reduction?: {
  3465. /** Specifies a color for the points whose reduction level price is lower in comparison to the value in the previous point. */
  3466. color?: string;
  3467. /** Specifies for which price level (open, high, low or close) to enable reduction options in the series. */
  3468. level?: string;
  3469. };
  3470. /** Specifies the data source field that defines the size of bubbles. */
  3471. sizeField?: string;
  3472. }
  3473. export interface CommonSeriesSettings extends CommonSeriesConfig {
  3474. /** <p>An object that specifies configuration options for all series of the <i>area</i> type in the chart.</p> */
  3475. area?: CommonSeriesConfig;
  3476. /** An object that specifies configuration options for all series of the _bar_ type in the chart. */
  3477. bar?: CommonSeriesConfig;
  3478. /** An object that specifies configuration options for all series of the bubble type in the chart. */
  3479. bubble?: CommonSeriesConfig;
  3480. /** An object that specifies configuration options for all series of the _candleStick_ type in the chart. */
  3481. candlestick?: CommonSeriesConfig;
  3482. /** An object that specifies configuration options for all series of the _fullStackedArea_ type in the chart. */
  3483. fullstackedarea?: CommonSeriesConfig;
  3484. /** An object that specifies configuration options for all series of the Full-Stacked Spline Area type in the chart. */
  3485. fullstackedsplinearea?: CommonSeriesConfig;
  3486. /** An object that specifies configuration options for all series of the _fullStackedBar_ type in the chart. */
  3487. fullstackedbar?: CommonSeriesConfig;
  3488. /** An object that specifies configuration options for all series of the _fullStackedLine_ type in the chart. */
  3489. fullstackedline?: CommonSeriesConfig;
  3490. /** An object that specifies configuration options for all series of the Full-Stacked Spline type in the chart. */
  3491. fullstackedspline?: CommonSeriesConfig;
  3492. /** An object that specifies configuration options for all series of the _line_ type in the chart. */
  3493. line?: CommonSeriesConfig;
  3494. /** An object that specifies configuration options for all series of the _rangeArea_ type in the chart. */
  3495. rangearea?: CommonSeriesConfig;
  3496. /** An object that specifies configuration options for all series of the _rangeBar_ type in the chart. */
  3497. rangebar?: CommonSeriesConfig;
  3498. /** An object that specifies configuration options for all series of the _scatter_ type in the chart. */
  3499. scatter?: CommonSeriesConfig;
  3500. /** An object that specifies configuration options for all series of the _spline_ type in the chart. */
  3501. spline?: CommonSeriesConfig;
  3502. /** An object that specifies configuration options for all series of the _splineArea_ type in the chart. */
  3503. splinearea?: CommonSeriesConfig;
  3504. /** An object that specifies configuration options for all series of the _stackedArea_ type in the chart. */
  3505. stackedarea?: CommonSeriesConfig;
  3506. /** An object that specifies configuration options for all series of the Stacked Spline Area type in the chart. */
  3507. stackedsplinearea?: CommonSeriesConfig;
  3508. /** An object that specifies configuration options for all series of the _stackedBar_ type in the chart. */
  3509. stackedbar?: CommonSeriesConfig;
  3510. /** An object that specifies configuration options for all series of the _stackedLine_ type in the chart. */
  3511. stackedline?: CommonSeriesConfig;
  3512. /** An object that specifies configuration options for all series of the Stacked Spline type in the chart. */
  3513. stackedspline?: CommonSeriesConfig;
  3514. /** An object that specifies configuration options for all series of the _stepArea_ type in the chart. */
  3515. steparea?: CommonSeriesConfig;
  3516. /** An object that specifies configuration options for all series of the _stepLine_ type in the chart. */
  3517. stepline?: CommonSeriesConfig;
  3518. /** An object that specifies configuration options for all series of the _stock_ type in the chart. */
  3519. stock?: CommonSeriesConfig;
  3520. /** Sets a series type. */
  3521. type?: string;
  3522. }
  3523. export interface SeriesConfig extends CommonSeriesConfig {
  3524. /** Specifies the name that identifies the series. */
  3525. name?: string;
  3526. /** Specifies data about a series. */
  3527. tag?: any;
  3528. /** Sets the series type. */
  3529. type?: string;
  3530. }
  3531. /** An object that defines configuration options for polar chart series. */
  3532. export interface CommonPolarSeriesConfig extends BaseCommonSeriesConfig {
  3533. /** Specifies whether or not to close the chart by joining the end point with the first point. */
  3534. closed?: boolean;
  3535. label?: SeriesConfigLabel;
  3536. point?: PolarCommonPointOptions;
  3537. }
  3538. export interface CommonPolarSeriesSettings extends CommonPolarSeriesConfig {
  3539. /** An object that specifies configuration options for all series of the <i>area</i> type in the chart. */
  3540. area?: CommonPolarSeriesConfig;
  3541. /** An object that specifies configuration options for all series of the _bar_ type in the chart. */
  3542. bar?: CommonPolarSeriesConfig;
  3543. /** An object that specifies configuration options for all series of the _line_ type in the chart. */
  3544. line?: CommonPolarSeriesConfig;
  3545. /** An object that specifies configuration options for all series of the _scatter_ type in the chart. */
  3546. scatter?: CommonPolarSeriesConfig;
  3547. /** An object that specifies configuration options for all series of the _stackedBar_ type in the chart. */
  3548. stackedbar?: CommonPolarSeriesConfig;
  3549. /** Sets a series type. */
  3550. type?: string;
  3551. }
  3552. export interface PolarSeriesConfig extends CommonPolarSeriesConfig {
  3553. /** Specifies the name that identifies the series. */
  3554. name?: string;
  3555. /** Specifies data about a series. */
  3556. tag?: any;
  3557. /** Sets the series type. */
  3558. type?: string;
  3559. }
  3560. export interface PieSeriesConfigLabel extends BaseSeriesConfigLabel {
  3561. /** Specifies how to shift labels from their initial position in a radial direction in pixels. */
  3562. radialOffset?: number;
  3563. /** Specifies a precision for the percentage values displayed in labels. */
  3564. percentPrecision?: number;
  3565. }
  3566. /** An object that defines configuration options for chart series. */
  3567. export interface CommonPieSeriesConfig {
  3568. /** Specifies the data source field that provides arguments for series points. */
  3569. argumentField?: string;
  3570. /** Specifies the required type for series arguments. */
  3571. argumentType?: string;
  3572. /** An object defining the series border configuration options. */
  3573. border?: viz.core.DashedBorder;
  3574. /** Specifies a series color. */
  3575. color?: string;
  3576. /** Specifies the chart elements to highlight when a series is hovered over. */
  3577. hoverMode?: string;
  3578. /** An object defining configuration options for a hovered series. */
  3579. hoverStyle?: {
  3580. /** An object defining the border options for a hovered series. */
  3581. border?: viz.core.DashedBorder;
  3582. /** Sets a color for the series when it is hovered over. */
  3583. color?: string;
  3584. /** Specifies the hatching options to be applied when a point is hovered over. */
  3585. hatching?: viz.core.Hatching;
  3586. };
  3587. /** Specifies the fraction of the inner radius relative to the total radius in the series of the 'doughnut' type. */
  3588. innerRadius?: number;
  3589. /** An object defining the label configuration options. */
  3590. label?: PieSeriesConfigLabel;
  3591. /** Specifies how many points are acceptable to be in a series to display all labels for these points. Otherwise, the labels will not be displayed. */
  3592. maxLabelCount?: number;
  3593. /** Specifies a minimal size of a displayed pie segment. */
  3594. minSegmentSize?: number;
  3595. /** Specifies the direction in which the dxPieChart's series points are located. */
  3596. segmentsDirection?: string;
  3597. /** <p>Specifies the chart elements to highlight when the series is selected.</p> */
  3598. selectionMode?: string;
  3599. /** An object defining configuration options for the series when it is selected. */
  3600. selectionStyle?: {
  3601. /** An object defining the border options for a selected series. */
  3602. border?: viz.core.DashedBorder;
  3603. /** Sets a color for a series when it is selected. */
  3604. color?: string;
  3605. /** Specifies the hatching options to be applied when a point is selected. */
  3606. hatching?: viz.core.Hatching;
  3607. };
  3608. /** Specifies chart segment grouping options. */
  3609. smallValuesGrouping?: {
  3610. /** Specifies the name of the grouped chart segment. This name represents the segment in the chart legend. */
  3611. groupName?: string;
  3612. /** Specifies the segment grouping mode. */
  3613. mode?: string;
  3614. /** Specifies a threshold for segment values. */
  3615. threshold?: number;
  3616. /** Specifies how many segments must not be grouped. */
  3617. topCount?: number;
  3618. };
  3619. /** Specifies a start angle for a pie chart in arc degrees. */
  3620. startAngle?: number;
  3621. /** <p>Specifies the name of the data source field that provides data about a point.</p> */
  3622. tagField?: string;
  3623. /** Specifies the data source field that provides values for series points. */
  3624. valueField?: string;
  3625. /** Specifies the required type for series values. */
  3626. valueType?: string;
  3627. }
  3628. export interface PieSeriesConfig extends CommonPieSeriesConfig {
  3629. /** Sets the series type. */
  3630. type?: string;
  3631. }
  3632. export interface SeriesTemplate {
  3633. /** Specifies a callback function that returns a series object with individual series settings. */
  3634. customizeSeries?: (seriesName: string) => SeriesConfig;
  3635. /** Specifies a data source field that represents the series name. */
  3636. nameField?: string;
  3637. }
  3638. export interface PolarSeriesTemplate {
  3639. /** Specifies a callback function that returns a series object with individual series settings. */
  3640. customizeSeries?: (seriesName: string) => PolarSeriesConfig;
  3641. /** Specifies a data source field that represents the series name. */
  3642. nameField?: string;
  3643. }
  3644. export interface ChartCommonConstantLineLabel {
  3645. /** Specifies font options for a constant line label. */
  3646. font?: viz.core.Font;
  3647. /** Specifies the position of the constant line label relative to the chart plot. */
  3648. position?: string;
  3649. }
  3650. export interface PolarCommonConstantLineLabel {
  3651. /** Specifies font options for a constant line label. */
  3652. font?: viz.core.Font;
  3653. }
  3654. export interface ConstantLineStyle {
  3655. /** Specifies a color for a constant line. */
  3656. color?: string;
  3657. /** Specifies a dash style for a constant line. */
  3658. dashStyle?: string;
  3659. /** Specifies a constant line width in pixels. */
  3660. width?: number;
  3661. }
  3662. export interface ChartCommonConstantLineStyle extends ConstantLineStyle {
  3663. /** An object defining constant line label options. */
  3664. label?: ChartCommonConstantLineLabel;
  3665. /** Specifies the space between the constant line label and the left/right side of the constant line. */
  3666. paddingLeftRight?: number;
  3667. /** Specifies the space between the constant line label and the top/bottom side of the constant line. */
  3668. paddingTopBottom?: number;
  3669. }
  3670. export interface PolarCommonConstantLineStyle extends ConstantLineStyle {
  3671. /** An object defining constant line label options. */
  3672. label?: PolarCommonConstantLineLabel;
  3673. }
  3674. export interface CommonAxisLabel {
  3675. /** Specifies font options for axis labels. */
  3676. font?: viz.core.Font;
  3677. /** Specifies the spacing between an axis and its labels in pixels. */
  3678. indentFromAxis?: number;
  3679. /** Indicates whether or not axis labels are visible. */
  3680. visible?: boolean;
  3681. }
  3682. export interface ChartCommonAxisLabel extends CommonAxisLabel {
  3683. /** Specifies the label's position relative to the tick (grid line). */
  3684. alignment?: string;
  3685. /** Specifies the overlap resolving algorithm to be applied to axis labels. */
  3686. overlappingBehavior?: {
  3687. /** Specifies how to arrange axis labels. */
  3688. mode?: string;
  3689. /** Specifies the angle used to rotate axis labels. */
  3690. rotationAngle?: number;
  3691. /** Specifies the spacing that must be set between staggered rows when the 'stagger' algorithm is applied. */
  3692. staggeringSpacing?: number;
  3693. };
  3694. }
  3695. export interface PolarCommonAxisLabel extends CommonAxisLabel {
  3696. /** Specifies the overlap resolving algorithm to be applied to axis labels. */
  3697. overlappingBehavior?: string;
  3698. }
  3699. export interface CommonAxisTitle {
  3700. /** Specifies font options for an axis title. */
  3701. font?: viz.core.Font;
  3702. /** Specifies a margin for an axis title in pixels. */
  3703. margin?: number;
  3704. }
  3705. export interface BaseCommonAxisSettings {
  3706. /** Specifies the color of the line that represents an axis. */
  3707. color?: string;
  3708. /** Specifies whether ticks/grid lines of a discrete axis are located between labels or cross the labels. */
  3709. discreteAxisDivisionMode?: string;
  3710. /** An object defining the configuration options for the grid lines of an axis in the dxPolarChart widget. */
  3711. grid?: {
  3712. /** Specifies a color for grid lines. */
  3713. color?: string;
  3714. /** Specifies an opacity for grid lines. */
  3715. opacity?: number;
  3716. /** Indicates whether or not the grid lines of an axis are visible. */
  3717. visible?: boolean;
  3718. /** Specifies the width of grid lines. */
  3719. width?: number;
  3720. };
  3721. /** Specifies the options of the minor grid. */
  3722. minorGrid?: {
  3723. /** Specifies a color for the lines of the minor grid. */
  3724. color?: string;
  3725. /** Specifies an opacity for the lines of the minor grid. */
  3726. opacity?: number;
  3727. /** Indicates whether the minor grid is visible or not. */
  3728. visible?: boolean;
  3729. /** Specifies a width for the lines of the minor grid. */
  3730. width?: number;
  3731. };
  3732. /** Indicates whether or not an axis is inverted. */
  3733. inverted?: boolean;
  3734. /** Specifies the opacity of the line that represents an axis. */
  3735. opacity?: number;
  3736. /** Indicates whether or not to set ticks/grid lines of a continuous axis of the 'date-time' type at the beginning of each date-time interval. */
  3737. setTicksAtUnitBeginning?: boolean;
  3738. /** An object defining the configuration options for axis ticks. */
  3739. tick?: {
  3740. /** Specifies ticks color. */
  3741. color?: string;
  3742. /** Specifies tick opacity. */
  3743. opacity?: number;
  3744. /** Indicates whether or not ticks are visible on an axis. */
  3745. visible?: boolean;
  3746. };
  3747. /** Specifies the options of the minor ticks. */
  3748. minorTick?: {
  3749. /** Specifies a color for the minor ticks. */
  3750. color?: string;
  3751. /** Specifies an opacity for the minor ticks. */
  3752. opacity?: number;
  3753. /** Indicates whether or not the minor ticks are displayed on an axis. */
  3754. visible?: boolean;
  3755. };
  3756. /** Indicates whether or not the line that represents an axis in a chart is visible. */
  3757. visible?: boolean;
  3758. /** Specifies the width of the line that represents an axis in the chart. */
  3759. width?: number;
  3760. }
  3761. export interface ChartCommonAxisSettings extends BaseCommonAxisSettings {
  3762. /** Specifies the appearance of all the widget's constant lines. */
  3763. constantLineStyle?: ChartCommonConstantLineStyle;
  3764. /** An object defining the label configuration options that are common for all axes in the dxChart widget. */
  3765. label?: ChartCommonAxisLabel;
  3766. /** Specifies a coefficient that determines the spacing between the maximum series point and the axis. */
  3767. maxValueMargin?: number;
  3768. /** Specifies a coefficient that determines the spacing between the minimum series point and the axis. */
  3769. minValueMargin?: number;
  3770. /** Specifies, in pixels, the space reserved for an axis. */
  3771. placeholderSize?: number;
  3772. /** An object defining configuration options for strip style. */
  3773. stripStyle?: {
  3774. /** An object defining the configuration options for a strip label style. */
  3775. label?: {
  3776. /** Specifies font options for a strip label. */
  3777. font?: viz.core.Font;
  3778. /** Specifies the label's position on a strip. */
  3779. horizontalAlignment?: string;
  3780. /** Specifies a label's position on a strip. */
  3781. verticalAlignment?: string;
  3782. };
  3783. /** Specifies the spacing, in pixels, between the left/right strip border and the strip label. */
  3784. paddingLeftRight?: number;
  3785. /** Specifies the spacing, in pixels, between the top/bottom strip borders and the strip label. */
  3786. paddingTopBottom?: number;
  3787. };
  3788. /** An object defining the title configuration options that are common for all axes in the dxChart widget. */
  3789. title?: CommonAxisTitle;
  3790. /** Indicates whether or not to display series with indents from axis boundaries. */
  3791. valueMarginsEnabled?: boolean;
  3792. }
  3793. export interface PolarCommonAxisSettings extends BaseCommonAxisSettings {
  3794. /** Specifies the appearance of all the widget's constant lines. */
  3795. constantLineStyle?: PolarCommonConstantLineStyle;
  3796. /** An object defining the label configuration options that are common for all axes in the dxPolarChart widget. */
  3797. label?: PolarCommonAxisLabel;
  3798. /** An object defining configuration options for strip style. */
  3799. stripStyle?: {
  3800. /** An object defining the configuration options for a strip label style. */
  3801. label?: {
  3802. /** Specifies font options for a strip label. */
  3803. font?: viz.core.Font;
  3804. };
  3805. };
  3806. }
  3807. export interface ChartConstantLineLabel extends ChartCommonConstantLineLabel {
  3808. /** Specifies the horizontal alignment of a constant line label. */
  3809. horizontalAlignment?: string;
  3810. /** Specifies the vertical alignment of a constant line label. */
  3811. verticalAlignment?: string;
  3812. /** Specifies the text to be displayed in a constant line label. */
  3813. text?: string;
  3814. }
  3815. export interface PolarConstantLineLabel extends PolarCommonConstantLineLabel {
  3816. /** Specifies the text to be displayed in a constant line label. */
  3817. text?: string;
  3818. }
  3819. export interface AxisLabel {
  3820. /** Specifies the text for a hint that appears when a user hovers the mouse pointer over a label on the value axis. */
  3821. customizeHint?: (argument: { value: any; valueText: string }) => string;
  3822. /** Specifies a callback function that returns the text to be displayed in value axis labels. */
  3823. customizeText?: (argument: { value: any; valueText: string }) => string;
  3824. /** Specifies a format for the text displayed by axis labels. */
  3825. format?: string;
  3826. /** Specifies a precision for the formatted value displayed in the axis labels. */
  3827. precision?: number;
  3828. }
  3829. export interface ChartAxisLabel extends ChartCommonAxisLabel, AxisLabel { }
  3830. export interface PolarAxisLabel extends PolarCommonAxisLabel, AxisLabel { }
  3831. export interface AxisTitle extends CommonAxisTitle {
  3832. /** Specifies the text for the value axis title. */
  3833. text?: string;
  3834. }
  3835. export interface ChartConstantLineStyle extends ChartCommonConstantLineStyle {
  3836. /** An object defining constant line label options. */
  3837. label?: ChartConstantLineLabel;
  3838. }
  3839. export interface ChartConstantLine extends ChartConstantLineStyle {
  3840. /** An object defining constant line label options. */
  3841. label?: ChartConstantLineLabel;
  3842. /** Specifies a value to be displayed by a constant line. */
  3843. value?: any;
  3844. }
  3845. export interface PolarConstantLine extends PolarCommonConstantLineStyle {
  3846. /** An object defining constant line label options. */
  3847. label?: PolarConstantLineLabel;
  3848. /** Specifies a value to be displayed by a constant line. */
  3849. value?: any;
  3850. }
  3851. export interface Axis {
  3852. /** Specifies a coefficient for dividing the value axis. */
  3853. axisDivisionFactor?: number;
  3854. /** Specifies the order in which discrete values are arranged on the value axis. */
  3855. categories?: Array<any>;
  3856. /** Specifies the value to be raised to a power when generating ticks for a logarithmic axis. */
  3857. logarithmBase?: number;
  3858. /** Specifies an interval between axis ticks/grid lines. */
  3859. tickInterval?: any;
  3860. /** Specifies the interval between minor ticks. */
  3861. minorTickInterval?: any;
  3862. /** Specifies the number of minor ticks between two neighboring major ticks. */
  3863. minorTickCount?: number;
  3864. /** Specifies the required type of the value axis. */
  3865. type?: string;
  3866. /** Specifies options for value axis strips. */
  3867. strips?: Array<Strip>;
  3868. }
  3869. export interface ChartAxis extends ChartCommonAxisSettings, Axis {
  3870. /** Defines an array of the value axis constant lines. */
  3871. constantLines?: Array<ChartConstantLine>;
  3872. /** Specifies the appearance options for the constant lines of the value axis. */
  3873. constantLineStyle?: ChartCommonConstantLineStyle;
  3874. /** Specifies options for value axis labels. */
  3875. label?: ChartAxisLabel;
  3876. /** Specifies the maximum value on the value axis. */
  3877. max?: any;
  3878. /** Specifies the minimum value on the value axis. */
  3879. min?: any;
  3880. /** Specifies the position of the value axis on a chart. */
  3881. position?: string;
  3882. /** Specifies the title for a value axis. */
  3883. title?: AxisTitle;
  3884. }
  3885. export interface PolarAxis extends PolarCommonAxisSettings, Axis {
  3886. /** Defines an array of the value axis constant lines. */
  3887. constantLines?: Array<PolarConstantLine>;
  3888. /** Specifies options for value axis labels. */
  3889. label?: PolarAxisLabel;
  3890. }
  3891. export interface ArgumentAxis {
  3892. /** Specifies the desired type of axis values. */
  3893. argumentType?: string;
  3894. /** Specifies the elements that will be highlighted when the argument axis is hovered over. */
  3895. hoverMode?: string;
  3896. }
  3897. export interface ChartArgumentAxis extends ChartAxis, ArgumentAxis { }
  3898. export interface PolarArgumentAxis extends PolarAxis, ArgumentAxis {
  3899. /** Specifies a start angle for the argument axis in degrees. */
  3900. startAngle?: number;
  3901. /** Specifies whether or not to display the first point at the angle specified by the startAngle option. */
  3902. firstPointOnStartAngle?: boolean;
  3903. /** Specifies the period of the argument values in the data source. */
  3904. period?: number;
  3905. }
  3906. export interface ValueAxis {
  3907. /** Specifies the name of the value axis. */
  3908. name?: string;
  3909. /** Specifies whether or not to indicate a zero value on the value axis. */
  3910. showZero?: boolean;
  3911. /** Specifies the desired type of axis values. */
  3912. valueType?: string;
  3913. }
  3914. export interface ChartValueAxis extends ChartAxis, ValueAxis {
  3915. /** Specifies the spacing, in pixels, between multiple value axes in a chart. */
  3916. multipleAxesSpacing?: number;
  3917. /** Specifies the value by which the chart's value axes are synchronized. */
  3918. synchronizedValue?: number;
  3919. }
  3920. export interface PolarValueAxis extends PolarAxis, ValueAxis {
  3921. /** Indicates whether to display series with indents from axis boundaries. */
  3922. valueMarginsEnabled?: boolean;
  3923. /** Specifies a coefficient that determines the spacing between the maximum series point and the axis. */
  3924. maxValueMargin?: number;
  3925. /** Specifies a coefficient that determines the spacing between the minimum series point and the axis. */
  3926. minValueMargin?: number;
  3927. tick?: {
  3928. visible?: boolean;
  3929. }
  3930. }
  3931. export interface CommonPane {
  3932. /** Specifies a background color in a pane. */
  3933. backgroundColor?: string;
  3934. /** Specifies the border options of a chart's pane. */
  3935. border?: PaneBorder;
  3936. }
  3937. export interface Pane extends CommonPane {
  3938. /** Specifies the name of a pane. */
  3939. name?: string;
  3940. }
  3941. export interface PaneBorder extends viz.core.DashedBorderWithOpacity {
  3942. /** Specifies the bottom border's visibility state in a pane. */
  3943. bottom?: boolean;
  3944. /** Specifies the left border's visibility state in a pane. */
  3945. left?: boolean;
  3946. /** Specifies the right border's visibility state in a pane. */
  3947. right?: boolean;
  3948. /** Specifies the top border's visibility state in a pane. */
  3949. top?: boolean;
  3950. }
  3951. export interface ChartAnimation extends viz.core.Animation {
  3952. /** Specifies the maximum series point count in the chart that the animation supports. */
  3953. maxPointCountSupported?: number;
  3954. }
  3955. export interface BaseChartTooltip extends viz.core.Tooltip {
  3956. /** Specifies a format for arguments of the chart's series points. */
  3957. argumentFormat?: string;
  3958. /** Specifies a precision for formatted arguments displayed in tooltips. */
  3959. argumentPrecision?: number;
  3960. /** Specifies a precision for a percent value displayed in tooltips for stacked series and dxPieChart series. */
  3961. percentPrecision?: number;
  3962. }
  3963. export interface BaseChartOptions<TPoint> extends viz.core.BaseWidgetOptions {
  3964. /** Specifies adaptive layout options. */
  3965. adaptiveLayout?: {
  3966. /** Specifies the width of the widget container that is small enough for the layout to begin adapting. */
  3967. width?: number;
  3968. /** Specifies the height of the widget container that is small enough for the layout to begin adapting. */
  3969. height?: number;
  3970. /** Specifies whether or not point labels can be hidden when the layout is adapting. */
  3971. keepLabels?: boolean;
  3972. };
  3973. /** Specifies animation options. */
  3974. animation?: ChartAnimation;
  3975. /** Specifies a callback function that returns an object with options for a specific point label. */
  3976. customizeLabel?: (labelInfo: Object) => Object;
  3977. /** Specifies a callback function that returns an object with options for a specific point. */
  3978. customizePoint?: (pointInfo: Object) => Object;
  3979. /** Specifies a data source for the chart. */
  3980. dataSource?: any;
  3981. done?: Function;
  3982. /** Specifies the appearance of the loading indicator. */
  3983. loadingIndicator?: viz.core.LoadingIndicator;
  3984. /** Specifies options of a dxChart's (dxPieChart's) legend. */
  3985. legend?: core.BaseLegend;
  3986. /** Specifies the blank space between the chart's extreme elements and the boundaries of the area provided for the widget (see size) in pixels. */
  3987. margin?: viz.core.Margins;
  3988. /** Sets the name of the palette to be used in the chart. Alternatively, an array of colors can be set as a custom palette to be used within this chart. */
  3989. palette?: any;
  3990. /** A handler for the done event. */
  3991. onDone?: (e: {
  3992. component: BaseChart;
  3993. element: Element;
  3994. }) => void;
  3995. /** A handler for the pointClick event. */
  3996. onPointClick?: any;
  3997. pointClick?: any;
  3998. /** A handler for the pointHoverChanged event. */
  3999. onPointHoverChanged?: (e: {
  4000. component: BaseChart;
  4001. element: Element;
  4002. target: TPoint;
  4003. }) => void;
  4004. pointHoverChanged?: (point: TPoint) => void;
  4005. /** A handler for the pointSelectionChanged event. */
  4006. onPointSelectionChanged?: (e: {
  4007. component: BaseChart;
  4008. element: Element;
  4009. target: TPoint;
  4010. }) => void;
  4011. pointSelectionChanged?: (point: TPoint) => void;
  4012. /** Specifies whether a single point or multiple points can be selected in the chart. */
  4013. pointSelectionMode?: string;
  4014. /** Specifies whether to redraw the widget when the size of the parent browser window changes or a mobile device rotates. */
  4015. redrawOnResize?: boolean;
  4016. /** Specifies options for the dxChart and dxPieChart widget series. */
  4017. series?: any;
  4018. /** Specifies the size of the widget in pixels. */
  4019. size?: viz.core.Size;
  4020. /** Sets the name of the theme to be used in the chart. */
  4021. theme?: string;
  4022. /** Specifies a title for the chart. */
  4023. title?: {
  4024. /** Specifies font options for the title. */
  4025. font?: viz.core.Font;
  4026. /** Specifies the title's horizontal position in the chart. */
  4027. horizontalAlignment?: string;
  4028. /** Specifies a title's position on the chart in the vertical direction. */
  4029. verticalAlignment?: string;
  4030. /** Specifies the distance between the title and surrounding chart elements in pixels. */
  4031. margin?: viz.core.Margins;
  4032. /** Specifies the height of the space reserved for the title. */
  4033. placeholderSize?: number;
  4034. /** Specifies a text for the chart's title. */
  4035. text?: string;
  4036. };
  4037. /** Specifies tooltip options. */
  4038. tooltip?: BaseChartTooltip;
  4039. /** A handler for the tooltipShown event. */
  4040. onTooltipShown?: (e: {
  4041. component: BaseChart;
  4042. element: Element;
  4043. }) => void;
  4044. /** A handler for the tooltipHidden event. */
  4045. onTooltipHidden?: (e: {
  4046. component: BaseChart;
  4047. element: Element;
  4048. }) => void;
  4049. tooltipHidden?: (point: TPoint) => void;
  4050. tooltipShown?: (point: TPoint) => void;
  4051. }
  4052. /** A base class for all chart widgets included in the ChartJS library. */
  4053. export class BaseChart extends viz.core.BaseWidget {
  4054. /** Deselects the chart's selected series. The series is displayed in an initial style. */
  4055. clearSelection(): void;
  4056. /** Gets the current size of the widget. */
  4057. getSize(): { width: number; height: number };
  4058. /** Displays the loading indicator. */
  4059. showLoadingIndicator(): void;
  4060. /** Conceals the loading indicator. */
  4061. hideLoadingIndicator(): void;
  4062. /** Hides all widget tooltips. */
  4063. hideTooltip(): void;
  4064. /** Redraws a widget. */
  4065. render(renderOptions?: {
  4066. force?: boolean;
  4067. animate?: boolean;
  4068. asyncSeriesRendering?: boolean;
  4069. }): void;
  4070. }
  4071. export interface AdvancedLegend extends core.BaseLegend {
  4072. /** Specifies the text for a hint that appears when a user hovers the mouse pointer over a legend item. */
  4073. customizeHint?: (seriesInfo: { seriesName: string; seriesIndex: number; seriesColor: string; }) => string;
  4074. /** <p>Specifies a callback function that returns the text to be displayed by legend items.</p> */
  4075. customizeText?: (seriesInfo: { seriesName: string; seriesIndex: number; seriesColor: string; }) => string;
  4076. /** Specifies what series elements to highlight when a corresponding item in the legend is hovered over. */
  4077. hoverMode?: string;
  4078. }
  4079. export interface AdvancedOptions<TPoint, TSeries> extends BaseChartOptions<TPoint> {
  4080. /** A handler for the argumentAxisClick event. */
  4081. onArgumentAxisClick?: any;
  4082. /** Specifies the color of the parent page element. */
  4083. containerBackgroundColor?: string;
  4084. /** An object providing options for managing data from a data source. */
  4085. dataPrepareSettings?: {
  4086. /** Specifies whether or not to validate the values from a data source. */
  4087. checkTypeForAllData?: boolean;
  4088. /** Specifies whether or not to convert the values from a data source into the data type of an axis. */
  4089. convertToAxisDataType?: boolean;
  4090. /** Specifies how to sort the series points. */
  4091. sortingMethod?: any;
  4092. };
  4093. /** A handler for the legendClick event. */
  4094. onLegendClick?: any;
  4095. /** A handler for the seriesClick event. */
  4096. onSeriesClick?: any;
  4097. /** A handler for the seriesHoverChanged event. */
  4098. onSeriesHoverChanged?: (e: {
  4099. component: BaseChart;
  4100. element: Element;
  4101. target: TSeries;
  4102. }) => void;
  4103. /** A handler for the seriesSelectionChanged event. */
  4104. onSeriesSelectionChanged?: (e: {
  4105. component: BaseChart;
  4106. element: Element;
  4107. target: TSeries;
  4108. }) => void;
  4109. /** Specifies whether a single series or multiple series can be selected in the chart. */
  4110. seriesSelectionMode?: string;
  4111. /** Specifies how the chart must behave when series point labels overlap. */
  4112. resolveLabelOverlapping?: string;
  4113. }
  4114. export interface Legend extends AdvancedLegend {
  4115. /** Specifies whether the legend is located outside or inside the chart's plot. */
  4116. position?: string;
  4117. }
  4118. export interface ChartTooltip extends BaseChartTooltip {
  4119. /** Specifies whether the tooltip must be located in the center of a bar or on its edge. Applies only to the Bar series. */
  4120. location?: string;
  4121. /** Specifies the kind of information to display in a tooltip. */
  4122. shared?: boolean;
  4123. }
  4124. export interface dxChartOptions extends AdvancedOptions<ChartPoint, ChartSeries> {
  4125. /** Specifies a value indicating whether all bars in a series must have the same width, or may have different widths if any points in other series are missing. */
  4126. equalBarWidth?: any;
  4127. adaptiveLayout?: {
  4128. keepLabels?: boolean;
  4129. };
  4130. /** Indicates whether or not to synchronize value axes when they are displayed on a single pane. */
  4131. synchronizeMultiAxes?: boolean;
  4132. /** Specifies whether or not to filter the series points depending on their quantity. */
  4133. useAggregation?: boolean;
  4134. /** Indicates whether or not to adjust a value axis to the current minimum and maximum values of a zoomed chart. */
  4135. adjustOnZoom?: boolean;
  4136. /** Specifies argument axis options for the dxChart widget. */
  4137. argumentAxis?: ChartArgumentAxis;
  4138. argumentAxisClick?: any;
  4139. /** An object defining the configuration options that are common for all axes of the dxChart widget. */
  4140. commonAxisSettings?: ChartCommonAxisSettings;
  4141. /** An object defining the configuration options that are common for all panes in the dxChart widget. */
  4142. commonPaneSettings?: CommonPane;
  4143. /** An object defining the configuration options that are common for all series of the dxChart widget. */
  4144. commonSeriesSettings?: CommonSeriesSettings;
  4145. /** An object that specifies the appearance options of the chart crosshair. */
  4146. crosshair?: {
  4147. /** Specifies a color for the crosshair lines. */
  4148. color?: string;
  4149. /** Specifies a dash style for the crosshair lines. */
  4150. dashStyle?: string;
  4151. /** Specifies whether to enable the crosshair or not. */
  4152. enabled?: boolean;
  4153. /** Specifies the opacity of the crosshair lines. */
  4154. opacity?: number;
  4155. /** Specifies the width of the crosshair lines. */
  4156. width?: number;
  4157. /** Specifies the appearance of the horizontal crosshair line. */
  4158. horizontalLine?: CrosshaierWithLabel;
  4159. /** Specifies the appearance of the vertical crosshair line. */
  4160. verticalLine?: CrosshaierWithLabel;
  4161. /** Specifies the options of the crosshair labels. */
  4162. label?: {
  4163. /** Specifies a color for the background of the crosshair labels. */
  4164. backgroundColor?: string;
  4165. /** Specifies whether the crosshair labels are visible or not. */
  4166. visible?: boolean;
  4167. /** Specifies font options for the text of the crosshair labels. */
  4168. font?: viz.core.Font;
  4169. }
  4170. };
  4171. /** Specifies a default pane for the chart's series. */
  4172. defaultPane?: string;
  4173. /** Specifies a coefficient determining the diameter of the largest bubble. */
  4174. maxBubbleSize?: number;
  4175. /** Specifies the diameter of the smallest bubble measured in pixels. */
  4176. minBubbleSize?: number;
  4177. /** Defines the dxChart widget's <a href="/Documentation/Howto/Data_Visualization/Charts/Chart_Elements?version=14_2#Panes">pane(s)</a>. */
  4178. panes?: Array<Pane>;
  4179. /** Swaps the axes round so that the value axis becomes horizontal and the argument axes becomes vertical. */
  4180. rotated?: boolean;
  4181. /** Specifies the options of a chart's legend. */
  4182. legend?: Legend;
  4183. /** Specifies options for dxChart widget series. */
  4184. series?: Array<SeriesConfig>;
  4185. legendClick?: any;
  4186. seriesClick?: any;
  4187. seriesHoverChanged?: (series: ChartSeries) => void;
  4188. seriesSelectionChanged?: (series: ChartSeries) => void;
  4189. /** Defines options for the series template. */
  4190. seriesTemplate?: SeriesTemplate;
  4191. /** Specifies tooltip options. */
  4192. tooltip?: ChartTooltip;
  4193. /** Specifies value axis options for the dxChart widget. */
  4194. valueAxis?: Array<ChartValueAxis>;
  4195. /** Enables scrolling in your chart. */
  4196. scrollingMode?: string;
  4197. /** Enables zooming in your chart. */
  4198. zoomingMode?: string;
  4199. /** Specifies the settings of the scroll bar. */
  4200. scrollBar?: {
  4201. /** Specifies whether the scroll bar is visible or not. */
  4202. visible?: boolean;
  4203. /** Specifies the spacing between the scroll bar and the chart's plot in pixels. */
  4204. offset?: number;
  4205. /** Specifies the color of the scroll bar. */
  4206. color?: string;
  4207. /** Specifies the width of the scroll bar in pixels. */
  4208. width?: number;
  4209. /** Specifies the opacity of the scroll bar. */
  4210. opacity?: number;
  4211. /** Specifies the position of the scroll bar in the chart. */
  4212. position?: string;
  4213. };
  4214. }
  4215. /** A widget used to embed charts into HTML JS applications. */
  4216. export class dxChart extends BaseChart {
  4217. constructor(element: JQuery, options?: dxChartOptions);
  4218. constructor(element: Element, options?: dxChartOptions);
  4219. /** Returns an array of all series in the chart. */
  4220. getAllSeries(): Array<ChartSeries>;
  4221. /** Gets a series within the chart's series collection by the specified name (see the name option). */
  4222. getSeriesByName(seriesName: string): ChartSeries;
  4223. /** Gets a series within the chart's series collection by its position number. */
  4224. getSeriesByPos(seriesIndex: number): ChartSeries;
  4225. /** Sets the specified start and end values for the chart's argument axis. */
  4226. zoomArgument(startValue: any, endValue: any): void;
  4227. }
  4228. interface CrosshaierWithLabel extends viz.core.DashedBorderWithOpacity {
  4229. /** Configures the label that belongs to the horizontal crosshair line. */
  4230. label?: {
  4231. /** Specifies a color for the background of the label that belongs to the horizontal crosshair line. */
  4232. backgroundColor?: string;
  4233. /** Specifies whether the label of the horizontal crosshair line is visible or not. */
  4234. visible?: boolean;
  4235. /** Specifies font options for the text of the label that belongs to the horizontal crosshair line. */
  4236. font?: viz.core.Font;
  4237. }
  4238. }
  4239. export interface PolarChartTooltip extends BaseChartTooltip {
  4240. /** Specifies the kind of information to display in a tooltip. */
  4241. shared?: boolean;
  4242. }
  4243. export interface dxPolarChartOptions extends AdvancedOptions<PolarPoint, PolarSeries> {
  4244. /** Specifies a value indicating whether all bars in a series must have the same angle, or may have different angles if any points in other series are missing. */
  4245. equalBarWidth?: boolean;
  4246. /** Specifies adaptive layout options. */
  4247. adaptiveLayout?: {
  4248. width?: number;
  4249. height?: number;
  4250. /** Specifies whether or not point labels can be hidden when the layout is adapting. */
  4251. keepLabels?: boolean;
  4252. };
  4253. /** Indicates whether or not to display a "spider web". */
  4254. useSpiderWeb?: boolean;
  4255. /** Specifies argument axis options for the dxPolarChart widget. */
  4256. argumentAxis?: PolarArgumentAxis;
  4257. /** An object defining the configuration options that are common for all axes of the dxPolarChart widget. */
  4258. commonAxisSettings?: PolarCommonAxisSettings;
  4259. /** An object defining the configuration options that are common for all series of the dxPolarChart widget. */
  4260. commonSeriesSettings?: CommonPolarSeriesSettings;
  4261. /** Specifies the options of a chart's legend. */
  4262. legend?: AdvancedLegend;
  4263. /** Specifies options for dxPolarChart widget series. */
  4264. series?: Array<PolarSeriesConfig>;
  4265. /** Defines options for the series template. */
  4266. seriesTemplate?: PolarSeriesTemplate;
  4267. /** Specifies tooltip options. */
  4268. tooltip?: PolarChartTooltip;
  4269. /** Specifies value axis options for the dxPolarChart widget. */
  4270. valueAxis?: PolarValueAxis;
  4271. }
  4272. /** A chart widget displaying data in a polar coordinate system. */
  4273. export class dxPolarChart extends BaseChart {
  4274. constructor(element: JQuery, options?: dxPolarChartOptions);
  4275. constructor(element: Element, options?: dxPolarChartOptions);
  4276. /** Returns an array of all series in the chart. */
  4277. getAllSeries(): Array<PolarSeries>;
  4278. /** Gets a series within the chart's series collection by the specified name (see the name option). */
  4279. getSeriesByName(seriesName: string): PolarSeries;
  4280. /** Gets a series within the chart's series collection by its position number. */
  4281. getSeriesByPos(seriesIndex: number): PolarSeries;
  4282. }
  4283. export interface PieLegend extends core.BaseLegend {
  4284. /** Specifies what chart elements to highlight when a corresponding item in the legend is hovered over. */
  4285. hoverMode?: string;
  4286. }
  4287. export interface dxPieChartOptions extends BaseChartOptions<PiePoint> {
  4288. /** Specifies adaptive layout options. */
  4289. adaptiveLayout?: {
  4290. /** Specifies whether or not point labels can be hidden when the layout is adapting. */
  4291. keepLabels?: boolean;
  4292. };
  4293. /** Specifies dxPieChart legend options. */
  4294. legend?: PieLegend;
  4295. /** Specifies options for the series of the dxPieChart widget. */
  4296. series?: Array<PieSeriesConfig>;
  4297. /** Specifies the diameter of the pie. */
  4298. diameter?: number;
  4299. /** A handler for the legendClick event. */
  4300. onLegendClick?: any;
  4301. legendClick?: any;
  4302. /** Specifies how the chart must behave when series point labels overlap. */
  4303. resolveLabelOverlapping?: string;
  4304. }
  4305. /** A circular chart widget for HTML JS applications. */
  4306. export class dxPieChart extends BaseChart {
  4307. constructor(element: JQuery, options?: dxPieChartOptions);
  4308. constructor(element: Element, options?: dxPieChartOptions);
  4309. /** Provides access to the dxPieChart series. */
  4310. getSeries(): PieSeries;
  4311. }
  4312. }
  4313. declare module DevExpress.viz.core {
  4314. export interface Border {
  4315. /** Sets a border color for a selected series. */
  4316. color?: string;
  4317. /** Sets border visibility for a selected series. */
  4318. visible?: boolean;
  4319. /** Sets a border width for a selected series. */
  4320. width?: number;
  4321. }
  4322. export interface DashedBorder extends Border {
  4323. /** Specifies a dash style for the border of a selected series point. */
  4324. dashStyle?: string;
  4325. }
  4326. export interface DashedBorderWithOpacity extends DashedBorder {
  4327. /** Specifies the opacity of the tooltip's border. */
  4328. opacity?: number;
  4329. }
  4330. export interface Font {
  4331. /** Specifies the font color for a strip label. */
  4332. color?: string;
  4333. /** Specifies the font family for a strip label. */
  4334. family?: string;
  4335. /** Specifies the font opacity for a strip label. */
  4336. opacity?: number;
  4337. /** Specifies the font size for a strip label. */
  4338. size?: any;
  4339. /** Specifies the font weight for the text displayed in strips. */
  4340. weight?: number;
  4341. }
  4342. export interface Hatching {
  4343. /** Specifies how to apply hatching to highlight a selected series. */
  4344. direction?: string;
  4345. /** Specifies the opacity of hatching lines. */
  4346. opacity?: number;
  4347. /** Specifies the distance between hatching lines in pixels. */
  4348. step?: number;
  4349. /** Specifies the width of hatching lines in pixels. */
  4350. width?: number;
  4351. }
  4352. export interface Margins {
  4353. /** Specifies the legend's bottom margin in pixels. */
  4354. bottom?: number;
  4355. /** Specifies the legend's left margin in pixels. */
  4356. left?: number;
  4357. /** Specifies the legend's right margin in pixels. */
  4358. right?: number;
  4359. /** Specifies the legend's bottom margin in pixels. */
  4360. top?: number;
  4361. }
  4362. export interface Size {
  4363. /** Specifies the width of the widget. */
  4364. width?: number;
  4365. /** Specifies the height of the widget. */
  4366. height?: number;
  4367. }
  4368. export interface Tooltip {
  4369. /** Specifies the length of the tooltip's arrow in pixels. */
  4370. arrowLength?: number;
  4371. /** Specifies the appearance of the tooltip's border. */
  4372. border?: viz.core.DashedBorderWithOpacity;
  4373. /** Specifies a color for the tooltip. */
  4374. color?: string;
  4375. customizeText?: Function;
  4376. /** Allows you to change the appearance of particular tooltips. */
  4377. customizeTooltip?: (arg: Object) => { color?: string; text?: string };
  4378. /** Specifies whether or not the tooltip is enabled. */
  4379. enabled?: boolean;
  4380. /** Specifies font options for the text displayed by the tooltip. */
  4381. font?: Font;
  4382. /** Specifies a format for the text displayed by the tooltip. */
  4383. format?: string;
  4384. /** Specifies the opacity of a tooltip. */
  4385. opacity?: number;
  4386. /** Specifies a distance from the tooltip's left/right boundaries to the inner text in pixels. */
  4387. paddingLeftRight?: number;
  4388. /** Specifies a distance from the tooltip's top/bottom boundaries to the inner text in pixels. */
  4389. paddingTopBottom?: number;
  4390. /** Specifies a precision for formatted values displayed by the tooltip. */
  4391. precision?: number;
  4392. /** Specifies options of the tooltip's shadow. */
  4393. shadow?: {
  4394. /** Specifies the blur distance of the tooltip's shadow. */
  4395. blur?: number;
  4396. /** Specifies the color of the tooltip's shadow. */
  4397. color?: string;
  4398. /** Specifies the horizontal offset of the tooltip's shadow relative to the tooltip in pixels. */
  4399. offsetX?: number;
  4400. /** Specifies the vertical offset of the tooltip's shadow relative to the tooltip in pixels. */
  4401. offsetY?: number;
  4402. /** Specifies the opacity of the tooltip's shadow. */
  4403. opacity?: number;
  4404. };
  4405. }
  4406. export interface Animation {
  4407. /** Determines how long animation runs. */
  4408. duration?: number;
  4409. /** Specifies the animation easing mode. */
  4410. easing?: string;
  4411. /** Indicates whether or not animation is enabled. */
  4412. enabled?: boolean;
  4413. }
  4414. export interface LoadingIndicator {
  4415. /** Specifies a color for the loading indicator background. */
  4416. backgroundColor?: string;
  4417. /** Specifies font options for the loading indicator text. */
  4418. font?: viz.core.Font;
  4419. /** Specifies whether to show the loading indicator or not. */
  4420. show?: boolean;
  4421. /** Specifies a text to be displayed by the loading indicator. */
  4422. text?: string;
  4423. }
  4424. export interface LegendBorder extends viz.core.DashedBorderWithOpacity {
  4425. /** Specifies a radius for the corners of the legend border. */
  4426. cornerRadius?: number;
  4427. }
  4428. export interface BaseLegend {
  4429. /** Specifies the color of the legend's background. */
  4430. backgroundColor?: string;
  4431. /** Specifies legend border settings. */
  4432. border?: viz.core.LegendBorder;
  4433. /** Specifies how many columns must be taken to arrange legend items. */
  4434. columnCount?: number;
  4435. /** Specifies the spacing between a pair of neighboring legend columns in pixels. */
  4436. columnItemSpacing?: number;
  4437. /** Specifies whether or not item columns in the legend have an equal width. */
  4438. equalColumnWidth?: boolean;
  4439. /** Specifies font options for legend items. */
  4440. font?: viz.core.Font;
  4441. /** Specifies the legend's position on the map. */
  4442. horizontalAlignment?: string;
  4443. /** Specifies the alignment of legend items. */
  4444. itemsAlignment?: string;
  4445. /** Specifies the position of text relative to the item marker. */
  4446. itemTextPosition?: string;
  4447. /** Specifies the distance between the legend and the container borders in pixels. */
  4448. margin?: viz.core.Margins;
  4449. /** Specifies the size of item markers in the legend in pixels. */
  4450. markerSize?: number;
  4451. /** Specifies whether to arrange legend items horizontally or vertically. */
  4452. orientation?: string;
  4453. /** Specifies the spacing between the legend left/right border and legend items in pixels. */
  4454. paddingLeftRight?: number;
  4455. /** Specifies the spacing between the legend top/bottom border and legend items in pixels. */
  4456. paddingTopBottom?: number;
  4457. /** Specifies how many rows must be taken to arrange legend items. */
  4458. rowCount?: number;
  4459. /** Specifies the spacing between a pair of neighboring legend rows in pixels. */
  4460. rowItemSpacing?: number;
  4461. /** Specifies the legend's position on the map. */
  4462. verticalAlignment?: string;
  4463. /** Specifies whether or not the legend is visible on the map. */
  4464. visible?: boolean;
  4465. }
  4466. export interface BaseWidgetOptions {
  4467. drawn?: (widget: Object) => void;
  4468. /** A handler for the drawn event. */
  4469. onDrawn?: (e: {
  4470. component: BaseWidget;
  4471. element: Element;
  4472. }) => void;
  4473. incidentOccured?: (incidentInfo: {
  4474. id: string;
  4475. type: string;
  4476. args: any;
  4477. text: string;
  4478. widget: string;
  4479. version: string;
  4480. }) => void;
  4481. /** A handler for the incidentOccurred event. */
  4482. onIncidentOccurred?: (
  4483. component: BaseWidget,
  4484. element: Element,
  4485. target: {
  4486. id: string;
  4487. type: string;
  4488. args: any;
  4489. text: string;
  4490. widget: string;
  4491. version: string;
  4492. }
  4493. ) => void;
  4494. /** Notifies a widget that it is embedded into an HTML page that uses a path modifier. */
  4495. pathModified?: boolean;
  4496. /** Specifies whether or not the widget supports right-to-left representation. */
  4497. rtlEnabled?: boolean;
  4498. }
  4499. /** This section describes options and methods that are common to all widgets. */
  4500. export class BaseWidget extends DOMComponent {
  4501. /** Returns the widget's SVG markup. */
  4502. svg(): string;
  4503. }
  4504. }
  4505. declare module DevExpress.viz.gauges {
  4506. export interface BaseRangeContainer {
  4507. /** Specifies a range container's background color. */
  4508. backgroundColor?: string;
  4509. /** Specifies the offset of the range container from an invisible scale line in pixels. */
  4510. offset?: number;
  4511. /** Sets the name of the palette or an array of colors to be used for coloring the gauge range container. */
  4512. palette?: any;
  4513. /** An array of objects representing ranges contained in the range container. */
  4514. ranges?: Array<{ startValue: number; endValue: number; color: string }>;
  4515. /** Specifies a color of a range. */
  4516. color?: string;
  4517. /** Specifies an end value of a range. */
  4518. endValue?: number;
  4519. /** Specifies a start value of a range. */
  4520. startValue?: number;
  4521. }
  4522. export interface ScaleTick {
  4523. /** Specifies the color of the scale's minor ticks. */
  4524. color?: string;
  4525. /** Specifies an array of custom minor ticks. */
  4526. customTickValues?: Array<any>;
  4527. /** Specifies the length of the scale's minor ticks. */
  4528. length?: number;
  4529. /** Indicates whether automatically calculated minor ticks are visible or not. */
  4530. showCalculatedTicks?: boolean;
  4531. /** Specifies an interval between minor ticks. */
  4532. tickInterval?: number;
  4533. /** Indicates whether scale minor ticks are visible or not. */
  4534. visible?: boolean;
  4535. /** Specifies the width of the scale's minor ticks. */
  4536. width?: number;
  4537. }
  4538. export interface ScaleMajorTick extends ScaleTick {
  4539. /** Specifies whether or not to expand the current major tick interval if labels overlap each other. */
  4540. useTicksAutoArrangement?: boolean;
  4541. }
  4542. export interface BaseScaleLabel {
  4543. /** Specifies whether or not scale labels should be colored similarly to their corresponding ranges in the range container. */
  4544. useRangeColors?: boolean;
  4545. /** Specifies a callback function that returns the text to be displayed in scale labels. */
  4546. customizeText?: (scaleValue: { value: number; valueText: string }) => string;
  4547. /** Specifies font options for the text displayed in the scale labels of the gauge. */
  4548. font?: viz.core.Font;
  4549. /** Specifies a format for the text displayed in scale labels. */
  4550. format?: string;
  4551. /** Specifies a precision for the formatted value displayed in the scale labels. */
  4552. precision?: number;
  4553. /** Specifies whether or not scale labels are visible on the gauge. */
  4554. visible?: boolean;
  4555. }
  4556. export interface BaseScale {
  4557. /** Specifies the end value for the scale of the gauge. */
  4558. endValue?: number;
  4559. /** Specifies whether or not to hide the first scale label. */
  4560. hideFirstLabel?: boolean;
  4561. /** Specifies whether or not to hide the first major tick on the scale. */
  4562. hideFirstTick?: boolean;
  4563. /** Specifies whether or not to hide the last scale label. */
  4564. hideLastLabel?: boolean;
  4565. /** Specifies whether or not to hide the last major tick on the scale. */
  4566. hideLastTick?: boolean;
  4567. /** Specifies common options for scale labels. */
  4568. label?: BaseScaleLabel;
  4569. /** Specifies options of the gauge's major ticks. */
  4570. majorTick?: ScaleMajorTick;
  4571. /** Specifies options of the gauge's minor ticks. */
  4572. minorTick?: ScaleTick;
  4573. /** Specifies the start value for the scale of the gauge. */
  4574. startValue?: number;
  4575. }
  4576. export interface BaseSubvalueIndicator {
  4577. /** Specifies the length of an arrow for the subvalue indicator of the textCloud type in pixels. */
  4578. arrowLength?: number;
  4579. /** Specifies the color of a subvalue indicator. */
  4580. color?: string;
  4581. /** Specifies the length for a subvalue indicator of the triangleMarker type in pixels. */
  4582. length?: number;
  4583. /** Sets the array of colors to be used for coloring the subvalue indicators. */
  4584. palette?: Array<any>;
  4585. /** Specifies the appearance of the text displayed in a subvalue indicator of the textCloud type. */
  4586. text?: Object;
  4587. /** Specifies a callback function that returns the text to be displayed in a subvalue indicator of the textCloud type. */
  4588. customizeText?: (indicatedSubvalue: { value: number; valueText: string }) => string;
  4589. /** Specifies font options for the text displayed by a subvalue indicator of the textCloud type. */
  4590. font?: viz.core.Font;
  4591. /** Specifies a format for the text displayed in a subvalue indicator of the textCloud type. */
  4592. format?: string;
  4593. /** Specifies a precision for the formatted value displayed in a subvalue indicator of the textCloud type. */
  4594. precision?: number;
  4595. /** Overriden by descriptions for specific widgets. */
  4596. type?: string;
  4597. /** Specifies the width for a subvalue indicator of the triangleMarker type in pixels. */
  4598. width?: number;
  4599. }
  4600. export interface BaseValueIndicator {
  4601. /** Specifies the background color for the value indicator of the rangeBar type. */
  4602. backgroundColor?: string;
  4603. /** Specifies the base value for the value indicator of the rangeBar type. */
  4604. baseValue?: number;
  4605. /** Specifies the color of the value indicator. */
  4606. color?: string;
  4607. /** Specifies the range bar size for a value indicator of the rangeBar type. */
  4608. size?: number;
  4609. /** Specifies the appearance of the text displayed in a value indicator of the rangeBar type. */
  4610. text?: {
  4611. /** Specifies a callback function that returns the text to be displayed in a value indicator of the rangeBar type. */
  4612. customizeText?: (indicatedValue: { value: number; valueText: string }) => string;
  4613. /** Specifies font options for the text displayed by a value indicator of the rangeBar type. */
  4614. font?: viz.core.Font;
  4615. /** Specifies a format for the text displayed in a value indicator of the rangeBar type. */
  4616. format?: string;
  4617. /** Specifies the range bar's label indent in pixels. */
  4618. indent?: number;
  4619. /** Specifies a precision for the formatted value displayed by a value indicator of the rangeBar type. */
  4620. precision?: number;
  4621. };
  4622. }
  4623. export interface SharedGaugeOptions {
  4624. /** Specifies animation options. */
  4625. animation?: viz.core.Animation;
  4626. /** Specifies the appearance of the loading indicator. */
  4627. loadingIndicator?: viz.core.LoadingIndicator;
  4628. /** Specifies whether to redraw the widget when the size of the parent browser window changes or a mobile device rotates. */
  4629. redrawOnResize?: boolean;
  4630. /** Specifies the size of the widget in pixels. */
  4631. size?: viz.core.Size;
  4632. /** Specifies a subtitle for a gauge. */
  4633. subtitle?: {
  4634. /** Specifies font options for the subtitle. */
  4635. font?: viz.core.Font;
  4636. /** Specifies a text for the subtitle. */
  4637. text?: string;
  4638. };
  4639. /** Specifies the name of the theme to be applied. */
  4640. theme?: string;
  4641. /** Specifies a title for a gauge. */
  4642. title?: {
  4643. /** Specifies font options for the title. */
  4644. font?: viz.core.Font;
  4645. /** Specifies a title's position on the gauge. */
  4646. position?: string;
  4647. /** Specifies a text for the title. */
  4648. text?: string;
  4649. };
  4650. /** Specifies options for gauge tooltips. */
  4651. tooltip?: viz.core.Tooltip;
  4652. }
  4653. export interface BaseGaugeOptions extends viz.core.BaseWidgetOptions, SharedGaugeOptions {
  4654. /** Specifies the color of the parent page element. */
  4655. containerBackgroundColor?: string;
  4656. /** Specifies the blank space in pixels between the widget's extreme elements and the boundaries of the area provided for the widget (see the size option). */
  4657. margin?: viz.core.Margins;
  4658. /** Specifies options of the gauge's range container. */
  4659. rangeContainer?: BaseRangeContainer;
  4660. /** Specifies a gauge's scale options. */
  4661. scale?: BaseScale;
  4662. /** Specifies the appearance options of subvalue indicators. */
  4663. subvalueIndicator?: BaseSubvalueIndicator;
  4664. /** Specifies a set of subvalues to be designated by the subvalue indicators. */
  4665. subvalues?: Array<number>;
  4666. /** Specifies the main value on a gauge. */
  4667. value?: number;
  4668. /** Specifies the appearance options of the value indicator. */
  4669. valueIndicator?: BaseValueIndicator;
  4670. }
  4671. /** A gauge widget. */
  4672. export class dxBaseGauge extends viz.core.BaseWidget {
  4673. /** Displays the loading indicator. */
  4674. showLoadingIndicator(): void;
  4675. /** Conceals the loading indicator. */
  4676. hideLoadingIndicator(): void;
  4677. /** Redraws a widget. */
  4678. render(): void;
  4679. /** Returns the main gauge value. */
  4680. value(): number;
  4681. /** Updates a gauge value. */
  4682. value(value: number): void;
  4683. /** Returns an array of gauge subvalues. */
  4684. subvalues(): Array<number>;
  4685. /** Updates gauge subvalues. */
  4686. subvalues(subvalues: Array<number>): void;
  4687. }
  4688. export interface LinearRangeContainer extends BaseRangeContainer {
  4689. /** Specifies the orientation of the range container on a vertically oriented dxLinearGauge widget. */
  4690. horizontalOrientation?: string;
  4691. /** Specifies the orientation of a range container on a horizontally oriented dxLinearGauge widget. */
  4692. verticalOrientation?: string;
  4693. /** Specifies the width of the range container's start and end boundaries in the dxLinearGauge widget. */
  4694. width?: any;
  4695. /** Specifies an end width of a range container. */
  4696. end?: number;
  4697. /** Specifies a start width of a range container. */
  4698. start?: number;
  4699. }
  4700. export interface LinearScaleLabel extends BaseScaleLabel {
  4701. /** Specifies the spacing between scale labels and ticks. */
  4702. indentFromTick?: number;
  4703. }
  4704. export interface LinearScale extends BaseScale {
  4705. /** Specifies the orientation of scale ticks on a vertically oriented dxLinearGauge widget. */
  4706. horizontalOrientation?: string;
  4707. label?: LinearScaleLabel;
  4708. /** Specifies the orientation of scale ticks on a horizontally oriented dxLinearGauge widget. */
  4709. verticalOrientation?: string;
  4710. }
  4711. export interface LinearSubvalueIndicator extends BaseSubvalueIndicator {
  4712. /** Specifies the orientation of the subvalue indicators on a vertically oriented dxLinearGauge widget. */
  4713. horizontalOrientation?: string;
  4714. /** Specifies the distance between a subvalue indicator and an invisible scale line in pixels. */
  4715. offset?: number;
  4716. /** Specifies the orientation of the subvalue indicators on a horizontally oriented dxLinearGauge widget. */
  4717. verticalOrientation?: string;
  4718. }
  4719. export interface LinearValueIndicator extends BaseValueIndicator {
  4720. /** Specifies the orientation of the rangeBar value indicator on a vertically oriented dxLinearGauge widget. */
  4721. horizontalOrientation?: string;
  4722. /** Specifies the length of a value indicator in pixels. */
  4723. length?: number;
  4724. /** Specifies the distance between a value indicator and an invisible scale line. */
  4725. offset?: number;
  4726. /** Specifies the type of the value indicator. */
  4727. type?: string;
  4728. /** Specifies the orientation of the rangeBar value indicator on a horizontally oriented dxLinearGauge widget. */
  4729. verticalOrientation?: string;
  4730. /** Specifies the width of a value indicator in pixels. */
  4731. width?: number;
  4732. }
  4733. export interface dxLinearGaugeOptions extends BaseGaugeOptions {
  4734. /** Specifies the options required to set the geometry of the dxLinearGauge widget. */
  4735. geometry?: {
  4736. /** Indicates whether to display the dxLinearGauge widget vertically or horizontally. */
  4737. orientation?: string;
  4738. };
  4739. /** Specifies gauge range container options. */
  4740. rangeContainer?: LinearRangeContainer;
  4741. scale?: LinearScale;
  4742. subvalueIndicator?: LinearSubvalueIndicator;
  4743. valueIndicator?: LinearValueIndicator;
  4744. }
  4745. /** A widget that represents a gauge with a linear scale. */
  4746. export class dxLinearGauge extends dxBaseGauge {
  4747. constructor(element: JQuery, options?: dxLinearGaugeOptions);
  4748. constructor(element: Element, options?: dxLinearGaugeOptions);
  4749. }
  4750. export interface CircularRangeContainer extends BaseRangeContainer {
  4751. /** Specifies the orientation of the range container in the dxCircularGauge widget. */
  4752. orientation?: string;
  4753. /** Specifies the range container's width in pixels. */
  4754. width?: number;
  4755. }
  4756. export interface CircularScaleLabel extends BaseScaleLabel {
  4757. /** Specifies the spacing between scale labels and ticks. */
  4758. indentFromTick?: number;
  4759. }
  4760. export interface CircularScale extends BaseScale {
  4761. label?: CircularScaleLabel;
  4762. /** Specifies the orientation of scale ticks. */
  4763. orientation?: string;
  4764. }
  4765. export interface CircularSubvalueIndicator extends BaseSubvalueIndicator {
  4766. /** Specifies the distance between a subvalue indicator and an invisible scale line in pixels. */
  4767. offset?: number;
  4768. }
  4769. export interface CircularValueIndicator extends BaseValueIndicator {
  4770. /** Specifies the distance between the needle and the center of a gauge for the value indicator of needle-like types. */
  4771. indentFromCenter?: number;
  4772. /** Specifies the distance between the value indicator and the invisible scale line. */
  4773. offset?: number;
  4774. /** Specifies the second color for the value indicator of the twoColorNeedle type. */
  4775. secondColor?: string;
  4776. /** Specifies the length of a twoNeedleColor type value indicator tip as a percentage. */
  4777. secondFraction?: number;
  4778. /** Specifies the inner diameter in pixels, so that the spindle has the shape of a ring. */
  4779. spindleGapSize?: number;
  4780. /** Specifies the spindle's diameter in pixels for the value indicator of a needle-like type. */
  4781. spindleSize?: number;
  4782. /** Specifies the value indicator type. */
  4783. type?: string;
  4784. /** Specifies, in pixels, the width for a value indicator of a needle-like type. */
  4785. width?: number;
  4786. }
  4787. export interface dxCircularGaugeOptions extends BaseGaugeOptions {
  4788. /** Specifies the options required to set the geometry of the dxCircularGauge widget. */
  4789. geometry?: {
  4790. /** Specifies the end angle of the circular gauge's arc. */
  4791. endAngle?: number;
  4792. /** Specifies the start angle of the circular gauge's arc. */
  4793. startAngle?: number;
  4794. };
  4795. /** Specifies gauge range container options. */
  4796. rangeContainer?: CircularRangeContainer;
  4797. scale?: CircularScale;
  4798. subvalueIndicator?: CircularSubvalueIndicator;
  4799. valueIndicator?: CircularValueIndicator;
  4800. }
  4801. /** A widget that represents a gauge with a circular scale. */
  4802. export class dxCircularGauge extends dxBaseGauge {
  4803. constructor(element: JQuery, options?: dxCircularGaugeOptions);
  4804. constructor(element: Element, options?: dxCircularGaugeOptions);
  4805. }
  4806. export interface dxBarGaugeOptions extends viz.core.BaseWidgetOptions, SharedGaugeOptions {
  4807. /** Specifies a color for the remaining segment of the bar's track. */
  4808. backgroundColor?: string;
  4809. /** Specifies a distance between bars in pixels. */
  4810. barSpacing?: number;
  4811. /** Specifies a base value for bars. */
  4812. baseValue?: number;
  4813. /** Specifies an end value for the gauge's invisible scale. */
  4814. endValue?: number;
  4815. /** Defines the shape of the gauge's arc. */
  4816. geometry?: {
  4817. /** Specifies the end angle of the bar gauge's arc. */
  4818. endAngle?: number;
  4819. /** Specifies the start angle of the bar gauge's arc. */
  4820. startAngle?: number;
  4821. };
  4822. /** Specifies the options of the labels that accompany gauge bars. */
  4823. label?: {
  4824. /** Specifies a color for the label connector text. */
  4825. connectorColor?: string;
  4826. /** Specifies the width of the label connector in pixels. */
  4827. connectorWidth?: number;
  4828. /** Specifies a callback function that returns a text for labels. */
  4829. customizeText?: (barValue: { value: number; valueText: string }) => string;
  4830. /** Specifies font options for bar labels. */
  4831. font?: viz.core.Font;
  4832. /** Specifies a format for bar labels. */
  4833. format?: string;
  4834. /** Specifies the distance between the upper bar and bar labels in pixels. */
  4835. indent?: number;
  4836. /** Specifies a precision for the formatted value displayed by labels. */
  4837. precision?: number;
  4838. /** Specifies whether bar labels appear on a gauge or not. */
  4839. visible?: boolean;
  4840. };
  4841. /** Sets the name of the palette or an array of colors to be used for coloring the gauge range container. */
  4842. palette?: string;
  4843. /** Defines the radius of the bar that is closest to the center relatively to the radius of the topmost bar. */
  4844. relativeInnerRadius?: number;
  4845. /** Specifies a start value for the gauge's invisible scale. */
  4846. startValue?: number;
  4847. /** Specifies the array of values to be indicated on a bar gauge. */
  4848. values?: Array<number>;
  4849. }
  4850. /** A circular bar widget. */
  4851. export class dxBarGauge extends viz.core.BaseWidget {
  4852. constructor(element: JQuery, options?: dxBarGaugeOptions);
  4853. constructor(element: Element, options?: dxBarGaugeOptions);
  4854. /** Displays the loading indicator. */
  4855. showLoadingIndicator(): void;
  4856. /** Conceals the loading indicator. */
  4857. hideLoadingIndicator(): void;
  4858. /** Redraws the widget. */
  4859. render(): void;
  4860. /** Returns an array of gauge values. */
  4861. values(): Array<number>;
  4862. /** Updates the values displayed by a gauge. */
  4863. values(values: Array<number>): void;
  4864. }
  4865. }
  4866. declare module DevExpress.viz.map {
  4867. /** This section describes the fields and methods that can be used in code to manipulate the Area object. */
  4868. export interface Area {
  4869. /** Contains the element type. */
  4870. type: string;
  4871. /** Return the value of an attribute. */
  4872. attribute(name: string): any;
  4873. /** Provides information about the selection state of an area. */
  4874. selected(): boolean;
  4875. /** Sets a new selection state for an area. */
  4876. selected(state: boolean): void;
  4877. }
  4878. /** This section describes the fields and methods that can be used in code to manipulate the Markers object. */
  4879. export interface Marker {
  4880. /** Contains the descriptive text accompanying the map marker. */
  4881. text: string;
  4882. /** Contains the type of the element. */
  4883. type: string;
  4884. /** Contains the URL of an image map marker. */
  4885. url: string;
  4886. /** Contains the value of a bubble map marker. */
  4887. value: number;
  4888. /** Contains the values of a pie map marker. */
  4889. values: Array<number>;
  4890. /** Returns the value of an attribute. */
  4891. attribute(name: string): any;
  4892. /** Returns the coordinates of a specific marker. */
  4893. coordinates(): Array<number>;
  4894. /** Provides information about the selection state of a marker. */
  4895. selected(): boolean;
  4896. /** Sets a new selection state for a marker. */
  4897. selected(state: boolean): void;
  4898. }
  4899. export interface AreaSettings {
  4900. /** Specifies the width of the area border in pixels. */
  4901. borderWidth?: number;
  4902. /** Specifies a color for the area border. */
  4903. borderColor?: string;
  4904. click?: any;
  4905. /** Specifies a color for an area. */
  4906. color?: string;
  4907. /** Specifies the function that customizes each area individually. */
  4908. customize?: (areaInfo: Area) => AreaSettings;
  4909. /** Specifies a color for the area border when the area is hovered over. */
  4910. hoveredBorderColor?: string;
  4911. /** Specifies the pixel-measured width of the area border when the area is hovered over. */
  4912. hoveredBorderWidth?: number;
  4913. /** Specifies a color for an area when this area is hovered over. */
  4914. hoveredColor?: string;
  4915. /** Specifies whether or not to change the appearance of an area when it is hovered over. */
  4916. hoverEnabled?: boolean;
  4917. /** Configures area labels. */
  4918. label?: {
  4919. /** Specifies the data field that provides data for area labels. */
  4920. dataField?: string;
  4921. /** Enables area labels. */
  4922. enabled?: boolean;
  4923. /** Specifies font options for area labels. */
  4924. font?: viz.core.Font;
  4925. };
  4926. /** Specifies the name of the palette or a custom range of colors to be used for coloring a map. */
  4927. palette?: any;
  4928. /** Specifies the number of colors in a palette. */
  4929. paletteSize?: number;
  4930. /** Allows you to paint areas with similar attributes in the same color. */
  4931. colorGroups?: Array<number>;
  4932. /** Specifies the field that provides data to be used for coloring areas. */
  4933. colorGroupingField?: string;
  4934. /** Specifies a color for the area border when the area is selected. */
  4935. selectedBorderColor?: string;
  4936. /** Specifies a color for an area when this area is selected. */
  4937. selectedColor?: string;
  4938. /** Specifies the pixel-measured width of the area border when the area is selected. */
  4939. selectedBorderWidth?: number;
  4940. selectionChanged?: (area: Area) => void;
  4941. /** Specifies whether single or multiple areas can be selected on a vector map. */
  4942. selectionMode?: string;
  4943. }
  4944. export interface MarkerSettings {
  4945. /** Specifies a color for the marker border. */
  4946. borderColor?: string;
  4947. /** Specifies the width of the marker border in pixels. */
  4948. borderWidth?: number;
  4949. click?: any;
  4950. /** Specifies a color for a marker of the dot or bubble type. */
  4951. color?: string;
  4952. /** Specifies the function that customizes each marker individually. */
  4953. customize?: (markerInfo: Marker) => MarkerSettings;
  4954. font?: Object;
  4955. /** Specifies the pixel-measured width of the marker border when the marker is hovered over. */
  4956. hoveredBorderWidth?: number;
  4957. /** Specifies a color for the marker border when the marker is hovered over. */
  4958. hoveredBorderColor?: string;
  4959. /** Specifies a color for a marker of the dot or bubble type when this marker is hovered over. */
  4960. hoveredColor?: string;
  4961. /** Specifies whether or not to change the appearance of a marker when it is hovered over. */
  4962. hoverEnabled?: boolean;
  4963. /** Specifies marker label options. */
  4964. label?: {
  4965. /** Enables marker labels. */
  4966. enabled?: boolean;
  4967. /** Specifies font options for marker labels. */
  4968. font?: viz.core.Font;
  4969. };
  4970. /** Specifies the pixel-measured diameter of the marker that represents the biggest value. Setting this option makes sense only if you use markers of the bubble type. */
  4971. maxSize?: number;
  4972. /** Specifies the pixel-measured diameter of the marker that represents the smallest value. Setting this option makes sense only if you use markers of the bubble type. */
  4973. minSize?: number;
  4974. /** Specifies the opacity of markers. Setting this option makes sense only if you use markers of the bubble type. */
  4975. opacity?: number;
  4976. /** Specifies the pixel-measured width of the marker border when the marker is selected. */
  4977. selectedBorderWidth?: number;
  4978. /** Specifies a color for the marker border when the marker is selected. */
  4979. selectedBorderColor?: string;
  4980. /** Specifies a color for a marker of the dot or bubble type when this marker is selected. */
  4981. selectedColor?: string;
  4982. selectionChanged?: (marker: Marker) => void;
  4983. /** Specifies whether a single or multiple markers can be selected on a vector map. */
  4984. selectionMode?: string;
  4985. /** Specifies the size of markers. Setting this option makes sense for any type of marker except bubble. */
  4986. size?: number;
  4987. /** Specifies the type of markers to be used on the map. */
  4988. type?: string;
  4989. /** Specifies the name of a palette or a custom set of colors to be used for coloring markers of the pie type. */
  4990. palette?: any;
  4991. /** Allows you to paint markers with similar attributes in the same color. */
  4992. colorGroups?: Array<number>;
  4993. /** Specifies the field that provides data to be used for coloring markers. */
  4994. colorGroupingField?: string;
  4995. /** Allows you to display bubbles with similar attributes in the same size. */
  4996. sizeGroups?: Array<number>;
  4997. /** Specifies the field that provides data to be used for sizing bubble markers. */
  4998. sizeGroupingField?: string;
  4999. }
  5000. export interface dxVectorMapOptions extends viz.core.BaseWidgetOptions {
  5001. /** An object specifying options for the map areas. */
  5002. areaSettings?: AreaSettings;
  5003. /** Specifies the options for the map background. */
  5004. background?: {
  5005. /** Specifies a color for the background border. */
  5006. borderColor?: string;
  5007. /** Specifies a color for the background. */
  5008. color?: string;
  5009. };
  5010. /** Specifies the positioning of a map in geographical coordinates. */
  5011. bounds?: Array<number>;
  5012. /** Specifies the options of the control bar. */
  5013. controlBar?: {
  5014. /** Specifies a color for the outline of the control bar elements. */
  5015. borderColor?: string;
  5016. /** Specifies a color for the inner area of the control bar elements. */
  5017. color?: string;
  5018. /** Specifies whether or not to display the control bar. */
  5019. enabled?: boolean;
  5020. /** Specifies the margin of the control bar in pixels. */
  5021. margin?: number;
  5022. /** Specifies the position of the control bar. */
  5023. horizontalAlignment?: string;
  5024. /** Specifies the position of the control bar. */
  5025. verticalAlignment?: string;
  5026. };
  5027. /** Specifies the appearance of the loading indicator. */
  5028. loadingIndicator?: viz.core.LoadingIndicator;
  5029. /** Specifies a data source for the map area. */
  5030. mapData?: any;
  5031. /** Specifies a data source for the map markers. */
  5032. markers?: any;
  5033. /** An object specifying options for the map markers. */
  5034. markerSettings?: MarkerSettings;
  5035. /** Specifies the size of the dxVectorMap widget. */
  5036. size?: viz.core.Size;
  5037. /** Specifies the name of the theme to be applied. */
  5038. theme?: Object;
  5039. /** Specifies tooltip options. */
  5040. tooltip?: viz.core.Tooltip;
  5041. /** Configures map legends. */
  5042. legends?: Array<Legend>;
  5043. /** Specifies whether or not the map should respond when a user rolls the mouse wheel. */
  5044. wheelEnabled?: boolean;
  5045. /** Specifies whether the map should respond to touch gestures. */
  5046. touchEnabled?: boolean;
  5047. /** Disables the zooming capability. */
  5048. zoomingEnabled?: boolean;
  5049. /** Specifies the geographical coordinates of the center for a map. */
  5050. center?: Array<number>;
  5051. centerChanged?: (center: Array<number>) => void;
  5052. /** A handler for the centerChanged event. */
  5053. onCenterChanged?: (e: {
  5054. center: Array<number>;
  5055. component: dxVectorMap;
  5056. element: Element;
  5057. }) => void;
  5058. /** Specifies a number that is used to zoom a map initially. */
  5059. zoomFactor?: number;
  5060. zoomFactorChanged?: (zoomFactor: number) => void;
  5061. /** A handler for the zoomFactorChanged event. */
  5062. onZoomFactorChanged?: (e: {
  5063. zoomFactor: number;
  5064. component: dxVectorMap;
  5065. element: Element;
  5066. }) => void;
  5067. click?: any;
  5068. /** A handler for the click event. */
  5069. onClick?: any;
  5070. /** A handler for the areaClick event. */
  5071. onAreaClick?: any;
  5072. /** A handler for the areaSelectionChanged event. */
  5073. onAreaSelectionChanged?: (e: {
  5074. target: Area;
  5075. component: dxVectorMap;
  5076. element: Element;
  5077. }) => void;
  5078. /** A handler for the markerClick event. */
  5079. onMarkerClick?: any;
  5080. /** A handler for the markerSelectionChanged event. */
  5081. onMarkerSelectionChanged?: (e: {
  5082. target: Marker;
  5083. component: dxVectorMap;
  5084. element: Element;
  5085. }) => void;
  5086. /** Disables the panning capability. */
  5087. panningEnabled?: boolean;
  5088. }
  5089. export interface Legend extends viz.core.BaseLegend {
  5090. /** Specifies text for legend items. */
  5091. customizeText?: (itemInfo: { start: number; end: number; index: number; color: string; size: number; }) => string;
  5092. /** Specifies text for a hint that appears when a user hovers the mouse pointer over the text of a legend item. */
  5093. customizeHint?: (itemInfo: { start: number; end: number; index: number; color: string; size: number }) => string;
  5094. /** Specifies the source of data for the legend. */
  5095. source?: string;
  5096. }
  5097. /** A vector map widget. */
  5098. export class dxVectorMap extends viz.core.BaseWidget {
  5099. constructor(element: JQuery, options?: dxVectorMapOptions);
  5100. constructor(element: Element, options?: dxVectorMapOptions);
  5101. /** Displays the loading indicator. */
  5102. showLoadingIndicator(): void;
  5103. /** Conceals the loading indicator. */
  5104. hideLoadingIndicator(): void;
  5105. /** Redraws a widget. */
  5106. render(): void;
  5107. /** Gets the current coordinates of the map center. */
  5108. center(): Array<number>;
  5109. /** Sets the coordinates of the map center. */
  5110. center(centerCoordinates: Array<number>): void;
  5111. /** Deselects all the selected areas on a map. The areas are displayed in their initial style after. */
  5112. clearAreaSelection(): void;
  5113. /** Deselects all the selected markers on a map. The markers are displayed in their initial style after. */
  5114. clearMarkerSelection(): void;
  5115. /** Deselects all the selected area and markers on a map at once. The areas and markers are displayed in their initial style after. */
  5116. clearSelection(): void;
  5117. /** Converts client area coordinates into map coordinates. */
  5118. convertCoordinates(x: number, y: number): Array<number>;
  5119. /** Returns an array with all the map areas. */
  5120. getAreas(): Array<Area>;
  5121. /** Returns an array with all the map markers. */
  5122. getMarkers(): Array<Marker>;
  5123. /** Gets the current coordinates of the map viewport. */
  5124. viewport(): Array<any>;
  5125. /** Sets the coordinates of the map viewport. */
  5126. viewport(viewportCoordinates: Array<number>): void;
  5127. /** Gets the current value of the map zoom factor. */
  5128. zoomFactor(): number;
  5129. /** Sets the value of the map zoom factor. */
  5130. zoomFactor(zoomFactor: number): void;
  5131. }
  5132. }
  5133. declare module DevExpress.viz.rangeSelector {
  5134. export interface dxRangeSelectorOptions extends viz.core.BaseWidgetOptions {
  5135. /** Specifies the options for the range selector's background. */
  5136. background?: {
  5137. /** Specifies the background color for the dxRangeSelector. */
  5138. color?: string;
  5139. /** Specifies image options. */
  5140. image?: {
  5141. /** Specifies a location for the image in the background of a range selector. */
  5142. location?: string;
  5143. /** Specifies the image's URL. */
  5144. url?: string;
  5145. };
  5146. /** Indicates whether or not the background (background color and/or image) is visible. */
  5147. visible?: boolean;
  5148. };
  5149. /** Specifies the dxRangeSelector's behavior options. */
  5150. behavior?: {
  5151. /** Indicates whether or not you can swap sliders. */
  5152. allowSlidersSwap?: boolean;
  5153. /**
  5154. Indicates whether or not animation is enabled.
  5155. */
  5156. animationEnabled?: boolean;
  5157. /** Specifies when to call the onSelectedRangeChanged function. */
  5158. callSelectedRangeChanged?: string;
  5159. /** Indicates whether or not an end user can specify the range using a mouse, without the use of sliders. */
  5160. manualRangeSelectionEnabled?: boolean;
  5161. /** Indicates whether or not an end user can shift the selected range to the required location on a scale by clicking. */
  5162. moveSelectedRangeByClick?: boolean;
  5163. /** Indicates whether to snap a slider to ticks. */
  5164. snapToTicks?: boolean;
  5165. };
  5166. /** Specifies the options required to display a chart as the range selector's background. */
  5167. chart?: {
  5168. /** Specifies a coefficient for determining an indent from the bottom background boundary to the lowest chart point. */
  5169. bottomIndent?: number;
  5170. /** An object defining the common configuration options for the chart’s series. */
  5171. commonSeriesSettings?: viz.charts.CommonSeriesSettings;
  5172. /** An object providing options for managing data from a data source. */
  5173. dataPrepareSettings?: {
  5174. /** Specifies whether or not to validate values from a data source. */
  5175. checkTypeForAllData?: boolean;
  5176. /** Specifies whether or not to convert the values from a data source into the data type of an axis. */
  5177. convertToAxisDataType?: boolean;
  5178. /** Specifies how to sort series points. */
  5179. sortingMethod?: any;
  5180. };
  5181. /** Specifies a value indicating whether all bars in a series must have the same width, or may have different widths if any points in other series are missing. */
  5182. equalBarWidth?: any;
  5183. /** An object defining the chart’s series. */
  5184. series?: Array<viz.charts.SeriesConfig>;
  5185. /** Defines options for the series template. */
  5186. seriesTemplate?: viz.charts.SeriesTemplate;
  5187. /** Specifies a coefficient for determining an indent from the background's top boundary to the topmost chart point. */
  5188. topIndent?: number;
  5189. /** Specifies whether or not to filter the series points depending on their quantity. */
  5190. useAggregation?: boolean;
  5191. /** Specifies options for the chart's value axis. */
  5192. valueAxis?: {
  5193. /** Indicates whether or not the chart's value axis must be inverted. */
  5194. inverted?: boolean;
  5195. /** Specifies the value to be raised to a power when generating ticks for a logarithmic value axis. */
  5196. logarithmBase?: number;
  5197. /** Specifies the maximum value of the chart's value axis. */
  5198. max?: number;
  5199. /** Specifies the minimum value of the chart's value axis. */
  5200. min?: number;
  5201. /** Specifies the type of the value axis. */
  5202. type?: string;
  5203. /** Specifies the desired type of axis values. */
  5204. valueType?: string;
  5205. };
  5206. };
  5207. /** Specifies the color of the parent page element. */
  5208. containerBackgroundColor?: string;
  5209. /** Specifies a data source for the scale values and for the chart at the background. */
  5210. dataSource?: any;
  5211. /** Specifies the data source field that provides data for the scale. */
  5212. dataSourceField?: string;
  5213. /** Specifies the appearance of the loading indicator. */
  5214. loadingIndicator?: viz.core.LoadingIndicator;
  5215. /** Specifies the blank space in pixels between the dxRangeSelector widget's extreme elements and the boundaries of the area provided for the widget (see size). */
  5216. margin?: viz.core.Margins;
  5217. /** Specifies whether to redraw the widget when the size of the parent browser window changes or a mobile device rotates. */
  5218. redrawOnResize?: boolean;
  5219. /** Specifies options of the range selector's scale. */
  5220. scale?: {
  5221. /** Specifies the scale's end value. */
  5222. endValue?: any;
  5223. /** Specifies common options for scale labels. */
  5224. label?: {
  5225. /** Specifies a callback function that returns the text to be displayed in scale labels. */
  5226. customizeText?: (scaleValue: { value: any; valueText: string; }) => string;
  5227. /** Specifies font options for the text displayed in the range selector's scale labels. */
  5228. font?: viz.core.Font;
  5229. /** Specifies a format for the text displayed in scale labels. */
  5230. format?: string;
  5231. /** Specifies a precision for the formatted value displayed in the scale labels. */
  5232. precision?: number;
  5233. /** Specifies a spacing between scale labels and the background bottom edge. */
  5234. topIndent?: number;
  5235. /** Specifies whether or not the scale's labels are visible. */
  5236. visible?: boolean;
  5237. };
  5238. /** Specifies the value to be raised to a power when generating ticks for a logarithmic scale. */
  5239. logarithmBase?: number;
  5240. /** Specifies an interval between major ticks. */
  5241. majorTickInterval?: any;
  5242. /** Specifies options for the date-time scale's markers. */
  5243. marker?: {
  5244. /** Defines the options that can be set for the text that is displayed by the scale markers. */
  5245. label?: {
  5246. /** Specifies a callback function that returns the text to be displayed in scale markers. */
  5247. customizeText?: (markerValue: { value: any; valueText: string }) => string;
  5248. /** Specifies a format for the text displayed in scale markers. */
  5249. format?: string;
  5250. };
  5251. /** Specifies the height of the marker's separator. */
  5252. separatorHeight?: number;
  5253. /** Specifies the space between the marker label and the marker separator. */
  5254. textLeftIndent?: number;
  5255. /** Specifies the space between the marker's label and the top edge of the marker's separator. */
  5256. textTopIndent?: number;
  5257. /** Specified the indent between the marker and the scale lables. */
  5258. topIndent?: number;
  5259. /** Indicates whether scale markers are visible. */
  5260. visible?: boolean;
  5261. };
  5262. /** Specifies the maximum range that can be selected. */
  5263. maxRange?: any;
  5264. /** Specifies the number of minor ticks between neighboring major ticks. */
  5265. minorTickCount?: number;
  5266. /**
  5267. Specifies an interval between minor ticks.
  5268. */
  5269. minorTickInterval?: any;
  5270. /** Specifies the minimum range that can be selected. */
  5271. minRange?: any;
  5272. /** Specifies the height of the space reserved for the scale in pixels. */
  5273. placeholderHeight?: number;
  5274. /** Indicates whether or not to set ticks of a date-time scale at the beginning of each date-time interval. */
  5275. setTicksAtUnitBeginning?: boolean;
  5276. /** Specifies whether or not to show ticks for the boundary scale values, when neither major ticks nor minor ticks are created for these values. */
  5277. showCustomBoundaryTicks?: boolean;
  5278. /** Indicates whether or not to show minor ticks on the scale. */
  5279. showMinorTicks?: boolean;
  5280. /** Specifies the scale's start value. */
  5281. startValue?: any;
  5282. /** Specifies options defining the appearance of scale ticks. */
  5283. tick?: {
  5284. /** Specifies the color of scale ticks (both major and minor ticks). */
  5285. color?: string;
  5286. /** Specifies the opacity of scale ticks (both major and minor ticks). */
  5287. opacity?: number;
  5288. /** Specifies the width of the scale's ticks (both major and minor ticks). */
  5289. width?: number;
  5290. };
  5291. /** Specifies the type of the scale. */
  5292. type?: string;
  5293. /** Specifies whether or not to expand the current tick interval if labels overlap each other. */
  5294. useTicksAutoArrangement?: boolean;
  5295. /** Specifies the type of values on the scale. */
  5296. valueType?: string;
  5297. /** Specifies the order of arguments on a discrete scale. */
  5298. categories?: Array<any>;
  5299. };
  5300. /** Specifies the range to be selected when displaying the dxRangeSelector. */
  5301. selectedRange?: {
  5302. /** Specifies the start value of the range to be selected when displaying the dxRangeSelector widget on a page. */
  5303. startValue?: any;
  5304. /** Specifies the end value of the range to be selected when displaying the dxRangeSelector widget on a page. */
  5305. endValue?: any;
  5306. };
  5307. selectedRangeChanged?: (selectedRange: { startValue: any; endValue: any; }) => void;
  5308. /** A handler for the selectedRangeChanged event. */
  5309. onSelectedRangeChanged?: (e: {
  5310. startValue: any;
  5311. endValue: any;
  5312. component: dxRangeSelector;
  5313. element: Element;
  5314. }) => void;
  5315. /** Specifies the options of the range selector's shutters. */
  5316. shutter?: {
  5317. /** Specifies shutter color. */
  5318. color?: string;
  5319. /** Specifies the opacity of the color of shutters. */
  5320. opacity?: number;
  5321. };
  5322. /** Specifies in pixels the size of the dxRangeSelector widget. */
  5323. size?: viz.core.Size;
  5324. /** Specifies the appearance of the range selector's slider handles. */
  5325. sliderHandle?: {
  5326. /** Specifies the color of the slider handles. */
  5327. color?: string;
  5328. /** Specifies the opacity of the slider handles. */
  5329. opacity?: number;
  5330. /** Specifies the width of the slider handles. */
  5331. width?: number;
  5332. };
  5333. /** Defines the options of the range selector slider markers. */
  5334. sliderMarker?: {
  5335. /** Specifies the color of the slider markers. */
  5336. color?: string;
  5337. /** Specifies a callback function that returns the text to be displayed by slider markers. */
  5338. customizeText?: (scaleValue: { value: any; valueText: any; }) => string;
  5339. /** Specifies font options for the text displayed by the range selector slider markers. */
  5340. font?: viz.core.Font;
  5341. /** Specifies a format for the text displayed in slider markers. */
  5342. format?: string;
  5343. /** Specifies the color used for the slider marker text when the currently selected range does not match the minRange and maxRange values. */
  5344. invalidRangeColor?: string;
  5345. /** Specifies the empty space between the marker's border and the marker’s text. */
  5346. padding?: number;
  5347. /** Specifies in pixels the height and width of the space reserved for the range selector slider markers. */
  5348. placeholderSize?: {
  5349. /** Specifies the height of the placeholder for the left and right slider markers. */
  5350. height?: number;
  5351. /** Specifies the width of the placeholder for the left and right slider markers. */
  5352. width?: {
  5353. /** Specifies the width of the left slider marker's placeholder. */
  5354. left?: number;
  5355. /** Specifies the width of the right slider marker's placeholder. */
  5356. right?: number;
  5357. };
  5358. };
  5359. /** Specifies a precision for the formatted value displayed in slider markers. */
  5360. precision?: number;
  5361. /** Indicates whether or not the slider markers are visible. */
  5362. visible?: boolean;
  5363. };
  5364. /** Sets the name of the theme to be used by the range selector. */
  5365. theme?: string;
  5366. }
  5367. /** A widget that allows end users to select a range of values on a scale. */
  5368. export class dxRangeSelector extends viz.core.BaseWidget {
  5369. constructor(element: JQuery, options?: dxRangeSelectorOptions);
  5370. constructor(element: Element, options?: dxRangeSelectorOptions);
  5371. /** Displays the loading indicator. */
  5372. showLoadingIndicator(): void;
  5373. /** Conceals the loading indicator. */
  5374. hideLoadingIndicator(): void;
  5375. /** Redraws a widget. */
  5376. render(skipChartAnimation?: boolean): void;
  5377. /** Returns the currently selected range. */
  5378. getSelectedRange(): { startValue: any; endValue: any; };
  5379. /** Sets a specified range. */
  5380. setSelectedRange(selectedRange: { startValue: any; endValue: any; }): void;
  5381. }
  5382. }
  5383. declare module DevExpress.viz.sparklines {
  5384. export interface SparklineTooltip extends viz.core.Tooltip {
  5385. /** Specifies how a tooltip is horizontally aligned relative to the graph. */
  5386. horizontalAlignment?: string;
  5387. /** Specifies how a tooltip is vertically aligned relative to the graph. */
  5388. verticalAlignment?: string;
  5389. }
  5390. export interface BaseSparklineOptions extends viz.core.BaseWidgetOptions {
  5391. /** Specifies the blank space between the widget's extreme elements and the boundaries of the area provided for the widget in pixels. */
  5392. margin?: viz.core.Margins;
  5393. /** Specifies the size of the widget. */
  5394. size?: viz.core.Size;
  5395. /** Specifies the name of the theme to be applied. */
  5396. theme?: string;
  5397. /** Specifies tooltip options. */
  5398. tooltip?: SparklineTooltip;
  5399. }
  5400. /** Overridden by descriptions for particular widgets. */
  5401. export class BaseSparkline extends viz.core.BaseWidget {
  5402. /** Redraws a widget. */
  5403. render(): void;
  5404. }
  5405. export interface dxBulletOptions extends BaseSparkline {
  5406. /** Specifies a color for the bullet bar. */
  5407. color?: string;
  5408. /** Specifies an end value for the invisible scale. */
  5409. endScaleValue?: number;
  5410. /** Specifies whether or not to show the target line. */
  5411. showTarget?: boolean;
  5412. /** Specifies whether or not to show the line indicating zero on the invisible scale. */
  5413. showZeroLevel?: boolean;
  5414. /** Specifies a start value for the invisible scale. */
  5415. startScaleValue?: number;
  5416. /** Specifies the value indicated by the target line. */
  5417. target?: number;
  5418. /** Specifies a color for both the target and zero level lines. */
  5419. targetColor?: string;
  5420. /** Specifies the width of the target line. */
  5421. targetWidth?: number;
  5422. /** Specifies the primary value indicated by the bullet bar. */
  5423. value?: number;
  5424. }
  5425. /** A bullet graph widget. */
  5426. export class dxBullet extends BaseSparkline {
  5427. constructor(element: JQuery, options?: dxBulletOptions);
  5428. constructor(element: Element, options?: dxBulletOptions);
  5429. }
  5430. export interface dxSparklineOptions extends BaseSparklineOptions {
  5431. /** Specifies the data source field that provides arguments for a sparkline. */
  5432. argumentField?: string;
  5433. /** Sets a color for the bars indicating negative values. Available for a sparkline of the bar type only. */
  5434. barNegativeColor?: string;
  5435. /** Sets a color for the bars indicating positive values. Available for a sparkline of the bar type only. */
  5436. barPositiveColor?: string;
  5437. /** Specifies a data source for the sparkline. */
  5438. dataSource?: Array<any>;
  5439. /** Sets a color for the boundary of both the first and last points on a sparkline. */
  5440. firstLastColor?: string;
  5441. /** Specifies whether a sparkline ignores null data points or not. */
  5442. ignoreEmptyPoints?: boolean;
  5443. /** Sets a color for a line on a sparkline. Available for the sparklines of the line- and area-like types. */
  5444. lineColor?: string;
  5445. /** Specifies a width for a line on a sparkline. Available for the sparklines of the line- and area-like types. */
  5446. lineWidth?: number;
  5447. /** Sets a color for the bars indicating the values that are less than the winloss threshold. Available for a sparkline of the winloss type only. */
  5448. lossColor?: string;
  5449. /** Sets a color for the boundary of the maximum point on a sparkline. */
  5450. maxColor?: string;
  5451. /** Sets a color for the boundary of the minimum point on a sparkline. */
  5452. minColor?: string;
  5453. /** Sets a color for points on a sparkline. Available for the sparklines of the line- and area-like types. */
  5454. pointColor?: string;
  5455. /** Specifies the diameter of sparkline points in pixels. Available for the sparklines of line- and area-like types. */
  5456. pointSize?: number;
  5457. /** Specifies a symbol to use as a point marker on a sparkline. Available for the sparklines of the line- and area-like types. */
  5458. pointSymbol?: string;
  5459. /** Specifies whether or not to indicate both the first and last values on a sparkline. */
  5460. showFirstLast?: boolean;
  5461. /** Specifies whether or not to indicate both the minimum and maximum values on a sparkline. */
  5462. showMinMax?: boolean;
  5463. /** Determines the type of a sparkline. */
  5464. type?: string;
  5465. /** Specifies the data source field that provides values for a sparkline. */
  5466. valueField?: string;
  5467. /** Sets a color for the bars indicating the values greater than a winloss threshold. Available for a sparkline of the winloss type only. */
  5468. winColor?: string;
  5469. /** Specifies a value that serves as a threshold for the sparkline of the winloss type. */
  5470. winlossThreshold?: number;
  5471. }
  5472. /** A sparkline widget. */
  5473. export class dxSparkline extends BaseSparkline {
  5474. constructor(element: JQuery, options?: dxSparklineOptions);
  5475. constructor(element: Element, options?: dxSparklineOptions);
  5476. }
  5477. }
  5478. interface JQuery {
  5479. dxProgressBar(options?: DevExpress.ui.dxProgressBarOptions): JQuery;
  5480. dxProgressBar(methodName: string, ...params: any[]): any;
  5481. dxProgressBar(methodName: "instance"): DevExpress.ui.dxProgressBar;
  5482. dxSlider(options?: DevExpress.ui.dxSliderOptions): JQuery;
  5483. dxSlider(methodName: string, ...params: any[]): any;
  5484. dxSlider(methodName: "instance"): DevExpress.ui.dxSlider;
  5485. dxRangeSlider(options?: DevExpress.ui.dxRangeSliderOptions): JQuery;
  5486. dxRangeSlider(methodName: string, ...params: any[]): any;
  5487. dxRangeSlider(methodName: "instance"): DevExpress.ui.dxRangeSlider;
  5488. dxFileUploader(options?: DevExpress.ui.dxFileUploaderOptions): JQuery;
  5489. dxFileUploader(methodName: string, ...params: any[]): any;
  5490. dxFileUploader(methodName: "instance"): DevExpress.ui.dxFileUploader;
  5491. dxValidator(): JQuery;
  5492. dxValidator(methodName: string, ...params: any[]): any;
  5493. dxValidator(methodName: "instance"): DevExpress.ui.dxValidator;
  5494. dxValidatonGroup(): JQuery;
  5495. dxValidatonGroup(methodName: string, ...params: any[]): any;
  5496. dxValidatonGroup(methodName: "instance"): DevExpress.ui.dxValidationGroup;
  5497. dxValidationSummary(): JQuery;
  5498. dxValidationSummary(methodName: string, ...params: any[]): any;
  5499. dxValidationSummary(methodName: "instance"): DevExpress.ui.dxValidationSummary;
  5500. dxTooltip(options?: DevExpress.ui.dxTooltipOptions): JQuery;
  5501. dxTooltip(methodName: string, ...params: any[]): any;
  5502. dxTooltip(methodName: "instance"): DevExpress.ui.dxTooltip;
  5503. dxDropDownList(options?: DevExpress.ui.dxDropDownListOptions): JQuery;
  5504. dxDropDownList(methodName: string, ...params: any[]): any;
  5505. dxDropDownList(methodName: "instance"): DevExpress.ui.dxDropDownList;
  5506. dxToolbar(options?: DevExpress.ui.dxToolbarOptions): JQuery;
  5507. dxToolbar(methodName: string, ...params: any[]): any;
  5508. dxToolbar(methodName: "instance"): DevExpress.ui.dxToolbar;
  5509. dxToast(options?: DevExpress.ui.dxToastOptions): JQuery;
  5510. dxToast(methodName: string, ...params: any[]): any;
  5511. dxToast(methodName: "instance"): DevExpress.ui.dxToast;
  5512. dxTextEditor(options?: DevExpress.ui.dxTextEditorOptions): JQuery;
  5513. dxTextEditor(methodName: string, ...params: any[]): any;
  5514. dxTextEditor(methodName: "instance"): DevExpress.ui.dxTextEditor;
  5515. dxTextBox(options?: DevExpress.ui.dxTextBoxOptions): JQuery;
  5516. dxTextBox(methodName: string, ...params: any[]): any;
  5517. dxTextBox(methodName: "instance"): DevExpress.ui.dxTextBox;
  5518. dxTextArea(options?: DevExpress.ui.dxTextAreaOptions): JQuery;
  5519. dxTextArea(methodName: string, ...params: any[]): any;
  5520. dxTextArea(methodName: "instance"): DevExpress.ui.dxTextArea;
  5521. dxTabs(options?: DevExpress.ui.dxTabsOptions): JQuery;
  5522. dxTabs(methodName: string, ...params: any[]): any;
  5523. dxTabs(methodName: "instance"): DevExpress.ui.dxTabs;
  5524. dxTabPanel(options?: DevExpress.ui.dxTabPanelOptions): JQuery;
  5525. dxTabPanel(methodName: string, ...params: any[]): any;
  5526. dxTabPanel(methodName: "instance"): DevExpress.ui.dxTabPanel;
  5527. dxSelectBox(options?: DevExpress.ui.dxSelectBoxOptions): JQuery;
  5528. dxSelectBox(methodName: string, ...params: any[]): any;
  5529. dxSelectBox(methodName: "instance"): DevExpress.ui.dxSelectBox;
  5530. dxScrollView(options?: DevExpress.ui.dxScrollViewOptions): JQuery;
  5531. dxScrollView(methodName: string, ...params: any[]): any;
  5532. dxScrollView(methodName: "instance"): DevExpress.ui.dxScrollView;
  5533. dxScrollable(options?: DevExpress.ui.dxScrollableOptions): JQuery;
  5534. dxScrollable(methodName: string, ...params: any[]): any;
  5535. dxScrollable(methodName: "instance"): DevExpress.ui.dxScrollable;
  5536. dxRadioGroup(options?: DevExpress.ui.dxRadioGroupOptions): JQuery;
  5537. dxRadioGroup(methodName: string, ...params: any[]): any;
  5538. dxRadioGroup(methodName: "instance"): DevExpress.ui.dxRadioGroup;
  5539. dxPopup(options?: DevExpress.ui.dxPopupOptions): JQuery;
  5540. dxPopup(methodName: string, ...params: any[]): any;
  5541. dxPopup(methodName: "instance"): DevExpress.ui.dxPopup;
  5542. dxPopover(options?: DevExpress.ui.dxPopoverOptions): JQuery;
  5543. dxPopover(methodName: string, ...params: any[]): any;
  5544. dxPopover(methodName: "instance"): DevExpress.ui.dxPopover;
  5545. dxOverlay(options?: DevExpress.ui.dxOverlayOptions): JQuery;
  5546. dxOverlay(methodName: string, ...params: any[]): any;
  5547. dxOverlay(methodName: "instance"): DevExpress.ui.dxOverlay;
  5548. dxNumberBox(options?: DevExpress.ui.dxNumberBoxOptions): JQuery;
  5549. dxNumberBox(methodName: string, ...params: any[]): any;
  5550. dxNumberBox(methodName: "instance"): DevExpress.ui.dxNumberBox;
  5551. dxNavBar(options?: DevExpress.ui.dxNavBarOptions): JQuery;
  5552. dxNavBar(methodName: string, ...params: any[]): any;
  5553. dxNavBar(methodName: "instance"): DevExpress.ui.dxNavBar;
  5554. dxMultiView(options?: DevExpress.ui.dxMultiViewOptions): JQuery;
  5555. dxMultiView(methodName: string, ...params: any[]): any;
  5556. dxMultiView(methodName: "instance"): DevExpress.ui.dxMultiView;
  5557. dxMap(options?: DevExpress.ui.dxMapOptions): JQuery;
  5558. dxMap(methodName: string, ...params: any[]): any;
  5559. dxMap(methodName: "instance"): DevExpress.ui.dxMap;
  5560. dxLookup(options?: DevExpress.ui.dxLookupOptions): JQuery;
  5561. dxLookup(methodName: string, ...params: any[]): any;
  5562. dxLookup(methodName: "instance"): DevExpress.ui.dxLookup;
  5563. dxLoadPanel(options?: DevExpress.ui.dxLoadPanelOptions): JQuery;
  5564. dxLoadPanel(methodName: string, ...params: any[]): any;
  5565. dxLoadPanel(methodName: "instance"): DevExpress.ui.dxLoadPanel;
  5566. dxLoadIndicator(options?: DevExpress.ui.dxLoadIndicatorOptions): JQuery;
  5567. dxLoadIndicator(methodName: string, ...params: any[]): any;
  5568. dxLoadIndicator(methodName: "instance"): DevExpress.ui.dxLoadIndicator;
  5569. dxList(options?: DevExpress.ui.dxListOptions): JQuery;
  5570. dxList(methodName: string, ...params: any[]): any;
  5571. dxList(methodName: "instance"): DevExpress.ui.dxList;
  5572. dxGallery(options?: DevExpress.ui.dxGalleryOptions): JQuery;
  5573. dxGallery(methodName: string, ...params: any[]): any;
  5574. dxGallery(methodName: "instance"): DevExpress.ui.dxGallery;
  5575. dxDropDownEditor(options?: DevExpress.ui.dxDropDownEditorOptions): JQuery;
  5576. dxDropDownEditor(methodName: string, ...params: any[]): any;
  5577. dxDropDownEditor(methodName: "instance"): DevExpress.ui.dxDropDownEditor;
  5578. dxDateBox(options?: DevExpress.ui.dxDateBoxOptions): JQuery;
  5579. dxDateBox(methodName: string, ...params: any[]): any;
  5580. dxDateBox(methodName: "instance"): DevExpress.ui.dxDateBox;
  5581. dxCheckBox(options?: DevExpress.ui.dxCheckBoxOptions): JQuery;
  5582. dxCheckBox(methodName: string, ...params: any[]): any;
  5583. dxCheckBox(methodName: "instance"): DevExpress.ui.dxCheckBox;
  5584. dxBox(options?: DevExpress.ui.dxBoxOptions): JQuery;
  5585. dxBox(methodName: string, ...params: any[]): any;
  5586. dxBox(methodName: "instance"): DevExpress.ui.dxBox;
  5587. dxButton(options?: DevExpress.ui.dxButtonOptions): JQuery;
  5588. dxButton(methodName: string, ...params: any[]): any;
  5589. dxButton(methodName: "instance"): DevExpress.ui.dxButton;
  5590. dxCalendar(options?: DevExpress.ui.dxCalendarOptions): JQuery;
  5591. dxCalendar(methodName: string, ...params: any[]): any;
  5592. dxCalendar(methodName: "instance"): DevExpress.ui.dxCalendar;
  5593. dxAccordion(options?: DevExpress.ui.dxAccordionOptions): JQuery;
  5594. dxAccordion(methodName: string, ...params: any[]): any;
  5595. dxAccordion(methodName: "instance"): DevExpress.ui.dxAccordion;
  5596. dxAutocomplete(options?: DevExpress.ui.dxAutocompleteOptions): JQuery;
  5597. dxAutocomplete(methodName: string, ...params: any[]): any;
  5598. dxAutocomplete(methodName: "instance"): DevExpress.ui.dxAutocomplete;
  5599. dxTileView(options?: DevExpress.ui.dxTileViewOptions): JQuery;
  5600. dxTileView(methodName: string, ...params: any[]): any;
  5601. dxTileView(methodName: "instance"): DevExpress.ui.dxTileView;
  5602. dxSwitch(options?: DevExpress.ui.dxSwitchOptions): JQuery;
  5603. dxSwitch(methodName: string, ...params: any[]): any;
  5604. dxSwitch(methodName: "instance"): DevExpress.ui.dxSwitch;
  5605. dxSlideOut(options?: DevExpress.ui.dxSlideoutOptions): JQuery;
  5606. dxSlideOut(methodName: string, ...params: any[]): any;
  5607. dxSlideOut(methodName: "instance"): DevExpress.ui.dxSlideOut;
  5608. dxPivot(options?: DevExpress.ui.dxPivotOptions): JQuery;
  5609. dxPivot(methodName: string, ...params: any[]): any;
  5610. dxPivot(methodName: "instance"): DevExpress.ui.dxPivot;
  5611. dxPanorama(options?: DevExpress.ui.dxPanoramaOptions): JQuery;
  5612. dxPanorama(methodName: string, ...params: any[]): any;
  5613. dxPanorama(methodName: "instance"): DevExpress.ui.dxPanorama;
  5614. dxActionSheet(options?: DevExpress.ui.dxActionSheetOptions): JQuery;
  5615. dxActionSheet(methodName: string, ...params: any[]): any;
  5616. dxActionSheet(methodName: "instance"): DevExpress.ui.dxActionSheet;
  5617. dxDropDownMenu(options?: DevExpress.ui.dxDropDownMenuOptions): JQuery;
  5618. dxDropDownMenu(methodName: string, ...params: any[]): any;
  5619. dxDropDownMenu(methodName: "instance"): DevExpress.ui.dxDropDownMenu;
  5620. dxTreeView(options?: DevExpress.ui.dxTreeViewOptions): JQuery;
  5621. dxTreeView(methodName: string, ...params: any[]): any;
  5622. dxTreeView(methodName: "instance"): DevExpress.ui.dxTreeView;
  5623. dxMenuBase(options?: DevExpress.ui.dxMenuBaseOptions): JQuery;
  5624. dxMenuBase(methodName: string, ...params: any[]): any;
  5625. dxMenuBase(methodName: "instance"): DevExpress.ui.dxMenuBase;
  5626. dxMenu(options?: DevExpress.ui.dxMenuOptions): JQuery;
  5627. dxMenu(methodName: string, ...params: any[]): any;
  5628. dxMenu(methodName: "instance"): DevExpress.ui.dxMenu;
  5629. dxContextMenu(options?: DevExpress.ui.dxContextMenuOptions): JQuery;
  5630. dxContextMenu(methodName: string, ...params: any[]): any;
  5631. dxContextMenu(methodName: "instance"): DevExpress.ui.dxContextMenu;
  5632. dxColorBox(options?: DevExpress.ui.dxColorBoxOptions): JQuery;
  5633. dxColorBox(methodName: string, ...params: any[]): any;
  5634. dxColorBox(methodName: "instance"): DevExpress.ui.dxColorBox;
  5635. dxDataGrid(options?: DevExpress.ui.dxDataGridOptions): JQuery;
  5636. dxDataGrid(methodName: string, ...params: any[]): any;
  5637. dxDataGrid(methodName: "instance"): DevExpress.ui.dxDataGrid;
  5638. dxChart(options?: DevExpress.viz.charts.dxChartOptions): JQuery;
  5639. dxChart(methodName: string, ...params: any[]): any;
  5640. dxChart(methodName: "instance"): DevExpress.viz.charts.dxChart;
  5641. dxPieChart(options?: DevExpress.viz.charts.dxPieChartOptions): JQuery;
  5642. dxPieChart(methodName: string, ...params: any[]): any;
  5643. dxPieChart(methodName: "instance"): DevExpress.viz.charts.dxPieChart;
  5644. dxPolarChart(options?: DevExpress.viz.charts.dxPolarChartOptions): JQuery;
  5645. dxPolarChart(methodName: string, ...params: any[]): any;
  5646. dxPolarChart(methodName: "instance"): DevExpress.viz.charts.dxPolarChart;
  5647. dxLinearGauge(options?: DevExpress.viz.gauges.dxLinearGaugeOptions): JQuery;
  5648. dxLinearGauge(methodName: string, ...params: any[]): any;
  5649. dxLinearGauge(methodName: "instance"): DevExpress.viz.gauges.dxLinearGauge;
  5650. dxCircularGauge(options?: DevExpress.viz.gauges.dxCircularGaugeOptions): JQuery;
  5651. dxCircularGauge(methodName: string, ...params: any[]): any;
  5652. dxCircularGauge(methodName: "instance"): DevExpress.viz.gauges.dxCircularGauge;
  5653. dxBarGauge(options?: DevExpress.viz.gauges.dxBarGaugeOptions): JQuery;
  5654. dxBarGauge(methodName: string, ...params: any[]): any;
  5655. dxBarGauge(methodName: "instance"): DevExpress.viz.gauges.dxBarGauge;
  5656. dxRangeSelector(options?: DevExpress.viz.rangeSelector.dxRangeSelectorOptions): JQuery;
  5657. dxRangeSelector(methodName: string, ...params: any[]): any;
  5658. dxRangeSelector(methodName: "instance"): DevExpress.viz.rangeSelector.dxRangeSelector;
  5659. dxVectorMap(options?: DevExpress.viz.map.dxVectorMapOptions): JQuery;
  5660. dxVectorMap(methodName: string, ...params: any[]): any;
  5661. dxVectorMap(methodName: "instance"): DevExpress.viz.map.dxVectorMap;
  5662. dxBullet(options?: DevExpress.viz.sparklines.dxBulletOptions): JQuery;
  5663. dxBullet(methodName: string, ...params: any[]): any;
  5664. dxBullet(methodName: "instance"): DevExpress.viz.sparklines.dxBullet;
  5665. dxSparkline(options?: DevExpress.viz.sparklines.dxSparklineOptions): JQuery;
  5666. dxSparkline(methodName: string, ...params: any[]): any;
  5667. dxSparkline(methodName: "instance"): DevExpress.viz.sparklines.dxSparkline;
  5668. }