@@ -0,0 +1,33 | |||||
|
1 | # dojo-typings | |||
|
2 | ||||
|
3 | This project is forked from the original `dojo-typings` package to | |||
|
4 | improve it with more tight and customizable type definitions. | |||
|
5 | ||||
|
6 | The primary aims are | |||
|
7 | ||||
|
8 | * Parametrize collections with items type. | |||
|
9 | * Distinguish sync and async methods in stores. | |||
|
10 | * Parametrize widget typings with event and attribute maps. | |||
|
11 | ||||
|
12 | ## Changes | |||
|
13 | ||||
|
14 | ### 1.0.1 | |||
|
15 | ||||
|
16 | Maintenance release | |||
|
17 | ||||
|
18 | * `NodeList-fx` added overloads to all methods to distinguish returned values | |||
|
19 | of different types (`Animation | this`). | |||
|
20 | * Added missing signatures to `NodeList` constructor | |||
|
21 | * Improved `dijit.form._FormWidgetMixin` | |||
|
22 | * Added module declarations `dijit/form/_FormWidgetMixin`, | |||
|
23 | `dijit/form/_FormValueMixin`, `dijit/_HasDropDown` | |||
|
24 | ||||
|
25 | ### 1.0.0 | |||
|
26 | ||||
|
27 | Initial release | |||
|
28 | ||||
|
29 | * Parametrized `dojo/Stateful`, `diji/_WidgetBase` | |||
|
30 | * split `dojo.store.api.Store` in two `SyncStore` and `AsyncStore` interfaces | |||
|
31 | * `dojo/store/Memory` implements `SyncStore` and can be used synchronously, | |||
|
32 | * `dojo/store/Rest` implements `AsyncStore` and all its methods are | |||
|
33 | returning explicit promises. |
@@ -0,0 +1,8 | |||||
|
1 | import "dojo/NodeList-fx"; | |||
|
2 | ||||
|
3 | declare const nl: dojo.NodeList<Node>; | |||
|
4 | ||||
|
5 | const anim: dojo._base.Animation = nl.fadeIn(); | |||
|
6 | const anim2: dojo._base.Animation = nl.fadeIn({duration: 500}); | |||
|
7 | const nl2: typeof nl = nl.fadeOut({auto: true, onEnd: () => {}}); | |||
|
8 | const other = nl.fadeOut({auto: false}); No newline at end of file |
@@ -729,83 +729,88 declare namespace dijit { | |||||
729 |
|
729 | |||
730 |
|
|
730 | /* dijit/form/_FormWidgetMixin */ | |
731 |
|
731 | |||
|
732 | /** | |||
|
733 | * Mixin for widgets corresponding to native HTML elements such as `<checkbox>` or `<button>`, | |||
|
734 | * which can be children of a `<form>` node or a `dijit/form/Form` widget. | |||
|
735 | * | |||
|
736 | * Represents a single HTML element. | |||
|
737 | * All these widgets should have these attributes just like native HTML input elements. | |||
|
738 | * You can set them during widget construction or afterwards, via `dijit/_WidgetBase.set()`. | |||
|
739 | * | |||
|
740 | * They also share some common methods. | |||
|
741 | */ | |||
732 |
|
|
742 | interface _FormWidgetMixin { | |
733 | /** |
|
743 | /** | |
734 |
|
|
744 | * Name used when submitting form; same as "name" attribute or plain HTML elements | |
735 | */ |
|
745 | */ | |
736 |
|
|
746 | name: string; | |
737 |
|
747 | |||
738 | /** |
|
748 | ||
739 |
|
|
749 | /** Corresponds to the native HTML `<input>` element's attribute. */ | |
740 | */ |
|
|||
741 |
|
|
750 | alt: string; | |
742 |
|
751 | |||
743 | /** |
|
752 | /** Corresponds to the native HTML `<input>` element's attribute. */ | |
744 | * Corresponds to the native HTML `<input>` element's attribute. |
|
|||
745 | */ |
|
|||
746 | value: any; |
|
753 | value: any; | |
747 |
|
754 | |||
748 | /** |
|
755 | /** Corresponds to the native HTML `<input>` element's attribute. */ | |
749 | * Corresponds to the native HTML `<input>` element's attribute. |
|
|||
750 | */ |
|
|||
751 |
|
|
756 | type: string; | |
752 |
|
757 | |||
753 | /** |
|
758 | /** Apply aria-label in markup to the widget's focusNode */ | |
754 | * Apply aria-label in markup to the widget's focusNode |
|
759 | "aria-label": "focusNode"; | |
755 | */ |
|
|||
756 | 'aria-label': string; |
|
|||
757 |
|
760 | |||
758 | /** |
|
761 | /** Order fields are traversed when user hits the tab key */ | |
759 | * Order fields are traversed when user hits the tab key |
|
|||
760 | */ |
|
|||
761 |
|
|
762 | tabIndex: number; | |
762 |
|
763 | |||
763 | /** |
|
764 | /** Should this widget respond to user input? | |
764 | * Should this widget respond to user input? |
|
|||
765 |
|
|
765 | * In markup, this is specified as "disabled='disabled'", or just "disabled". | |
766 | */ |
|
766 | */ | |
767 |
|
|
767 | disabled: boolean; | |
768 |
|
768 | |||
769 | /** |
|
769 | /** Fires onChange for each value change or only on demand */ | |
770 | * Fires onChange for each value change or only on demand |
|
|||
771 | */ |
|
|||
772 |
|
|
770 | intermediateChanges: boolean; | |
773 |
|
771 | |||
774 | /** |
|
772 | /** On focus, should this widget scroll into view? */ | |
775 | * On focus, should this widget scroll into view? |
|
|||
776 | */ |
|
|||
777 |
|
|
773 | scrollOnFocus: boolean; | |
778 |
|
774 | |||
779 | /** |
|
775 | _setDisabledAttr(value: boolean): void; | |
780 | * Tells if this widget is focusable or not. Used internally by dijit. |
|
776 | ||
|
777 | _onFocus(by: string): void; | |||
|
778 | ||||
|
779 | /** Tells if this widget is focusable or not. Used internally by dijit. | |||
|
780 | * @protected | |||
781 | */ |
|
781 | */ | |
782 |
|
|
782 | isFocusable(): boolean; | |
783 |
|
783 | |||
784 | /** |
|
784 | /** Put focus on this widget */ | |
785 | * Put focus on this widget |
|
|||
786 | */ |
|
|||
787 |
|
|
785 | focus(): void; | |
788 |
|
786 | |||
789 | /** |
|
787 | /** Compare 2 values (as returned by get('value') for this widget). | |
790 | * Compare 2 values (as returned by get('value') for this widget). |
|
788 | * @protected | |
791 | */ |
|
789 | */ | |
792 |
|
|
790 | compare(val1: any, val2: any): number; | |
793 |
|
791 | |||
794 | /** |
|
792 | onChange(newValue: any): void; | |
795 | * Callback when this widget's value is changed. |
|
|||
796 | */ |
|
|||
797 | onChange(value: string): void; |
|
|||
798 |
|
793 | |||
799 | /** |
|
794 | /** | |
800 | * Overrides _Widget.create() |
|
795 | * Hook so set('value', value) works. | |
|
796 | * | |||
|
797 | * Sets the value of the widget. | |||
|
798 | * If the value has changed, then fire onChange event, unless priorityChange | |||
|
799 | * is specified as null (or false?) | |||
|
800 | * | |||
|
801 | * @param value | |||
|
802 | * @param priorityChange | |||
801 | */ |
|
803 | */ | |
802 | create(params?: any, srcNodeRef?: HTMLElement): void; |
|
804 | _setValueAttr(value: any, priorityChange?: boolean); | |
803 |
|
805 | |||
804 | destroy(preserveDom?: boolean): void; |
|
806 | /** | |
805 |
|
807 | * Called when the value of the widget has changed. Saves the new value in this.value, | ||
806 | // set(name: 'disabled', value: boolean): this; |
|
808 | * and calls onChange() if appropriate. See _FormWidget._handleOnChange() for details. | |
807 | // set(name: string, value: any): this; |
|
809 | * | |
808 | // set(values: Object): this; |
|
810 | * @param newValue | |
|
811 | * @param priorityChange | |||
|
812 | */ | |||
|
813 | _handleOnChange(newValue: any, priorityChange?: boolean); | |||
809 | } |
|
814 | } | |
810 |
|
815 | |||
811 |
|
|
816 | /* dijit/form/_ListBase */ | |
@@ -1807,15 +1812,7 declare namespace dijit { | |||||
1807 |
|
|
1812 | /* dijit/form/TextBox */ | |
1808 |
|
1813 | |||
1809 |
|
|
1814 | interface TextBox extends _FormValueWidget, _TextBoxMixin<Constraints> { | |
1810 | // set(name: 'displayedValue', value: string): this; |
|
|||
1811 | // set(name: 'disabled', value: boolean): this; |
|
|||
1812 | // set(name: 'value', value: string): this; |
|
|||
1813 | // set(name: string, value: any): this; |
|
|||
1814 | // set(values: Object): this; |
|
|||
1815 |
|
|
1815 | ||
1816 | // get(name: 'displayedValue'): string; |
|
|||
1817 | // get(name: 'value'): string; |
|
|||
1818 | // get(name: string): any; |
|
|||
1819 | } |
|
1816 | } | |
1820 |
|
1817 | |||
1821 |
|
|
1818 | interface TextBoxConstructor extends _WidgetBaseConstructor<TextBox> { } | |
@@ -1826,10 +1823,6 declare namespace dijit { | |||||
1826 |
|
|
1823 | baseClass: string; | |
1827 |
|
1824 | |||
1828 |
|
|
1825 | setChecked(checked: boolean): void; | |
1829 |
|
||||
1830 | // set(name: 'checked', value: boolean): this; |
|
|||
1831 | // set(name: string, value: any): this; |
|
|||
1832 | // set(values: Object): this; |
|
|||
1833 | } |
|
1826 | } | |
1834 |
|
1827 | |||
1835 |
|
|
1828 | interface ToggleButtonConstructor extends _WidgetBaseConstructor<ToggleButton> { } | |
@@ -1866,20 +1859,6 declare namespace dijit { | |||||
1866 |
|
|
1859 | reset(): void; | |
1867 |
|
1860 | |||
1868 |
|
|
1861 | destroy(preserveDom?: boolean): void; | |
1869 |
|
||||
1870 | // set(name: 'constraints', value: Constraints): this; |
|
|||
1871 | // set(name: 'disabled', value: boolean): this; |
|
|||
1872 | // set(name: 'message', value: string): this; |
|
|||
1873 | // set(name: 'pattern', value: string | ConstraintsToRegExpString<C>): this; |
|
|||
1874 | // set(name: 'regExp', value: string): this; |
|
|||
1875 | // set(name: 'regExpGen', value: Constraints): this; |
|
|||
1876 | // set(name: 'required', value: boolean): this; |
|
|||
1877 | // set(name: 'value', value: string): this; |
|
|||
1878 | // set(name: string, value: any): this; |
|
|||
1879 | // set(values: Object): this; |
|
|||
1880 |
|
||||
1881 | // get(name: 'pattern'): string | ConstraintsToRegExpString<C>; |
|
|||
1882 | // get(name: string): any; |
|
|||
1883 | } |
|
1862 | } | |
1884 |
|
1863 | |||
1885 |
|
|
1864 | interface ValidationTextBoxConstructor extends _WidgetBaseConstructor<ValidationTextBox<Constraints>> { |
@@ -102,6 +102,13 declare module 'dijit/Dialog' { | |||||
102 | export = Dialog; |
|
102 | export = Dialog; | |
103 | } |
|
103 | } | |
104 |
|
104 | |||
|
105 | declare module "dijit/_HasDropDown" { | |||
|
106 | type _HasDropDown<T extends dijit._WidgetBase = dijit._WidgetBase> = dijit._HasDropDown<T>; | |||
|
107 | const _HasDropDown: dijit._WidgetBaseConstructor<_HasDropDown>; | |||
|
108 | ||||
|
109 | export = _HasDropDown; | |||
|
110 | } | |||
|
111 | ||||
105 | declare module 'dijit/DropDownMenu' { |
|
112 | declare module 'dijit/DropDownMenu' { | |
106 | type DropDownMenu = dijit.DropDownMenu; |
|
113 | type DropDownMenu = dijit.DropDownMenu; | |
107 | const DropDownMenu: dijit.DropDownMenuConstructor; |
|
114 | const DropDownMenu: dijit.DropDownMenuConstructor; | |
@@ -252,6 +259,18 declare module 'dijit/form/_FormMixin' { | |||||
252 | export = _FormMixin; |
|
259 | export = _FormMixin; | |
253 | } |
|
260 | } | |
254 |
|
261 | |||
|
262 | declare module "dijit/form/_FormWidgetMixin" { | |||
|
263 | type _FormWidgetMixin = dijit.form._FormWidgetMixin; | |||
|
264 | const _FormWidgetMixin: dijit._WidgetBaseConstructor<_FormWidgetMixin>; | |||
|
265 | export = _FormWidgetMixin; | |||
|
266 | } | |||
|
267 | ||||
|
268 | declare module "dijit/form/_FormValueMixin" { | |||
|
269 | type _FormValueMixin = dijit.form._FormValueMixin; | |||
|
270 | const _FormValueMixin: dijit._WidgetBaseConstructor<_FormValueMixin>; | |||
|
271 | export = _FormValueMixin; | |||
|
272 | } | |||
|
273 | ||||
255 | declare module 'dijit/form/_FormValueWidget' { |
|
274 | declare module 'dijit/form/_FormValueWidget' { | |
256 | type _FormValueWidget = dijit.form._FormValueWidget; |
|
275 | type _FormValueWidget = dijit.form._FormValueWidget; | |
257 | const _FormValueWidget: dijit.form._FormValueWidgetConstructor; |
|
276 | const _FormValueWidget: dijit.form._FormValueWidgetConstructor; |
@@ -4,43 +4,55 | |||||
4 |
|
4 | |||
5 | declare namespace dojo { |
|
5 | declare namespace dojo { | |
6 |
|
6 | |||
7 |
|
|
7 | interface NodeListAnimationArgs extends Omit<_base.AnimationArguments, "node"> { | |
8 | auto?: boolean; |
|
8 | auto?: false; | |
|
9 | } | |||
|
10 | ||||
|
11 | interface NodeListAutoAnimationArgs extends Omit<_base.AnimationArguments, "node"> { | |||
|
12 | auto: true; | |||
9 | } |
|
13 | } | |
10 |
|
14 | |||
11 |
|
|
15 | interface NodeList<T extends Node> { | |
12 | _anim(obj: any, method: string, args?: NodeListAnimationArgs): _base.Animation | this; |
|
16 | ||
|
17 | _anim(obj: any, method: string, args?: NodeListAnimationArgs): _base.Animation; | |||
|
18 | _anim(obj: any, method: string, args: NodeListAutoAnimationArgs): this; | |||
13 |
|
19 | |||
14 | /** |
|
20 | /** | |
15 |
|
|
21 | * wipe in all elements of this NodeList via `dojo/fx.wipeIn()` | |
16 | */ |
|
22 | */ | |
17 |
|
|
23 | wipeIn(args?: NodeListAnimationArgs): _base.Animation; | |
|
24 | wipeIn(args: NodeListAutoAnimationArgs): this; | |||
18 |
|
25 | |||
19 | /** |
|
26 | /** | |
20 |
|
|
27 | * wipe out all elements of this NodeList via `dojo/fx.wipeOut()` | |
21 | */ |
|
28 | */ | |
22 |
|
|
29 | wipeOut(args?: NodeListAnimationArgs): _base.Animation; | |
|
30 | wipeOut(args: NodeListAutoAnimationArgs): this; | |||
23 |
|
31 | |||
24 | /** |
|
32 | /** | |
25 |
|
|
33 | * slide all elements of the node list to the specified place via `dojo/fx.slideTo()` | |
26 | */ |
|
34 | */ | |
27 |
|
|
35 | slideTo(args?: NodeListAnimationArgs): _base.Animation; | |
|
36 | slideTo(args: NodeListAutoAnimationArgs): this; | |||
28 |
|
37 | |||
29 | /** |
|
38 | /** | |
30 |
|
|
39 | * fade in all elements of this NodeList via `dojo.fadeIn` | |
31 | */ |
|
40 | */ | |
32 |
|
|
41 | fadeIn(args?: NodeListAnimationArgs): _base.Animation; | |
|
42 | fadeIn(args: NodeListAutoAnimationArgs): this; | |||
33 |
|
43 | |||
34 | /** |
|
44 | /** | |
35 |
|
|
45 | * fade out all elements of this NodeList via `dojo.fadeOut` | |
36 | */ |
|
46 | */ | |
37 |
|
|
47 | fadeOut(args?: NodeListAnimationArgs): _base.Animation; | |
|
48 | fadeOut(args: NodeListAutoAnimationArgs): this; | |||
38 |
|
49 | |||
39 | /** |
|
50 | /** | |
40 |
|
|
51 | * Animate all elements of this NodeList across the properties specified. | |
41 |
|
|
52 | * syntax identical to `dojo.animateProperty` | |
42 | */ |
|
53 | */ | |
43 |
|
|
54 | animateProperty(args?: NodeListAnimationArgs): _base.Animation; | |
|
55 | animateProperty(args: NodeListAutoAnimationArgs): this; | |||
44 |
|
56 | |||
45 | /** |
|
57 | /** | |
46 |
|
|
58 | * Animate one or more CSS properties for all nodes in this list. |
@@ -1726,9 +1726,9 declare namespace dojo { | |||||
1726 | } |
|
1726 | } | |
1727 |
|
1727 | |||
1728 | interface NodeListConstructor { |
|
1728 | interface NodeListConstructor { | |
1729 | new <T extends Node>(array: number | Array<T>): NodeList<T>; |
|
1729 | new <T extends Node>(array: number | Array<T> | NodeListOf<T>): NodeList<T>; | |
1730 | new <T extends Node>(...args: T[]): NodeList<T>; |
|
1730 | new <T extends Node>(...args: T[]): NodeList<T>; | |
1731 | <T extends Node>(array: number | Array<T>): NodeList<T>; |
|
1731 | <T extends Node>(array: number | Array<T> | NodeListOf<T>): NodeList<T>; | |
1732 | <T extends Node>(...args: T[]): NodeList<T>; |
|
1732 | <T extends Node>(...args: T[]): NodeList<T>; | |
1733 |
|
1733 | |||
1734 | prototype: NodeList<any>; |
|
1734 | prototype: NodeList<any>; | |
@@ -1770,6 +1770,9 declare namespace dojo { | |||||
1770 | * the search by. Returns an instance of NodeList. |
|
1770 | * the search by. Returns an instance of NodeList. | |
1771 | */ |
|
1771 | */ | |
1772 | <T extends Node>(query: string, root?: NodeOrString): NodeList<T>; |
|
1772 | <T extends Node>(query: string, root?: NodeOrString): NodeList<T>; | |
|
1773 | <T extends Node>(root: Node): NodeList<T>; | |||
|
1774 | ||||
|
1775 | NodeList: NodeListConstructor; | |||
1773 |
|
1776 | |||
1774 | /** |
|
1777 | /** | |
1775 | * Test to see if a node matches a selector |
|
1778 | * Test to see if a node matches a selector |
General Comments 0
You need to be logged in to leave comments.
Login now