UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

1,052 lines • 475 kB
/*! * DevExtreme (dx.all.legacy.d.ts) * Version: 18.1.3 * Build date: Tue May 15 2018 * * Copyright (c) 2012 - 2018 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ interface JQuery { dxAccordion(): JQuery; dxAccordion(options: "instance"): DevExpress.ui.dxAccordion; dxAccordion(options: string): any; dxAccordion(options: string, ...params: any[]): any; dxAccordion(options: DevExpress.ui.dxAccordionOptions): JQuery; } interface JQuery { dxActionSheet(): JQuery; dxActionSheet(options: "instance"): DevExpress.ui.dxActionSheet; dxActionSheet(options: string): any; dxActionSheet(options: string, ...params: any[]): any; dxActionSheet(options: DevExpress.ui.dxActionSheetOptions): JQuery; } interface JQuery { dxAutocomplete(): JQuery; dxAutocomplete(options: "instance"): DevExpress.ui.dxAutocomplete; dxAutocomplete(options: string): any; dxAutocomplete(options: string, ...params: any[]): any; dxAutocomplete(options: DevExpress.ui.dxAutocompleteOptions): JQuery; } interface JQuery { dxBox(): JQuery; dxBox(options: "instance"): DevExpress.ui.dxBox; dxBox(options: string): any; dxBox(options: string, ...params: any[]): any; dxBox(options: DevExpress.ui.dxBoxOptions): JQuery; } interface JQuery { dxButton(): JQuery; dxButton(options: "instance"): DevExpress.ui.dxButton; dxButton(options: string): any; dxButton(options: string, ...params: any[]): any; dxButton(options: DevExpress.ui.dxButtonOptions): JQuery; } interface JQuery { dxCalendar(): JQuery; dxCalendar(options: "instance"): DevExpress.ui.dxCalendar; dxCalendar(options: string): any; dxCalendar(options: string, ...params: any[]): any; dxCalendar(options: DevExpress.ui.dxCalendarOptions): JQuery; } interface JQuery { dxCheckBox(): JQuery; dxCheckBox(options: "instance"): DevExpress.ui.dxCheckBox; dxCheckBox(options: string): any; dxCheckBox(options: string, ...params: any[]): any; dxCheckBox(options: DevExpress.ui.dxCheckBoxOptions): JQuery; } interface JQuery { dxColorBox(): JQuery; dxColorBox(options: "instance"): DevExpress.ui.dxColorBox; dxColorBox(options: string): any; dxColorBox(options: string, ...params: any[]): any; dxColorBox(options: DevExpress.ui.dxColorBoxOptions): JQuery; } interface JQuery { dxContextMenu(): JQuery; dxContextMenu(options: "instance"): DevExpress.ui.dxContextMenu; dxContextMenu(options: string): any; dxContextMenu(options: string, ...params: any[]): any; dxContextMenu(options: DevExpress.ui.dxContextMenuOptions): JQuery; } interface JQuery { dxDataGrid(): JQuery; dxDataGrid(options: "instance"): DevExpress.ui.dxDataGrid; dxDataGrid(options: string): any; dxDataGrid(options: string, ...params: any[]): any; dxDataGrid(options: DevExpress.ui.dxDataGridOptions): JQuery; } interface JQuery { dxDateBox(): JQuery; dxDateBox(options: "instance"): DevExpress.ui.dxDateBox; dxDateBox(options: string): any; dxDateBox(options: string, ...params: any[]): any; dxDateBox(options: DevExpress.ui.dxDateBoxOptions): JQuery; } interface JQuery { dxDeferRendering(): JQuery; dxDeferRendering(options: "instance"): DevExpress.ui.dxDeferRendering; dxDeferRendering(options: string): any; dxDeferRendering(options: string, ...params: any[]): any; dxDeferRendering(options: DevExpress.ui.dxDeferRenderingOptions): JQuery; } interface JQuery { dxDropDownBox(): JQuery; dxDropDownBox(options: "instance"): DevExpress.ui.dxDropDownBox; dxDropDownBox(options: string): any; dxDropDownBox(options: string, ...params: any[]): any; dxDropDownBox(options: DevExpress.ui.dxDropDownBoxOptions): JQuery; } interface JQuery { dxFileUploader(): JQuery; dxFileUploader(options: "instance"): DevExpress.ui.dxFileUploader; dxFileUploader(options: string): any; dxFileUploader(options: string, ...params: any[]): any; dxFileUploader(options: DevExpress.ui.dxFileUploaderOptions): JQuery; } interface JQuery { dxFilterBuilder(): JQuery; dxFilterBuilder(options: "instance"): DevExpress.ui.dxFilterBuilder; dxFilterBuilder(options: string): any; dxFilterBuilder(options: string, ...params: any[]): any; dxFilterBuilder(options: DevExpress.ui.dxFilterBuilderOptions): JQuery; } interface JQuery { dxForm(): JQuery; dxForm(options: "instance"): DevExpress.ui.dxForm; dxForm(options: string): any; dxForm(options: string, ...params: any[]): any; dxForm(options: DevExpress.ui.dxFormOptions): JQuery; } interface JQuery { dxGallery(): JQuery; dxGallery(options: "instance"): DevExpress.ui.dxGallery; dxGallery(options: string): any; dxGallery(options: string, ...params: any[]): any; dxGallery(options: DevExpress.ui.dxGalleryOptions): JQuery; } interface JQuery { dxList(): JQuery; dxList(options: "instance"): DevExpress.ui.dxList; dxList(options: string): any; dxList(options: string, ...params: any[]): any; dxList(options: DevExpress.ui.dxListOptions): JQuery; } interface JQuery { dxLoadIndicator(): JQuery; dxLoadIndicator(options: "instance"): DevExpress.ui.dxLoadIndicator; dxLoadIndicator(options: string): any; dxLoadIndicator(options: string, ...params: any[]): any; dxLoadIndicator(options: DevExpress.ui.dxLoadIndicatorOptions): JQuery; } interface JQuery { dxLoadPanel(): JQuery; dxLoadPanel(options: "instance"): DevExpress.ui.dxLoadPanel; dxLoadPanel(options: string): any; dxLoadPanel(options: string, ...params: any[]): any; dxLoadPanel(options: DevExpress.ui.dxLoadPanelOptions): JQuery; } interface JQuery { dxLookup(): JQuery; dxLookup(options: "instance"): DevExpress.ui.dxLookup; dxLookup(options: string): any; dxLookup(options: string, ...params: any[]): any; dxLookup(options: DevExpress.ui.dxLookupOptions): JQuery; } interface JQuery { dxMap(): JQuery; dxMap(options: "instance"): DevExpress.ui.dxMap; dxMap(options: string): any; dxMap(options: string, ...params: any[]): any; dxMap(options: DevExpress.ui.dxMapOptions): JQuery; } interface JQuery { dxMenu(): JQuery; dxMenu(options: "instance"): DevExpress.ui.dxMenu; dxMenu(options: string): any; dxMenu(options: string, ...params: any[]): any; dxMenu(options: DevExpress.ui.dxMenuOptions): JQuery; } interface JQuery { dxMultiView(): JQuery; dxMultiView(options: "instance"): DevExpress.ui.dxMultiView; dxMultiView(options: string): any; dxMultiView(options: string, ...params: any[]): any; dxMultiView(options: DevExpress.ui.dxMultiViewOptions): JQuery; } interface JQuery { dxNavBar(): JQuery; dxNavBar(options: "instance"): DevExpress.ui.dxNavBar; dxNavBar(options: string): any; dxNavBar(options: string, ...params: any[]): any; dxNavBar(options: DevExpress.ui.dxNavBarOptions): JQuery; } interface JQuery { dxNumberBox(): JQuery; dxNumberBox(options: "instance"): DevExpress.ui.dxNumberBox; dxNumberBox(options: string): any; dxNumberBox(options: string, ...params: any[]): any; dxNumberBox(options: DevExpress.ui.dxNumberBoxOptions): JQuery; } interface JQuery { dxPanorama(): JQuery; dxPanorama(options: "instance"): DevExpress.ui.dxPanorama; dxPanorama(options: string): any; dxPanorama(options: string, ...params: any[]): any; dxPanorama(options: DevExpress.ui.dxPanoramaOptions): JQuery; } interface JQuery { dxPivot(): JQuery; dxPivot(options: "instance"): DevExpress.ui.dxPivot; dxPivot(options: string): any; dxPivot(options: string, ...params: any[]): any; dxPivot(options: DevExpress.ui.dxPivotOptions): JQuery; } interface JQuery { dxPivotGrid(): JQuery; dxPivotGrid(options: "instance"): DevExpress.ui.dxPivotGrid; dxPivotGrid(options: string): any; dxPivotGrid(options: string, ...params: any[]): any; dxPivotGrid(options: DevExpress.ui.dxPivotGridOptions): JQuery; } interface JQuery { dxPivotGridFieldChooser(): JQuery; dxPivotGridFieldChooser(options: "instance"): DevExpress.ui.dxPivotGridFieldChooser; dxPivotGridFieldChooser(options: string): any; dxPivotGridFieldChooser(options: string, ...params: any[]): any; dxPivotGridFieldChooser(options: DevExpress.ui.dxPivotGridFieldChooserOptions): JQuery; } interface JQuery { dxPopover(): JQuery; dxPopover(options: "instance"): DevExpress.ui.dxPopover; dxPopover(options: string): any; dxPopover(options: string, ...params: any[]): any; dxPopover(options: DevExpress.ui.dxPopoverOptions): JQuery; } interface JQuery { dxPopup(): JQuery; dxPopup(options: "instance"): DevExpress.ui.dxPopup; dxPopup(options: string): any; dxPopup(options: string, ...params: any[]): any; dxPopup(options: DevExpress.ui.dxPopupOptions): JQuery; } interface JQuery { dxProgressBar(): JQuery; dxProgressBar(options: "instance"): DevExpress.ui.dxProgressBar; dxProgressBar(options: string): any; dxProgressBar(options: string, ...params: any[]): any; dxProgressBar(options: DevExpress.ui.dxProgressBarOptions): JQuery; } interface JQuery { dxRadioGroup(): JQuery; dxRadioGroup(options: "instance"): DevExpress.ui.dxRadioGroup; dxRadioGroup(options: string): any; dxRadioGroup(options: string, ...params: any[]): any; dxRadioGroup(options: DevExpress.ui.dxRadioGroupOptions): JQuery; } interface JQuery { dxRangeSlider(): JQuery; dxRangeSlider(options: "instance"): DevExpress.ui.dxRangeSlider; dxRangeSlider(options: string): any; dxRangeSlider(options: string, ...params: any[]): any; dxRangeSlider(options: DevExpress.ui.dxRangeSliderOptions): JQuery; } interface JQuery { dxResizable(): JQuery; dxResizable(options: "instance"): DevExpress.ui.dxResizable; dxResizable(options: string): any; dxResizable(options: string, ...params: any[]): any; dxResizable(options: DevExpress.ui.dxResizableOptions): JQuery; } interface JQuery { dxResponsiveBox(): JQuery; dxResponsiveBox(options: "instance"): DevExpress.ui.dxResponsiveBox; dxResponsiveBox(options: string): any; dxResponsiveBox(options: string, ...params: any[]): any; dxResponsiveBox(options: DevExpress.ui.dxResponsiveBoxOptions): JQuery; } interface JQuery { dxScheduler(): JQuery; dxScheduler(options: "instance"): DevExpress.ui.dxScheduler; dxScheduler(options: string): any; dxScheduler(options: string, ...params: any[]): any; dxScheduler(options: DevExpress.ui.dxSchedulerOptions): JQuery; } interface JQuery { dxScrollView(): JQuery; dxScrollView(options: "instance"): DevExpress.ui.dxScrollView; dxScrollView(options: string): any; dxScrollView(options: string, ...params: any[]): any; dxScrollView(options: DevExpress.ui.dxScrollViewOptions): JQuery; } interface JQuery { dxSelectBox(): JQuery; dxSelectBox(options: "instance"): DevExpress.ui.dxSelectBox; dxSelectBox(options: string): any; dxSelectBox(options: string, ...params: any[]): any; dxSelectBox(options: DevExpress.ui.dxSelectBoxOptions): JQuery; } interface JQuery { dxSlideOut(): JQuery; dxSlideOut(options: "instance"): DevExpress.ui.dxSlideOut; dxSlideOut(options: string): any; dxSlideOut(options: string, ...params: any[]): any; dxSlideOut(options: DevExpress.ui.dxSlideOutOptions): JQuery; } interface JQuery { dxSlideOutView(): JQuery; dxSlideOutView(options: "instance"): DevExpress.ui.dxSlideOutView; dxSlideOutView(options: string): any; dxSlideOutView(options: string, ...params: any[]): any; dxSlideOutView(options: DevExpress.ui.dxSlideOutViewOptions): JQuery; } interface JQuery { dxSlider(): JQuery; dxSlider(options: "instance"): DevExpress.ui.dxSlider; dxSlider(options: string): any; dxSlider(options: string, ...params: any[]): any; dxSlider(options: DevExpress.ui.dxSliderOptions): JQuery; } interface JQuery { dxSwitch(): JQuery; dxSwitch(options: "instance"): DevExpress.ui.dxSwitch; dxSwitch(options: string): any; dxSwitch(options: string, ...params: any[]): any; dxSwitch(options: DevExpress.ui.dxSwitchOptions): JQuery; } interface JQuery { dxTabPanel(): JQuery; dxTabPanel(options: "instance"): DevExpress.ui.dxTabPanel; dxTabPanel(options: string): any; dxTabPanel(options: string, ...params: any[]): any; dxTabPanel(options: DevExpress.ui.dxTabPanelOptions): JQuery; } interface JQuery { dxTabs(): JQuery; dxTabs(options: "instance"): DevExpress.ui.dxTabs; dxTabs(options: string): any; dxTabs(options: string, ...params: any[]): any; dxTabs(options: DevExpress.ui.dxTabsOptions): JQuery; } interface JQuery { dxTagBox(): JQuery; dxTagBox(options: "instance"): DevExpress.ui.dxTagBox; dxTagBox(options: string): any; dxTagBox(options: string, ...params: any[]): any; dxTagBox(options: DevExpress.ui.dxTagBoxOptions): JQuery; } interface JQuery { dxTextArea(): JQuery; dxTextArea(options: "instance"): DevExpress.ui.dxTextArea; dxTextArea(options: string): any; dxTextArea(options: string, ...params: any[]): any; dxTextArea(options: DevExpress.ui.dxTextAreaOptions): JQuery; } interface JQuery { dxTextBox(): JQuery; dxTextBox(options: "instance"): DevExpress.ui.dxTextBox; dxTextBox(options: string): any; dxTextBox(options: string, ...params: any[]): any; dxTextBox(options: DevExpress.ui.dxTextBoxOptions): JQuery; } interface JQuery { dxTileView(): JQuery; dxTileView(options: "instance"): DevExpress.ui.dxTileView; dxTileView(options: string): any; dxTileView(options: string, ...params: any[]): any; dxTileView(options: DevExpress.ui.dxTileViewOptions): JQuery; } interface JQuery { dxToast(): JQuery; dxToast(options: "instance"): DevExpress.ui.dxToast; dxToast(options: string): any; dxToast(options: string, ...params: any[]): any; dxToast(options: DevExpress.ui.dxToastOptions): JQuery; } interface JQuery { dxToolbar(): JQuery; dxToolbar(options: "instance"): DevExpress.ui.dxToolbar; dxToolbar(options: string): any; dxToolbar(options: string, ...params: any[]): any; dxToolbar(options: DevExpress.ui.dxToolbarOptions): JQuery; } interface JQuery { dxTooltip(): JQuery; dxTooltip(options: "instance"): DevExpress.ui.dxTooltip; dxTooltip(options: string): any; dxTooltip(options: string, ...params: any[]): any; dxTooltip(options: DevExpress.ui.dxTooltipOptions): JQuery; } interface JQuery { dxTreeList(): JQuery; dxTreeList(options: "instance"): DevExpress.ui.dxTreeList; dxTreeList(options: string): any; dxTreeList(options: string, ...params: any[]): any; dxTreeList(options: DevExpress.ui.dxTreeListOptions): JQuery; } interface JQuery { dxTreeView(): JQuery; dxTreeView(options: "instance"): DevExpress.ui.dxTreeView; dxTreeView(options: string): any; dxTreeView(options: string, ...params: any[]): any; dxTreeView(options: DevExpress.ui.dxTreeViewOptions): JQuery; } interface JQuery { dxValidationGroup(): JQuery; dxValidationGroup(options: "instance"): DevExpress.ui.dxValidationGroup; dxValidationGroup(options: string): any; dxValidationGroup(options: string, ...params: any[]): any; dxValidationGroup(options: DevExpress.ui.dxValidationGroupOptions): JQuery; } interface JQuery { dxValidationSummary(): JQuery; dxValidationSummary(options: "instance"): DevExpress.ui.dxValidationSummary; dxValidationSummary(options: string): any; dxValidationSummary(options: string, ...params: any[]): any; dxValidationSummary(options: DevExpress.ui.dxValidationSummaryOptions): JQuery; } interface JQuery { dxValidator(): JQuery; dxValidator(options: "instance"): DevExpress.ui.dxValidator; dxValidator(options: string): any; dxValidator(options: string, ...params: any[]): any; dxValidator(options: DevExpress.ui.dxValidatorOptions): JQuery; } interface JQuery { dxBarGauge(): JQuery; dxBarGauge(options: "instance"): DevExpress.viz.dxBarGauge; dxBarGauge(options: string): any; dxBarGauge(options: string, ...params: any[]): any; dxBarGauge(options: DevExpress.viz.gauges.dxBarGaugeOptions): JQuery; } interface JQuery { dxBullet(): JQuery; dxBullet(options: "instance"): DevExpress.viz.dxBullet; dxBullet(options: string): any; dxBullet(options: string, ...params: any[]): any; dxBullet(options: DevExpress.viz.sparklines.dxBulletOptions): JQuery; } interface JQuery { dxChart(): JQuery; dxChart(options: "instance"): DevExpress.viz.dxChart; dxChart(options: string): any; dxChart(options: string, ...params: any[]): any; dxChart(options: DevExpress.viz.charts.dxChartOptions): JQuery; } interface JQuery { dxCircularGauge(): JQuery; dxCircularGauge(options: "instance"): DevExpress.viz.dxCircularGauge; dxCircularGauge(options: string): any; dxCircularGauge(options: string, ...params: any[]): any; dxCircularGauge(options: DevExpress.viz.gauges.dxCircularGaugeOptions): JQuery; } interface JQuery { dxFunnel(): JQuery; dxFunnel(options: "instance"): DevExpress.viz.dxFunnel; dxFunnel(options: string): any; dxFunnel(options: string, ...params: any[]): any; dxFunnel(options: DevExpress.viz.funnel.dxFunnelOptions): JQuery; } interface JQuery { dxLinearGauge(): JQuery; dxLinearGauge(options: "instance"): DevExpress.viz.dxLinearGauge; dxLinearGauge(options: string): any; dxLinearGauge(options: string, ...params: any[]): any; dxLinearGauge(options: DevExpress.viz.gauges.dxLinearGaugeOptions): JQuery; } interface JQuery { dxPieChart(): JQuery; dxPieChart(options: "instance"): DevExpress.viz.dxPieChart; dxPieChart(options: string): any; dxPieChart(options: string, ...params: any[]): any; dxPieChart(options: DevExpress.viz.charts.dxPieChartOptions): JQuery; } interface JQuery { dxPolarChart(): JQuery; dxPolarChart(options: "instance"): DevExpress.viz.dxPolarChart; dxPolarChart(options: string): any; dxPolarChart(options: string, ...params: any[]): any; dxPolarChart(options: DevExpress.viz.charts.dxPolarChartOptions): JQuery; } interface JQuery { dxRangeSelector(): JQuery; dxRangeSelector(options: "instance"): DevExpress.viz.dxRangeSelector; dxRangeSelector(options: string): any; dxRangeSelector(options: string, ...params: any[]): any; dxRangeSelector(options: DevExpress.viz.rangeSelector.dxRangeSelectorOptions): JQuery; } interface JQuery { dxSparkline(): JQuery; dxSparkline(options: "instance"): DevExpress.viz.dxSparkline; dxSparkline(options: string): any; dxSparkline(options: string, ...params: any[]): any; dxSparkline(options: DevExpress.viz.sparklines.dxSparklineOptions): JQuery; } interface JQuery { dxTreeMap(): JQuery; dxTreeMap(options: "instance"): DevExpress.viz.dxTreeMap; dxTreeMap(options: string): any; dxTreeMap(options: string, ...params: any[]): any; dxTreeMap(options: DevExpress.viz.treeMap.dxTreeMapOptions): JQuery; } interface JQuery { dxVectorMap(): JQuery; dxVectorMap(options: "instance"): DevExpress.viz.dxVectorMap; dxVectorMap(options: string): any; dxVectorMap(options: string, ...params: any[]): any; dxVectorMap(options: DevExpress.viz.map.dxVectorMapOptions): JQuery; } declare module DevExpress { /** Specifies settings that affect all DevExtreme widgets. */ export interface GlobalConfguration { /** Specifies whether the widgets support a right-to-left representation. */ rtlEnabled?: boolean; /** Specifies the default currency the widgets use. */ defaultCurrency?: String; /** The decimal separator that is used when submitting a value to the server. */ serverDecimalSeparator?: String; /** A decimal separator. Applies only if you do not use the Globalize or Intl library. */ decimalSeparator?: String; /** A group separator. Applies only if you do not use the Globalize or Intl library. */ thousandsSeparator?: String; /** Specifies whether dates are parsed and serialized according to the ISO 8601 standard in all browsers. */ forceIsoDateParsing?: boolean; /** Specifies whether DevExtreme widgets use jQuery. */ useJQuery?: boolean; } /** Formats values. */ export interface Format { /** Specifies a predefined format. Does not apply if you have specified the formatter function. */ type?: String; /** Specifies the currency code for the 'currency' format. */ currency?: String; /** Specifies a precision for values of a numeric format. */ precision?: number; /** Parses string values into numeric or date-time values. Always used with formatter. */ parser?: (value: any) => any; /** Specifies a custom format. */ formatter?: (value: any) => any; } /** A mixin that provides a capability to fire and subscribe to events. */ export interface EventsMixin<T> { /** Subscribes to a specified event. */ on(eventName: string, eventHandler: Function): T; /** Subscribes to the specified events. */ on(events: { [eventName: string]: Function; }): T; /** Detaches all event handlers from the specified event. */ off(eventName: string): Object; /** Detaches a particular event handler from the specified event. */ off(eventName: string, eventHandler: Function): T; } /** An object that serves as a namespace for the methods required to perform validation. */ export module validationEngine { export interface IValidator { validate(): ValidatorValidationResult; reset(): void; } export interface ValidatorValidationResult { isValid: boolean; name?: string; value: any; brokenRule: any; validationRules: any[]; } export interface ValidationGroupValidationResult { isValid: boolean; brokenRules: any[]; validators: IValidator[]; } export interface GroupConfig extends EventsMixin<GroupConfig> { group: any; validators: IValidator[]; validate(): ValidationGroupValidationResult; reset(): void; } /** Provides access to the object that represents the specified validation group. */ export function getGroupConfig(group: any): GroupConfig /** Provides access to the object that represents the default validation group. */ export function getGroupConfig(): GroupConfig /** Validates rules of the validators that belong to the specified validation group. */ export function validateGroup(group: any): ValidationGroupValidationResult; /** Validates rules of the validators that belong to the default validation group. */ export function validateGroup(): ValidationGroupValidationResult; /** Resets the values and validation result of the editors that belong to the specified validation group. */ export function resetGroup(group: any): void; /** Resets the values and validation result of the editors that belong to the default validation group. */ export function resetGroup(): void; /** Validates the rules that are defined within the dxValidator objects that are registered for the specified ViewModel. */ export function validateModel(model: Object): ValidationGroupValidationResult; /** Registers all the Validator objects extending fields of the specified ViewModel. */ export function registerModelForValidation(model: Object): void; /** Unregisters all the Validator objects extending fields of the specified ViewModel. */ export function unregisterModelForValidation(model: Object): void; } export var hardwareBackButton: JQueryCallback; /** Processes the hardware back button click. */ export function processHardwareBackButton(): void; /** Hides the last displayed overlay widget. */ export function hideTopOverlay(): boolean; /** * Specifies whether or not the entire application/site supports right-to-left representation. * @deprecated Use the config(config) method instead. */ export var rtlEnabled: boolean; /** Gets the current global configuration object. */ export function config(): Object; /** Sets the global configuration object. */ export function config(config: GlobalConfguration): void; /** Registers a new component in the DevExpress.ui namespace. */ export function registerComponent(name: string, componentClass: Object): void; /** Registers a new component in the specified namespace. */ export function registerComponent(name: string, namespace: Object, componentClass: Object): void; export function requestAnimationFrame(callback: Function): number; export function cancelAnimationFrame(requestID: number): void; /** Custom Knockout binding that links an HTML element with a specific action. */ export class Action { } /** An object used to manage OData endpoints in your application. */ export class EndpointSelector { constructor(options: { [key: string]: { local?: string; production?: string; } }); /** Returns an endpoint for the specified key. */ urlFor(key: string): string; } /** An object that serves as a namespace for the methods that are used to animate UI elements. */ export module fx { /** Defines animation options. */ export interface AnimationOptions { /** A function called after animation is completed. */ complete?: (element: JQuery, config: AnimationOptions) => void; /** A number specifying wait time before animation execution. */ delay?: number; /** A number specifying the time period to wait before the animation of the next stagger item starts. */ staggerDelay?: number; /** A number specifying the time in milliseconds spent on animation. */ duration?: number; /** A string specifying the easing function for animation. */ easing?: string; /** Specifies the initial animation state. */ from?: any; /** A function called before animation is started. */ start?: (element: JQuery, config: AnimationOptions) => void; /** Specifies a final animation state. */ to?: any; /** A string value specifying the animation type. */ type?: string; /** Specifies the animation direction for the "slideIn" and "slideOut" animation types. */ direction?: string; } /** Animates the specified element. */ export function animate(element: HTMLElement, config: AnimationOptions): JQueryPromise<void>; /** Returns a value indicating whether the specified element is being animated. */ export function isAnimating(element: HTMLElement): boolean; /** Stops the animation. */ export function stop(element: HTMLElement, jumpToEnd: boolean): void; } /** The manager that performs several specified animations at a time. */ export class TransitionExecutor { /** Deletes all the animations registered in the Transition Executor by using the enter(elements, animation) and leave(elements, animation) methods. */ reset(): void; /** Registers a set of elements that should be animated as "entering" using the specified animation configuration. */ enter(elements: JQuery, animation: any): void; /** Registers a set of elements that should be animated as "leaving" using the specified animation configuration. */ leave(elements: JQuery, animation: any): void; /** Starts all the animations registered using the enter(elements, animation) and leave(elements, animation) methods beforehand. */ start(config: Object): JQueryPromise<void>; /** Stops all started animations. */ stop(): void; } export class AnimationPresetCollection { /** Resets all the changes made in the animation repository. */ resetToDefaults(): void; /** Deletes the specified animation or clears all the animation repository, if an animation name is not passed. */ clear(name: string): void; /** Adds the specified animation preset to the animation repository by the specified name. */ registerPreset(name: string, config: any): void; /** Applies the changes made in the animation repository. */ applyChanges(): void; /** Returns the configuration of the animation found in the animation repository by the specified name for the current device. */ getPreset(name: string): void; /** Registers predefined animations in the animation repository. */ registerDefaultPresets(): void; } /** A repository of animations. */ export var animationPresets: AnimationPresetCollection; /** The device object defines the device on which the application is running. */ export interface Device { /** Indicates whether or not the device platform is Android. */ android?: boolean; /** Specifies the type of the device on which the application is running. */ deviceType?: string; /** 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. */ generic?: boolean; /** Indicates whether or not the device platform is iOS. */ ios?: boolean; /** Indicates whether or not the device type is 'phone'. */ phone?: boolean; /** Specifies the platform of the device on which the application is running. */ platform?: string; /** Indicates whether or not the device type is 'tablet'. */ tablet?: boolean; /** Specifies an array with the major and minor versions of the device platform. */ version?: Array<number>; /** Indicates whether or not the device platform is Windows. */ win?: boolean; /** Specifies a performance grade of the current device. */ grade?: string; } /** An object that serves as a namespace for the methods and events specifying information on the current device. */ export class Devices implements EventsMixin<Devices> { constructor(options: { window: Window }); /** Overrides actual device information to force the application to operate as if it was running on a specified device. */ current(deviceName: any): void; /** Returns information about the current device. */ current(): Device; orientationChanged: JQueryCallback; /** Returns the current device orientation. */ orientation(): string; /** Returns real information about the current device regardless of the value passed to the devices.current(deviceName) method. */ real(): Device; on(eventName: "orientationChanged", eventHandler: (e: { orientation: string }) => void): Devices; on(eventName: string, eventHandler: Function): Devices; on(events: { [eventName: string]: Function; }): Devices; off(eventName: "orientationChanged"): Devices; off(eventName: string): Devices; off(eventName: "orientationChanged", eventHandler: (e: { orientation: string }) => void): Devices; off(eventName: string, eventHandler: Function): Devices; } export var devices: Devices; /** The position object specifies the widget positioning options. */ export interface PositionOptions { /** The target element position that the widget is positioned against. */ at?: any; /** The element within which the widget is positioned. */ boundary?: any; /** Specifies the horizontal and vertical offset from the window's boundaries. */ boundaryOffset?: any; /** Specifies how to move the widget if it overflows the screen. */ collision?: any; /** The position of the widget to align against the target element. */ my?: any; /** The target element that the widget is positioned against. */ of?: any; /** Specifies horizontal and vertical offset in pixels. */ offset?: any; } export interface ComponentOptions { /** A handler for the initialized event. Executed only once, after the widget is initialized. */ onInitialized?: Function; /** A handler for the optionChanged event. Executed after an option of the widget is changed. */ onOptionChanged?: Function; /** A handler for the disposing event. Executed when the widget is removed from the DOM using the remove(), empty(), or html() jQuery methods only. */ onDisposing?: Function; } /** A base class for all components and widgets. */ export class Component implements EventsMixin<Component> { constructor(options?: ComponentOptions) /** Prevents the widget from refreshing until the endUpdate() method is called. */ beginUpdate(): void; /** Refreshes the widget after a call of the beginUpdate() method. */ endUpdate(): void; /** Returns this widget's instance. Use it to access other methods of the widget. */ instance(): Component; /** Gets the widget's options. */ option(): { [optionKey: string]: any; }; /** Sets one or more options. */ option(options: { [optionKey: string]: any; }): void; /** Gets a specific option value. */ option(optionName: string): any; /** Assigns a new value to a specific option. */ option(optionName: string, optionValue: any): void; on(eventName: string, eventHandler: Function): Component; on(events: { [eventName: string]: Function; }): Component; off(eventName: string): Component; off(eventName: string, eventHandler: Function): Component; } export interface DOMComponentOptionsBase extends ComponentOptions { /** Switches the widget to a right-to-left representation. */ rtlEnabled?: boolean; /** Specifies the attributes to be attached to the widget's root element. */ elementAttr?: Object; /** A bag for holding any options that require two-way binding (Angular approach specific) */ bindingOptions?: { [key: string]: any; }; } export interface DOMComponentOptions extends DOMComponentOptionsBase { /** Specifies the widget's height. */ height?: any; /** Specifies the widget's width. */ width?: any; } /** A base class for all components. */ export class DOMComponent extends Component { constructor(element: JQuery, options?: DOMComponentOptions); constructor(element: HTMLElement, options?: DOMComponentOptions); /** Gets the root element of the widget. */ element(): JQuery; /** Removes the widget from the DOM. */ dispose(): void; /** Specifies the device-dependent default configuration options for this component. */ static defaultOptions(rule: { device?: any; options?: any; }): void; /** Gets the widget's instance using a DOM element. */ static getInstance(element: JQuery): DOMComponent; } export module data { export interface ODataError extends Error { httpStatus?: number; errorDetails?: any; } export interface StoreOptions { /** A handler for the modified event. */ onModified?: () => void; /** A handler for the modifying event. */ onModifying?: () => void; /** A handler for the removed event. */ onRemoved?: (key: any) => void; /** A handler for the removing event. */ onRemoving?: (key: any) => void; /** A handler for the updated event. */ onUpdated?: (key: any, values: Object) => void; /** A handler for the updating event. */ onUpdating?: (key: any, values: Object) => void; /** A handler for the loaded event. */ onLoaded?: (result: Array<any>) => void; /** A handler for the loading event. */ onLoading?: (loadOptions: LoadOptions) => void; /** A handler for the inserted event. */ onInserted?: (values: Object, key: any) => void; /** A handler for the inserting event. */ onInserting?: (values: Object) => void; /** Specifies the function called when the Store causes an error. */ errorHandler?: (e: Error) => void; /** Specifies the key properties within the data associated with the Store. */ key?: any; } /** This section describes the loadOptions object's fields. */ export interface LoadOptions { /** The current search value. */ searchValue?: any; /** A data field or an expression whose value is compared to the search value. */ searchExpr?: any; /** A comparison operation. One of the following: "=", "<>", ">", ">=", "<", "<=", "startswith", "endswith", "contains", "notcontains", "isblank" and "isnotblank". */ searchOperation?: string; /** A filter expression. */ filter?: Object; /** A sort expression. */ sort?: Object; /** A select expression. */ select?: Object; /** An array of strings that represent the names of navigation properties to be loaded simultaneously with the ODataStore. */ expand?: Object; /** A group expression. */ group?: Object; /** The number of data objects to be skipped from the result set's start. In conjunction with take, used to implement paging. */ skip?: number; /** The number of data objects to be loaded. In conjunction with skip, used to implement paging. */ take?: number; /** An object for storing additional settings that should be sent to the server. */ userData?: Object; /** Indicates whether the total count of data objects is needed. */ requireTotalCount?: boolean; customQueryParams?: Object; } export interface DataGridLoadOptions extends LoadOptions { totalSummary?: Object; groupSummary?: Object; requireGroupCount?: boolean; } export interface PivotGridLoadOptions extends LoadOptions { totalSummary?: Object; groupSummary?: Object; } /** The base class for all Stores. */ export class Store implements EventsMixin<Store> { constructor(options?: StoreOptions); /** Returns the data item specified by the key. */ byKey(key: any): JQueryPromise<any>; /** Adds an item to the data associated with this Store. */ insert(values: Object): JQueryPromise<any>; /** Returns the key expression specified via the key configuration option. */ key(): any; /** Returns the key of the Store item that matches the specified object. */ keyOf(obj: Object): any; /** Starts loading data. */ load(): JQueryPromise<any[]>; /** Starts loading data. */ load(options?: LoadOptions): JQueryPromise<any[]>; /** Removes the data item specified by the key. */ remove(key: any): JQueryPromise<any>; /** Obtains the total count of items that will be returned by the load() function. */ totalCount(options?: { filter?: Object; group?: Object; }): JQueryPromise<any>; /** Updates the data item specified by the key. */ update(key: any, values: Object): JQueryPromise<any>; on(eventName: "removing", eventHandler: (key: any) => void): Store; on(eventName: "removed", eventHandler: (key: any) => void): Store; on(eventName: "updating", eventHandler: (key: any, values: Object) => void): Store; on(eventName: "updated", eventHandler: (key: any, values: Object) => void): Store; on(eventName: "inserting", eventHandler: (values: Object) => void): Store; on(eventName: "inserted", eventHandler: (values: Object, key: any) => void): Store; on(eventName: "modifying", eventHandler: () => void): Store; on(eventName: "modified", eventHandler: () => void): Store; on(eventName: "loading", eventHandler: (loadOptions: LoadOptions) => void): Store; on(eventName: "loaded", eventHandler: (result: Array<any>) => void): Store; on(eventName: string, eventHandler: Function): Store; on(events: { [eventName: string]: Function; }): Store; off(eventName: "removing"): Store; off(eventName: "removed"): Store; off(eventName: "updating"): Store; off(eventName: "updated"): Store; off(eventName: "inserting"): Store; off(eventName: "inserted"): Store; off(eventName: "modifying"): Store; off(eventName: "modified"): Store; off(eventName: "loading"): Store; off(eventName: "loaded"): Store; off(eventName: string): Store; off(eventName: "removing", eventHandler: (key: any) => void): Store; off(eventName: "removed", eventHandler: (key: any) => void): Store; off(eventName: "updating", eventHandler: (key: any, values: Object) => void): Store; off(eventName: "updated", eventHandler: (key: any, values: Object) => void): Store; off(eventName: "inserting", eventHandler: (values: Object) => void): Store; off(eventName: "inserted", eventHandler: (values: Object, key: any) => void): Store; off(eventName: "modifying", eventHandler: () => void): Store; off(eventName: "modified", eventHandler: () => void): Store; off(eventName: "loading", eventHandler: (loadOptions: LoadOptions) => void): Store; off(eventName: "loaded", eventHandler: (result: Array<any>) => void): Store; off(eventName: string, eventHandler: Function): Store; } export interface ArrayStoreOptions extends StoreOptions { /** Specifies the array associated with this Store. */ data?: Array<any>; } /** A Store accessing an in-memory array. */ export class ArrayStore extends Store { constructor(options?: ArrayStoreOptions); /** Clears all data associated with the current ArrayStore. */ clear(): void; /** Creates the Query object for the underlying array. */ createQuery(): Query; } interface Promise { then(doneFn?: any, failFn?: any, progressFn?: any): Promise; } export interface CustomStoreOptions extends StoreOptions { /** Specifies whether or not the store combines the search expression with the filter expression. */ useDefaultSearch?: boolean; /** Specifies how data returned by the load function is treated. */ loadMode?: string; /** Specifies whether raw data should be saved in the cache. Applies only if loadMode is "raw". */ cacheRawData?: boolean; /** The user implementation of the byKey(key, extraOptions) method. */ byKey?: (key: any) => Promise; /** The user implementation of the insert(values) method. */ insert?: (values: Object) => Promise; /** The user implementation of the load(options) method. */ load?: (options?: LoadOptions) => Promise; /** The user implementation of the remove(key) method. */ remove?: (key: any) => Promise; /** The user implementation of the totalCount(options) method. */ totalCount?: (options?: { filter?: Object; group?: Object; }) => Promise; /** The user implementation of the update(key, values) method. */ update?: (key: any, values: Object) => Promise; } /** A Store object that enables you to implement your own data access logic. */ export class CustomStore extends Store { constructor(options: CustomStoreOptions); /** Deletes data from the cache. Takes effect only if the cacheRawData option is true. */ clearRawDataCache(): void; } export interface DataSourceOptions { /** Specifies data filtering conditions. */ filter?: Object; /** Specifies data grouping conditions. */ group?: Object; /** The item mapping function. */ map?: (record: any) => any; /** Specifies the maximum number of items the page can contain. */ pageSize?: number; /** Specifies whether a DataSource loads data by pages, or all items at once. */ paginate?: boolean; /** The data post processing function. */ postProcess?: (data: any[]) => any[]; /** Specifies a value by which the required items are searched. */ searchExpr?: any; /** Specifies the comparison operation used to search for the required items. One of "=", "<>", ">", ">=", "<", "<=", "startswith", "endswith", "contains", "notcontains". */ searchOperation?: string; /** Specifies the value to which the search expression is compared. */ searchValue?: any; /** Specifies the initial select option value. */ select?: Object; /** An array of the strings that represent the names of the navigation properties to be loaded simultaneously with the OData store's entity. */ expand?: Object; /** The bag of custom parameters passed to the query executed when the DataSource load operation is invoked. */ customQueryParams?: Object; /** Specifies whether or not the DataSource instance requests the total count of items available in the storage. */ requireTotalCount?: boolean; /** Specifies the initial sort option value. */ sort?: Object; /** Specifies the underlying Store instance used to access data. */ store?: any; /** A handler for the changed event. */ onChanged?: () => void; /** A handler for the loadingChanged event. */ onLoadingChanged?: (isLoading: boolean) => void; /** A handler for the loadError event. */ onLoadError?: (e?: Error) => void; } export interface OperationPromise<T> extends JQueryPromise<T> { operationId: number; } /** An object that provides access to a data web service or local data storage for collection container widgets. */ export class DataSource implements EventsMixin<DataSource> { constructor(url: string); constructor(data: Array<any>); constructor(options: CustomStoreOptions); constructor(options: DataSourceOptions); /** Disposes all resources associated with this DataSource. */ dispose(): void; /** Returns the current filter option value. */ filter(): Object; /** Sets the filter option value. */ filter(filterExpr: Object): void; /** Returns the current group option value. */ group(): Object; /** Sets the group option value. */ group(groupExpr: Object): void; /** Indicates whether or not the current page contains fewer items than the number of items specified by the pageSize configuration option. */ isLastPage(): boolean; /** Indicates whether or not at least one load() method execution has successfully finished. */ isLoaded(): boolean; /** Indicates whether or not the DataSource is currently being loaded. */ isLoading(): boolean; /** Returns the array of items currently operated by the DataSource. */ items(): Array<any>; /** Returns the key expression specified by the key configuration option of the underlying Store. */ key(): any; /** Starts loading data. */ load(): OperationPromise<Array<any>>; /** Clears currently loaded DataSource items and calls the load() method. */ reload(): OperationPromise<Array<any>>; /** 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. */ loadOptions(): Object; /** Returns the current pageSize option value. */ pageSize(): number; /** Sets the pageSize option value. */ pageSize(value: number): void; /** Specifies the index of the currently loaded page. */ pageIndex()