@websolutespa/bom-mixer-forms 1.9.0 → 1.9.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @websolutespa/bom-mixer-forms
2
2
 
3
+ ## 1.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Added: FormState, FormEmitter
8
+ - Modified: FormAbstract, FormAbstractCollection, useControl, useForm
9
+
3
10
  ## 1.9.0
4
11
 
5
12
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -11,15 +11,32 @@ declare class EventEmitter {
11
11
  once(event: string, listener: (...args: any[]) => any): void;
12
12
  }
13
13
 
14
+ declare class FormState$1 {
15
+ invalid: boolean;
16
+ disabled: boolean;
17
+ hidden: boolean;
18
+ readonly: boolean;
19
+ dirty: boolean;
20
+ touched: boolean;
21
+ submitted: boolean;
22
+ get valid(): boolean;
23
+ get enabled(): boolean;
24
+ get visible(): boolean;
25
+ get writeable(): boolean;
26
+ get pristine(): boolean;
27
+ get untouched(): boolean;
28
+ get unsubmitted(): boolean;
29
+ }
30
+
14
31
  declare class FormAbstractCollection<U extends Record<string, FormValue> | FormValue[], T extends FormControls> extends FormAbstract<U> {
15
32
  controls_: T;
16
33
  constructor(controls: T, validators?: (FormValidator | FormValidator[]));
17
34
  initControl_(controlOrValue: FormAbstract | FormValue, key: any): FormAbstract;
18
35
  protected setInitialOptions(options?: FormOptions): void;
19
- protected checkAsyncPropState_(key: keyof FormFlags, option?: FormActivator, root?: FormCollection): Promise<boolean>;
20
- updateState_(): void;
36
+ protected checkAsyncPropState_(key: keyof FormFlags, activator?: FormActivator, root?: FormCollection): Promise<void>;
21
37
  revalidate_(): Promise<void>;
22
- protected validate_(root?: FormCollection): Promise<void>;
38
+ validate_(root?: FormCollection): Promise<void>;
39
+ updateState_(): void;
23
40
  reset(): void;
24
41
  patch(value: any): void;
25
42
  get(key: keyof T): FormAbstract;
@@ -44,12 +61,8 @@ declare class FormAbstractCollection<U extends Record<string, FormValue> | FormV
44
61
  set touched(touched: boolean);
45
62
  get value(): U;
46
63
  set value(value: U);
47
- get errors(): {
48
- [key: string]: any;
49
- };
50
- set errors(errors: {
51
- [key: string]: any;
52
- });
64
+ get errors(): ValidationError;
65
+ set errors(errors: ValidationError);
53
66
  }
54
67
 
