@@ -0,0 +1,16 | |||||
|
1 | import * as Evented from "dojo/Evented"; | |||
|
2 | ||||
|
3 | interface DoorEvents { | |||
|
4 | open: { authorized: boolean } | |||
|
5 | close: void | |||
|
6 | } | |||
|
7 | ||||
|
8 | const door = new Evented<DoorEvents>(); | |||
|
9 | ||||
|
10 | door.on("open", evt => evt.authorized); | |||
|
11 | ||||
|
12 | door.on<any>("location-change", (x,y,z) => x+y+z); | |||
|
13 | ||||
|
14 | door.emit("open", { authorized: false }); | |||
|
15 | door.emit("close"); | |||
|
16 | door.emit<any>("location-change"); |
@@ -39,7 +39,11 typescript { | |||||
39 |
|
39 | |||
40 | configureTsTest { |
|
40 | configureTsTest { | |
41 | compilerOptions { |
|
41 | compilerOptions { | |
42 | types = ["../main/typings/dojo/modules","../main/typings/dijit/modules"] |
|
42 | types = [ | |
|
43 | "../main/typings/dojo/modules", | |||
|
44 | "../main/typings/dijit/modules", | |||
|
45 | "../main/typings/dojo/NodeList-fx" | |||
|
46 | ] | |||
43 | module = "ESNext" |
|
47 | module = "ESNext" | |
44 | it.target = "ESNext" |
|
48 | it.target = "ESNext" | |
45 | } |
|
49 | } |
@@ -549,10 +549,6 declare namespace dijit { | |||||
549 | onClose(): boolean; |
|
549 | onClose(): boolean; | |
550 | } |
|
550 | } | |
551 |
|
551 | |||
552 | type Props<T> = { |
|
|||
553 | [k in Exclude<keyof T, keyof object>] : T[k] extends (...args: any) => any ? never: k; |
|
|||
554 | }[ keyof T]; |
|
|||
555 |
|
||||
556 | interface _WidgetBase { |
|
552 | interface _WidgetBase { | |
557 | /** |
|
553 | /** | |
558 | * Used across all instances a hash to cache attribute names and their getter |
|
554 | * Used across all instances a hash to cache attribute names and their getter | |
@@ -603,7 +599,7 declare namespace dijit { | |||||
603 | * Watches a property for changes |
|
599 | * Watches a property for changes | |
604 | */ |
|
600 | */ | |
605 | watch(callback: <K extends keyof any>(prop: K, oldValue: any, newValue: any) => void): dojo.WatchHandle; |
|
601 | watch(callback: <K extends keyof any>(prop: K, oldValue: any, newValue: any) => void): dojo.WatchHandle; | |
606 |
watch<K extends |
|
602 | watch<K extends keyof this>(name: K, callback: (prop: K, oldValue: this[K], newValue: this[K]) => void): dojo.WatchHandle; | |
607 | } |
|
603 | } | |
608 |
|
604 | |||
609 | type EventInitArgs<T extends Event> = { |
|
605 | type EventInitArgs<T extends Event> = { | |
@@ -771,25 +767,14 declare namespace dijit { | |||||
771 | * Used by widgets to signal that a synthetic event occurred, ex: |
|
767 | * Used by widgets to signal that a synthetic event occurred, ex: | |
772 | * | myWidget.emit("attrmodified-selectedChildWidget", {}). |
|
768 | * | myWidget.emit("attrmodified-selectedChildWidget", {}). | |
773 | */ |
|
769 | */ | |
774 |
emit<K extends keyof Events>(eventName: K, evt: EventInitArgs<Events[K]>): |
|
770 | emit<K extends keyof Events>(eventName: K, evt: EventInitArgs<Events[K]>, callbackArgs?: any[]): any; | |
775 |
|
||||
776 | /** |
|
|||
777 | * @param type |
|
|||
778 | * @param eventObj |
|
|||
779 | * @param callbackArgs |
|
|||
780 | */ |
|
|||
781 | emit<K extends string>( |
|
|||
782 | type: K, |
|
|||
783 | eventObj?: K extends keyof Events ? EventInitArgs<Events[K]> : any, |
|
|||
784 | callbackArgs?: any[] |
|
|||
785 | ): any; |
|
|||
786 |
|
771 | |||
787 | /** |
|
772 | /** | |
788 | * Call specified function when event occurs, ex: myWidget.on("click", function(){ ... }). |
|
773 | * Call specified function when event occurs, ex: myWidget.on("click", function(){ ... }). | |
789 | */ |
|
774 | */ | |
790 | on<K extends keyof Events>(eventName: K, cb: (evt: Events[K]) => void): dojo.WatchHandle; |
|
775 | on<K extends keyof Events>(eventName: K, cb: (evt: Events[K]) => void): dojo.WatchHandle; | |
791 |
|
776 | |||
792 |
on(type: |
|
777 | on(type: dojo.ExtensionEvent, func: dojo.EventListener): dojo.WatchHandle; | |
793 |
|
778 | |||
794 | /** |
|
779 | /** | |
795 | * Returns a string that represents the widget. |
|
780 | * Returns a string that represents the widget. |
@@ -455,6 +455,8 declare namespace dijit { | |||||
455 |
|
455 | |||
456 | startup(): void; |
|
456 | startup(): void; | |
457 | destroy(preserveDom?: boolean): void; |
|
457 | destroy(preserveDom?: boolean): void; | |
|
458 | ||||
|
459 | _setValueAttr(value: any): void; | |||
458 | } |
|
460 | } | |
459 |
|
461 | |||
460 | interface _FormMixinConstructor extends dojo._base.DeclareConstructor<_FormMixin> { } |
|
462 | interface _FormMixinConstructor extends dojo._base.DeclareConstructor<_FormMixin> { } |
@@ -239,7 +239,7 declare namespace dojo { | |||||
239 | /** |
|
239 | /** | |
240 | * number of decimal places to show. Default is defined based on which currency is used. |
|
240 | * number of decimal places to show. Default is defined based on which currency is used. | |
241 | */ |
|
241 | */ | |
242 | places?: number; |
|
242 | places?: string | number; | |
243 | } |
|
243 | } | |
244 |
|
244 | |||
245 | interface CurrencyParseOptions extends NumberParseOptions { |
|
245 | interface CurrencyParseOptions extends NumberParseOptions { | |
@@ -264,7 +264,7 declare namespace dojo { | |||||
264 | /** |
|
264 | /** | |
265 | * number of decimal places to show. Default is defined based on which currency is used. |
|
265 | * number of decimal places to show. Default is defined based on which currency is used. | |
266 | */ |
|
266 | */ | |
267 | places?: number; |
|
267 | places?: number | string; | |
268 |
|
268 | |||
269 | /** |
|
269 | /** | |
270 | * Whether to include the fractional portion, where the number of decimal places are implied by the currency |
|
270 | * Whether to include the fractional portion, where the number of decimal places are implied by the currency | |
@@ -783,13 +783,17 declare namespace dojo { | |||||
783 |
|
783 | |||
784 | /* dojo/Evented */ |
|
784 | /* dojo/Evented */ | |
785 |
|
785 | |||
786 | interface Evented { |
|
786 | interface Evented<EM extends { [e in string]: any; } = any> { | |
787 | on(type: string | ExtensionEvent, listener: EventListener | Function): Handle; |
|
787 | on<E extends keyof EM>(type: E, listener: (this: this, ...args: EM[E] extends any[] ? EM[E]: [EM[E]]) => void ): Handle; | |
788 | emit(type: string | ExtensionEvent, ...events: any[]): boolean; |
|
788 | ||
|
789 | on(type: ExtensionEvent, listener: (...args: any[]) => void): Handle; | |||
|
790 | ||||
|
791 | emit<E extends keyof EM>(type: E, ...args: EM[E] extends any[] ? EM[E] : [EM[E]] ); | |||
|
792 | emit(type: ExtensionEvent, ...events: any[]): boolean; | |||
789 | } |
|
793 | } | |
790 |
|
794 | |||
791 | interface EventedConstructor extends _base.DeclareConstructor<Evented> { |
|
795 | interface EventedConstructor extends _base.DeclareConstructor<Evented> { | |
792 | new (params?: Object): Evented; |
|
796 | new <T>(params?: Object): Evented<T>; | |
793 | } |
|
797 | } | |
794 |
|
798 | |||
795 | /* dojo/fx */ |
|
799 | /* dojo/fx */ | |
@@ -1238,7 +1242,7 declare namespace dojo { | |||||
1238 | * fixed number of decimal places to show. This overrides any |
|
1242 | * fixed number of decimal places to show. This overrides any | |
1239 | * information in the provided pattern. |
|
1243 | * information in the provided pattern. | |
1240 | */ |
|
1244 | */ | |
1241 | places?: number; |
|
1245 | places?: number | string; | |
1242 |
|
1246 | |||
1243 | /** |
|
1247 | /** | |
1244 | * 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1 |
|
1248 | * 5 rounds to nearest .5; 0 rounds to nearest whole (default). -1 | |
@@ -1353,7 +1357,7 declare namespace dojo { | |||||
1353 | * not given, the decimal part is optional and the number of places is |
|
1357 | * not given, the decimal part is optional and the number of places is | |
1354 | * unlimited. |
|
1358 | * unlimited. | |
1355 | */ |
|
1359 | */ | |
1356 | places?: number; |
|
1360 | places?: number | string; | |
1357 |
|
1361 | |||
1358 | /** |
|
1362 | /** | |
1359 | * A string for the character used as the decimal point. Default |
|
1363 | * A string for the character used as the decimal point. Default |
@@ -420,7 +420,7 declare module 'dojo/errors/RequestTimeo | |||||
420 | } |
|
420 | } | |
421 |
|
421 | |||
422 | declare module 'dojo/Evented' { |
|
422 | declare module 'dojo/Evented' { | |
423 | type Evented = dojo.Evented; |
|
423 | type Evented<T> = dojo.Evented<T>; | |
424 | const Evented: dojo.EventedConstructor; |
|
424 | const Evented: dojo.EventedConstructor; | |
425 | export = Evented; |
|
425 | export = Evented; | |
426 | } |
|
426 | } |
@@ -1,6 +1,6 | |||||
1 | import "dojo/NodeList-fx"; |
|
1 | import * as NodeList from "dojo/NodeList-fx"; | |
2 |
|
2 | |||
3 |
|
|
3 | const nl: dojo.NodeList<Node> = new NodeList(); | |
4 |
|
4 | |||
5 | const anim: dojo._base.Animation = nl.fadeIn(); |
|
5 | const anim: dojo._base.Animation = nl.fadeIn(); | |
6 | const anim2: dojo._base.Animation = nl.fadeIn({duration: 500}); |
|
6 | const anim2: dojo._base.Animation = nl.fadeIn({duration: 500}); |
@@ -53,7 +53,7 w.emit("click", {} ); | |||||
53 |
|
53 | |||
54 | w.emit("click", {} ); |
|
54 | w.emit("click", {} ); | |
55 |
|
55 | |||
56 | w.emit("some-extra-event", {}); |
|
56 | w.emit<any>("some-extra-event", {}); | |
57 |
|
57 | |||
58 | w.on("click", e => e); |
|
58 | w.on("click", e => e); | |
59 | w.on("some-extra-event", e => e); |
|
59 | w.on<any>("some-extra-event", e => e); |
General Comments 0
You need to be logged in to leave comments.
Login now