@rolster/forms 2.2.2 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arguments/package.json +8 -0
- package/dist/cjs/arguments.js +54 -0
- package/dist/cjs/arguments.js.map +1 -0
- package/dist/cjs/helpers.js +5 -16
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/index.js +43 -70
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/arguments.js +48 -0
- package/dist/es/arguments.js.map +1 -0
- package/dist/es/helpers.js +3 -14
- package/dist/es/helpers.js.map +1 -1
- package/dist/es/index.js +39 -63
- package/dist/es/index.js.map +1 -1
- package/dist/esm/form-array/form-array-group.d.ts +3 -3
- package/dist/esm/form-array/form-array-group.js.map +1 -1
- package/dist/esm/form-array/form-array.d.ts +22 -16
- package/dist/esm/form-array/form-array.js +21 -8
- package/dist/esm/form-array/form-array.js.map +1 -1
- package/dist/esm/form-array/index.d.ts +2 -1
- package/dist/esm/form-array/index.js +1 -0
- package/dist/esm/form-array/index.js.map +1 -1
- package/dist/esm/form-array/types.d.ts +2 -0
- package/dist/esm/form-array/types.js +2 -0
- package/dist/esm/form-array/types.js.map +1 -0
- package/dist/esm/form-control.d.ts +0 -2
- package/dist/esm/form-control.js +8 -11
- package/dist/esm/form-control.js.map +1 -1
- package/dist/esm/form-group.d.ts +6 -6
- package/dist/esm/form-group.js +6 -6
- package/dist/esm/form-group.js.map +1 -1
- package/dist/esm/helpers.js +2 -2
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +48 -42
- package/package.json +8 -1
package/dist/esm/form-control.js
CHANGED
|
@@ -60,21 +60,16 @@ export class FormControl {
|
|
|
60
60
|
}
|
|
61
61
|
reset() {
|
|
62
62
|
this.setState(this.initialState);
|
|
63
|
-
this.untouch();
|
|
64
63
|
this.currentDirty = false;
|
|
64
|
+
this.currentTouched = false;
|
|
65
65
|
}
|
|
66
66
|
focus() {
|
|
67
67
|
this.currentFocused = true;
|
|
68
|
+
this.currentTouched = true;
|
|
68
69
|
}
|
|
69
70
|
blur() {
|
|
70
71
|
this.currentFocused = false;
|
|
71
72
|
}
|
|
72
|
-
touch() {
|
|
73
|
-
this.currentTouched = true;
|
|
74
|
-
}
|
|
75
|
-
untouch() {
|
|
76
|
-
this.currentTouched = false;
|
|
77
|
-
}
|
|
78
73
|
disable() {
|
|
79
74
|
this.currentDisabled = true;
|
|
80
75
|
}
|
|
@@ -82,10 +77,12 @@ export class FormControl {
|
|
|
82
77
|
this.currentDisabled = false;
|
|
83
78
|
}
|
|
84
79
|
setState(state) {
|
|
85
|
-
this.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
if (this.enabled) {
|
|
81
|
+
this.currentState = state;
|
|
82
|
+
this.currentDirty = true;
|
|
83
|
+
this.updateValueAndValidity(state, this.validators);
|
|
84
|
+
this.observable.next(state);
|
|
85
|
+
}
|
|
89
86
|
}
|
|
90
87
|
setValidators(validators = []) {
|
|
91
88
|
this.validators = validators;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAS3C,MAAM,OAAO,WAAW;IA0BtB,YACE,YAAwC,EACxC,iBAAoC;QA3B9B,mBAAc,GAAG,KAAK,CAAC;QAEvB,mBAAc,GAAG,KAAK,CAAC;QAEvB,iBAAY,GAAG,KAAK,CAAC;QAErB,oBAAe,GAAG,KAAK,CAAC;QAExB,iBAAY,GAAG,IAAI,CAAC;QAQpB,kBAAa,GAAqB,EAAE,CAAC;QAa3C,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,wBAAwB,CACpD,YAAY,EACZ,iBAAiB,CAClB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;IAC9B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;IAC9B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;IACtC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/form-group.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ValidatorError } from '@rolster/validators';
|
|
2
|
-
import {
|
|
2
|
+
import { AbstractControls, AbstractReactiveControl, AbstractReactiveGroup, FormGroupOptions, StateGroup, SubscriberGroup, ValidatorGroupFn } from './types';
|
|
3
3
|
export type FormControls<T extends AbstractReactiveControl = AbstractReactiveControl> = AbstractControls<T>;
|
|
4
|
-
export declare class FormGroup<C extends FormControls = FormControls> implements
|
|
4
|
+
export declare class FormGroup<C extends FormControls = FormControls> implements AbstractReactiveGroup<C> {
|
|
5
5
|
protected currentControls: C;
|
|
6
6
|
private currentError?;
|
|
7
7
|
private currentErrors;
|
|
@@ -12,13 +12,13 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
|
|
|
12
12
|
constructor(controls: C, validators?: ValidatorGroupFn<C>[]);
|
|
13
13
|
get controls(): C;
|
|
14
14
|
get touched(): boolean;
|
|
15
|
-
get
|
|
15
|
+
get touchedAll(): boolean;
|
|
16
16
|
get untouched(): boolean;
|
|
17
|
-
get
|
|
17
|
+
get untouchedAll(): boolean;
|
|
18
18
|
get dirty(): boolean;
|
|
19
|
-
get
|
|
19
|
+
get dirtyAll(): boolean;
|
|
20
20
|
get pristine(): boolean;
|
|
21
|
-
get
|
|
21
|
+
get pristineAll(): boolean;
|
|
22
22
|
get valid(): boolean;
|
|
23
23
|
get invalid(): boolean;
|
|
24
24
|
get state(): StateGroup<C>;
|
package/dist/esm/form-group.js
CHANGED
|
@@ -23,26 +23,26 @@ export class FormGroup {
|
|
|
23
23
|
get touched() {
|
|
24
24
|
return controlsPartialChecked(this.controls, 'touched');
|
|
25
25
|
}
|
|
26
|
-
get
|
|
26
|
+
get touchedAll() {
|
|
27
27
|
return controlsAllChecked(this.controls, 'touched');
|
|
28
28
|
}
|
|
29
29
|
get untouched() {
|
|
30
30
|
return !this.touched;
|
|
31
31
|
}
|
|
32
|
-
get
|
|
33
|
-
return !this.
|
|
32
|
+
get untouchedAll() {
|
|
33
|
+
return !this.touchedAll;
|
|
34
34
|
}
|
|
35
35
|
get dirty() {
|
|
36
36
|
return controlsPartialChecked(this.controls, 'dirty');
|
|
37
37
|
}
|
|
38
|
-
get
|
|
38
|
+
get dirtyAll() {
|
|
39
39
|
return controlsAllChecked(this.controls, 'dirty');
|
|
40
40
|
}
|
|
41
41
|
get pristine() {
|
|
42
42
|
return !this.dirty;
|
|
43
43
|
}
|
|
44
|
-
get
|
|
45
|
-
return this.
|
|
44
|
+
get pristineAll() {
|
|
45
|
+
return this.dirtyAll;
|
|
46
46
|
}
|
|
47
47
|
get valid() {
|
|
48
48
|
return this.currentValid && controlsAllChecked(this.controls, 'valid');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -9,10 +9,10 @@ export const controlIsValid = ({ state, validators }) => {
|
|
|
9
9
|
}, []);
|
|
10
10
|
};
|
|
11
11
|
export const controlsAllChecked = (controls, key) => {
|
|
12
|
-
return Object.values(controls).reduce((value, control) => value && parseBoolean(control[key]), true);
|
|
12
|
+
return Object.values(controls).reduce((value, control) => control.disabled ? value : value && parseBoolean(control[key]), true);
|
|
13
13
|
};
|
|
14
14
|
export const controlsPartialChecked = (controls, key) => {
|
|
15
|
-
return Object.values(controls).reduce((value, control) => value || parseBoolean(control[key]), false);
|
|
15
|
+
return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);
|
|
16
16
|
};
|
|
17
17
|
export const controlsToState = (controls) => {
|
|
18
18
|
return Object.entries(controls).reduce((result, [key, { state }]) => {
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgChD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,EAChC,KAAK,EACL,UAAU,EACa,EAAoB,EAAE;IAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAsB,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA6B,EAC7B,GAAY,EACH,EAAE;IACX,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgChD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,EAChC,KAAK,EACL,UAAU,EACa,EAAoB,EAAE;IAC7C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAsB,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA6B,EAC7B,GAAY,EACH,EAAE;IACX,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACjB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAChE,IAAI,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAA6B,EAC7B,GAAY,EACH,EAAE;IACX,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACjB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAChE,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAW,EACI,EAAE;IACjB,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,MAAM,CAAC,GAAc,CAAC,GAAG,KAAK,CAAC;QAE/B,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAmB,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAA6B,EACvD,QAAQ,EACR,UAAU,EACW,EAAoB,EAAE;IAC3C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElC,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAsB,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAC7B,MAA0B,EAC1B,GAA2B;IAE3B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACnD,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAA0B,EAC1B,GAA2B;IAE3B,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EACnD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAG1B,EACA,MAAM,EACN,UAAU,EACc,EAAoB,EAAE;IAC9C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAsB,CAAC,CAAC;AAC7B,CAAC,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { createFormArrayOptions, createFormControlOptions, createFormGroupOptions } from './arguments';
|
|
2
1
|
export { FormArray, FormArrayControl, FormArrayControls, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
|
|
3
2
|
export { FormControl, formControl } from './form-control';
|
|
4
3
|
export { FormControls, FormGroup, formGroup } from './form-group';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export { createFormArrayOptions, createFormControlOptions, createFormGroupOptions } from './arguments';
|
|
2
1
|
export { FormArray, FormArrayControl, FormArrayGroup, formArray, formArrayControl, formArrayGroup } from './form-array';
|
|
3
2
|
export { FormControl, formControl } from './form-control';
|
|
4
3
|
export { FormGroup, formGroup } from './form-group';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAEhB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAgB,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,cAAc,SAAS,CAAC"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -5,51 +5,49 @@ export interface ValidationFormError<T = any> extends ValidatorError<T> {
|
|
|
5
5
|
}
|
|
6
6
|
export type SubscriberControl<T> = (state: T) => void;
|
|
7
7
|
export interface AbstractControl<T = any> {
|
|
8
|
-
dirty: boolean;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
readonly dirty: boolean;
|
|
9
|
+
readonly disabled: boolean;
|
|
10
|
+
readonly enabled: boolean;
|
|
11
|
+
readonly errors: ValidatorError[];
|
|
12
|
+
readonly invalid: boolean;
|
|
13
|
+
readonly pristine: boolean;
|
|
12
14
|
reset: () => void;
|
|
13
|
-
touched: boolean;
|
|
14
|
-
untouched: boolean;
|
|
15
|
-
valid: boolean;
|
|
16
|
-
wrong: boolean;
|
|
17
|
-
error?: ValidatorError;
|
|
18
|
-
state?: T;
|
|
15
|
+
readonly touched: boolean;
|
|
16
|
+
readonly untouched: boolean;
|
|
17
|
+
readonly valid: boolean;
|
|
18
|
+
readonly wrong: boolean;
|
|
19
|
+
readonly error?: ValidatorError;
|
|
20
|
+
readonly state?: T;
|
|
19
21
|
}
|
|
20
22
|
export interface AbstractFormControl<T = any> extends AbstractControl<T> {
|
|
21
23
|
blur: () => void;
|
|
22
24
|
disable: () => void;
|
|
23
|
-
disabled: boolean;
|
|
24
25
|
enable: () => void;
|
|
25
|
-
enabled: boolean;
|
|
26
26
|
focus: () => void;
|
|
27
|
-
focused: boolean;
|
|
27
|
+
readonly focused: boolean;
|
|
28
28
|
setState: (state: T) => void;
|
|
29
|
-
touch: () => void;
|
|
30
|
-
unfocused: boolean;
|
|
31
|
-
untouch: () => void;
|
|
32
29
|
setValidators: (validators?: ValidatorFn<T>[]) => void;
|
|
30
|
+
readonly unfocused: boolean;
|
|
33
31
|
}
|
|
34
32
|
export interface AbstractReactiveControl<T = any> extends AbstractFormControl<T> {
|
|
35
33
|
subscribe: (subscriber: SubscriberControl<T>) => Unsubscription;
|
|
36
34
|
}
|
|
37
35
|
export type AbstractControls<T extends AbstractControl = AbstractControl> = Record<string, T>;
|
|
38
36
|
export interface AbstractGroup<T extends AbstractControls = AbstractControls> {
|
|
39
|
-
controls: T;
|
|
40
|
-
dirty: boolean;
|
|
41
|
-
|
|
42
|
-
errors: ValidatorError[];
|
|
43
|
-
invalid: boolean;
|
|
44
|
-
pristine: boolean;
|
|
45
|
-
|
|
46
|
-
touched: boolean;
|
|
47
|
-
|
|
48
|
-
untouched: boolean;
|
|
49
|
-
|
|
50
|
-
valid: boolean;
|
|
51
|
-
wrong: boolean;
|
|
52
|
-
error?: ValidatorError;
|
|
37
|
+
readonly controls: T;
|
|
38
|
+
readonly dirty: boolean;
|
|
39
|
+
readonly dirtyAll: boolean;
|
|
40
|
+
readonly errors: ValidatorError[];
|
|
41
|
+
readonly invalid: boolean;
|
|
42
|
+
readonly pristine: boolean;
|
|
43
|
+
readonly pristineAll: boolean;
|
|
44
|
+
readonly touched: boolean;
|
|
45
|
+
readonly touchedAll: boolean;
|
|
46
|
+
readonly untouched: boolean;
|
|
47
|
+
readonly untouchedAll: boolean;
|
|
48
|
+
readonly valid: boolean;
|
|
49
|
+
readonly wrong: boolean;
|
|
50
|
+
readonly error?: ValidatorError;
|
|
53
51
|
}
|
|
54
52
|
export type StateGroup<C extends AbstractControls = AbstractControls> = {
|
|
55
53
|
[K in keyof C]: C[K]['state'];
|
|
@@ -59,11 +57,13 @@ export type SubscriberGroup<C extends AbstractControls = AbstractControls> = (st
|
|
|
59
57
|
export interface AbstractFormGroup<C extends AbstractControls = AbstractControls> extends AbstractGroup<C> {
|
|
60
58
|
reset: () => void;
|
|
61
59
|
setValidators: (validators: ValidatorGroupFn<C>[]) => void;
|
|
62
|
-
state: StateGroup<C>;
|
|
60
|
+
readonly state: StateGroup<C>;
|
|
61
|
+
}
|
|
62
|
+
export interface AbstractReactiveGroup<C extends AbstractControls = AbstractControls> extends AbstractFormGroup<C> {
|
|
63
63
|
subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
|
|
64
64
|
}
|
|
65
65
|
export interface AbstractArrayControl<T = any> extends AbstractFormControl<T> {
|
|
66
|
-
uuid: string;
|
|
66
|
+
readonly uuid: string;
|
|
67
67
|
}
|
|
68
68
|
export interface AbstractReactiveArrayControl<T = any> extends AbstractArrayControl<T> {
|
|
69
69
|
subscribe: (subscriber: SubscriberControl<T>) => Unsubscription;
|
|
@@ -71,11 +71,13 @@ export interface AbstractReactiveArrayControl<T = any> extends AbstractArrayCont
|
|
|
71
71
|
export type AbstractArrayControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractControls<T>;
|
|
72
72
|
export interface AbstractArrayGroup<C extends AbstractArrayControls, R = any> extends AbstractGroup<C> {
|
|
73
73
|
setValidators: (validators: ValidatorGroupFn<C>[]) => void;
|
|
74
|
-
state: ArrayStateGroup<C>;
|
|
75
|
-
|
|
76
|
-
uuid: string;
|
|
74
|
+
readonly state: ArrayStateGroup<C>;
|
|
75
|
+
readonly uuid: string;
|
|
77
76
|
resource?: R;
|
|
78
77
|
}
|
|
78
|
+
export interface AbstractReactiveArrayGroup<C extends AbstractArrayControls, R = any> extends AbstractArrayGroup<C, R> {
|
|
79
|
+
subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
|
|
80
|
+
}
|
|
79
81
|
export type ArrayStateGroup<C extends AbstractArrayControls> = {
|
|
80
82
|
[K in keyof C]: C[K]['state'];
|
|
81
83
|
};
|
|
@@ -83,19 +85,23 @@ export type ValidatorArrayFn<T extends AbstractArrayControls = AbstractArrayCont
|
|
|
83
85
|
export type ArrayFormControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractArrayControls<T>;
|
|
84
86
|
export type SubscriberArray<C extends ArrayFormControls> = SubscriberControl<ArrayStateGroup<C>[]>;
|
|
85
87
|
export interface AbstractArray<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> extends AbstractControl<ArrayStateGroup<C>[]> {
|
|
86
|
-
controls: C[];
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
readonly controls: C[];
|
|
89
|
+
readonly dirtyAll: boolean;
|
|
90
|
+
disable: () => void;
|
|
91
|
+
enable: () => void;
|
|
92
|
+
readonly groups: G[];
|
|
89
93
|
merge: (groups: G[]) => void;
|
|
90
|
-
|
|
94
|
+
readonly pristineAll: boolean;
|
|
91
95
|
push: (group: G) => void;
|
|
92
96
|
remove: (group: G) => void;
|
|
93
97
|
set: (groups: G[]) => void;
|
|
94
98
|
setValidators: (validators: ValidatorArrayFn<C, R>[]) => void;
|
|
99
|
+
readonly touchedAll: boolean;
|
|
100
|
+
readonly untouchedAll: boolean;
|
|
101
|
+
readonly wrong: boolean;
|
|
102
|
+
}
|
|
103
|
+
export interface AbstractReactiveArray<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> extends AbstractArray<C, R, G> {
|
|
95
104
|
subscribe: (subscriber: SubscriberArray<C>) => Unsubscription;
|
|
96
|
-
toucheds: boolean;
|
|
97
|
-
untoucheds: boolean;
|
|
98
|
-
wrong: boolean;
|
|
99
105
|
}
|
|
100
106
|
export interface FormControlOptions<T = any> {
|
|
101
107
|
state: T;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolster/forms",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "It implements a set of classes that allow managing the control of states of the input components of the UI.",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
],
|
|
17
17
|
"files": [
|
|
18
18
|
"dist/",
|
|
19
|
+
"arguments/",
|
|
19
20
|
"helpers/"
|
|
20
21
|
],
|
|
21
22
|
"exports": {
|
|
@@ -25,6 +26,12 @@
|
|
|
25
26
|
"require": "./dist/cjs/index.js",
|
|
26
27
|
"default": "./dist/esm/index.js"
|
|
27
28
|
},
|
|
29
|
+
"./arguments": {
|
|
30
|
+
"types": "./dist/esm/arguments.d.ts",
|
|
31
|
+
"node": "./dist/cjs/arguments.js",
|
|
32
|
+
"require": "./dist/cjs/arguments.js",
|
|
33
|
+
"default": "./dist/esm/arguments.js"
|
|
34
|
+
},
|
|
28
35
|
"./helpers": {
|
|
29
36
|
"types": "./dist/esm/helpers.d.ts",
|
|
30
37
|
"node": "./dist/cjs/helpers.js",
|