55
68
  declare class FormArray<T extends FormValue[] = FormValue[]> extends FormAbstractCollection<T, FormArrayControls> {
@@ -126,6 +139,8 @@ type FormFlags = {
126
139
  dirty: boolean;
127
140
  touched: boolean;
128
141
  submitted: boolean;
142
+ };
143
+ type FormDerivedFlags = {
129
144
  valid: boolean;
130
145
  enabled: boolean;
131
146
  visible: boolean;
@@ -142,9 +157,10 @@ type FormValidationError = {
142
157
  type FormValidationErrors = FormValidationError[];
143
158
  type FormState<T> = {
144
159
  value: T | null;
145
- flags: FormFlags;
160
+ flags: FormFlags & FormDerivedFlags;
146
161
  errors: FormValidationErrors;
147
162
  };
163
+ type FormCustomData = Record<string, any>;
148
164
  type ControlType = 'group' | 'array' | string;
149
165
  type IFormBuilderControlSchema = {
150
166
  schema: ControlType;
@@ -169,61 +185,35 @@ type IFormBuilderArraySchema = IFormBuilderControlSchema[];
169
185
  type IFormBuilderGroupValues = Record<string, FormGroup | FormArray | FormControl>;
170
186
  type IFormBuilderSchema = IFormBuilderGroupSchema | IFormBuilderArraySchema;
171
187
 
172
- declare class FormAbstract<T = any> extends EventEmitter {
173
- errors_: ValidationError;
174
- value_: T | null;
175
- validators_: FormValidator[];
176
- state_: FormFlags;
188
+ declare class FormEmitter<T = FormValue> extends EventEmitter {
189
+ protected markAsDirty_: boolean;
190
+ get isDirty(): boolean;
177
191
  name?: string | number;
178
- parent?: FormCollection;
179
- schema: ControlType;
180
- options?: IOption[];
181
- optionsExtra?: {
182
- asEquatable: boolean;
183
- };
184
- customData?: Record<string, any>;
185
- protected initialOptions_?: FormOptions;
186
- private markAsDirty_;
187
- constructor(value: FormValue, validators?: (FormValidator | FormValidator[]));
188
- protected setInitialOptions(options?: FormOptions): void;
189
- protected checkAsyncState_(root?: FormCollection): Promise<boolean>;
190
- protected checkAsyncPropState_(key: keyof FormFlags, option?: FormActivator, root?: FormCollection): Promise<boolean>;
191
- protected revalidate_(): Promise<void>;
192
- protected validate_(root?: FormCollection): Promise<void>;
193
- validateAndChange_(root?: FormCollection): Promise<void>;
194
- protected updateStateAndChange_(): Promise<void>;
195
- protected change_(propagate?: boolean): void;
196
- protected updateState_(): void;
197
- reset(): void;
198
- patch(value: FormValue): void;
199
- addValidators(...validators: FormValidator[]): void;
200
- replaceValidators(...validators: FormValidator[]): void;
201
- clearValidators(): void;
202
- protected get path(): (string | number)[];
203
- protected get root(): FormCollection | FormAbstract;
204
- private label_?;
192
+ protected label_: string | undefined;
205
193
  get label(): string;
206
- set label(label: string);
207
- private placeholder_?;
194
+ protected placeholder_: string | undefined;
208
195
  get placeholder(): string;
209
- set placeholder(placeholder: string);
210
- get validators(): FormValidator[];
211
- set validators(validators: FormValidator[]);
212
- get state(): FormFlags;
213
- get errors(): ValidationError;
196
+ protected options_: IOption[] | undefined;
197
+ get options(): IOption[] | undefined;
198
+ protected optionsExtra_: {
199
+ asEquatable: boolean;
200
+ } | undefined;
201
+ get optionsExtra(): {
202
+ asEquatable: boolean;
203
+ } | undefined;
204
+ protected customData_: FormCustomData | undefined;
205
+ get customData(): FormCustomData | undefined;
206
+ protected value_: T | null;
207
+ get value(): T | null;
208
+ protected state_: FormState$1;
209
+ get state(): FormState$1;
214
210
  get invalid(): boolean;
215
211
  get disabled(): boolean;
216
- set disabled(disabled: boolean);
217
212
  get hidden(): boolean;
218
- set hidden(hidden: boolean);
219
213
  get readonly(): boolean;
220
- set readonly(readonly: boolean);
221
214
  get dirty(): boolean;
222
- set dirty(dirty: boolean);
223
215
  get touched(): boolean;
224
- set touched(touched: boolean);
225
216
  get submitted(): boolean;
226
- set submitted(submitted: boolean);
227
217
  get valid(): boolean;
228
218
  get enabled(): boolean;
229
219
  get visible(): boolean;
@@ -231,12 +221,62 @@ declare class FormAbstract<T = any> extends EventEmitter {
231
221
  get pristine(): boolean;
232
222
  get untouched(): boolean;
233
223
  get unsubmitted(): boolean;
234
- get value(): T | null;
224
+ protected errors_: ValidationError;
225
+ get errors(): ValidationError;
226
+ protected validators_: FormValidator[];
227
+ get validators(): FormValidator[];
228
+ constructor(value: T | null, validators?: (FormValidator | FormValidator[]));
229
+ /**
230
+ * SETTERS
231
+ */
232
+ set label(label: string | undefined);
233
+ set placeholder(placeholder: string | undefined);
234
+ set options(options: IOption[] | undefined);
235
+ set optionsExtra(optionsExtra: {
236
+ asEquatable: boolean;
237
+ } | undefined);
238
+ set customData(customData: FormCustomData | undefined);
235
239
  set value(value: T | null);
240
+ set invalid(invalid: boolean);
241
+ set disabled(disabled: boolean);
242
+ set hidden(hidden: boolean);
243
+ set readonly(readonly: boolean);
244
+ set dirty(dirty: boolean);
245
+ set touched(touched: boolean);
246
+ set submitted(submitted: boolean);
247
+ set errors(errors: ValidationError);
248
+ set validators(validators: FormValidator[]);
249
+ protected revalidate_(): void;
250
+ protected updateStateAndChange_(): Promise<boolean>;
251
+ protected emitChange_(): boolean;
252
+ }
253
+
254
+ declare class FormAbstract<T = FormValue> extends FormEmitter {
255
+ schema: ControlType;
256
+ parent?: FormCollection;
257
+ protected initialOptions_?: FormOptions;
258
+ constructor(value: T | null, validators?: (FormValidator | FormValidator[]));
259
+ protected setInitialOptions(options?: FormOptions): void;
260
+ protected checkAsyncState_(root?: FormCollection): Promise<void>;
261
+ protected checkAsyncPropState_(key: keyof FormFlags, activator?: FormActivator, root?: FormCollection): Promise<void>;
262
+ protected revalidate_(): Promise<void>;
263
+ validateAndChange_(root?: FormCollection): Promise<boolean>;
264
+ validate_(root?: FormCollection): Promise<void>;
265
+ protected updateStateAndChange_(): Promise<boolean>;
266
+ protected updateState_(): void;
267
+ change_(propagate?: boolean): boolean;
268
+ reset(): void;
269
+ patch(value: FormValue): void;
270
+ addValidators(...validators: FormValidator[]): void;
271
+ replaceValidators(...validators: FormValidator[]): void;
272
+ clearValidators(): void;
273
+ protected get path(): (string | number)[];
274
+ protected get root(): FormCollection | FormAbstract;
236
275
  }
237
276
 
238
277
  declare function validValue(value: FormValue): any;
239
278
  declare function mapErrors_(errors: FormErrors): FormValidationError[];
279
+ declare function mapState_(state: FormState$1): FormFlags & FormDerivedFlags;
240
280
  declare function valueToString(value: IOption | IOption[] | IEquatable | IEquatable[] | null): string | string[] | undefined;
241
281
  declare function stringToValue(value: string | string[] | undefined, options?: IOption[], optionsExtra?: {
242
282
  asEquatable: boolean;
@@ -307,11 +347,10 @@ declare function useForm<T, U extends (FormGroup | FormArray)>(factory: () => U,
307
347
  declare function useFormBuilder<T extends (Record<string, FormValue> | FormValue[]) = Record<string, FormValue>, U extends (T extends FormValue[] ? FormArray<T> : FormGroup<T>) = T extends FormValue[] ? FormArray<T> : FormGroup<T>>(schema: IFormBuilderSchema, deps?: DependencyList): [FormState<T>, (value: Partial<T>) => void, () => void, () => void, U];
308
348
 
309
349
  declare function useFormSchema<T extends (Record<string, FormValue> | FormValue[]) = Record<string, FormValue>, U extends (T extends FormValue[] ? FormArray<T> : FormGroup<T>) = T extends FormValue[] ? FormArray<T> : FormGroup<T>>(schema: IFormBuilderSchema, deps?: DependencyList): {
310
- state: FormState<T>;
311
350
  setValue: (value: Partial<T>) => void;
312
351
  setTouched: () => void;
313
352
  reset: () => void;
314
353
  form: U;
315
354
  };
316
355
 
317
- export { ControlType, EmailValidator, FormAbstract, FormAbstractCollection, FormActivator, FormArray, FormArrayControls, FormAsyncValidator, FormCollection, FormControl, FormControls, FormErrors, FormFlags, FormGroup, FormGroupControls, FormOptions, FormState, FormValidationError, FormValidationErrors, FormValidator, FormValue, FormValueArray, FormValueGroup, IControlParam, IFormBuilderArraySchema, IFormBuilderControlSchema, IFormBuilderGroupSchema, IFormBuilderGroupValues, IFormBuilderSchema, IFormOption, MatchValidator, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NullValidator, PatternValidator, RequiredIfValidator, RequiredTrueValidator, RequiredValidator, ValidationError, formArray, formControl, formGroup, mapErrors_, stringToValue, useControl, useForm, useFormBuilder, useFormSchema, validValue, valueToString };
356
+ export { ControlType, EmailValidator, FormAbstract, FormAbstractCollection, FormActivator, FormArray, FormArrayControls, FormAsyncValidator, FormCollection, FormControl, FormControls, FormCustomData, FormDerivedFlags, FormErrors, FormFlags, FormGroup, FormGroupControls, FormOptions, FormState, FormValidationError, FormValidationErrors, FormValidator, FormValue, FormValueArray, FormValueGroup, IControlParam, IFormBuilderArraySchema, IFormBuilderControlSchema, IFormBuilderGroupSchema, IFormBuilderGroupValues, IFormBuilderSchema, IFormOption, MatchValidator, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NullValidator, PatternValidator, RequiredIfValidator, RequiredTrueValidator, RequiredValidator, ValidationError, formArray, formControl, formGroup, mapErrors_, mapState_, stringToValue, useControl, useForm, useFormBuilder, useFormSchema, validValue, valueToString };