@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1,627 lines (1,402 loc) • 577 kB
TypeScript
// Type definitions for Kendo UI Professional v2018.3.926
// Project: http://www.telerik.com/kendo-ui
// Definitions by: Telerik <https://github.com/telerik>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
/*
* Please, submit Pull Requests in the telerik/kendo-ui-core repo at
* https://github.com/telerik/kendo-ui-core/tree/master/typescript
*
* See contributor instructions at
* https://github.com/telerik/kendo-ui-core#how-to-contribute
*/
declare namespace kendo {
function culture(): {
name: string;
calendar: {
AM: string[];
PM: string[];
"/": string;
":": string;
days: {
names: string[];
namesAbbr: string[];
namesShort: string[];
};
months: {
names: string[];
namesAbbr: string[];
};
patterns: {
D: string;
F: string;
G: string;
M: string;
T: string;
Y: string;
d: string;
g: string;
m: string;
s: string;
t: string;
u: string;
y: string;
};
firstDay: number;
twoDigitYearMax: number;
};
calendars: {
standard: {
AM: string[];
PM: string[];
"/": string;
":": string;
days: {
names: string[];
namesAbbr: string[];
namesShort: string[];
};
months: {
names: string[];
namesAbbr: string[];
};
patterns: {
D: string;
F: string;
G: string;
M: string;
T: string;
Y: string;
d: string;
g: string;
m: string;
s: string;
t: string;
u: string;
y: string;
};
firstDay: string;
twoDigitYearMax: number;
};
};
numberFormat: {
currency: {
decimals: number;
",": string;
".": string;
groupSize: number[];
pattern: string[];
symbol: string;
};
decimals: number;
",": string;
".": string;
groupSize: number[];
pattern: string[];
percent: {
decimals: number;
",": string;
".": string;
groupSize: number[];
pattern: string[];
symbol: string;
};
};
};
var cultures: {[culture: string] : {
name?: string;
calendar?: {
AM: string[];
PM: string[];
"/": string;
":": string;
days: {
names: string[];
namesAbbr: string[];
namesShort: string[];
};
months: {
names: string[];
namesAbbr: string[];
};
patterns: {
D: string;
F: string;
G: string;
M: string;
T: string;
Y: string;
d: string;
g: string;
m: string;
s: string;
t: string;
u: string;
y: string;
};
firstDay: number;
twoDigitYearMax: number;
};
calendars?: {
standard: {
AM: string[];
PM: string[];
"/": string;
":": string;
days: {
names: string[];
namesAbbr: string[];
namesShort: string[];
};
months: {
names: string[];
namesAbbr: string[];
};
patterns: {
D: string;
F: string;
G: string;
M: string;
T: string;
Y: string;
d: string;
g: string;
m: string;
s: string;
t: string;
u: string;
y: string;
};
firstDay: number;
twoDigitYearMax: number;
};
};
numberFormat?: {
currency: {
decimals: number;
",": string;
".": string;
groupSize: number[];
pattern: string[];
symbol: string;
};
decimals: number;
",": string;
".": string;
groupSize: number[];
pattern: string[];
percent: {
decimals: number;
",": string;
".": string;
groupSize: number[];
pattern: string[];
symbol: string;
};
};
}};
function format(format: string, ...values: any[]): string;
function fx(selector: string): effects.Element;
function fx(element: Element): effects.Element;
function fx(element: JQuery): effects.Element;
function init(selector: string, ...namespaces: any[]): void;
function init(element: JQuery, ...namespaces: any[]): void;
function init(element: Element, ...namespaces: any[]): void;
function observable(data: any): kendo.data.ObservableObject;
function observableHierarchy(array: any[]): kendo.data.ObservableArray;
function render(template: (data: any) => string, data: any[]): string;
function template(template: string, options?: TemplateOptions): (data: any) => string;
function guid(): string;
function widgetInstance(element: JQuery, suite?: typeof kendo.ui): kendo.ui.Widget;
function widgetInstance(element: JQuery, suite?: typeof kendo.mobile.ui): kendo.ui.Widget;
function widgetInstance(element: JQuery, suite?: typeof kendo.dataviz.ui): kendo.ui.Widget;
var ns: string;
var keys: {
INSERT: number;
DELETE: number;
BACKSPACE: number;
TAB: number;
ENTER: number;
ESC: number;
LEFT: number;
UP: number;
RIGHT: number;
DOWN: number;
END: number;
HOME: number;
SPACEBAR: number;
PAGEUP: number;
PAGEDOWN: number;
F2: number;
F10: number;
F12: number;
NUMPAD_PLUS: number;
NUMPAD_MINUS: number;
NUMPAD_DOT: number;
};
var support: {
touch: boolean;
pointers: boolean;
scrollbar(): number;
hasHW3D: boolean;
hasNativeScrolling: boolean;
devicePixelRatio: number;
placeholder: boolean;
zoomLevel: number;
mobileOS: {
device: string;
tablet: any;
browser: string;
name: string;
majorVersion: string;
minorVersion: string;
flatVersion: number;
appMode: boolean;
};
browser: {
edge: boolean;
msie: boolean;
webkit: boolean;
safari: boolean;
opera: boolean;
mozilla: boolean;
version: string;
};
};
var version: string;
interface TemplateOptions {
paramName?: string;
useWithBlock?: boolean;
}
class Class {
static fn: Class;
static extend(prototype: Object): Class;
}
class Observable extends Class {
static fn: Observable;
static extend(prototype: Object): Observable;
init(...args: any[]): void;
bind(eventName: string, handler: Function): Observable;
one(eventName: string, handler: Function): Observable;
first(eventName: string, handler: Function): Observable;
trigger(eventName: string, e?: any): boolean;
unbind(eventName: string, handler?: any): Observable;
}
interface ViewOptions {
tagName?: string;
wrap?: boolean;
model?: Object;
evalTemplate?: boolean;
init?: (e: ViewEvent) => void;
show?: (e: ViewEvent) => void;
hide?: (e: ViewEvent) => void;
}
interface ViewEvent {
sender: View;
preventDefault: Function;
isDefaultPrevented(): boolean;
}
class View extends Observable {
constructor(element: Element, options?: ViewOptions);
constructor(element: string, options?: ViewOptions);
element: JQuery;
content: any;
tagName: string;
model: Object;
init(element: Element, options?: ViewOptions): void;
init(element: string, options?: ViewOptions): void;
render(container?: any): JQuery;
destroy(): void;
}
class ViewContainer extends Observable {
view: View;
}
class Layout extends View {
containers: { [selector: string]: ViewContainer; };
showIn(selector: string, view: View, transitionClass?: string): void;
}
class History extends Observable {
current: string;
root: string;
start(options: Object): void;
stop(): void;
change(callback: Function): void;
navigate(location: string, silent?: boolean): void;
}
var history: History;
interface RouterOptions {
init?: (e: RouterEvent) => void;
pushState?: boolean;
hashBang?: boolean;
root?: string;
ignoreCase?: boolean;
change?(e: RouterChangeEvent): void;
routeMissing?(e: RouterRouteMissingEvent): void;
same?(e: RouterEvent): void;
}
interface RouterEvent {
sender: Router;
url: string;
preventDefault: Function;
isDefaultPrevented(): boolean;
}
interface RouterChangeEvent extends RouterEvent {
params: any;
backButtonPressed: boolean;
}
interface RouterRouteMissingEvent extends RouterEvent {
params: any;
}
class Route extends Class {
route: RegExp;
callback(url: string): void;
worksWith(url: string): void;
}
class Router extends Observable {
constructor(options?: RouterOptions);
routes: Route[];
init(options?: RouterOptions): void;
start(): void;
destroy(): void;
route(route: string, callback: Function): void;
navigate(location: string, silent?: boolean): void;
replace(location: string, silent?: boolean): void;
}
}
declare namespace kendo.effects {
function enable(): void;
function disable(): void;
interface Element {
expand(direction: string): effects.Expand;
expandHorizontal(): effects.Expand;
expandVertical(): effects.Expand;
fade(direction: string): effects.Fade;
fadeIn(): effects.Fade;
fadeOut(): effects.Fade;
flip(axis: string, face: JQuery, back: JQuery): effects.Flip;
flipHorizontal(face: JQuery, back: JQuery): effects.Flip;
flipVertical(face: JQuery, back: JQuery): effects.Flip;
pageturn(axis: string, face: JQuery, back: JQuery): effects.PageTurn;
pageturnHorizontal(face: JQuery, back: JQuery): effects.PageTurn;
pageturnVertical(face: JQuery, back: JQuery): effects.PageTurn;
slideIn(direction: string): effects.SlideIn;
slideInDown(): effects.SlideIn;
slideInLeft(): effects.SlideIn;
slideInRight(): effects.SlideIn;
slideInUp(): effects.SlideIn;
tile(direction: string, previous: JQuery): effects.Tile;
tileDown(previous: JQuery): effects.Tile;
tileLeft(previous: JQuery): effects.Tile;
tileRight(previous: JQuery): effects.Tile;
tileUp(previous: JQuery): effects.Tile;
transfer(target: JQuery): effects.Transfer;
zoom(direction: string): effects.Zoom;
zoomIn(): effects.Zoom;
zoomOut(): effects.Zoom;
}
interface Effect {
play(): JQueryPromise<any>;
reverse(): JQueryPromise<any>;
duration(value: number): Effect;
add(effect: Effect): Effect;
stop(): Effect;
}
interface Expand extends Effect {
duration(value: number): Expand;
direction(value: string): Expand;
stop(): Expand;
add(effect: Effect): Expand;
}
interface Fade extends Effect {
duration(value: number): Fade;
direction(value: string): Fade;
stop(): Fade;
add(effect: Effect): Fade;
startValue(value: number): Fade;
endValue(value: number): Fade;
}
interface Flip extends Effect {
duration(value: number): Flip;
direction(value: string): Flip;
stop(): Flip;
add(effect: Effect): Flip;
}
interface PageTurn extends Effect {
duration(value: number): PageTurn;
direction(value: string): PageTurn;
stop(): PageTurn;
add(effect: Effect): PageTurn;
}
interface SlideIn extends Effect {
duration(value: number): SlideIn;
direction(value: string): SlideIn;
stop(): SlideIn;
add(effect: Effect): SlideIn;
}
interface Tile extends Effect {
duration(value: number): Tile;
direction(value: string): Tile;
stop(): Tile;
add(effect: Effect): Tile;
}
interface Transfer extends Effect {
duration(value: number): Transfer;
stop(): Transfer;
add(effect: Effect): Transfer;
}
interface Zoom extends Effect {
duration(value: number): Zoom;
direction(value: string): Zoom;
stop(): Zoom;
add(effect: Effect): Zoom;
startValue(value: number): Zoom;
endValue(value: number): Zoom;
}
}
declare namespace kendo.data {
interface ObservableObjectEvent {
sender?: ObservableObject;
field?: string;
}
interface ObservableObjectSetEvent extends ObservableObjectEvent {
value?: any;
preventDefault?: Function;
}
class Binding extends Observable {
source: any;
parents: any[];
path: string;
observable: boolean;
dependencies: { [path: string]: boolean; };
constructor(parents: any[], path: string);
change(e: Object): void;
start(source: kendo.Observable): void;
stop(source: kendo.Observable): void;
get (): any;
set (value: any): void;
destroy(): void;
}
class BindingTarget {
target: any;
options: any;
source: any;
}
class EventBinding extends Binding {
get (): void;
}
class TemplateBinding extends Binding {
constructor(source: kendo.Observable, path: string, template: Function);
render(value: Object): string;
}
namespace binders { }
interface Bindings {
[key: string]: Binding;
}
class Binder extends Class {
static fn: Binder;
element: any;
bindings: Bindings;
options: BinderOptions;
constructor(element: any, bindings: Bindings, options?: BinderOptions);
static extend(prototype: Object): Binder;
init(element: any, bindings: Bindings, options?: BinderOptions): void;
bind(binding: Binding, attribute: string): void;
destroy(): void;
refresh(): void;
refresh(attribute: string): void;
}
interface BinderOptions {
}
class ObservableObject extends Observable{
constructor(value?: any);
uid: string;
init(value?: any): void;
get(name: string): any;
parent(): ObservableObject;
set(name: string, value: any): void;
toJSON(): Object;
}
class Model extends ObservableObject {
static idField: string;
static fields: DataSourceSchemaModelFields;
idField: string;
_defaultId: any;
fields: DataSourceSchemaModelFields;
defaults: {
[field: string]: any;
};
id: any;
dirty: boolean;
static define(options: DataSourceSchemaModelWithFieldsObject): typeof Model;
static define(options: DataSourceSchemaModelWithFieldsArray): typeof Model;
constructor(data?: any);
init(data?: any): void;
accept(data?: any): void;
editable(field: string): boolean;
isNew(): boolean;
}
interface SchedulerEventData {
description?: string;
end?: Date;
endTimezone?: string;
isAllDay?: boolean;
id?: any;
start?: Date;
startTimezone?: string;
recurrenceId?: any;
recurrenceRule?: string;
recurrenceException?: string;
title?: string;
}
class SchedulerEvent extends Model {
static idField: string;
static fields: DataSourceSchemaModelFields;
constructor(data?: SchedulerEventData);
description: string;
end: Date;
endTimezone: string;
isAllDay: boolean;
id: any;
start: Date;
startTimezone: string;
recurrenceId: any;
recurrenceRule: string;
recurrenceException: string;
title: string;
static define(options: DataSourceSchemaModelWithFieldsObject): typeof SchedulerEvent;
static define(options: DataSourceSchemaModelWithFieldsArray): typeof SchedulerEvent;
init(data?: SchedulerEventData): void;
clone(options: any, updateUid: boolean): SchedulerEvent;
duration(): number;
expand(start: Date, end: Date, zone: any): SchedulerEvent[];
update(eventInfo: SchedulerEventData): void;
isMultiDay(): boolean;
isException(): boolean;
isOccurrence(): boolean;
isRecurring(): boolean;
isRecurrenceHead(): boolean;
toOccurrence(options: any): SchedulerEvent;
}
class TreeListModel extends Model {
static idField: string;
static fields: DataSourceSchemaModelFields;
id: any;
parentId: any;
static define(options: DataSourceSchemaModelWithFieldsObject): typeof TreeListModel;
static define(options: DataSourceSchemaModelWithFieldsArray): typeof TreeListModel;
constructor(data?: any);
init(data?: any): void;
loaded(value: boolean): void;
loaded(): boolean;
}
class TreeListDataSource extends DataSource {
load(model: kendo.data.TreeListModel): JQueryPromise<any>;
childNodes(model: kendo.data.TreeListModel): kendo.data.TreeListModel[];
rootNodes(): kendo.data.TreeListModel[];
parentNode(model: kendo.data.TreeListModel): kendo.data.TreeListModel;
level(model: kendo.data.TreeListModel): number;
level(model: any): number;
add(model: Object): kendo.data.TreeListModel;
add(model: kendo.data.TreeListModel): kendo.data.TreeListModel;
at(index: number): kendo.data.TreeListModel;
cancelChanges(model?: kendo.data.TreeListModel): void;
get(id: any): kendo.data.TreeListModel;
getByUid(uid: string): kendo.data.TreeListModel;
indexOf(value: kendo.data.TreeListModel): number;
insert(index: number, model: kendo.data.TreeListModel): kendo.data.TreeListModel;
insert(index: number, model: Object): kendo.data.TreeListModel;
remove(model: kendo.data.TreeListModel): void;
}
class GanttTask extends Model {
static idField: string;
static fields: DataSourceSchemaModelFields;
id: any;
parentId: number;
orderId: number;
title: string;
start: Date;
end: Date;
percentComplete: number;
summary: boolean;
expanded: boolean;
static define(options: DataSourceSchemaModelWithFieldsObject): typeof GanttTask;
static define(options: DataSourceSchemaModelWithFieldsArray): typeof GanttTask;
constructor(data?: any);
init(data?: any): void;
}
class GanttDependency extends Model {
static idField: string;
static fields: DataSourceSchemaModelFields;
id: any;
predecessorId: number;
successorId: number;
type: number;
static define(options: DataSourceSchemaModelWithFieldsObject): typeof GanttDependency;
static define(options: DataSourceSchemaModelWithFieldsArray): typeof GanttDependency;
constructor(data?: any);
init(data?: any): void;
}
class Node extends Model {
children: HierarchicalDataSource;
append(model: any): void;
level(): number;
load(id: any): void;
loaded(value: boolean): void;
loaded(): boolean;
parentNode(): Node;
}
class SchedulerDataSource extends DataSource {
add(model: Object): kendo.data.SchedulerEvent;
add(model: kendo.data.SchedulerEvent): kendo.data.SchedulerEvent;
at(index: number): kendo.data.SchedulerEvent;
cancelChanges(model?: kendo.data.SchedulerEvent): void;
get(id: any): kendo.data.SchedulerEvent;
getByUid(uid: string): kendo.data.SchedulerEvent;
indexOf(value: kendo.data.SchedulerEvent): number;
insert(index: number, model: kendo.data.SchedulerEvent): kendo.data.SchedulerEvent;
insert(index: number, model: Object): kendo.data.SchedulerEvent;
remove(model: kendo.data.SchedulerEvent): void;
}
class GanttDataSource extends DataSource {
add(model: Object): kendo.data.GanttTask;
add(model: kendo.data.GanttTask): kendo.data.GanttTask;
at(index: number): kendo.data.GanttTask;
cancelChanges(model?: kendo.data.GanttTask): void;
get(id: any): kendo.data.GanttTask;
getByUid(uid: string): kendo.data.GanttTask;
indexOf(value: kendo.data.GanttTask): number;
insert(index: number, model: Object): kendo.data.GanttTask;
insert(index: number, model: kendo.data.GanttTask): kendo.data.GanttTask;
remove(model: kendo.data.GanttTask): void;
}
class GanttDependencyDataSource extends DataSource {
add(model: Object): kendo.data.GanttDependency;
add(model: kendo.data.GanttDependency): kendo.data.GanttDependency;
at(index: number): kendo.data.GanttDependency;
cancelChanges(model?: kendo.data.GanttDependency): void;
get(id: any): kendo.data.GanttDependency;
getByUid(uid: string): kendo.data.GanttDependency;
indexOf(value: kendo.data.GanttDependency): number;
insert(index: number, model: Object): kendo.data.GanttDependency;
insert(index: number, model: kendo.data.GanttDependency): kendo.data.GanttDependency;
remove(model: kendo.data.GanttDependency): void;
}
class HierarchicalDataSource extends DataSource {
constructor(options?: HierarchicalDataSourceOptions);
init(options?: HierarchicalDataSourceOptions): void;
}
interface HierarchicalDataSourceOptions extends DataSourceOptions {
schema?: HierarchicalDataSourceSchema;
}
interface HierarchicalDataSourceSchema extends DataSourceSchemaWithOptionsModel {
model?: HierarchicalDataSourceSchemaModel;
}
interface HierarchicalDataSourceSchemaModel extends DataSourceSchemaModel {
hasChildren?: any;
children?: any;
}
interface PivotDiscoverRequestRestrictionOptions {
catalogName: string;
cubeName: string;
}
interface PivotDiscoverRequestDataOptions {
command: string;
restrictions: PivotDiscoverRequestRestrictionOptions;
}
interface PivotDiscoverRequestOptions {
data: PivotDiscoverRequestDataOptions;
}
interface PivotTransportConnection {
catalog?: string;
cube?: string;
}
interface PivotTransportDiscover {
cache?: boolean;
contentType?: string;
data?: any;
dataType?: string;
type?: string;
url?: any;
}
interface PivotTransport {
discover?: any;
read?: any;
}
interface PivotTransportWithObjectOperations extends PivotTransport {
connection: PivotTransportConnection;
discover?: PivotTransportDiscover;
read?: DataSourceTransportRead;
}
interface PivotTransportWithFunctionOperations extends PivotTransport {
discover?: (options: DataSourceTransportOptions) => void;
read?: (options: DataSourceTransportOptions) => void;
}
interface PivotDataSourceAxisOptions {
name: string;
expand?: boolean;
}
interface PivotDataSourceMeasureOptions {
values: string[];
axis?: string;
}
interface PivotDataSourceOptions extends DataSourceOptions {
columns?: string[]|PivotDataSourceAxisOptions[];
measures?: string[]|PivotDataSourceMeasureOptions;
rows?: string[]|PivotDataSourceAxisOptions[];
transport?: PivotTransport;
schema?: PivotSchema;
}
interface PivotTupleModel {
children: PivotTupleModel[];
caption?: string;
name: string;
levelName?: string;
levelNum: number;
hasChildren?: boolean;
hierarchy?: string;
}
interface PivotSchemaRowAxis {
tuples: PivotTupleModel[];
}
interface PivotSchemaColumnAxis {
tuples: PivotTupleModel[];
}
interface PivotSchemaAxes {
rows: PivotSchemaRowAxis;
columns: PivotSchemaColumnAxis;
}
interface PivotSchema extends DataSourceSchema{
axes?: any;
catalogs?: any;
cubes?: any;
cube?: any;
data?: any;
dimensions?: any;
hierarchies?: any;
levels?: any;
measures?: any;
}
class PivotDataSource extends DataSource {
axes(): PivotSchemaAxes;
constructor(options?: PivotDataSourceOptions);
init(options?: PivotDataSourceOptions): void;
catalog(val: string): void;
columns(val: string[]): string[];
cube(val: string): void;
discover(options: PivotDiscoverRequestOptions): JQueryPromise<any>;
measures(val: string[]): string[];
measuresAxis(): string;
rows(val: string[]): string[];
schemaCatalogs(): JQueryPromise<any>;
schemaCubes(): JQueryPromise<any>;
schemaDimensions(): JQueryPromise<any>;
schemaHierarchies(): JQueryPromise<any>;
schemaLevels(): JQueryPromise<any>;
schemaMeasures(): JQueryPromise<any>;
}
interface DataSourceTransport {
create?: DataSourceTransportCreate | ((options: DataSourceTransportOptions) => void);
destroy?: DataSourceTransportDestroy | ((options: DataSourceTransportOptions) => void);
push?: Function;
read?: DataSourceTransportRead | ((options: DataSourceTransportOptions) => void);
signalr?: DataSourceTransportSignalr | ((options: DataSourceTransportOptions) => void);
update?: DataSourceTransportUpdate | ((options: DataSourceTransportOptions) => void);
parameterMap?(data: DataSourceTransportParameterMapData, type: string): any;
}
interface DataSourceTransportSignalrClient {
create?: string;
destroy?: string;
read?: string;
update?: string;
}
interface DataSourceTransportSignalrServer {
create?: string;
destroy?: string;
read?: string;
update?: string;
}
interface DataSourceTransportSignalr {
client?: DataSourceTransportSignalrClient;
hub?: any;
promise?: any;
server?: DataSourceTransportSignalrServer;
}
interface DataSourceParameterMapDataAggregate {
field?: string;
aggregate?: string;
}
interface DataSourceParameterMapDataGroup {
aggregate?: DataSourceParameterMapDataAggregate[];
field?: string;
dir?: string;
}
interface DataSourceParameterMapDataFilter {
field?: string;
filters?: DataSourceParameterMapDataFilter[];
logic?: string;
operator?: string;
value?: any;
}
interface DataSourceParameterMapDataSort {
field?: string;
dir?: string;
}
interface DataSourceTransportParameterMapData {
aggregate?: DataSourceParameterMapDataAggregate[];
group?: DataSourceParameterMapDataGroup[];
filter?: DataSourceParameterMapDataFilter;
models?: Model[];
page?: number;
pageSize?: number;
skip?: number;
sort?: DataSourceParameterMapDataSort[];
take?: number;
}
interface DataSourceSchema {
model?: any;
}
interface DataSourceSchemaWithTimezone extends DataSourceSchema {
timezone?: String;
}
interface DataSourceSchemaWithOptionsModel extends DataSourceSchema {
model?: DataSourceSchemaModel;
}
interface DataSourceSchemaWithConstructorModel extends DataSourceSchema {
model?: typeof Model;
}
interface DataSourceSchemaModel {
id?: string;
fields?: any;
[index: string]: any;
}
interface DataSourceSchemaModelWithFieldsArray extends DataSourceSchemaModel {
fields?: DataSourceSchemaModelField[];
}
interface DataSourceSchemaModelWithFieldsObject extends DataSourceSchemaModel {
fields?: DataSourceSchemaModelFields;
}
interface DataSourceSchemaModelFields {
[index: string]: DataSourceSchemaModelField;
}
interface DataSourceSchemaModelField {
field?: string;
from?: string;
defaultValue?: any;
editable?: boolean;
nullable?: boolean;
parse?: Function;
type?: string;
validation?: DataSourceSchemaModelFieldValidation;
}
interface DataSourceSchemaModelFieldValidation {
required?: boolean;
min?: any;
max?: any;
minLength?: any;
maxLength?: any;
[rule: string]: any;
}
class ObservableArray extends Observable {
length: number;
[index: number]: any;
constructor(array: any[]);
init(array: any[]): void;
empty(): void;
every(callback: (item: Object, index: number, source: ObservableArray) => boolean): boolean;
filter(callback: (item: Object, index: number, source: ObservableArray) => boolean): any[];
find(callback: (item: Object, index: number, source: ObservableArray) => boolean): any;
forEach(callback: (item: Object, index: number, source: ObservableArray) => void ): void;
indexOf(item: any): number;
join(separator: string): string;
map(callback: (item: Object, index: number, source: ObservableArray) => any): any[];
parent(): ObservableObject;
pop(): ObservableObject;
push(...items: any[]): number;
remove(item: Object): void;
shift(): any;
slice(begin: number, end?: number): any[];
some(callback: (item: Object, index: number, source: ObservableArray) => boolean): boolean;
splice(start: number): any[];
splice(start: number, deleteCount: number, ...items: any[]): any[];
toJSON(): any[];
unshift(...items: any[]): number;
wrap(object: Object, parent: Object): any;
wrapAll(source: Object, target: Object): any;
}
interface ObservableArrayEvent {
field?: string;
action?: string;
index?: number;
items?: kendo.data.Model[];
}
class DataSource extends Observable{
options: DataSourceOptions;
static create(options?: DataSourceOptions): DataSource;
constructor(options?: DataSourceOptions);
init(options?: DataSourceOptions): void;
add(model: Object): kendo.data.Model;
add(model: kendo.data.Model): kendo.data.Model;
aggregate(val: any): void;
aggregate(): any;
aggregates(): any;
at(index: number): kendo.data.ObservableObject;
cancelChanges(model?: kendo.data.Model): void;
data(): kendo.data.ObservableArray;
data(value: any): void;
fetch(callback?: Function): JQueryPromise<any>;
filter(filters: DataSourceFilterItem): void;
filter(filters: DataSourceFilterItem[]): void;
filter(filters: DataSourceFilters): void;
filter(): DataSourceFilters;
get(id: any): kendo.data.Model;
getByUid(uid: string): kendo.data.Model;
group(groups: any): void;
group(): any;
hasChanges(): boolean;
indexOf(value: kendo.data.ObservableObject): number;
insert(index: number, model: kendo.data.Model): kendo.data.Model;
insert(index: number, model: Object): kendo.data.Model;
online(value: boolean): void;
online(): boolean;
offlineData(data: any[]): void;
offlineData(): any[];
page(): number;
page(page: number): void;
pageSize(): number;
pageSize(size: number): void;
pushCreate(model: Object): void;
pushCreate(models: any[]): void;
pushDestroy(model: Object): void;
pushDestroy(models: any[]): void;
pushUpdate(model: Object): void;
pushUpdate(models: any[]): void;
query(options?: any): JQueryPromise<any>;
read(data?: any): JQueryPromise<any>;
remove(model: kendo.data.ObservableObject): void;
sort(sort: DataSourceSortItem): void;
sort(sort: DataSourceSortItem[]): void;
sort(): DataSourceSortItem[];
sync(): JQueryPromise<any>;
total(): number;
totalPages(): number;
view(): kendo.data.ObservableArray;
}
class Query {
data: any[];
static process(data: any[], options: DataSourceTransportReadOptionsData): QueryResult;
constructor(data: any[]);
toArray(): any[];
range(intex: number, count: number): kendo.data.Query;
skip(count: number): kendo.data.Query;
take(count: number): kendo.data.Query;
select(selector: Function): kendo.data.Query;
order(selector: string, dir?: string): kendo.data.Query;
order(selector: Function, dir?: string): kendo.data.Query;
filter(filters: DataSourceFilterItem): kendo.data.Query;
filter(filters: DataSourceFilterItem[]): kendo.data.Query;
filter(filters: DataSourceFilters): kendo.data.Query;
group(descriptors: DataSourceGroupItem): kendo.data.Query;
group(descriptors: DataSourceGroupItem[]): kendo.data.Query;
}
interface QueryResult {
total?: number;
data?: any[];
}
interface DataSourceAggregateItem {
field?: string;
aggregate?: string;
}
interface DataSourceFilter {
}
interface DataSourceFilterItem extends DataSourceFilter {
operator?: string|Function;
field?: string;
value?: any;
}
interface DataSourceFilters extends DataSourceFilter {
logic?: string;
filters?: DataSourceFilter[];
}
interface DataSourceGroupItemAggregate {
field?: string;
aggregate?: string;
}
interface DataSourceGroupItem {
field?: string;
dir?: string;
aggregates?: DataSourceGroupItemAggregate[];
}
interface DataSourceSchema {
aggregates?: any;
data?: any;
errors?: any;
groups?: any;
parse?: Function;
total?: any;
type?: string;
}
interface DataSourceSortItem {
field?: string;
dir?: string;
}
interface DataSourceTransportCreate extends JQueryAjaxSettings {
cache?: boolean;
contentType?: string;
data?: any;
dataType?: string;
type?: string;
url?: any;
}
interface DataSourceTransportDestroy extends JQueryAjaxSettings {
cache?: boolean;
contentType?: string;
data?: any;
dataType?: string;
type?: string;
url?: any;
}
interface DataSourceTransportRead extends JQueryAjaxSettings {
cache?: boolean;
contentType?: string;
data?: any;
dataType?: string;
type?: string;
url?: any;
}
interface DataSourceTransportUpdate extends JQueryAjaxSettings {
cache?: boolean;
contentType?: string;
data?: any;
dataType?: string;
type?: string;
url?: any;
}
interface DataSourceTransportWithObjectOperations extends DataSourceTransport {
create?: DataSourceTransportCreate;
destroy?: DataSourceTransportDestroy;
read?: DataSourceTransportRead;
update?: DataSourceTransportUpdate;
}
interface DataSourceTransportWithFunctionOperations extends DataSourceTransport {
create?: (options: DataSourceTransportOptions) => void;
destroy?: (options: DataSourceTransportOptions) => void;
read?: (options: DataSourceTransportReadOptions) => void;
update?: (options: DataSourceTransportOptions) => void;
}
interface DataSourceTransportOptions {
success: (data?: any) => void;
error: (error?: any) => void;
data: any;
}
interface DataSourceTransportReadOptionsData {
sort?: DataSourceSortItem[];
filter?: DataSourceFilters;
group?: DataSourceGroupItem[];
take?: number;
skip?: number;
}
interface DataSourceTransportReadOptions extends DataSourceTransportOptions {
data: DataSourceTransportReadOptionsData;
}
interface DataSourceTransportBatchOptionsData {
models: any[];
}
interface DataSourceTransportBatchOptions extends DataSourceTransportOptions {
data: DataSourceTransportBatchOptionsData;
}
interface DataSourceOptions {
aggregate?: DataSourceAggregateItem[];
autoSync?: boolean;
batch?: boolean;
data?: any;
filter?: any;
group?: DataSourceGroupItem | DataSourceGroupItem[];
inPlaceSort?: boolean;
offlineStorage?: any;
page?: number;
pageSize?: number;
schema?: DataSourceSchema;
serverAggregates?: boolean;
serverFiltering?: boolean;
serverGrouping?: boolean;
serverPaging?: boolean;
serverSorting?: boolean;
sort?: any;
transport?: DataSourceTransport;
type?: string;
change? (e: DataSourceChangeEvent): void;
error?(e: DataSourceErrorEvent): void;
push?(e: DataSourcePushEvent): void;
sync?(e: DataSourceEvent): void;
requestStart?(e: DataSourceRequestStartEvent): void;
requestEnd?(e: DataSourceRequestEndEvent): void;
}
interface DataSourceEvent {
sender?: DataSource;
}
interface DataSourceItemOrGroup {
}
interface DataSourceGroup extends DataSourceItemOrGroup {
aggregates: any[];
field: string;
hasSubgroups: boolean;
items: DataSourceItemOrGroup[];
value: any;
}
interface DataSourceChangeEvent extends DataSourceEvent {
field?: string;
value?: Model;
action?: string;
index?: number;
items?: DataSourceItemOrGroup[];
node?: any;
}
interface DataSourcePushEvent extends DataSourceEvent {
items?: DataSourceItemOrGroup[];
type?: string;
}
interface DataSourceErrorEvent extends DataSourceEvent {
xhr: JQueryXHR;
status: string;
errorThrown: any;
errors?: any;
}
interface DataSourceRequestStartEvent extends DataSourceEvent {
type?: string;
preventDefault(): void;
}
interface DataSourceRequestEndEvent extends DataSourceEvent {
response?: any;
type?: string;
}
}
declare namespace kendo.data.transports {
var odata: DataSourceTransport;
}
declare namespace kendo.ui {
function progress(container: JQuery, toggle: boolean): void;
class Widget extends Observable {
static fn: any;
element: JQuery;
options: any;
events: string[];
static extend(prototype: Object): Widget;
constructor(element: Element, options?: Object);
constructor(element: JQuery, options?: Object);
constructor(selector: String, options?: Object);
init(element: Element, options?: Object): void;
init(element: JQuery, options?: Object): void;
init(selector: String, options?: Object): void;
destroy(): void;
setOptions(options: Object): void;
resize(force?: boolean): void;
}
function plugin(widget: typeof kendo.ui.Widget, register?: typeof kendo.ui, prefix?: String): void;
function plugin(widget: any, register?: typeof kendo.ui, prefix?: String): void;
function plugin(widget: typeof kendo.ui.Widget, register?: typeof kendo.mobile.ui, prefix?: String): void;
function plugin(widget: any, register?: typeof kendo.mobile.ui, prefix?: String): void;
function plugin(widget: typeof kendo.ui.Widget, register?: typeof kendo.dataviz.ui, prefix?: String): void;
function plugin(widget: any, register?: typeof kendo.dataviz.ui, prefix?: String): void;
class Draggable extends kendo.ui.Widget{
element: JQuery;
currentTarget: JQuery;
constructor(element: Element, options?: DraggableOptions);
options: DraggableOptions;
}
interface DraggableEvent {
sender?: Draggable;
}
class DropTarget extends kendo.ui.Widget{
element: JQuery;
constructor(element: Element, options?: DropTargetOptions);
options: DropTargetOptions;
static destroyGroup(groupName: string): void;
}
interface DropTargetOptions {
group?: string;
dragenter?(e: DropTargetDragenterEvent): void;
dragleave?(e: DropTargetDragleaveEvent): void;
drop?(e: DropTargetDropEvent): void;
}
interface DropTargetEvent extends JQueryEventObject {
sender?: DropTarget;
draggable?: kendo.ui.Draggable;
dropTarget?: JQuery
}
interface DropTargetDragenterEvent extends DropTargetEvent {
}
interface DropTargetDragleaveEvent extends DropTargetEvent {
}
interface DropTargetDropEvent extends DropTargetEvent {
}
class DropTargetArea extends kendo.ui.Widget{
element: JQuery;
constructor(element: Element, options?: DropTargetAreaOptions);
options: DropTargetAreaOptions;
}
interface DropTargetAreaOptions {
group?: string;
filter?: string;
dragenter?(e: DropTargetAreaDragenterEvent): void;
dragleave?(e: DropTargetAreaDragleaveEvent): void;
drop?(e: DropTargetAreaDropEvent): void;
}
interface DropTargetAreaEvent {
sender: DropTargetArea;
}
interface DropTargetAreaDragenterEvent extends DropTargetAreaEvent {
draggable?: kendo.ui.Draggable;
dropTarget?: JQuery;
target?: Element;
}
interface DropTargetAreaDragleaveEvent extends DropTargetAreaEvent {
draggable?: kendo.ui.Draggable;
dropTarget?: JQuery;
target?: Element;
}
interface DropTargetAreaDropEvent extends DropTargetAreaEvent {
draggable?: kendo.ui.Draggable;
dropTarget?: JQuery;
target?: Element;
}
interface DraggableOptions {
axis?: string;
autoScroll?: boolean;
container?: JQuery;
cursorOffset?: any;
distance?: number;
filter?: string;
group?: string;
hint?: Function|JQuery;
holdToDrag?: boolean;
ignore?: string;
drag?(e: DraggableEvent): void;
dragcancel?(e: DraggableEvent): void;
dragend?(e: DraggableEvent): void;
dragstart?(e: DraggableEvent): void;
hold?(e: DraggableEvent): void;
}
interface GridColumnEditorOptions {
field?: string;
format?: string;
model?: kendo.data.Model;
values?: any[];
}
interface GridColumn {
editor?(container: JQuery, options: GridColumnEditorOptions): void;
}
interface TreeListEditorOptions {
field?: string;
format?: string;
model?: kendo.data.Model;
values?: any[];
}
interface TreeListColumn {
editor?(container: JQuery, options: TreeListEditorOptions): void;
}
}
declare namespace kendo.ui.editor {
class Toolbar extends kendo.ui.Widget{
window: kendo.ui.Window;
}
}
declare namespace kendo.mobile {
function init(selector: string): void;
function init(element: JQuery): void;
function init(element: Element): void;
class Application extends Observable {
options: ApplicationOptions;
router: kendo.Router;
pane: kendo.mobile.ui.Pane;
constructor(element?: any, options?: ApplicationOptions);
init(element?: any, options?: ApplicationOptions): void;
hideLoading(): void;
navigate(url: string, transition?: string): void;
replace(url: string, transition?: string): void;
scroller(): kendo.mobile.ui.Scroller;
showLoading(): void;
view(): kendo.mobile.ui.View;
}
interface ApplicationOptions {
browserHistory?: boolean;
hideAddressBar?: boolean;
updateDocumentTitle?: boolean;
initial?: string;
layout?: string;
loading?: string;
modelScope?: Object;
platform?: string;
retina?: boolean;
serverNavigation?: boolean;
skin?: string;
statusBarStyle?: string;
transition?: string;
useNativeScrolling?: boolean;
init?(e: ApplicationEvent): void;
}
interface ApplicationEvent {
sender: Application;
}
}
declare namespace kendo.mobile.ui {
class Widget extends kendo.ui.Widget {
}
interface TouchAxis {
location?: number;
startLocation?: number;
client?: number;
delta?: number;
velocity?: number;
}
interface TouchEventOptions {
target?: JQuery;
x?: TouchAxis;
y?: TouchAxis;
}
interface Point {
x?: number;
y?: number;
}
}
declare namespace kendo.dataviz.ui {
function registerTheme(name: string, options: any): void;
function plugin(widget: typeof kendo.ui.Widget): void;
function plugin(widget: any): void;
}
declare namespace kendo.dataviz.map.layer {
class Shape {
}
}
declare namespace kendo.drawing.pdf {
function saveAs(group: kendo.drawing.Group, fileName: string,
proxyUrl?: string, callback?: Function): void;
}
declare namespace kendo.ui {
class Alert extends kendo.ui.Dialog {
static fn: Alert;
options: AlertOptions;
element: JQuery;
wrapper: JQuery;
static extend(proto: Object): Alert;
constructor(element: Element, options?: AlertOptions);
}
interface AlertMessages {
okText?: string;
}
interface AlertOptions {
name?: string;
messages?: AlertMessages;
}
interface AlertEvent {
sender: Alert;
preventDefault: Function;
isDefaultPrevented(): boolean;
}
class AutoComplete extends kendo.ui.Widget {
static fn: AutoComplete;
options: AutoCompleteOptions;
dataSource: kendo.data.DataSource;
list: JQuery;
ul: JQuery;
element: JQuery;
wrapper: