##// END OF EJS Templates
Maintenance release...
cin -
r8:b71d8639b457 v1.0.1 default
parent child
Show More
@@ -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 /* dijit/form/_FormWidgetMixin */
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 interface _FormWidgetMixin {
742 interface _FormWidgetMixin {
733 /**
743 /**
734 * Name used when submitting form; same as "name" attribute or plain HTML elements
744 * Name used when submitting form; same as "name" attribute or plain HTML elements
735 */
745 */
736 name: string;
746 name: string;
737
747
738 /**
748
739 * Corresponds to the native HTML `<input>` element's attribute.
749 /** Corresponds to the native HTML `<input>` element's attribute. */
740 */
741 alt: string;
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 type: string;
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 tabIndex: number;
762 tabIndex: number;
762
763
763 /**
764 /** Should this widget respond to user input?
764 * Should this widget respond to user input?
765 * In markup, this is specified as "disabled='disabled'", or just "disabled".
765 * In markup, this is specified as "disabled='disabled'", or just "disabled".
766 */
766 */
767 disabled: boolean;
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 intermediateChanges: boolean;
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 scrollOnFocus: boolean;
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 isFocusable(): boolean;
782 isFocusable(): boolean;
783
783
784 /**
784 /** Put focus on this widget */
785 * Put focus on this widget
786 */
787 focus(): void;
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 compare(val1: any, val2: any): number;
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 /* dijit/form/_ListBase */
816 /* dijit/form/_ListBase */
@@ -1807,15 +1812,7 declare namespace dijit {
1807 /* dijit/form/TextBox */
1812 /* dijit/form/TextBox */
1808
1813
1809 interface TextBox extends _FormValueWidget, _TextBoxMixin<Constraints> {
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 interface TextBoxConstructor extends _WidgetBaseConstructor<TextBox> { }
1818 interface TextBoxConstructor extends _WidgetBaseConstructor<TextBox> { }
@@ -1826,10 +1823,6 declare namespace dijit {
1826 baseClass: string;
1823 baseClass: string;
1827
1824
1828 setChecked(checked: boolean): void;
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 interface ToggleButtonConstructor extends _WidgetBaseConstructor<ToggleButton> { }
1828 interface ToggleButtonConstructor extends _WidgetBaseConstructor<ToggleButton> { }
@@ -1866,20 +1859,6 declare namespace dijit {
1866 reset(): void;
1859 reset(): void;
1867
1860
1868 destroy(preserveDom?: boolean): void;
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 interface ValidationTextBoxConstructor extends _WidgetBaseConstructor<ValidationTextBox<Constraints>> {
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 interface NodeListAnimationArgs extends _base.AnimationArguments {
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 interface NodeList<T extends Node> {
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 * wipe in all elements of this NodeList via `dojo/fx.wipeIn()`
21 * wipe in all elements of this NodeList via `dojo/fx.wipeIn()`
16 */
22 */
17 wipeIn(args: NodeListAnimationArgs): _base.Animation | this;
23 wipeIn(args?: NodeListAnimationArgs): _base.Animation;
24 wipeIn(args: NodeListAutoAnimationArgs): this;
18
25
19 /**
26 /**
20 * wipe out all elements of this NodeList via `dojo/fx.wipeOut()`
27 * wipe out all elements of this NodeList via `dojo/fx.wipeOut()`
21 */
28 */
22 wipeOut(args: NodeListAnimationArgs): _base.Animation | this;
29 wipeOut(args?: NodeListAnimationArgs): _base.Animation;
30 wipeOut(args: NodeListAutoAnimationArgs): this;
23
31
24 /**
32 /**
25 * slide all elements of the node list to the specified place via `dojo/fx.slideTo()`
33 * slide all elements of the node list to the specified place via `dojo/fx.slideTo()`
26 */
34 */
27 slideTo(args: NodeListAnimationArgs): _base.Animation | this;
35 slideTo(args?: NodeListAnimationArgs): _base.Animation;
36 slideTo(args: NodeListAutoAnimationArgs): this;
28
37
29 /**
38 /**
30 * fade in all elements of this NodeList via `dojo.fadeIn`
39 * fade in all elements of this NodeList via `dojo.fadeIn`
31 */
40 */
32 fadeIn(args: NodeListAnimationArgs): _base.Animation | this;
41 fadeIn(args?: NodeListAnimationArgs): _base.Animation;
42 fadeIn(args: NodeListAutoAnimationArgs): this;
33
43
34 /**
44 /**
35 * fade out all elements of this NodeList via `dojo.fadeOut`
45 * fade out all elements of this NodeList via `dojo.fadeOut`
36 */
46 */
37 fadeOut(args: NodeListAnimationArgs): _base.Animation | this;
47 fadeOut(args?: NodeListAnimationArgs): _base.Animation;
48 fadeOut(args: NodeListAutoAnimationArgs): this;
38
49
39 /**
50 /**
40 * Animate all elements of this NodeList across the properties specified.
51 * Animate all elements of this NodeList across the properties specified.
41 * syntax identical to `dojo.animateProperty`
52 * syntax identical to `dojo.animateProperty`
42 */
53 */
43 animateProperty(args: NodeListAnimationArgs): _base.Animation | this;
54 animateProperty(args?: NodeListAnimationArgs): _base.Animation;
55 animateProperty(args: NodeListAutoAnimationArgs): this;
44
56
45 /**
57 /**
46 * Animate one or more CSS properties for all nodes in this list.
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
@@ -10,7 +10,8
10 ],
10 ],
11 "types": [
11 "types": [
12 "requirejs",
12 "requirejs",
13 "../main/typings"
13 "../main/typings",
14 "../main/typings/dojo/NodeList-fx"
14 ],
15 ],
15 "module": "ESNext",
16 "module": "ESNext",
16 "target": "ESNext"
17 "target": "ESNext"
General Comments 0
You need to be logged in to leave comments. Login now