14 |
15 |
16 |
TypeScript AngularJS Controller Example
17 |
18 |
19 |
20 |
33 |
34 |
35 |
{{kitten.imageUrl}}
36 |
37 |
![Kitten]()
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/TypeScriptAngularControllers/TypeScriptAngularControllers/jquery.d.ts:
--------------------------------------------------------------------------------
1 | /* *****************************************************************************
2 | Copyright (c) Microsoft Corporation. All rights reserved.
3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 | this file except in compliance with the License. You may obtain a copy of the
5 | License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 | KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9 | WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10 | MERCHANTABLITY OR NON-INFRINGEMENT.
11 |
12 | See the Apache Version 2.0 License for specific language governing permissions
13 | and limitations under the License.
14 | ***************************************************************************** */
15 |
16 | // Typing for the jQuery library, version 2.0.x
17 |
18 | /*
19 | Interface for the AJAX setting that will configure the AJAX request
20 | */
21 | interface JQueryAjaxSettings {
22 | accepts?: any;
23 | async?: boolean;
24 | beforeSend? (jqXHR: JQueryXHR, settings: JQueryAjaxSettings);
25 | cache?: boolean;
26 | complete? (jqXHR: JQueryXHR, textStatus: string);
27 | contents?: { [key: string]: any; };
28 | contentType?: string;
29 | context?: any;
30 | converters?: { [key: string]: any; };
31 | crossDomain?: boolean;
32 | data?: any;
33 | dataFilter? (data: any, ty: any): any;
34 | dataType?: string;
35 | error? (jqXHR: JQueryXHR, textStatus: string, errorThrow: string): any;
36 | global?: boolean;
37 | headers?: { [key: string]: any; };
38 | ifModified?: boolean;
39 | isLocal?: boolean;
40 | jsonp?: string;
41 | jsonpCallback?: any;
42 | mimeType?: string;
43 | password?: string;
44 | processData?: boolean;
45 | scriptCharset?: string;
46 | statusCode?: { [key: string]: any; };
47 | success? (data: any, textStatus: string, jqXHR: JQueryXHR);
48 | timeout?: number;
49 | traditional?: boolean;
50 | type?: string;
51 | url?: string;
52 | username?: string;
53 | xhr?: any;
54 | xhrFields?: { [key: string]: any; };
55 | }
56 |
57 | /*
58 | Interface for the jqXHR object
59 | */
60 | interface JQueryXHR extends XMLHttpRequest, JQueryPromise {
61 | overrideMimeType(mimeType: string);
62 | abort(statusText?: string): void;
63 | }
64 |
65 | /*
66 | Interface for the JQuery callback
67 | */
68 | interface JQueryCallback {
69 | add(...callbacks: any[]): any;
70 | disable(): any;
71 | empty(): any;
72 | fire(...arguments: any[]): any;
73 | fired(): boolean;
74 | fireWith(context: any, ...args: any[]): any;
75 | has(callback: any): boolean;
76 | lock(): any;
77 | locked(): boolean;
78 | remove(...callbacks: any[]): any;
79 | }
80 |
81 | /*
82 | Interface for the JQuery promise, part of callbacks
83 | */
84 | interface JQueryPromise {
85 | always(...alwaysCallbacks: any[]): JQueryDeferred;
86 | done(...doneCallbacks: any[]): JQueryDeferred;
87 | fail(...failCallbacks: any[]): JQueryDeferred;
88 | pipe(doneFilter?: (x: any) => any, failFilter?: (x: any) => any, progressFilter?: (x: any) => any): JQueryPromise;
89 | then(doneCallbacks: any, failCallbacks?: any, progressCallbacks?: any): JQueryDeferred;
90 | }
91 |
92 | /*
93 | Interface for the JQuery deferred, part of callbacks
94 | */
95 | interface JQueryDeferred extends JQueryPromise {
96 | notify(...args: any[]): JQueryDeferred;
97 | notifyWith(context: any, ...args: any[]): JQueryDeferred;
98 |
99 | pipe(doneFilter?: any, failFilter?: any, progressFilter?: any): JQueryPromise;
100 | progress(...progressCallbacks: any[]): JQueryDeferred;
101 | reject(...args: any[]): JQueryDeferred;
102 | rejectWith(context: any, ...args: any[]): JQueryDeferred;
103 | resolve(...args: any[]): JQueryDeferred;
104 | resolveWith(context: any, ...args: any[]): JQueryDeferred;
105 | state(): string;
106 | then(doneCallbacks: any, failCallbacks?: any, progressCallbacks?: any): JQueryDeferred;
107 | promise(target?: any): JQueryPromise;
108 | }
109 |
110 | /*
111 | Interface of the JQuery extension of the W3C event object
112 | */
113 |
114 | interface BaseJQueryEventObject extends Event {
115 | data: any;
116 | delegateTarget: Element;
117 | isDefaultPrevented(): boolean;
118 | isImmediatePropogationStopped(): boolean;
119 | isPropagationStopped(): boolean;
120 | namespace: string;
121 | preventDefault(): any;
122 | relatedTarget: Element;
123 | result: any;
124 | stopImmediatePropagation();
125 | stopPropagation();
126 | pageX: number;
127 | pageY: number;
128 | which: number;
129 | metaKey: any;
130 | }
131 |
132 | interface JQueryInputEventObject extends BaseJQueryEventObject {
133 | altKey: boolean;
134 | ctrlKey: boolean;
135 | metaKey: boolean;
136 | shiftKey: boolean;
137 | }
138 |
139 | interface JQueryMouseEventObject extends JQueryInputEventObject {
140 | button: number;
141 | clientX: number;
142 | clientY: number;
143 | offsetX: number;
144 | offsetY: number;
145 | pageX: number;
146 | pageY: number;
147 | screenX: number;
148 | screenY: number;
149 | }
150 |
151 | interface JQueryKeyEventObject extends JQueryInputEventObject {
152 | char: any;
153 | charCode: number;
154 | key: any;
155 | keyCode: number;
156 | }
157 |
158 | interface JQueryPopStateEventObject extends BaseJQueryEventObject {
159 | originalEvent: PopStateEvent;
160 | }
161 |
162 | interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject, JQueryPopStateEventObject {
163 | }
164 |
165 | /*
166 | Collection of properties of the current browser
167 | */
168 |
169 | interface JQuerySupport {
170 | ajax?: boolean;
171 | boxModel?: boolean;
172 | changeBubbles?: boolean;
173 | checkClone?: boolean;
174 | checkOn?: boolean;
175 | cors?: boolean;
176 | cssFloat?: boolean;
177 | hrefNormalized?: boolean;
178 | htmlSerialize?: boolean;
179 | leadingWhitespace?: boolean;
180 | noCloneChecked?: boolean;
181 | noCloneEvent?: boolean;
182 | opacity?: boolean;
183 | optDisabled?: boolean;
184 | optSelected?: boolean;
185 | scriptEval? (): boolean;
186 | style?: boolean;
187 | submitBubbles?: boolean;
188 | tbody?: boolean;
189 | }
190 |
191 | interface JQueryParam {
192 | (obj: any): string;
193 | (obj: any, traditional: boolean): string;
194 | }
195 |
196 | /*
197 | Static members of jQuery (those on $ and jQuery themselves)
198 | */
199 | interface JQueryStatic {
200 |
201 | /****
202 | AJAX
203 | *****/
204 | ajax(settings: JQueryAjaxSettings): JQueryXHR;
205 | ajax(url: string, settings?: JQueryAjaxSettings): JQueryXHR;
206 |
207 | ajaxPrefilter(dataTypes: string, handler: (opts: any, originalOpts: any, jqXHR: JQueryXHR) => any): any;
208 | ajaxPrefilter(handler: (opts: any, originalOpts: any, jqXHR: JQueryXHR) => any): any;
209 |
210 | ajaxSettings: JQueryAjaxSettings;
211 |
212 | ajaxSetup();
213 | ajaxSetup(options: JQueryAjaxSettings);
214 |
215 | get(url: string, data?: any, success?: any, dataType?: any): JQueryXHR;
216 | getJSON(url: string, data?: any, success?: any): JQueryXHR;
217 | getScript(url: string, success?: any): JQueryXHR;
218 |
219 | param: JQueryParam;
220 |
221 | post(url: string, data?: any, success?: any, dataType?: any): JQueryXHR;
222 |
223 | // Callbacks
224 | Callbacks(flags?: string): JQueryCallback;
225 |
226 | // Core
227 | holdReady(hold: boolean): any;
228 |
229 | (selector: string, context?: any): JQuery;
230 | (element: Element): JQuery;
231 | (object: {}): JQuery;
232 | (elementArray: Element[]): JQuery;
233 | (object: JQuery): JQuery;
234 | (func: Function): JQuery;
235 | (array: any[]): JQuery;
236 | (): JQuery;
237 |
238 | noConflict(removeAll?: boolean): Object;
239 |
240 | when(...deferreds: any[]): JQueryPromise;
241 |
242 | // CSS
243 | css(e: any, propertyName: string, value?: any);
244 | css(e: any, propertyName: any, value?: any);
245 | cssHooks: { [key: string]: any; };
246 | cssNumber: any;
247 |
248 | // Data
249 | data(element: Element, key: string, value: any): any;
250 | data(element: Element, key: string): any;
251 | data(element: Element): any;
252 |
253 | dequeue(element: Element, queueName?: string): any;
254 |
255 | hasData(element: Element): boolean;
256 |
257 | queue(element: Element, queueName?: string): any[];
258 | queue(element: Element, queueName: string, newQueueOrCallback: any): JQuery;
259 |
260 | removeData(element: Element, name?: string): JQuery;
261 |
262 | // Deferred
263 | Deferred: {
264 | (beforeStart?: (deferred: JQueryDeferred) => any): JQueryDeferred;
265 | new (beforeStart?: (deferred: JQueryDeferred) => any): JQueryDeferred;
266 | };
267 |
268 | // Effects
269 | fx: { tick: () => void; interval: number; stop: () => void; speeds: { slow: number; fast: number; }; off: boolean; step: any; };
270 |
271 | // Events
272 | proxy(fn: (...args: any[]) => any, context: any, ...args: any[]): any;
273 | proxy(context: any, name: string, ...args: any[]): any;
274 |
275 | Event: {
276 | (name: string, eventProperties?: any): JQueryEventObject;
277 | new (name: string, eventProperties?: any): JQueryEventObject;
278 | };
279 |
280 | // Internals
281 | error(message: any);
282 |
283 | // Miscellaneous
284 | expr: any;
285 | fn: any; //TODO: Decide how we want to type this
286 | isReady: boolean;
287 |
288 | // Properties
289 | support: JQuerySupport;
290 |
291 | // Utilities
292 | contains(container: Element, contained: Element): boolean;
293 |
294 | each(collection: any, callback: (indexInArray: any, valueOfElement: any) => any): any;
295 | each(collection: JQuery, callback: (indexInArray: number, valueOfElement: HTMLElement) => any): any;
296 | each