@rolster/react-forms 18.9.1 → 18.10.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/dist/cjs/index.js +92 -77
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.js +92 -77
- package/dist/es/index.js.map +1 -1
- package/dist/esm/form-array/form-array-control.d.ts +1 -0
- package/dist/esm/form-array/form-array-control.js +4 -0
- package/dist/esm/form-array/form-array-control.js.map +1 -1
- package/dist/esm/form-array/form-array-list.js +2 -2
- package/dist/esm/form-array/form-array-list.js.map +1 -1
- package/dist/esm/form-array/form-array.js +71 -61
- package/dist/esm/form-array/form-array.js.map +1 -1
- package/dist/esm/form-control.js +13 -12
- package/dist/esm/form-control.js.map +1 -1
- package/dist/esm/form-group.js +3 -3
- package/dist/esm/form-group.js.map +1 -1
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -40,6 +40,10 @@ class RolsterReactArrayControl {
|
|
|
40
40
|
touch() {
|
|
41
41
|
this.untouched && this.refresh({ touched: true });
|
|
42
42
|
}
|
|
43
|
+
setInitialValue(value) {
|
|
44
|
+
this.initialValue = value;
|
|
45
|
+
this.setValue(value);
|
|
46
|
+
}
|
|
43
47
|
setValue(value) {
|
|
44
48
|
this.refresh({ value });
|
|
45
49
|
}
|
|
@@ -191,8 +195,8 @@ class RolsterArrayList extends RolsterReactArrayControl {
|
|
|
191
195
|
subscribeControls(newControls) {
|
|
192
196
|
Object.values(newControls).forEach((control) => {
|
|
193
197
|
control.subscribe((options) => {
|
|
194
|
-
const controls = this.controls.map((
|
|
195
|
-
?
|
|
198
|
+
const controls = this.controls.map((_controls) => _controls !== newControls
|
|
199
|
+
? _controls
|
|
196
200
|
: Object.entries(newControls).reduce((controls, [key, control]) => {
|
|
197
201
|
controls[key] =
|
|
198
202
|
control.uuid === options.uuid
|
|
@@ -216,29 +220,28 @@ function formArrayList(valueToControls, options) {
|
|
|
216
220
|
});
|
|
217
221
|
}
|
|
218
222
|
|
|
219
|
-
function useFormArray(options,
|
|
220
|
-
const
|
|
221
|
-
const groups =
|
|
222
|
-
const
|
|
223
|
+
function useFormArray(options, validators) {
|
|
224
|
+
const _options = _arguments.createFormArrayOptions(options, validators);
|
|
225
|
+
const groups = _options.groups || [];
|
|
226
|
+
const _value = react.useRef(groups);
|
|
223
227
|
const [state, setState] = react.useState({
|
|
224
228
|
controls: groups.map(({ controls }) => controls),
|
|
225
229
|
disabled: false,
|
|
226
230
|
groups,
|
|
227
231
|
value: groups.map(({ controls }) => helpers.controlsToValue(controls)),
|
|
228
|
-
validators:
|
|
232
|
+
validators: _options.validators
|
|
233
|
+
});
|
|
234
|
+
const [errors, setErrors] = react.useState([]);
|
|
235
|
+
const [controlState, setControlState] = react.useState({
|
|
236
|
+
valid: false,
|
|
237
|
+
dirty: false,
|
|
238
|
+
dirtyAll: false,
|
|
239
|
+
touched: false,
|
|
240
|
+
touchedAll: false
|
|
229
241
|
});
|
|
230
|
-
const errors = state.validators
|
|
231
|
-
? helpers.arrayIsValid({ groups, validators: state.validators })
|
|
232
|
-
: [];
|
|
233
|
-
const error = errors[0];
|
|
234
|
-
const valid = errors.length === 0 && helpers.groupAllChecked(state.groups, 'valid');
|
|
235
|
-
const dirty = helpers.groupPartialChecked(state.groups, 'dirty');
|
|
236
|
-
const dirtyAll = helpers.groupAllChecked(state.groups, 'dirty');
|
|
237
|
-
const touched = helpers.groupPartialChecked(state.groups, 'touched');
|
|
238
|
-
const touchedAll = helpers.groupAllChecked(state.groups, 'touched');
|
|
239
242
|
react.useEffect(() => {
|
|
240
243
|
const subscriber = (options) => {
|
|
241
|
-
|
|
244
|
+
setValue(state.groups.map((group) => group.uuid === options.uuid
|
|
242
245
|
? new RolsterArrayGroup(options)
|
|
243
246
|
: group));
|
|
244
247
|
};
|
|
@@ -246,85 +249,96 @@ function useFormArray(options, arrayValidators) {
|
|
|
246
249
|
group.subscribe(subscriber);
|
|
247
250
|
});
|
|
248
251
|
}, [state.groups]);
|
|
249
|
-
|
|
252
|
+
react.useEffect(() => {
|
|
253
|
+
setErrors(state.validators
|
|
254
|
+
? helpers.arrayIsValid({
|
|
255
|
+
groups: state.groups,
|
|
256
|
+
validators: state.validators
|
|
257
|
+
})
|
|
258
|
+
: []);
|
|
259
|
+
}, [state.groups, state.validators]);
|
|
260
|
+
react.useEffect(() => {
|
|
261
|
+
setControlState({
|
|
262
|
+
valid: errors.length === 0 && helpers.groupAllChecked(state.groups, 'valid'),
|
|
263
|
+
dirty: helpers.groupPartialChecked(state.groups, 'dirty'),
|
|
264
|
+
dirtyAll: helpers.groupAllChecked(state.groups, 'dirty'),
|
|
265
|
+
touched: helpers.groupPartialChecked(state.groups, 'touched'),
|
|
266
|
+
touchedAll: helpers.groupAllChecked(state.groups, 'touched')
|
|
267
|
+
});
|
|
268
|
+
}, [state.groups, errors]);
|
|
269
|
+
const disable = react.useCallback(() => {
|
|
250
270
|
setState((state) => ({ ...state, disabled: true }));
|
|
251
|
-
}
|
|
252
|
-
|
|
271
|
+
}, []);
|
|
272
|
+
const enable = react.useCallback(() => {
|
|
253
273
|
setState((state) => ({ ...state, disabled: false }));
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
setState((
|
|
257
|
-
...
|
|
274
|
+
}, []);
|
|
275
|
+
const setValue = react.useCallback((groups) => {
|
|
276
|
+
setState((_state) => ({
|
|
277
|
+
..._state,
|
|
258
278
|
groups,
|
|
259
279
|
controls: groups.map(({ controls }) => controls),
|
|
260
280
|
value: groups.map(({ controls }) => helpers.controlsToValue(controls))
|
|
261
281
|
}));
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}
|
|
281
|
-
function reset() {
|
|
282
|
-
setGroups(currentState.current);
|
|
283
|
-
}
|
|
284
|
-
function setValidators(validators) {
|
|
282
|
+
}, []);
|
|
283
|
+
const setInitialValue = react.useCallback((groups) => {
|
|
284
|
+
setValue(groups);
|
|
285
|
+
_value.current = groups;
|
|
286
|
+
}, []);
|
|
287
|
+
const push = react.useCallback((group) => {
|
|
288
|
+
setValue([...state.groups, group]);
|
|
289
|
+
}, []);
|
|
290
|
+
const merge = react.useCallback((groups) => {
|
|
291
|
+
setValue([...state.groups, ...groups]);
|
|
292
|
+
}, []);
|
|
293
|
+
const remove = react.useCallback(({ uuid }) => {
|
|
294
|
+
setValue(state.groups.filter((group) => group.uuid !== uuid));
|
|
295
|
+
}, []);
|
|
296
|
+
const reset = react.useCallback(() => {
|
|
297
|
+
setValue(_value.current);
|
|
298
|
+
}, []);
|
|
299
|
+
const setValidators = react.useCallback((validators) => {
|
|
285
300
|
setState((state) => ({ ...state, validators }));
|
|
286
|
-
}
|
|
301
|
+
}, []);
|
|
302
|
+
const hasError = react.useCallback((key) => helpers.hasError(errors, key), [errors]);
|
|
303
|
+
const someErrors = react.useCallback((keys) => helpers.someErrors(errors, keys), [errors]);
|
|
287
304
|
return {
|
|
288
305
|
...state,
|
|
289
|
-
|
|
290
|
-
dirtyAll,
|
|
306
|
+
...controlState,
|
|
291
307
|
disable,
|
|
292
308
|
enable,
|
|
293
309
|
enabled: !state.disabled,
|
|
294
|
-
error,
|
|
295
|
-
errors,
|
|
310
|
+
error: errors[0],
|
|
311
|
+
errors: errors,
|
|
296
312
|
hasError,
|
|
297
|
-
invalid: !valid,
|
|
313
|
+
invalid: !controlState.valid,
|
|
298
314
|
merge,
|
|
299
|
-
pristine: !dirty,
|
|
300
|
-
pristineAll: !dirtyAll,
|
|
315
|
+
pristine: !controlState.dirty,
|
|
316
|
+
pristineAll: !controlState.dirtyAll,
|
|
301
317
|
push,
|
|
302
318
|
remove,
|
|
303
319
|
reset,
|
|
304
|
-
|
|
320
|
+
setInitialValue,
|
|
305
321
|
setValidators,
|
|
322
|
+
setValue,
|
|
306
323
|
someErrors,
|
|
307
|
-
touched,
|
|
308
|
-
touchedAll,
|
|
309
|
-
|
|
310
|
-
untouchedAll: !touchedAll,
|
|
311
|
-
valid,
|
|
312
|
-
wrong: touched && !valid
|
|
324
|
+
untouched: !controlState.touched,
|
|
325
|
+
untouchedAll: !controlState.touchedAll,
|
|
326
|
+
wrong: controlState.touched && !controlState.valid
|
|
313
327
|
};
|
|
314
328
|
}
|
|
315
329
|
|
|
316
|
-
function useControl(
|
|
317
|
-
const
|
|
330
|
+
function useControl(options, validators) {
|
|
331
|
+
const _options = _arguments.createFormControlOptions(options, validators);
|
|
318
332
|
const [state, setState] = react.useState({
|
|
319
333
|
dirty: false,
|
|
320
334
|
disabled: false,
|
|
321
335
|
focused: false,
|
|
322
|
-
touched: !!touched,
|
|
323
|
-
validators,
|
|
324
|
-
value
|
|
336
|
+
touched: !!_options.touched,
|
|
337
|
+
validators: _options.validators,
|
|
338
|
+
value: _options.value
|
|
325
339
|
});
|
|
326
340
|
const [errors, setErrors] = react.useState([]);
|
|
327
|
-
const initialValue = react.useRef(value);
|
|
341
|
+
const initialValue = react.useRef(_options.value);
|
|
328
342
|
const elementRef = react.useRef(null);
|
|
329
343
|
react.useEffect(() => {
|
|
330
344
|
setErrors(state.validators
|
|
@@ -349,6 +363,10 @@ function useControl(controlOptions, controlValidators) {
|
|
|
349
363
|
const touch = react.useCallback(() => {
|
|
350
364
|
setState((state) => ({ ...state, touched: true }));
|
|
351
365
|
}, []);
|
|
366
|
+
const setInitialValue = react.useCallback((value) => {
|
|
367
|
+
initialValue.current = value;
|
|
368
|
+
setState((state) => ({ ...state, dirty: true, value }));
|
|
369
|
+
}, []);
|
|
352
370
|
const setValue = react.useCallback((value) => {
|
|
353
371
|
setState((state) => ({ ...state, dirty: true, value }));
|
|
354
372
|
}, []);
|
|
@@ -363,12 +381,8 @@ function useControl(controlOptions, controlValidators) {
|
|
|
363
381
|
touched: false
|
|
364
382
|
}));
|
|
365
383
|
}, []);
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
function someErrors(keys) {
|
|
370
|
-
return helpers.someErrors(errors, keys);
|
|
371
|
-
}
|
|
384
|
+
const hasError = react.useCallback((key) => helpers.hasError(errors, key), [errors]);
|
|
385
|
+
const someErrors = react.useCallback((keys) => helpers.someErrors(errors, keys), [errors]);
|
|
372
386
|
const valid = errors.length === 0;
|
|
373
387
|
return {
|
|
374
388
|
...state,
|
|
@@ -384,6 +398,7 @@ function useControl(controlOptions, controlValidators) {
|
|
|
384
398
|
invalid: !valid,
|
|
385
399
|
pristine: !state.dirty,
|
|
386
400
|
reset,
|
|
401
|
+
setInitialValue,
|
|
387
402
|
setValidators,
|
|
388
403
|
setValue,
|
|
389
404
|
someErrors,
|
|
@@ -405,9 +420,9 @@ function useInputControl(options, validators) {
|
|
|
405
420
|
}
|
|
406
421
|
|
|
407
422
|
function useFormGroup(options, groupValidators) {
|
|
408
|
-
const
|
|
409
|
-
const [validators, setValidators] = react.useState(
|
|
410
|
-
const { controls } =
|
|
423
|
+
const _options = _arguments.createFormGroupOptions(options, groupValidators);
|
|
424
|
+
const [validators, setValidators] = react.useState(_options.validators);
|
|
425
|
+
const { controls } = _options;
|
|
411
426
|
const errors = validators ? helpers.groupIsValid({ controls, validators }) : [];
|
|
412
427
|
const valid = errors.length === 0 && helpers.controlsAllChecked(controls, 'valid');
|
|
413
428
|
const value = helpers.controlsToValue(controls);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError, someErrors } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterReactArrayControl {\n constructor(options) {\n this.initialValue = options.initialValue;\n this.uuid = options.uuid;\n this.focused = !!options.focused;\n this.unfocused = !this.focused;\n this.touched = !!options.touched;\n this.untouched = !this.touched;\n this.dirty = !!options.dirty;\n this.pristine = !this.dirty;\n this.disabled = !!options.disabled;\n this.enabled = !this.disabled;\n const { value, validators } = options;\n this.value = value;\n this.validators = validators;\n this.errors = validators ? controlIsValid({ value, validators }) : [];\n this.error = this.errors[0];\n }\n focus() {\n this.unfocused && this.refresh({ focused: true });\n }\n blur() {\n this.focused && this.refresh({ focused: false, touched: true });\n }\n disable() {\n this.enabled && this.refresh({ disabled: true });\n }\n enable() {\n this.disabled && this.refresh({ disabled: false });\n }\n touch() {\n this.untouched && this.refresh({ touched: true });\n }\n setValue(value) {\n this.refresh({ value });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n hasError(key) {\n return hasError(this.errors, key);\n }\n someErrors(keys) {\n return someErrors(this.errors, keys);\n }\n reset() {\n this.refresh({\n dirty: false,\n touched: false,\n value: this.initialValue\n });\n }\n refresh(changes) {\n this.subscriber &&\n this.subscriber({\n ...this,\n ...changes,\n initialValue: this.initialValue\n });\n }\n}\nexport class RolsterArrayControl extends RolsterReactArrayControl {\n constructor(options) {\n super(options);\n this.valid = this.errors.length === 0;\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n }\n clone(options) {\n return new RolsterArrayControl(options);\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const controlOptions = createFormControlOptions(options, validators);\n return new RolsterArrayControl({\n ...controlOptions,\n initialValue: controlOptions.value,\n uuid: uuid()\n });\n}\nexport function reactArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function formArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function inputArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\n//# sourceMappingURL=form-array-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterArrayGroup {\n constructor(options) {\n const { controls, resource, uuid, validators } = options;\n this.uuid = uuid;\n this.controls = controls;\n this.validators = validators;\n this.resource = resource;\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\n this.error = this.errors[0];\n this.valid =\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\n this.invalid = !this.valid;\n this.dirty = controlsPartialChecked(controls, 'dirty');\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\n this.touched = controlsPartialChecked(controls, 'touched');\n this.touchedAll = controlsAllChecked(controls, 'touched');\n this.untouched = !this.touched;\n this.untouchedAll = !this.touchedAll;\n this.pristine = !this.dirty;\n this.pristineAll = !this.dirtyAll;\n this.wrong = this.touched && this.invalid;\n this.value = controlsToValue(controls);\n const subscriber = (options) => {\n this.refresh({\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid ? control.clone(options) : control;\n return controls;\n }, {})\n });\n };\n Object.values(controls).forEach((control) => {\n control.subscribe(subscriber);\n });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n refresh(changes) {\n this.subscriber && this.subscriber({ ...this, ...changes });\n }\n}\nexport function formArrayGroup(options, validators) {\n return new RolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { RolsterReactArrayControl } from './form-array-control';\nexport class RolsterArrayList extends RolsterReactArrayControl {\n constructor(options) {\n const value = options.controls.map((controls) => controlsToValue(controls));\n super({ ...options, value });\n this.valueToControls = options.valueToControls;\n this.controls = options.controls;\n this.valid =\n this.errors.length === 0 &&\n this.controls.reduce((valid, controls) => valid && controlsAllChecked(controls, 'valid'), true);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n options.controls.forEach((controls) => {\n this.subscribeControls(controls);\n });\n }\n setValue(value) {\n this.refresh({\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n clone(options) {\n return new RolsterArrayList(options);\n }\n push(controls) {\n this.refresh({\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh({\n controls: this.controls.filter((currentControls) => currentControls !== controls)\n });\n }\n refresh(changes) {\n super.refresh(changes);\n }\n subscribeControls(newControls) {\n Object.values(newControls).forEach((control) => {\n control.subscribe((options) => {\n const controls = this.controls.map((currentControls) => currentControls !== newControls\n ? currentControls\n : Object.entries(newControls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid\n ? control.clone(options)\n : control;\n return controls;\n }, {}));\n this.refresh({ controls });\n });\n });\n }\n}\nexport function formArrayList(valueToControls, options) {\n const value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n valueToControls,\n controls: value.map((value) => valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useEffect, useRef, useState } from 'react';\nimport { RolsterArrayGroup } from './form-array-group';\nexport function useFormArray(options, arrayValidators) {\n const arrayOptions = createFormArrayOptions(options, arrayValidators);\n const groups = arrayOptions.groups || [];\n const currentState = useRef(groups);\n const [state, setState] = useState({\n controls: groups.map(({ controls }) => controls),\n disabled: false,\n groups,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: arrayOptions.validators\n });\n const errors = state.validators\n ? arrayIsValid({ groups, validators: state.validators })\n : [];\n const error = errors[0];\n const valid = errors.length === 0 && groupAllChecked(state.groups, 'valid');\n const dirty = groupPartialChecked(state.groups, 'dirty');\n const dirtyAll = groupAllChecked(state.groups, 'dirty');\n const touched = groupPartialChecked(state.groups, 'touched');\n const touchedAll = groupAllChecked(state.groups, 'touched');\n useEffect(() => {\n const subscriber = (options) => {\n setGroups(state.groups.map((group) => group.uuid === options.uuid\n ? new RolsterArrayGroup(options)\n : group));\n };\n state.groups.forEach((group) => {\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n function disable() {\n setState((state) => ({ ...state, disabled: true }));\n }\n function enable() {\n setState((state) => ({ ...state, disabled: false }));\n }\n function setGroups(groups) {\n setState((currentState) => ({\n ...currentState,\n groups,\n controls: groups.map(({ controls }) => controls),\n value: groups.map(({ controls }) => controlsToValue(controls))\n }));\n }\n function push(group) {\n setGroups([...state.groups, group]);\n }\n function merge(groups) {\n setGroups([...state.groups, ...groups]);\n }\n function set(groups) {\n setGroups(groups);\n }\n function remove({ uuid }) {\n setGroups(state.groups.filter((group) => group.uuid !== uuid));\n }\n function hasError(key) {\n return rolsterHasError(errors, key);\n }\n function someErrors(keys) {\n return rolsterSomeErrors(errors, keys);\n }\n function reset() {\n setGroups(currentState.current);\n }\n function setValidators(validators) {\n setState((state) => ({ ...state, validators }));\n }\n return {\n ...state,\n dirty,\n dirtyAll,\n disable,\n enable,\n enabled: !state.disabled,\n error,\n errors,\n hasError,\n invalid: !valid,\n merge,\n pristine: !dirty,\n pristineAll: !dirtyAll,\n push,\n remove,\n reset,\n set,\n setValidators,\n someErrors,\n touched,\n touchedAll,\n untouched: !touched,\n untouchedAll: !touchedAll,\n valid,\n wrong: touched && !valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction useControl(controlOptions, controlValidators) {\n const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n focused: false,\n touched: !!touched,\n validators,\n value\n });\n const [errors, setErrors] = useState([]);\n const initialValue = useRef(value);\n const elementRef = useRef(null);\n useEffect(() => {\n setErrors(state.validators\n ? controlIsValid({\n value: state.value,\n validators: state.validators\n })\n : []);\n }, [state.value, state.validators]);\n const focus = useCallback(() => {\n setState((state) => ({ ...state, focused: true }));\n }, []);\n const blur = useCallback(() => {\n setState((state) => ({ ...state, focused: false, touched: true }));\n }, []);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const touch = useCallback(() => {\n setState((state) => ({ ...state, touched: true }));\n }, []);\n const setValue = useCallback((value) => {\n setState((state) => ({ ...state, dirty: true, value }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({ ...state, validators }));\n }, []);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n dirty: false,\n value: initialValue.current,\n touched: false\n }));\n }, []);\n function hasError(key) {\n return rolsterHasError(errors, key);\n }\n function someErrors(keys) {\n return rolsterSomeErrors(errors, keys);\n }\n const valid = errors.length === 0;\n return {\n ...state,\n blur,\n disable,\n elementRef,\n enable,\n enabled: !state.disabled,\n error: errors[0],\n errors,\n focus,\n hasError,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setValidators,\n setValue,\n someErrors,\n touch,\n unfocused: !state.focused,\n untouched: !state.touched,\n valid,\n wrong: state.touched && !valid\n };\n}\nexport function useReactControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useFormControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useInputControl(options, validators) {\n return useControl(options, validators);\n}\n//# sourceMappingURL=form-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { useState } from 'react';\nexport function useFormGroup(options, groupValidators) {\n const groupOptions = createFormGroupOptions(options, groupValidators);\n const [validators, setValidators] = useState(groupOptions.validators);\n const { controls } = groupOptions;\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\n const value = controlsToValue(controls);\n const dirty = controlsPartialChecked(controls, 'dirty');\n const dirtyAll = controlsAllChecked(controls, 'dirty');\n const touched = controlsPartialChecked(controls, 'touched');\n const touchedAll = controlsAllChecked(controls, 'touched');\n function reset() {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }\n return {\n controls,\n dirty,\n dirtyAll,\n error: errors[0],\n errors,\n invalid: !valid,\n pristine: !dirty,\n pristineAll: !dirtyAll,\n reset,\n setValidators,\n touched,\n touchedAll,\n untouched: !touched,\n untouchedAll: !touchedAll,\n valid,\n value,\n wrong: touched && !valid\n };\n}\n//# sourceMappingURL=form-group.js.map"],"names":["controlIsValid","hasError","someErrors","createFormControlOptions","uuid","groupIsValid","controlsAllChecked","controlsPartialChecked","controlsToValue","createFormGroupOptions","createFormArrayOptions","useRef","useState","arrayIsValid","groupAllChecked","groupPartialChecked","useEffect","rolsterHasError","rolsterSomeErrors","useCallback"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError, someErrors } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterReactArrayControl {\n constructor(options) {\n this.initialValue = options.initialValue;\n this.uuid = options.uuid;\n this.focused = !!options.focused;\n this.unfocused = !this.focused;\n this.touched = !!options.touched;\n this.untouched = !this.touched;\n this.dirty = !!options.dirty;\n this.pristine = !this.dirty;\n this.disabled = !!options.disabled;\n this.enabled = !this.disabled;\n const { value, validators } = options;\n this.value = value;\n this.validators = validators;\n this.errors = validators ? controlIsValid({ value, validators }) : [];\n this.error = this.errors[0];\n }\n focus() {\n this.unfocused && this.refresh({ focused: true });\n }\n blur() {\n this.focused && this.refresh({ focused: false, touched: true });\n }\n disable() {\n this.enabled && this.refresh({ disabled: true });\n }\n enable() {\n this.disabled && this.refresh({ disabled: false });\n }\n touch() {\n this.untouched && this.refresh({ touched: true });\n }\n setInitialValue(value) {\n this.initialValue = value;\n this.setValue(value);\n }\n setValue(value) {\n this.refresh({ value });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n hasError(key) {\n return hasError(this.errors, key);\n }\n someErrors(keys) {\n return someErrors(this.errors, keys);\n }\n reset() {\n this.refresh({\n dirty: false,\n touched: false,\n value: this.initialValue\n });\n }\n refresh(changes) {\n this.subscriber &&\n this.subscriber({\n ...this,\n ...changes,\n initialValue: this.initialValue\n });\n }\n}\nexport class RolsterArrayControl extends RolsterReactArrayControl {\n constructor(options) {\n super(options);\n this.valid = this.errors.length === 0;\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n }\n clone(options) {\n return new RolsterArrayControl(options);\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const controlOptions = createFormControlOptions(options, validators);\n return new RolsterArrayControl({\n ...controlOptions,\n initialValue: controlOptions.value,\n uuid: uuid()\n });\n}\nexport function reactArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function formArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function inputArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\n//# sourceMappingURL=form-array-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterArrayGroup {\n constructor(options) {\n const { controls, resource, uuid, validators } = options;\n this.uuid = uuid;\n this.controls = controls;\n this.validators = validators;\n this.resource = resource;\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\n this.error = this.errors[0];\n this.valid =\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\n this.invalid = !this.valid;\n this.dirty = controlsPartialChecked(controls, 'dirty');\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\n this.touched = controlsPartialChecked(controls, 'touched');\n this.touchedAll = controlsAllChecked(controls, 'touched');\n this.untouched = !this.touched;\n this.untouchedAll = !this.touchedAll;\n this.pristine = !this.dirty;\n this.pristineAll = !this.dirtyAll;\n this.wrong = this.touched && this.invalid;\n this.value = controlsToValue(controls);\n const subscriber = (options) => {\n this.refresh({\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid ? control.clone(options) : control;\n return controls;\n }, {})\n });\n };\n Object.values(controls).forEach((control) => {\n control.subscribe(subscriber);\n });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n refresh(changes) {\n this.subscriber && this.subscriber({ ...this, ...changes });\n }\n}\nexport function formArrayGroup(options, validators) {\n return new RolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { RolsterReactArrayControl } from './form-array-control';\nexport class RolsterArrayList extends RolsterReactArrayControl {\n constructor(options) {\n const value = options.controls.map((controls) => controlsToValue(controls));\n super({ ...options, value });\n this.valueToControls = options.valueToControls;\n this.controls = options.controls;\n this.valid =\n this.errors.length === 0 &&\n this.controls.reduce((valid, controls) => valid && controlsAllChecked(controls, 'valid'), true);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n options.controls.forEach((controls) => {\n this.subscribeControls(controls);\n });\n }\n setValue(value) {\n this.refresh({\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n clone(options) {\n return new RolsterArrayList(options);\n }\n push(controls) {\n this.refresh({\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh({\n controls: this.controls.filter((currentControls) => currentControls !== controls)\n });\n }\n refresh(changes) {\n super.refresh(changes);\n }\n subscribeControls(newControls) {\n Object.values(newControls).forEach((control) => {\n control.subscribe((options) => {\n const controls = this.controls.map((_controls) => _controls !== newControls\n ? _controls\n : Object.entries(newControls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid\n ? control.clone(options)\n : control;\n return controls;\n }, {}));\n this.refresh({ controls });\n });\n });\n }\n}\nexport function formArrayList(valueToControls, options) {\n const value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n valueToControls,\n controls: value.map((value) => valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { RolsterArrayGroup } from './form-array-group';\nexport function useFormArray(options, validators) {\n const _options = createFormArrayOptions(options, validators);\n const groups = _options.groups || [];\n const _value = useRef(groups);\n const [state, setState] = useState({\n controls: groups.map(({ controls }) => controls),\n disabled: false,\n groups,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: _options.validators\n });\n const [errors, setErrors] = useState([]);\n const [controlState, setControlState] = useState({\n valid: false,\n dirty: false,\n dirtyAll: false,\n touched: false,\n touchedAll: false\n });\n useEffect(() => {\n const subscriber = (options) => {\n setValue(state.groups.map((group) => group.uuid === options.uuid\n ? new RolsterArrayGroup(options)\n : group));\n };\n state.groups.forEach((group) => {\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n useEffect(() => {\n setErrors(state.validators\n ? arrayIsValid({\n groups: state.groups,\n validators: state.validators\n })\n : []);\n }, [state.groups, state.validators]);\n useEffect(() => {\n setControlState({\n valid: errors.length === 0 && groupAllChecked(state.groups, 'valid'),\n dirty: groupPartialChecked(state.groups, 'dirty'),\n dirtyAll: groupAllChecked(state.groups, 'dirty'),\n touched: groupPartialChecked(state.groups, 'touched'),\n touchedAll: groupAllChecked(state.groups, 'touched')\n });\n }, [state.groups, errors]);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const setValue = useCallback((groups) => {\n setState((_state) => ({\n ..._state,\n groups,\n controls: groups.map(({ controls }) => controls),\n value: groups.map(({ controls }) => controlsToValue(controls))\n }));\n }, []);\n const setInitialValue = useCallback((groups) => {\n setValue(groups);\n _value.current = groups;\n }, []);\n const push = useCallback((group) => {\n setValue([...state.groups, group]);\n }, []);\n const merge = useCallback((groups) => {\n setValue([...state.groups, ...groups]);\n }, []);\n const remove = useCallback(({ uuid }) => {\n setValue(state.groups.filter((group) => group.uuid !== uuid));\n }, []);\n const reset = useCallback(() => {\n setValue(_value.current);\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({ ...state, validators }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);\n return {\n ...state,\n ...controlState,\n disable,\n enable,\n enabled: !state.disabled,\n error: errors[0],\n errors: errors,\n hasError,\n invalid: !controlState.valid,\n merge,\n pristine: !controlState.dirty,\n pristineAll: !controlState.dirtyAll,\n push,\n remove,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n untouched: !controlState.touched,\n untouchedAll: !controlState.touchedAll,\n wrong: controlState.touched && !controlState.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction useControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n focused: false,\n touched: !!_options.touched,\n validators: _options.validators,\n value: _options.value\n });\n const [errors, setErrors] = useState([]);\n const initialValue = useRef(_options.value);\n const elementRef = useRef(null);\n useEffect(() => {\n setErrors(state.validators\n ? controlIsValid({\n value: state.value,\n validators: state.validators\n })\n : []);\n }, [state.value, state.validators]);\n const focus = useCallback(() => {\n setState((state) => ({ ...state, focused: true }));\n }, []);\n const blur = useCallback(() => {\n setState((state) => ({ ...state, focused: false, touched: true }));\n }, []);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const touch = useCallback(() => {\n setState((state) => ({ ...state, touched: true }));\n }, []);\n const setInitialValue = useCallback((value) => {\n initialValue.current = value;\n setState((state) => ({ ...state, dirty: true, value }));\n }, []);\n const setValue = useCallback((value) => {\n setState((state) => ({ ...state, dirty: true, value }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({ ...state, validators }));\n }, []);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n dirty: false,\n value: initialValue.current,\n touched: false\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);\n const valid = errors.length === 0;\n return {\n ...state,\n blur,\n disable,\n elementRef,\n enable,\n enabled: !state.disabled,\n error: errors[0],\n errors,\n focus,\n hasError,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n touch,\n unfocused: !state.focused,\n untouched: !state.touched,\n valid,\n wrong: state.touched && !valid\n };\n}\nexport function useReactControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useFormControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useInputControl(options, validators) {\n return useControl(options, validators);\n}\n//# sourceMappingURL=form-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { useState } from 'react';\nexport function useFormGroup(options, groupValidators) {\n const _options = createFormGroupOptions(options, groupValidators);\n const [validators, setValidators] = useState(_options.validators);\n const { controls } = _options;\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\n const value = controlsToValue(controls);\n const dirty = controlsPartialChecked(controls, 'dirty');\n const dirtyAll = controlsAllChecked(controls, 'dirty');\n const touched = controlsPartialChecked(controls, 'touched');\n const touchedAll = controlsAllChecked(controls, 'touched');\n function reset() {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }\n return {\n controls,\n dirty,\n dirtyAll,\n error: errors[0],\n errors,\n invalid: !valid,\n pristine: !dirty,\n pristineAll: !dirtyAll,\n reset,\n setValidators,\n touched,\n touchedAll,\n untouched: !touched,\n untouchedAll: !touchedAll,\n valid,\n value,\n wrong: touched && !valid\n };\n}\n//# sourceMappingURL=form-group.js.map"],"names":["controlIsValid","hasError","someErrors","createFormControlOptions","uuid","groupIsValid","controlsAllChecked","controlsPartialChecked","controlsToValue","createFormGroupOptions","createFormArrayOptions","useRef","useState","useEffect","arrayIsValid","groupAllChecked","groupPartialChecked","useCallback","rolsterHasError","rolsterSomeErrors"],"mappings":"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"}
|
package/dist/es/index.js
CHANGED
|
@@ -36,6 +36,10 @@ class RolsterReactArrayControl {
|
|
|
36
36
|
touch() {
|
|
37
37
|
this.untouched && this.refresh({ touched: true });
|
|
38
38
|
}
|
|
39
|
+
setInitialValue(value) {
|
|
40
|
+
this.initialValue = value;
|
|
41
|
+
this.setValue(value);
|
|
42
|
+
}
|
|
39
43
|
setValue(value) {
|
|
40
44
|
this.refresh({ value });
|
|
41
45
|
}
|
|
@@ -187,8 +191,8 @@ class RolsterArrayList extends RolsterReactArrayControl {
|
|
|
187
191
|
subscribeControls(newControls) {
|
|
188
192
|
Object.values(newControls).forEach((control) => {
|
|
189
193
|
control.subscribe((options) => {
|
|
190
|
-
const controls = this.controls.map((
|
|
191
|
-
?
|
|
194
|
+
const controls = this.controls.map((_controls) => _controls !== newControls
|
|
195
|
+
? _controls
|
|
192
196
|
: Object.entries(newControls).reduce((controls, [key, control]) => {
|
|
193
197
|
controls[key] =
|
|
194
198
|
control.uuid === options.uuid
|
|
@@ -212,29 +216,28 @@ function formArrayList(valueToControls, options) {
|
|
|
212
216
|
});
|
|
213
217
|
}
|
|
214
218
|
|
|
215
|
-
function useFormArray(options,
|
|
216
|
-
const
|
|
217
|
-
const groups =
|
|
218
|
-
const
|
|
219
|
+
function useFormArray(options, validators) {
|
|
220
|
+
const _options = createFormArrayOptions(options, validators);
|
|
221
|
+
const groups = _options.groups || [];
|
|
222
|
+
const _value = useRef(groups);
|
|
219
223
|
const [state, setState] = useState({
|
|
220
224
|
controls: groups.map(({ controls }) => controls),
|
|
221
225
|
disabled: false,
|
|
222
226
|
groups,
|
|
223
227
|
value: groups.map(({ controls }) => controlsToValue(controls)),
|
|
224
|
-
validators:
|
|
228
|
+
validators: _options.validators
|
|
229
|
+
});
|
|
230
|
+
const [errors, setErrors] = useState([]);
|
|
231
|
+
const [controlState, setControlState] = useState({
|
|
232
|
+
valid: false,
|
|
233
|
+
dirty: false,
|
|
234
|
+
dirtyAll: false,
|
|
235
|
+
touched: false,
|
|
236
|
+
touchedAll: false
|
|
225
237
|
});
|
|
226
|
-
const errors = state.validators
|
|
227
|
-
? arrayIsValid({ groups, validators: state.validators })
|
|
228
|
-
: [];
|
|
229
|
-
const error = errors[0];
|
|
230
|
-
const valid = errors.length === 0 && groupAllChecked(state.groups, 'valid');
|
|
231
|
-
const dirty = groupPartialChecked(state.groups, 'dirty');
|
|
232
|
-
const dirtyAll = groupAllChecked(state.groups, 'dirty');
|
|
233
|
-
const touched = groupPartialChecked(state.groups, 'touched');
|
|
234
|
-
const touchedAll = groupAllChecked(state.groups, 'touched');
|
|
235
238
|
useEffect(() => {
|
|
236
239
|
const subscriber = (options) => {
|
|
237
|
-
|
|
240
|
+
setValue(state.groups.map((group) => group.uuid === options.uuid
|
|
238
241
|
? new RolsterArrayGroup(options)
|
|
239
242
|
: group));
|
|
240
243
|
};
|
|
@@ -242,85 +245,96 @@ function useFormArray(options, arrayValidators) {
|
|
|
242
245
|
group.subscribe(subscriber);
|
|
243
246
|
});
|
|
244
247
|
}, [state.groups]);
|
|
245
|
-
|
|
248
|
+
useEffect(() => {
|
|
249
|
+
setErrors(state.validators
|
|
250
|
+
? arrayIsValid({
|
|
251
|
+
groups: state.groups,
|
|
252
|
+
validators: state.validators
|
|
253
|
+
})
|
|
254
|
+
: []);
|
|
255
|
+
}, [state.groups, state.validators]);
|
|
256
|
+
useEffect(() => {
|
|
257
|
+
setControlState({
|
|
258
|
+
valid: errors.length === 0 && groupAllChecked(state.groups, 'valid'),
|
|
259
|
+
dirty: groupPartialChecked(state.groups, 'dirty'),
|
|
260
|
+
dirtyAll: groupAllChecked(state.groups, 'dirty'),
|
|
261
|
+
touched: groupPartialChecked(state.groups, 'touched'),
|
|
262
|
+
touchedAll: groupAllChecked(state.groups, 'touched')
|
|
263
|
+
});
|
|
264
|
+
}, [state.groups, errors]);
|
|
265
|
+
const disable = useCallback(() => {
|
|
246
266
|
setState((state) => ({ ...state, disabled: true }));
|
|
247
|
-
}
|
|
248
|
-
|
|
267
|
+
}, []);
|
|
268
|
+
const enable = useCallback(() => {
|
|
249
269
|
setState((state) => ({ ...state, disabled: false }));
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
setState((
|
|
253
|
-
...
|
|
270
|
+
}, []);
|
|
271
|
+
const setValue = useCallback((groups) => {
|
|
272
|
+
setState((_state) => ({
|
|
273
|
+
..._state,
|
|
254
274
|
groups,
|
|
255
275
|
controls: groups.map(({ controls }) => controls),
|
|
256
276
|
value: groups.map(({ controls }) => controlsToValue(controls))
|
|
257
277
|
}));
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
function reset() {
|
|
278
|
-
setGroups(currentState.current);
|
|
279
|
-
}
|
|
280
|
-
function setValidators(validators) {
|
|
278
|
+
}, []);
|
|
279
|
+
const setInitialValue = useCallback((groups) => {
|
|
280
|
+
setValue(groups);
|
|
281
|
+
_value.current = groups;
|
|
282
|
+
}, []);
|
|
283
|
+
const push = useCallback((group) => {
|
|
284
|
+
setValue([...state.groups, group]);
|
|
285
|
+
}, []);
|
|
286
|
+
const merge = useCallback((groups) => {
|
|
287
|
+
setValue([...state.groups, ...groups]);
|
|
288
|
+
}, []);
|
|
289
|
+
const remove = useCallback(({ uuid }) => {
|
|
290
|
+
setValue(state.groups.filter((group) => group.uuid !== uuid));
|
|
291
|
+
}, []);
|
|
292
|
+
const reset = useCallback(() => {
|
|
293
|
+
setValue(_value.current);
|
|
294
|
+
}, []);
|
|
295
|
+
const setValidators = useCallback((validators) => {
|
|
281
296
|
setState((state) => ({ ...state, validators }));
|
|
282
|
-
}
|
|
297
|
+
}, []);
|
|
298
|
+
const hasError$1 = useCallback((key) => hasError(errors, key), [errors]);
|
|
299
|
+
const someErrors$1 = useCallback((keys) => someErrors(errors, keys), [errors]);
|
|
283
300
|
return {
|
|
284
301
|
...state,
|
|
285
|
-
|
|
286
|
-
dirtyAll,
|
|
302
|
+
...controlState,
|
|
287
303
|
disable,
|
|
288
304
|
enable,
|
|
289
305
|
enabled: !state.disabled,
|
|
290
|
-
error,
|
|
291
|
-
errors,
|
|
306
|
+
error: errors[0],
|
|
307
|
+
errors: errors,
|
|
292
308
|
hasError: hasError$1,
|
|
293
|
-
invalid: !valid,
|
|
309
|
+
invalid: !controlState.valid,
|
|
294
310
|
merge,
|
|
295
|
-
pristine: !dirty,
|
|
296
|
-
pristineAll: !dirtyAll,
|
|
311
|
+
pristine: !controlState.dirty,
|
|
312
|
+
pristineAll: !controlState.dirtyAll,
|
|
297
313
|
push,
|
|
298
314
|
remove,
|
|
299
315
|
reset,
|
|
300
|
-
|
|
316
|
+
setInitialValue,
|
|
301
317
|
setValidators,
|
|
318
|
+
setValue,
|
|
302
319
|
someErrors: someErrors$1,
|
|
303
|
-
touched,
|
|
304
|
-
touchedAll,
|
|
305
|
-
|
|
306
|
-
untouchedAll: !touchedAll,
|
|
307
|
-
valid,
|
|
308
|
-
wrong: touched && !valid
|
|
320
|
+
untouched: !controlState.touched,
|
|
321
|
+
untouchedAll: !controlState.touchedAll,
|
|
322
|
+
wrong: controlState.touched && !controlState.valid
|
|
309
323
|
};
|
|
310
324
|
}
|
|
311
325
|
|
|
312
|
-
function useControl(
|
|
313
|
-
const
|
|
326
|
+
function useControl(options, validators) {
|
|
327
|
+
const _options = createFormControlOptions(options, validators);
|
|
314
328
|
const [state, setState] = useState({
|
|
315
329
|
dirty: false,
|
|
316
330
|
disabled: false,
|
|
317
331
|
focused: false,
|
|
318
|
-
touched: !!touched,
|
|
319
|
-
validators,
|
|
320
|
-
value
|
|
332
|
+
touched: !!_options.touched,
|
|
333
|
+
validators: _options.validators,
|
|
334
|
+
value: _options.value
|
|
321
335
|
});
|
|
322
336
|
const [errors, setErrors] = useState([]);
|
|
323
|
-
const initialValue = useRef(value);
|
|
337
|
+
const initialValue = useRef(_options.value);
|
|
324
338
|
const elementRef = useRef(null);
|
|
325
339
|
useEffect(() => {
|
|
326
340
|
setErrors(state.validators
|
|
@@ -345,6 +359,10 @@ function useControl(controlOptions, controlValidators) {
|
|
|
345
359
|
const touch = useCallback(() => {
|
|
346
360
|
setState((state) => ({ ...state, touched: true }));
|
|
347
361
|
}, []);
|
|
362
|
+
const setInitialValue = useCallback((value) => {
|
|
363
|
+
initialValue.current = value;
|
|
364
|
+
setState((state) => ({ ...state, dirty: true, value }));
|
|
365
|
+
}, []);
|
|
348
366
|
const setValue = useCallback((value) => {
|
|
349
367
|
setState((state) => ({ ...state, dirty: true, value }));
|
|
350
368
|
}, []);
|
|
@@ -359,12 +377,8 @@ function useControl(controlOptions, controlValidators) {
|
|
|
359
377
|
touched: false
|
|
360
378
|
}));
|
|
361
379
|
}, []);
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
365
|
-
function someErrors$1(keys) {
|
|
366
|
-
return someErrors(errors, keys);
|
|
367
|
-
}
|
|
380
|
+
const hasError$1 = useCallback((key) => hasError(errors, key), [errors]);
|
|
381
|
+
const someErrors$1 = useCallback((keys) => someErrors(errors, keys), [errors]);
|
|
368
382
|
const valid = errors.length === 0;
|
|
369
383
|
return {
|
|
370
384
|
...state,
|
|
@@ -380,6 +394,7 @@ function useControl(controlOptions, controlValidators) {
|
|
|
380
394
|
invalid: !valid,
|
|
381
395
|
pristine: !state.dirty,
|
|
382
396
|
reset,
|
|
397
|
+
setInitialValue,
|
|
383
398
|
setValidators,
|
|
384
399
|
setValue,
|
|
385
400
|
someErrors: someErrors$1,
|
|
@@ -401,9 +416,9 @@ function useInputControl(options, validators) {
|
|
|
401
416
|
}
|
|
402
417
|
|
|
403
418
|
function useFormGroup(options, groupValidators) {
|
|
404
|
-
const
|
|
405
|
-
const [validators, setValidators] = useState(
|
|
406
|
-
const { controls } =
|
|
419
|
+
const _options = createFormGroupOptions(options, groupValidators);
|
|
420
|
+
const [validators, setValidators] = useState(_options.validators);
|
|
421
|
+
const { controls } = _options;
|
|
407
422
|
const errors = validators ? groupIsValid({ controls, validators }) : [];
|
|
408
423
|
const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');
|
|
409
424
|
const value = controlsToValue(controls);
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError, someErrors } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterReactArrayControl {\n constructor(options) {\n this.initialValue = options.initialValue;\n this.uuid = options.uuid;\n this.focused = !!options.focused;\n this.unfocused = !this.focused;\n this.touched = !!options.touched;\n this.untouched = !this.touched;\n this.dirty = !!options.dirty;\n this.pristine = !this.dirty;\n this.disabled = !!options.disabled;\n this.enabled = !this.disabled;\n const { value, validators } = options;\n this.value = value;\n this.validators = validators;\n this.errors = validators ? controlIsValid({ value, validators }) : [];\n this.error = this.errors[0];\n }\n focus() {\n this.unfocused && this.refresh({ focused: true });\n }\n blur() {\n this.focused && this.refresh({ focused: false, touched: true });\n }\n disable() {\n this.enabled && this.refresh({ disabled: true });\n }\n enable() {\n this.disabled && this.refresh({ disabled: false });\n }\n touch() {\n this.untouched && this.refresh({ touched: true });\n }\n setValue(value) {\n this.refresh({ value });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n hasError(key) {\n return hasError(this.errors, key);\n }\n someErrors(keys) {\n return someErrors(this.errors, keys);\n }\n reset() {\n this.refresh({\n dirty: false,\n touched: false,\n value: this.initialValue\n });\n }\n refresh(changes) {\n this.subscriber &&\n this.subscriber({\n ...this,\n ...changes,\n initialValue: this.initialValue\n });\n }\n}\nexport class RolsterArrayControl extends RolsterReactArrayControl {\n constructor(options) {\n super(options);\n this.valid = this.errors.length === 0;\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n }\n clone(options) {\n return new RolsterArrayControl(options);\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const controlOptions = createFormControlOptions(options, validators);\n return new RolsterArrayControl({\n ...controlOptions,\n initialValue: controlOptions.value,\n uuid: uuid()\n });\n}\nexport function reactArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function formArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function inputArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\n//# sourceMappingURL=form-array-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterArrayGroup {\n constructor(options) {\n const { controls, resource, uuid, validators } = options;\n this.uuid = uuid;\n this.controls = controls;\n this.validators = validators;\n this.resource = resource;\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\n this.error = this.errors[0];\n this.valid =\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\n this.invalid = !this.valid;\n this.dirty = controlsPartialChecked(controls, 'dirty');\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\n this.touched = controlsPartialChecked(controls, 'touched');\n this.touchedAll = controlsAllChecked(controls, 'touched');\n this.untouched = !this.touched;\n this.untouchedAll = !this.touchedAll;\n this.pristine = !this.dirty;\n this.pristineAll = !this.dirtyAll;\n this.wrong = this.touched && this.invalid;\n this.value = controlsToValue(controls);\n const subscriber = (options) => {\n this.refresh({\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid ? control.clone(options) : control;\n return controls;\n }, {})\n });\n };\n Object.values(controls).forEach((control) => {\n control.subscribe(subscriber);\n });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n refresh(changes) {\n this.subscriber && this.subscriber({ ...this, ...changes });\n }\n}\nexport function formArrayGroup(options, validators) {\n return new RolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { RolsterReactArrayControl } from './form-array-control';\nexport class RolsterArrayList extends RolsterReactArrayControl {\n constructor(options) {\n const value = options.controls.map((controls) => controlsToValue(controls));\n super({ ...options, value });\n this.valueToControls = options.valueToControls;\n this.controls = options.controls;\n this.valid =\n this.errors.length === 0 &&\n this.controls.reduce((valid, controls) => valid && controlsAllChecked(controls, 'valid'), true);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n options.controls.forEach((controls) => {\n this.subscribeControls(controls);\n });\n }\n setValue(value) {\n this.refresh({\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n clone(options) {\n return new RolsterArrayList(options);\n }\n push(controls) {\n this.refresh({\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh({\n controls: this.controls.filter((currentControls) => currentControls !== controls)\n });\n }\n refresh(changes) {\n super.refresh(changes);\n }\n subscribeControls(newControls) {\n Object.values(newControls).forEach((control) => {\n control.subscribe((options) => {\n const controls = this.controls.map((currentControls) => currentControls !== newControls\n ? currentControls\n : Object.entries(newControls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid\n ? control.clone(options)\n : control;\n return controls;\n }, {}));\n this.refresh({ controls });\n });\n });\n }\n}\nexport function formArrayList(valueToControls, options) {\n const value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n valueToControls,\n controls: value.map((value) => valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useEffect, useRef, useState } from 'react';\nimport { RolsterArrayGroup } from './form-array-group';\nexport function useFormArray(options, arrayValidators) {\n const arrayOptions = createFormArrayOptions(options, arrayValidators);\n const groups = arrayOptions.groups || [];\n const currentState = useRef(groups);\n const [state, setState] = useState({\n controls: groups.map(({ controls }) => controls),\n disabled: false,\n groups,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: arrayOptions.validators\n });\n const errors = state.validators\n ? arrayIsValid({ groups, validators: state.validators })\n : [];\n const error = errors[0];\n const valid = errors.length === 0 && groupAllChecked(state.groups, 'valid');\n const dirty = groupPartialChecked(state.groups, 'dirty');\n const dirtyAll = groupAllChecked(state.groups, 'dirty');\n const touched = groupPartialChecked(state.groups, 'touched');\n const touchedAll = groupAllChecked(state.groups, 'touched');\n useEffect(() => {\n const subscriber = (options) => {\n setGroups(state.groups.map((group) => group.uuid === options.uuid\n ? new RolsterArrayGroup(options)\n : group));\n };\n state.groups.forEach((group) => {\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n function disable() {\n setState((state) => ({ ...state, disabled: true }));\n }\n function enable() {\n setState((state) => ({ ...state, disabled: false }));\n }\n function setGroups(groups) {\n setState((currentState) => ({\n ...currentState,\n groups,\n controls: groups.map(({ controls }) => controls),\n value: groups.map(({ controls }) => controlsToValue(controls))\n }));\n }\n function push(group) {\n setGroups([...state.groups, group]);\n }\n function merge(groups) {\n setGroups([...state.groups, ...groups]);\n }\n function set(groups) {\n setGroups(groups);\n }\n function remove({ uuid }) {\n setGroups(state.groups.filter((group) => group.uuid !== uuid));\n }\n function hasError(key) {\n return rolsterHasError(errors, key);\n }\n function someErrors(keys) {\n return rolsterSomeErrors(errors, keys);\n }\n function reset() {\n setGroups(currentState.current);\n }\n function setValidators(validators) {\n setState((state) => ({ ...state, validators }));\n }\n return {\n ...state,\n dirty,\n dirtyAll,\n disable,\n enable,\n enabled: !state.disabled,\n error,\n errors,\n hasError,\n invalid: !valid,\n merge,\n pristine: !dirty,\n pristineAll: !dirtyAll,\n push,\n remove,\n reset,\n set,\n setValidators,\n someErrors,\n touched,\n touchedAll,\n untouched: !touched,\n untouchedAll: !touchedAll,\n valid,\n wrong: touched && !valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction useControl(controlOptions, controlValidators) {\n const { value, touched, validators } = createFormControlOptions(controlOptions, controlValidators);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n focused: false,\n touched: !!touched,\n validators,\n value\n });\n const [errors, setErrors] = useState([]);\n const initialValue = useRef(value);\n const elementRef = useRef(null);\n useEffect(() => {\n setErrors(state.validators\n ? controlIsValid({\n value: state.value,\n validators: state.validators\n })\n : []);\n }, [state.value, state.validators]);\n const focus = useCallback(() => {\n setState((state) => ({ ...state, focused: true }));\n }, []);\n const blur = useCallback(() => {\n setState((state) => ({ ...state, focused: false, touched: true }));\n }, []);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const touch = useCallback(() => {\n setState((state) => ({ ...state, touched: true }));\n }, []);\n const setValue = useCallback((value) => {\n setState((state) => ({ ...state, dirty: true, value }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({ ...state, validators }));\n }, []);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n dirty: false,\n value: initialValue.current,\n touched: false\n }));\n }, []);\n function hasError(key) {\n return rolsterHasError(errors, key);\n }\n function someErrors(keys) {\n return rolsterSomeErrors(errors, keys);\n }\n const valid = errors.length === 0;\n return {\n ...state,\n blur,\n disable,\n elementRef,\n enable,\n enabled: !state.disabled,\n error: errors[0],\n errors,\n focus,\n hasError,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setValidators,\n setValue,\n someErrors,\n touch,\n unfocused: !state.focused,\n untouched: !state.touched,\n valid,\n wrong: state.touched && !valid\n };\n}\nexport function useReactControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useFormControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useInputControl(options, validators) {\n return useControl(options, validators);\n}\n//# sourceMappingURL=form-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { useState } from 'react';\nexport function useFormGroup(options, groupValidators) {\n const groupOptions = createFormGroupOptions(options, groupValidators);\n const [validators, setValidators] = useState(groupOptions.validators);\n const { controls } = groupOptions;\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\n const value = controlsToValue(controls);\n const dirty = controlsPartialChecked(controls, 'dirty');\n const dirtyAll = controlsAllChecked(controls, 'dirty');\n const touched = controlsPartialChecked(controls, 'touched');\n const touchedAll = controlsAllChecked(controls, 'touched');\n function reset() {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }\n return {\n controls,\n dirty,\n dirtyAll,\n error: errors[0],\n errors,\n invalid: !valid,\n pristine: !dirty,\n pristineAll: !dirtyAll,\n reset,\n setValidators,\n touched,\n touchedAll,\n untouched: !touched,\n untouchedAll: !touchedAll,\n valid,\n value,\n wrong: touched && !valid\n };\n}\n//# sourceMappingURL=form-group.js.map"],"names":["uuid","hasError","rolsterHasError","someErrors","rolsterSomeErrors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../esm/form-array/form-array-control.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js","../esm/form-control.js","../esm/form-group.js"],"sourcesContent":["import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError, someErrors } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterReactArrayControl {\n constructor(options) {\n this.initialValue = options.initialValue;\n this.uuid = options.uuid;\n this.focused = !!options.focused;\n this.unfocused = !this.focused;\n this.touched = !!options.touched;\n this.untouched = !this.touched;\n this.dirty = !!options.dirty;\n this.pristine = !this.dirty;\n this.disabled = !!options.disabled;\n this.enabled = !this.disabled;\n const { value, validators } = options;\n this.value = value;\n this.validators = validators;\n this.errors = validators ? controlIsValid({ value, validators }) : [];\n this.error = this.errors[0];\n }\n focus() {\n this.unfocused && this.refresh({ focused: true });\n }\n blur() {\n this.focused && this.refresh({ focused: false, touched: true });\n }\n disable() {\n this.enabled && this.refresh({ disabled: true });\n }\n enable() {\n this.disabled && this.refresh({ disabled: false });\n }\n touch() {\n this.untouched && this.refresh({ touched: true });\n }\n setInitialValue(value) {\n this.initialValue = value;\n this.setValue(value);\n }\n setValue(value) {\n this.refresh({ value });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n hasError(key) {\n return hasError(this.errors, key);\n }\n someErrors(keys) {\n return someErrors(this.errors, keys);\n }\n reset() {\n this.refresh({\n dirty: false,\n touched: false,\n value: this.initialValue\n });\n }\n refresh(changes) {\n this.subscriber &&\n this.subscriber({\n ...this,\n ...changes,\n initialValue: this.initialValue\n });\n }\n}\nexport class RolsterArrayControl extends RolsterReactArrayControl {\n constructor(options) {\n super(options);\n this.valid = this.errors.length === 0;\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n }\n clone(options) {\n return new RolsterArrayControl(options);\n }\n}\nfunction rolsterArrayControl(options, validators) {\n const controlOptions = createFormControlOptions(options, validators);\n return new RolsterArrayControl({\n ...controlOptions,\n initialValue: controlOptions.value,\n uuid: uuid()\n });\n}\nexport function reactArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function formArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\nexport function inputArrayControl(options, validators) {\n return rolsterArrayControl(options, validators);\n}\n//# sourceMappingURL=form-array-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nexport class RolsterArrayGroup {\n constructor(options) {\n const { controls, resource, uuid, validators } = options;\n this.uuid = uuid;\n this.controls = controls;\n this.validators = validators;\n this.resource = resource;\n this.errors = validators ? groupIsValid({ controls, validators }) : [];\n this.error = this.errors[0];\n this.valid =\n this.errors.length === 0 && controlsAllChecked(controls, 'valid');\n this.invalid = !this.valid;\n this.dirty = controlsPartialChecked(controls, 'dirty');\n this.dirtyAll = controlsAllChecked(controls, 'dirty');\n this.touched = controlsPartialChecked(controls, 'touched');\n this.touchedAll = controlsAllChecked(controls, 'touched');\n this.untouched = !this.touched;\n this.untouchedAll = !this.touchedAll;\n this.pristine = !this.dirty;\n this.pristineAll = !this.dirtyAll;\n this.wrong = this.touched && this.invalid;\n this.value = controlsToValue(controls);\n const subscriber = (options) => {\n this.refresh({\n controls: Object.entries(this.controls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid ? control.clone(options) : control;\n return controls;\n }, {})\n });\n };\n Object.values(controls).forEach((control) => {\n control.subscribe(subscriber);\n });\n }\n setValidators(validators) {\n this.refresh({ validators });\n }\n subscribe(subscriber) {\n this.subscriber = subscriber;\n }\n refresh(changes) {\n this.subscriber && this.subscriber({ ...this, ...changes });\n }\n}\nexport function formArrayGroup(options, validators) {\n return new RolsterArrayGroup({\n ...createFormGroupOptions(options, validators),\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-group.js.map","import { controlsAllChecked, controlsToValue } from '@rolster/forms/helpers';\nimport { v4 as uuid } from 'uuid';\nimport { RolsterReactArrayControl } from './form-array-control';\nexport class RolsterArrayList extends RolsterReactArrayControl {\n constructor(options) {\n const value = options.controls.map((controls) => controlsToValue(controls));\n super({ ...options, value });\n this.valueToControls = options.valueToControls;\n this.controls = options.controls;\n this.valid =\n this.errors.length === 0 &&\n this.controls.reduce((valid, controls) => valid && controlsAllChecked(controls, 'valid'), true);\n this.invalid = !this.valid;\n this.wrong = this.touched && this.invalid;\n options.controls.forEach((controls) => {\n this.subscribeControls(controls);\n });\n }\n setValue(value) {\n this.refresh({\n controls: value.map((value) => this.valueToControls(value))\n });\n }\n clone(options) {\n return new RolsterArrayList(options);\n }\n push(controls) {\n this.refresh({\n controls: [...this.controls, controls]\n });\n }\n remove(controls) {\n this.refresh({\n controls: this.controls.filter((currentControls) => currentControls !== controls)\n });\n }\n refresh(changes) {\n super.refresh(changes);\n }\n subscribeControls(newControls) {\n Object.values(newControls).forEach((control) => {\n control.subscribe((options) => {\n const controls = this.controls.map((_controls) => _controls !== newControls\n ? _controls\n : Object.entries(newControls).reduce((controls, [key, control]) => {\n controls[key] =\n control.uuid === options.uuid\n ? control.clone(options)\n : control;\n return controls;\n }, {}));\n this.refresh({ controls });\n });\n });\n }\n}\nexport function formArrayList(valueToControls, options) {\n const value = options?.value || [];\n return new RolsterArrayList({\n ...options,\n valueToControls,\n controls: value.map((value) => valueToControls(value)),\n initialValue: value,\n uuid: uuid()\n });\n}\n//# sourceMappingURL=form-array-list.js.map","import { createFormArrayOptions } from '@rolster/forms/arguments';\nimport { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { RolsterArrayGroup } from './form-array-group';\nexport function useFormArray(options, validators) {\n const _options = createFormArrayOptions(options, validators);\n const groups = _options.groups || [];\n const _value = useRef(groups);\n const [state, setState] = useState({\n controls: groups.map(({ controls }) => controls),\n disabled: false,\n groups,\n value: groups.map(({ controls }) => controlsToValue(controls)),\n validators: _options.validators\n });\n const [errors, setErrors] = useState([]);\n const [controlState, setControlState] = useState({\n valid: false,\n dirty: false,\n dirtyAll: false,\n touched: false,\n touchedAll: false\n });\n useEffect(() => {\n const subscriber = (options) => {\n setValue(state.groups.map((group) => group.uuid === options.uuid\n ? new RolsterArrayGroup(options)\n : group));\n };\n state.groups.forEach((group) => {\n group.subscribe(subscriber);\n });\n }, [state.groups]);\n useEffect(() => {\n setErrors(state.validators\n ? arrayIsValid({\n groups: state.groups,\n validators: state.validators\n })\n : []);\n }, [state.groups, state.validators]);\n useEffect(() => {\n setControlState({\n valid: errors.length === 0 && groupAllChecked(state.groups, 'valid'),\n dirty: groupPartialChecked(state.groups, 'dirty'),\n dirtyAll: groupAllChecked(state.groups, 'dirty'),\n touched: groupPartialChecked(state.groups, 'touched'),\n touchedAll: groupAllChecked(state.groups, 'touched')\n });\n }, [state.groups, errors]);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const setValue = useCallback((groups) => {\n setState((_state) => ({\n ..._state,\n groups,\n controls: groups.map(({ controls }) => controls),\n value: groups.map(({ controls }) => controlsToValue(controls))\n }));\n }, []);\n const setInitialValue = useCallback((groups) => {\n setValue(groups);\n _value.current = groups;\n }, []);\n const push = useCallback((group) => {\n setValue([...state.groups, group]);\n }, []);\n const merge = useCallback((groups) => {\n setValue([...state.groups, ...groups]);\n }, []);\n const remove = useCallback(({ uuid }) => {\n setValue(state.groups.filter((group) => group.uuid !== uuid));\n }, []);\n const reset = useCallback(() => {\n setValue(_value.current);\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({ ...state, validators }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);\n return {\n ...state,\n ...controlState,\n disable,\n enable,\n enabled: !state.disabled,\n error: errors[0],\n errors: errors,\n hasError,\n invalid: !controlState.valid,\n merge,\n pristine: !controlState.dirty,\n pristineAll: !controlState.dirtyAll,\n push,\n remove,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n untouched: !controlState.touched,\n untouchedAll: !controlState.touchedAll,\n wrong: controlState.touched && !controlState.valid\n };\n}\n//# sourceMappingURL=form-array.js.map","import { createFormControlOptions } from '@rolster/forms/arguments';\nimport { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nfunction useControl(options, validators) {\n const _options = createFormControlOptions(options, validators);\n const [state, setState] = useState({\n dirty: false,\n disabled: false,\n focused: false,\n touched: !!_options.touched,\n validators: _options.validators,\n value: _options.value\n });\n const [errors, setErrors] = useState([]);\n const initialValue = useRef(_options.value);\n const elementRef = useRef(null);\n useEffect(() => {\n setErrors(state.validators\n ? controlIsValid({\n value: state.value,\n validators: state.validators\n })\n : []);\n }, [state.value, state.validators]);\n const focus = useCallback(() => {\n setState((state) => ({ ...state, focused: true }));\n }, []);\n const blur = useCallback(() => {\n setState((state) => ({ ...state, focused: false, touched: true }));\n }, []);\n const disable = useCallback(() => {\n setState((state) => ({ ...state, disabled: true }));\n }, []);\n const enable = useCallback(() => {\n setState((state) => ({ ...state, disabled: false }));\n }, []);\n const touch = useCallback(() => {\n setState((state) => ({ ...state, touched: true }));\n }, []);\n const setInitialValue = useCallback((value) => {\n initialValue.current = value;\n setState((state) => ({ ...state, dirty: true, value }));\n }, []);\n const setValue = useCallback((value) => {\n setState((state) => ({ ...state, dirty: true, value }));\n }, []);\n const setValidators = useCallback((validators) => {\n setState((state) => ({ ...state, validators }));\n }, []);\n const reset = useCallback(() => {\n setState((state) => ({\n ...state,\n dirty: false,\n value: initialValue.current,\n touched: false\n }));\n }, []);\n const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);\n const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);\n const valid = errors.length === 0;\n return {\n ...state,\n blur,\n disable,\n elementRef,\n enable,\n enabled: !state.disabled,\n error: errors[0],\n errors,\n focus,\n hasError,\n invalid: !valid,\n pristine: !state.dirty,\n reset,\n setInitialValue,\n setValidators,\n setValue,\n someErrors,\n touch,\n unfocused: !state.focused,\n untouched: !state.touched,\n valid,\n wrong: state.touched && !valid\n };\n}\nexport function useReactControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useFormControl(options, validators) {\n return useControl(options, validators);\n}\nexport function useInputControl(options, validators) {\n return useControl(options, validators);\n}\n//# sourceMappingURL=form-control.js.map","import { createFormGroupOptions } from '@rolster/forms/arguments';\nimport { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';\nimport { useState } from 'react';\nexport function useFormGroup(options, groupValidators) {\n const _options = createFormGroupOptions(options, groupValidators);\n const [validators, setValidators] = useState(_options.validators);\n const { controls } = _options;\n const errors = validators ? groupIsValid({ controls, validators }) : [];\n const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');\n const value = controlsToValue(controls);\n const dirty = controlsPartialChecked(controls, 'dirty');\n const dirtyAll = controlsAllChecked(controls, 'dirty');\n const touched = controlsPartialChecked(controls, 'touched');\n const touchedAll = controlsAllChecked(controls, 'touched');\n function reset() {\n Object.values(controls).forEach((control) => {\n control.reset();\n });\n }\n return {\n controls,\n dirty,\n dirtyAll,\n error: errors[0],\n errors,\n invalid: !valid,\n pristine: !dirty,\n pristineAll: !dirtyAll,\n reset,\n setValidators,\n touched,\n touchedAll,\n untouched: !touched,\n untouchedAll: !touchedAll,\n valid,\n value,\n wrong: touched && !valid\n };\n}\n//# sourceMappingURL=form-group.js.map"],"names":["uuid","hasError","rolsterHasError","someErrors","rolsterSomeErrors"],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare class RolsterReactArrayControl<E extends HTMLElement = HTMLElemen
|
|
|
26
26
|
disable(): void;
|
|
27
27
|
enable(): void;
|
|
28
28
|
touch(): void;
|
|
29
|
+
setInitialValue(value: T): void;
|
|
29
30
|
setValue(value: T): void;
|
|
30
31
|
setValidators(validators?: ValidatorFn<T>[]): void;
|
|
31
32
|
subscribe(subscriber: ReactSubscriberControl<T>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-array-control.js","sourceRoot":"","sources":["../../../src/form-array/form-array-control.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-array-control.js","sourceRoot":"","sources":["../../../src/form-array/form-array-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,8 +40,8 @@ export class RolsterArrayList extends RolsterReactArrayControl {
|
|
|
40
40
|
subscribeControls(newControls) {
|
|
41
41
|
Object.values(newControls).forEach((control) => {
|
|
42
42
|
control.subscribe((options) => {
|
|
43
|
-
const controls = this.controls.map((
|
|
44
|
-
?
|
|
43
|
+
const controls = this.controls.map((_controls) => _controls !== newControls
|
|
44
|
+
? _controls
|
|
45
45
|
: Object.entries(newControls).reduce((controls, [key, control]) => {
|
|
46
46
|
controls[key] =
|
|
47
47
|
control.uuid === options.uuid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-array-list.js","sourceRoot":"","sources":["../../../src/form-array/form-array-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAMlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAKhE,MAAM,OAAO,gBAIX,SAAQ,wBAAoD;IAa5D,YAAY,OAA8B;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5E,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,IAAI,CAAC,KAAK;YACR,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnE,IAAI,CACL,CAAC;QAEJ,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAE1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,KAA8B;QAC5C,IAAI,CAAC,OAAO,CAAC;YACX,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAiC;QAC5C,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,QAAW;QACrB,IAAI,CAAC,OAAO,CAAC;YACX,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,QAAW;QACvB,IAAI,CAAC,OAAO,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC5B,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,KAAK,QAAQ,CAClD;SACF,CAAC,CAAC;IACL,CAAC;IAES,OAAO,CAAC,OAA0C;QAC1D,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAEO,iBAAiB,CAAC,WAAc;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"form-array-list.js","sourceRoot":"","sources":["../../../src/form-array/form-array-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
import { createFormArrayOptions } from '@rolster/forms/arguments';
|
|
2
2
|
import { arrayIsValid, controlsToValue, groupAllChecked, groupPartialChecked, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';
|
|
3
|
-
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
4
|
import { RolsterArrayGroup } from './form-array-group';
|
|
5
|
-
export function useFormArray(options,
|
|
6
|
-
const
|
|
7
|
-
const groups =
|
|
8
|
-
const
|
|
5
|
+
export function useFormArray(options, validators) {
|
|
6
|
+
const _options = createFormArrayOptions(options, validators);
|
|
7
|
+
const groups = _options.groups || [];
|
|
8
|
+
const _value = useRef(groups);
|
|
9
9
|
const [state, setState] = useState({
|
|
10
10
|
controls: groups.map(({ controls }) => controls),
|
|
11
11
|
disabled: false,
|
|
12
12
|
groups,
|
|
13
13
|
value: groups.map(({ controls }) => controlsToValue(controls)),
|
|
14
|
-
validators:
|
|
14
|
+
validators: _options.validators
|
|
15
|
+
});
|
|
16
|
+
const [errors, setErrors] = useState([]);
|
|
17
|
+
const [controlState, setControlState] = useState({
|
|
18
|
+
valid: false,
|
|
19
|
+
dirty: false,
|
|
20
|
+
dirtyAll: false,
|
|
21
|
+
touched: false,
|
|
22
|
+
touchedAll: false
|
|
15
23
|
});
|
|
16
|
-
const errors = state.validators
|
|
17
|
-
? arrayIsValid({ groups, validators: state.validators })
|
|
18
|
-
: [];
|
|
19
|
-
const error = errors[0];
|
|
20
|
-
const valid = errors.length === 0 && groupAllChecked(state.groups, 'valid');
|
|
21
|
-
const dirty = groupPartialChecked(state.groups, 'dirty');
|
|
22
|
-
const dirtyAll = groupAllChecked(state.groups, 'dirty');
|
|
23
|
-
const touched = groupPartialChecked(state.groups, 'touched');
|
|
24
|
-
const touchedAll = groupAllChecked(state.groups, 'touched');
|
|
25
24
|
useEffect(() => {
|
|
26
25
|
const subscriber = (options) => {
|
|
27
|
-
|
|
26
|
+
setValue(state.groups.map((group) => group.uuid === options.uuid
|
|
28
27
|
? new RolsterArrayGroup(options)
|
|
29
28
|
: group));
|
|
30
29
|
};
|
|
@@ -32,70 +31,81 @@ export function useFormArray(options, arrayValidators) {
|
|
|
32
31
|
group.subscribe(subscriber);
|
|
33
32
|
});
|
|
34
33
|
}, [state.groups]);
|
|
35
|
-
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
setErrors(state.validators
|
|
36
|
+
? arrayIsValid({
|
|
37
|
+
groups: state.groups,
|
|
38
|
+
validators: state.validators
|
|
39
|
+
})
|
|
40
|
+
: []);
|
|
41
|
+
}, [state.groups, state.validators]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
setControlState({
|
|
44
|
+
valid: errors.length === 0 && groupAllChecked(state.groups, 'valid'),
|
|
45
|
+
dirty: groupPartialChecked(state.groups, 'dirty'),
|
|
46
|
+
dirtyAll: groupAllChecked(state.groups, 'dirty'),
|
|
47
|
+
touched: groupPartialChecked(state.groups, 'touched'),
|
|
48
|
+
touchedAll: groupAllChecked(state.groups, 'touched')
|
|
49
|
+
});
|
|
50
|
+
}, [state.groups, errors]);
|
|
51
|
+
const disable = useCallback(() => {
|
|
36
52
|
setState((state) => ({ ...state, disabled: true }));
|
|
37
|
-
}
|
|
38
|
-
|
|
53
|
+
}, []);
|
|
54
|
+
const enable = useCallback(() => {
|
|
39
55
|
setState((state) => ({ ...state, disabled: false }));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
setState((
|
|
43
|
-
...
|
|
56
|
+
}, []);
|
|
57
|
+
const setValue = useCallback((groups) => {
|
|
58
|
+
setState((_state) => ({
|
|
59
|
+
..._state,
|
|
44
60
|
groups,
|
|
45
61
|
controls: groups.map(({ controls }) => controls),
|
|
46
62
|
value: groups.map(({ controls }) => controlsToValue(controls))
|
|
47
63
|
}));
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
function reset() {
|
|
68
|
-
setGroups(currentState.current);
|
|
69
|
-
}
|
|
70
|
-
function setValidators(validators) {
|
|
64
|
+
}, []);
|
|
65
|
+
const setInitialValue = useCallback((groups) => {
|
|
66
|
+
setValue(groups);
|
|
67
|
+
_value.current = groups;
|
|
68
|
+
}, []);
|
|
69
|
+
const push = useCallback((group) => {
|
|
70
|
+
setValue([...state.groups, group]);
|
|
71
|
+
}, []);
|
|
72
|
+
const merge = useCallback((groups) => {
|
|
73
|
+
setValue([...state.groups, ...groups]);
|
|
74
|
+
}, []);
|
|
75
|
+
const remove = useCallback(({ uuid }) => {
|
|
76
|
+
setValue(state.groups.filter((group) => group.uuid !== uuid));
|
|
77
|
+
}, []);
|
|
78
|
+
const reset = useCallback(() => {
|
|
79
|
+
setValue(_value.current);
|
|
80
|
+
}, []);
|
|
81
|
+
const setValidators = useCallback((validators) => {
|
|
71
82
|
setState((state) => ({ ...state, validators }));
|
|
72
|
-
}
|
|
83
|
+
}, []);
|
|
84
|
+
const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);
|
|
85
|
+
const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);
|
|
73
86
|
return {
|
|
74
87
|
...state,
|
|
75
|
-
|
|
76
|
-
dirtyAll,
|
|
88
|
+
...controlState,
|
|
77
89
|
disable,
|
|
78
90
|
enable,
|
|
79
91
|
enabled: !state.disabled,
|
|
80
|
-
error,
|
|
81
|
-
errors,
|
|
92
|
+
error: errors[0],
|
|
93
|
+
errors: errors,
|
|
82
94
|
hasError,
|
|
83
|
-
invalid: !valid,
|
|
95
|
+
invalid: !controlState.valid,
|
|
84
96
|
merge,
|
|
85
|
-
pristine: !dirty,
|
|
86
|
-
pristineAll: !dirtyAll,
|
|
97
|
+
pristine: !controlState.dirty,
|
|
98
|
+
pristineAll: !controlState.dirtyAll,
|
|
87
99
|
push,
|
|
88
100
|
remove,
|
|
89
101
|
reset,
|
|
90
|
-
|
|
102
|
+
setInitialValue,
|
|
91
103
|
setValidators,
|
|
104
|
+
setValue,
|
|
92
105
|
someErrors,
|
|
93
|
-
touched,
|
|
94
|
-
touchedAll,
|
|
95
|
-
|
|
96
|
-
untouchedAll: !touchedAll,
|
|
97
|
-
valid,
|
|
98
|
-
wrong: touched && !valid
|
|
106
|
+
untouched: !controlState.touched,
|
|
107
|
+
untouchedAll: !controlState.touchedAll,
|
|
108
|
+
wrong: controlState.touched && !controlState.valid
|
|
99
109
|
};
|
|
100
110
|
}
|
|
101
111
|
//# sourceMappingURL=form-array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,QAAQ,IAAI,eAAe,EAC3B,UAAU,IAAI,iBAAiB,EAChC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"form-array.js","sourceRoot":"","sources":["../../../src/form-array/form-array.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/form-control.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { createFormControlOptions } from '@rolster/forms/arguments';
|
|
2
2
|
import { controlIsValid, hasError as rolsterHasError, someErrors as rolsterSomeErrors } from '@rolster/forms/helpers';
|
|
3
3
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
-
function useControl(
|
|
5
|
-
const
|
|
4
|
+
function useControl(options, validators) {
|
|
5
|
+
const _options = createFormControlOptions(options, validators);
|
|
6
6
|
const [state, setState] = useState({
|
|
7
7
|
dirty: false,
|
|
8
8
|
disabled: false,
|
|
9
9
|
focused: false,
|
|
10
|
-
touched: !!touched,
|
|
11
|
-
validators,
|
|
12
|
-
value
|
|
10
|
+
touched: !!_options.touched,
|
|
11
|
+
validators: _options.validators,
|
|
12
|
+
value: _options.value
|
|
13
13
|
});
|
|
14
14
|
const [errors, setErrors] = useState([]);
|
|
15
|
-
const initialValue = useRef(value);
|
|
15
|
+
const initialValue = useRef(_options.value);
|
|
16
16
|
const elementRef = useRef(null);
|
|
17
17
|
useEffect(() => {
|
|
18
18
|
setErrors(state.validators
|
|
@@ -37,6 +37,10 @@ function useControl(controlOptions, controlValidators) {
|
|
|
37
37
|
const touch = useCallback(() => {
|
|
38
38
|
setState((state) => ({ ...state, touched: true }));
|
|
39
39
|
}, []);
|
|
40
|
+
const setInitialValue = useCallback((value) => {
|
|
41
|
+
initialValue.current = value;
|
|
42
|
+
setState((state) => ({ ...state, dirty: true, value }));
|
|
43
|
+
}, []);
|
|
40
44
|
const setValue = useCallback((value) => {
|
|
41
45
|
setState((state) => ({ ...state, dirty: true, value }));
|
|
42
46
|
}, []);
|
|
@@ -51,12 +55,8 @@ function useControl(controlOptions, controlValidators) {
|
|
|
51
55
|
touched: false
|
|
52
56
|
}));
|
|
53
57
|
}, []);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
function someErrors(keys) {
|
|
58
|
-
return rolsterSomeErrors(errors, keys);
|
|
59
|
-
}
|
|
58
|
+
const hasError = useCallback((key) => rolsterHasError(errors, key), [errors]);
|
|
59
|
+
const someErrors = useCallback((keys) => rolsterSomeErrors(errors, keys), [errors]);
|
|
60
60
|
const valid = errors.length === 0;
|
|
61
61
|
return {
|
|
62
62
|
...state,
|
|
@@ -72,6 +72,7 @@ function useControl(controlOptions, controlValidators) {
|
|
|
72
72
|
invalid: !valid,
|
|
73
73
|
pristine: !state.dirty,
|
|
74
74
|
reset,
|
|
75
|
+
setInitialValue,
|
|
75
76
|
setValidators,
|
|
76
77
|
setValue,
|
|
77
78
|
someErrors,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,cAAc,EACd,QAAQ,IAAI,eAAe,EAC3B,UAAU,IAAI,iBAAiB,EAChC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAgBjE,SAAS,UAAU,CACjB,
|
|
1
|
+
{"version":3,"file":"form-control.js","sourceRoot":"","sources":["../../src/form-control.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/form-group.js
CHANGED
|
@@ -2,9 +2,9 @@ import { createFormGroupOptions } from '@rolster/forms/arguments';
|
|
|
2
2
|
import { controlsAllChecked, controlsPartialChecked, controlsToValue, groupIsValid } from '@rolster/forms/helpers';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
export function useFormGroup(options, groupValidators) {
|
|
5
|
-
const
|
|
6
|
-
const [validators, setValidators] = useState(
|
|
7
|
-
const { controls } =
|
|
5
|
+
const _options = createFormGroupOptions(options, groupValidators);
|
|
6
|
+
const [validators, setValidators] = useState(_options.validators);
|
|
7
|
+
const { controls } = _options;
|
|
8
8
|
const errors = validators ? groupIsValid({ controls, validators }) : [];
|
|
9
9
|
const valid = errors.length === 0 && controlsAllChecked(controls, 'valid');
|
|
10
10
|
const value = controlsToValue(controls);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,UAAU,YAAY,CAC1B,OAAgC,EAChC,eAAuC;IAEvC,MAAM,
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../src/form-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC,MAAM,UAAU,YAAY,CAC1B,OAAgC,EAChC,eAAuC;IAEvC,MAAM,QAAQ,GAAG,sBAAsB,CACrC,OAAO,EACP,eAAe,CAChB,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAElE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3D,SAAS,KAAK;QACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,MAAM;QACN,OAAO,EAAE,CAAC,KAAK;QACf,QAAQ,EAAE,CAAC,KAAK;QAChB,WAAW,EAAE,CAAC,QAAQ;QACtB,KAAK;QACL,aAAa;QACb,OAAO;QACP,UAAU;QACV,SAAS,EAAE,CAAC,OAAO;QACnB,YAAY,EAAE,CAAC,UAAU;QACzB,KAAK;QACL,KAAK;QACL,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolster/react-forms",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.10.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,10 +27,10 @@
|
|
|
27
27
|
"prepublishOnly": "npm run build"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@rolster/forms": "^2.
|
|
30
|
+
"@rolster/forms": "^2.9.0",
|
|
31
31
|
"@rolster/validators": "^2.1.0",
|
|
32
32
|
"react": "^18.2.0",
|
|
33
|
-
"uuid": "^
|
|
33
|
+
"uuid": "^11.0.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@rollup/plugin-commonjs": "^25.0.4",
|