##// 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 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 /**
739 * Corresponds to the native HTML `<input>` element's attribute.
740 */
748
749 /** Corresponds to the native HTML `<input>` element's attribute. */
741 750 alt: string;
742 751
743 /**
744 * Corresponds to the native HTML `<input>` element's attribute.
745 */
752 /** Corresponds to the native HTML `<input>` element's attribute. */
746 753 value: any;
747 754
748 /**
749 * Corresponds to the native HTML `<input>` element's attribute.
750 */
755 /** Corresponds to the native HTML `<input>` element's attribute. */
751 756 type: string;
752 757
753 /**
754 * Apply aria-label in markup to the widget's focusNode
755 */
756 'aria-label': string;
758 /** Apply aria-label in markup to the widget's focusNode */
759 "aria-label": "focusNode";
757 760
758 /**
759 * Order fields are traversed when user hits the tab key
760 */
761 /** Order fields are traversed when user hits the tab key */
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 /**
770 * Fires onChange for each value change or only on demand
771 */
769 /** Fires onChange for each value change or only on demand */
772 770 intermediateChanges: boolean;
773 771
774 /**
775 * On focus, should this widget scroll into view?
776 */
772 /** On focus, should this widget scroll into view? */
777 773 scrollOnFocus: boolean;
778 774
779 /**
780 * Tells if this widget is focusable or not. Used internally by dijit.
775 _setDisabledAttr(value: boolean): void;
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 /**
785 * Put focus on this widget
786 */
784 /** Put focus on this widget */
787 785 focus(): void;
788 786
789 /**
790 * Compare 2 values (as returned by get('value') for this widget).
787 /** 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 /**
795 * Callback when this widget's value is changed.
796 */
797 onChange(value: string): void;
792 onChange(newValue: any): 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;
805
806 // set(name: 'disabled', value: boolean): this;
807 // set(name: string, value: any): this;
808 // set(values: Object): this;
806 /**
807 * Called when the value of the widget has changed. Saves the new value in this.value,
808 * and calls onChange() if appropriate. See _FormWidget._handleOnChange() for details.
809 *
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 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 112 declare module 'dijit/DropDownMenu' {
106 113 type DropDownMenu = dijit.DropDownMenu;
107 114 const DropDownMenu: dijit.DropDownMenuConstructor;
@@ -252,6 +259,18 declare module 'dijit/form/_FormMixin' {
252 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 274 declare module 'dijit/form/_FormValueWidget' {
256 275 type _FormValueWidget = dijit.form._FormValueWidget;
257 276 const _FormValueWidget: dijit.form._FormValueWidgetConstructor;
@@ -4,43 +4,55
4 4
5 5 declare namespace dojo {
6 6
7 interface NodeListAnimationArgs extends _base.AnimationArguments {
8 auto?: boolean;
7 interface NodeListAnimationArgs extends Omit<_base.AnimationArguments, "node"> {
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 wipeIn(args: NodeListAnimationArgs): _base.Animation | this;
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 wipeOut(args: NodeListAnimationArgs): _base.Animation | this;
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 slideTo(args: NodeListAnimationArgs): _base.Animation | this;
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 fadeIn(args: NodeListAnimationArgs): _base.Animation | this;
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 fadeOut(args: NodeListAnimationArgs): _base.Animation | this;
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 animateProperty(args: NodeListAnimationArgs): _base.Animation | this;
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 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 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 1732 <T extends Node>(...args: T[]): NodeList<T>;
1733 1733
1734 1734 prototype: NodeList<any>;
@@ -1770,6 +1770,9 declare namespace dojo {
1770 1770 * the search by. Returns an instance of NodeList.
1771 1771 */
1772 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 1778 * Test to see if a node matches a selector
@@ -10,7 +10,8
10 10 ],
11 11 "types": [
12 12 "requirejs",
13 "../main/typings"
13 "../main/typings",
14 "../main/typings/dojo/NodeList-fx"
14 15 ],
15 16 "module": "ESNext",
16 17 "target": "ESNext"
General Comments 0
You need to be logged in to leave comments. Login now