@rolster/react-forms 19.0.0 → 19.1.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.
@@ -6,15 +6,17 @@ function errorsInControl(value, validators) {
6
6
  }
7
7
  function useControl(options, validators) {
8
8
  const formControl = createFormControlOptions(options, validators);
9
- const initialValue = useRef(formControl.value);
10
- const [state, setState] = useState({
11
- dirty: false,
12
- disabled: false,
13
- errors: errorsInControl(formControl.value, formControl.validators),
14
- focused: false,
15
- touched: !!formControl.touched,
16
- value: formControl.value,
17
- validators: formControl.validators
9
+ const defaultValue = useRef(formControl.value);
10
+ const [state, setState] = useState(() => {
11
+ return {
12
+ dirty: false,
13
+ disabled: false,
14
+ errors: errorsInControl(formControl.value, formControl.validators),
15
+ focused: false,
16
+ touched: !!formControl.touched,
17
+ value: formControl.value,
18
+ validators: formControl.validators
19
+ };
18
20
  });
19
21
  const elementRef = useRef(null);
20
22
  const focus = useCallback(() => {
@@ -32,11 +34,17 @@ function useControl(options, validators) {
32
34
  const touch = useCallback(() => {
33
35
  setState((state) => ({ ...state, touched: true }));
34
36
  }, []);
35
- const setInitialValue = useCallback((value) => {
36
- initialValue.current = value;
37
+ const setDefaultValue = useCallback((value) => {
38
+ defaultValue.current = value;
39
+ setState((state) => ({
40
+ ...state,
41
+ errors: errorsInControl(value, state.validators),
42
+ value
43
+ }));
44
+ }, []);
45
+ const setStartValue = useCallback((value) => {
37
46
  setState((state) => ({
38
47
  ...state,
39
- dirty: true,
40
48
  errors: errorsInControl(value, state.validators),
41
49
  value
42
50
  }));
@@ -60,13 +68,17 @@ function useControl(options, validators) {
60
68
  setState((state) => ({
61
69
  ...state,
62
70
  dirty: false,
63
- errors: errorsInControl(initialValue.current, state.validators),
64
- value: initialValue.current,
71
+ errors: errorsInControl(defaultValue.current, state.validators),
72
+ value: defaultValue.current,
65
73
  touched: false
66
74
  }));
67
75
  }, []);
68
- const hasError = useCallback((key) => rolsterHasError(state.errors, key), [state.errors]);
69
- const someErrors = useCallback((keys) => rolsterSomeErrors(state.errors, keys), [state.errors]);
76
+ const hasError = useCallback((key) => {
77
+ return rolsterHasError(state.errors, key);
78
+ }, [state.errors]);
79
+ const someErrors = useCallback((keys) => {
80
+ return rolsterSomeErrors(state.errors, keys);
81
+ }, [state.errors]);
70
82
  const valid = state.errors.length === 0;
71
83
  return {
72
84
  ...state,
@@ -81,7 +93,8 @@ function useControl(options, validators) {
81
93
  invalid: !valid,
82
94
  pristine: !state.dirty,
83
95
  reset,
84
- setInitialValue,
96
+ setDefaultValue,
97
+ setStartValue,
85
98
  setValidators,
86
99
  setValue,
87
100
  someErrors,
@@ -1 +1 @@
1
- {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { createFormGroupOptions } from '@rolster/forms/arguments';
2
- import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid, reduceControlsToArray } from '@rolster/forms/helpers';
3
- import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { controlsAllChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  function refactorForValid(controls, validators) {
5
5
  const errors = validators ? groupIsValid({ controls, validators }) : [];
6
6
  return {
@@ -8,26 +8,53 @@ function refactorForValid(controls, validators) {
8
8
  valid: errors.length === 0 && controlsAllChecked(controls, 'valid')
9
9
  };
10
10
  }
11
+ function checkAllSuccess(status) {
12
+ return status.reduce((success, status) => success && status, true);
13
+ }
14
+ function checkPartialSuccess(status) {
15
+ return status.reduce((success, status) => success || status, false);
16
+ }
11
17
  export function useFormGroup(options, validators) {
12
18
  const formGroup = createFormGroupOptions(options, validators);
13
- const firstEffects = useRef({
14
- dirty: true,
15
- disabledFocused: true,
16
- touched: true,
17
- value: true
19
+ const formInitialized = useRef({
20
+ dirty: false,
21
+ touched: false,
22
+ value: false,
23
+ visual: false
18
24
  });
19
- const [state, setState] = useState({
20
- ...refactorForValid(formGroup.controls, formGroup.validators),
21
- controls: formGroup.controls,
22
- dirties: controlsAllChecked(formGroup.controls, 'dirty'),
23
- dirty: controlsPartialChecked(formGroup.controls, 'dirty'),
24
- touched: controlsPartialChecked(formGroup.controls, 'touched'),
25
- toucheds: controlsAllChecked(formGroup.controls, 'touched'),
26
- value: controlsToValue(formGroup.controls),
27
- validators: formGroup.validators
25
+ const formGroupStatus = useMemo(() => {
26
+ const dirty = [];
27
+ const touched = [];
28
+ const value = [];
29
+ const visual = [];
30
+ Object.values(formGroup.controls).forEach((control) => {
31
+ dirty.push(control.dirty);
32
+ touched.push(control.touched);
33
+ value.push(control.value);
34
+ visual.push(control.disabled);
35
+ visual.push(control.focused);
36
+ });
37
+ return {
38
+ dirty,
39
+ touched,
40
+ value,
41
+ visual
42
+ };
43
+ }, [formGroup.controls]);
44
+ const [state, setState] = useState(() => {
45
+ return {
46
+ ...refactorForValid(formGroup.controls, formGroup.validators),
47
+ controls: formGroup.controls,
48
+ dirties: checkAllSuccess(formGroupStatus.dirty),
49
+ dirty: checkPartialSuccess(formGroupStatus.dirty),
50
+ touched: checkPartialSuccess(formGroupStatus.touched),
51
+ toucheds: checkAllSuccess(formGroupStatus.touched),
52
+ validators: formGroup.validators,
53
+ value: controlsToValue(formGroup.controls)
54
+ };
28
55
  });
29
56
  useEffect(() => {
30
- if (!firstEffects.current.value) {
57
+ if (formInitialized.current.value) {
31
58
  setState((state) => ({
32
59
  ...state,
33
60
  ...refactorForValid(formGroup.controls, state.validators),
@@ -36,49 +63,46 @@ export function useFormGroup(options, validators) {
36
63
  }));
37
64
  }
38
65
  else {
39
- firstEffects.current.value = false;
66
+ formInitialized.current.value = true;
40
67
  }
41
- }, reduceControlsToArray(formGroup.controls, 'value'));
68
+ }, formGroupStatus.value);
42
69
  useEffect(() => {
43
- if (!firstEffects.current.disabledFocused) {
70
+ if (formInitialized.current.dirty) {
44
71
  setState((state) => ({
45
72
  ...state,
46
- controls: formGroup.controls
73
+ controls: formGroup.controls,
74
+ dirty: checkPartialSuccess(formGroupStatus.dirty),
75
+ dirties: checkAllSuccess(formGroupStatus.dirty)
47
76
  }));
48
77
  }
49
78
  else {
50
- firstEffects.current.disabledFocused = false;
79
+ formInitialized.current.dirty = true;
51
80
  }
52
- }, [
53
- ...reduceControlsToArray(formGroup.controls, 'disabled'),
54
- ...reduceControlsToArray(formGroup.controls, 'focused')
55
- ]);
81
+ }, formGroupStatus.dirty);
56
82
  useEffect(() => {
57
- if (!firstEffects.current.dirty) {
83
+ if (formInitialized.current.touched) {
58
84
  setState((state) => ({
59
85
  ...state,
60
86
  controls: formGroup.controls,
61
- dirty: controlsPartialChecked(formGroup.controls, 'dirty'),
62
- dirties: controlsAllChecked(formGroup.controls, 'dirty')
87
+ touched: checkPartialSuccess(formGroupStatus.touched),
88
+ toucheds: checkAllSuccess(formGroupStatus.touched)
63
89
  }));
64
90
  }
65
91
  else {
66
- firstEffects.current.dirty = false;
92
+ formInitialized.current.touched = true;
67
93
  }
68
- }, reduceControlsToArray(formGroup.controls, 'dirty'));
94
+ }, formGroupStatus.touched);
69
95
  useEffect(() => {
70
- if (!firstEffects.current.touched) {
96
+ if (formInitialized.current.visual) {
71
97
  setState((state) => ({
72
98
  ...state,
73
- controls: formGroup.controls,
74
- touched: controlsPartialChecked(formGroup.controls, 'touched'),
75
- toucheds: controlsAllChecked(formGroup.controls, 'touched')
99
+ controls: formGroup.controls
76
100
  }));
77
101
  }
78
102
  else {
79
- firstEffects.current.touched = false;
103
+ formInitialized.current.visual = true;
80
104
  }
81
- }, reduceControlsToArray(formGroup.controls, 'touched'));
105
+ }, formGroupStatus.visual);
82
106
  const setValidators = useCallback((validators) => {
83
107
  setState((state) => ({
84
108
  ...state,
@@ -1 +1 @@
1
- {"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export type ReactHtmlVoid<T = any> = ReactFormVoid<HTMLElement, T>;
11
11
  export type ReactInputControl<T = any> = ReactFormControl<HTMLInputElement, T>;
12
12
  export type ReactInputVoid<T = any> = ReactFormVoid<HTMLInputElement, T>;
13
13
  export interface ReactArrayControlOptions<T = any> extends FormArrayControlOptions<T> {
14
- initialValue: T;
14
+ defaultValue: T;
15
15
  dirty?: boolean;
16
16
  disabled?: boolean;
17
17
  focused?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/react-forms",
3
- "version": "19.0.0",
3
+ "version": "19.1.0",
4
4
  "description": "It implements a set of classes that allow managing the control of states of the input components in React",
5
5
  "module": "dist/esm/index.js",
6
6
  "main": "dist/cjs/index.js",
@@ -27,8 +27,8 @@
27
27
  "prepublishOnly": "npm run build"
28
28
  },
29
29
  "dependencies": {
30
- "@rolster/forms": "^3.0.0",
31
- "@rolster/validators": "^2.3.0",
30
+ "@rolster/forms": "^3.1.0",
31
+ "@rolster/validators": "^2.3.2",
32
32
  "react": "^19.2.0",
33
33
  "uuid": "^11.0.3"
34
34
  },