@rolster/forms 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +6 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/form-group/form-group.d.ts +1 -0
- package/dist/esm/form-group/form-group.js +6 -0
- package/dist/esm/form-group/form-group.js.map +1 -1
- package/dist/esm/form-group/form-group.type.d.ts +1 -0
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -305,6 +305,12 @@ class FormGroup {
|
|
|
305
305
|
get wrong() {
|
|
306
306
|
return this.touched && this.invalid;
|
|
307
307
|
}
|
|
308
|
+
setValue(value) {
|
|
309
|
+
Object.entries(value).forEach(([key, valueControl]) => {
|
|
310
|
+
const formControl = this._controls[key];
|
|
311
|
+
formControl?.setValue(valueControl);
|
|
312
|
+
});
|
|
313
|
+
}
|
|
308
314
|
reset() {
|
|
309
315
|
Object.values(this.controls).forEach((control) => {
|
|
310
316
|
control.reset();
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../esm/form-control/form-control.helper.js","../esm/form-array/form-array.helper.js","../esm/form-group/form-group.helper.js","../esm/helpers.js","../esm/form-control/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group/form-group.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js"],"sourcesContent":["function valueIsControlOptions(options) {\n return (typeof options === 'object' &&\n ('value' in options || 'validators' in options));\n}\nexport function createFormControlOptions(...argsOptions) {\n const [options, validators] = argsOptions;\n if (!options) {\n return { value: options, validators };\n }\n if (!validators && valueIsControlOptions(options)) {\n return options;\n }\n return {\n value: options,\n validators\n };\n}\nexport const formControlIsValid = ({ value, validators }) => {\n return validators.reduce((errors, validator) => {\n const error = validator(value);\n if (error) {\n errors.push(error);\n }\n return errors;\n }, []);\n};\n//# sourceMappingURL=form-control.helper.js.map","import { parseBoolean } from '@rolster/commons';\nfunction valueIsArrayOptions(options) {\n return (typeof options === 'object' &&\n ('groups' in options || 'validators' in options));\n}\nexport function createFormArrayOptions(...argsOptions) {\n const [options, validators] = argsOptions;\n if (!options) {\n return { groups: options, validators };\n }\n if (!validators && valueIsArrayOptions(options)) {\n return options;\n }\n return {\n groups: options,\n validators\n };\n}\nexport const formArrayIsValid = ({ groups, validators }) => {\n return validators.reduce((errors, validator) => {\n const error = validator(groups);\n if (error) {\n errors.push(error);\n }\n return errors;\n }, []);\n};\nexport function verifyAllTrueInGroups(groups, key) {\n return groups.reduce((value, group) => value && parseBoolean(group[key]), true);\n}\nexport function verifyAnyTrueInGroups(groups, key) {\n return groups.reduce((value, group) => value || parseBoolean(group[key]), false);\n}\n//# sourceMappingURL=form-array.helper.js.map","import { parseBoolean } from '@rolster/commons';\nfunction valueIsGroupOptions(options) {\n return typeof options === 'object' && 'controls' in options;\n}\nexport function createFormGroupOptions(...argsOptions) {\n const [options, validators] = argsOptions;\n if (!validators && valueIsGroupOptions(options)) {\n return options;\n }\n return {\n controls: options,\n validators\n };\n}\nexport const formGroupIsValid = ({ controls, validators }) => {\n return validators.reduce((errors, validator) => {\n const error = validator(controls);\n if (error) {\n errors.push(error);\n }\n return errors;\n }, []);\n};\nexport const controlsToValue = (controls) => {\n return Object.entries(controls).reduce((result, [key, { value }]) => {\n result[key] = value;\n return result;\n }, {});\n};\nexport const verifyAllTrueInControls = (controls, key) => {\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value && parseBoolean(control[key]), true);\n};\nexport const verifyAnyTrueInControls = (controls, key) => {\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);\n};\n//# sourceMappingURL=form-group.helper.js.map","function reduceErrors(errors) {\n return errors.reduce((keys, { id }) => [...keys, id], []);\n}\nexport function hasError(errors, key) {\n return reduceErrors(errors).includes(key);\n}\nexport function someErrors(errors, keys) {\n return reduceErrors(errors).some((key) => keys.includes(key));\n}\nexport function reduceControlsToArray(controls, key) {\n return Object.values(controls).map((control) => control[key]);\n}\nexport function reduceGroupToArray(group, key) {\n return reduceControlsToArray(group.controls, key);\n}\nexport * from './form-array/form-array.helper';\nexport * from './form-control/form-control.helper';\nexport * from './form-group/form-group.helper';\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\nimport { hasError, someErrors } from '../helpers';\nimport { formControlIsValid, createFormControlOptions } from './form-control.helper';\nexport class FormControl {\n constructor(options, validators) {\n this._focused = false;\n this._touched = false;\n this._dirty = false;\n this._disabled = false;\n this._valid = true;\n this._errors = [];\n const formControl = createFormControlOptions(options, validators);\n this.observable = observable(formControl.value);\n this.defaultValue = formControl.value;\n this.validators = formControl.validators;\n this._value = formControl.value;\n this.updateValueAndValidity(formControl.value, formControl.validators);\n }\n get focused() {\n return this._focused;\n }\n get unfocused() {\n return !this._focused;\n }\n get touched() {\n return this._touched;\n }\n get untouched() {\n return !this._touched;\n }\n get dirty() {\n return this._dirty;\n }\n get pristine() {\n return !this._dirty;\n }\n get disabled() {\n return this._disabled;\n }\n get enabled() {\n return !this._disabled;\n }\n get valid() {\n return this._valid;\n }\n get invalid() {\n return !this._valid;\n }\n get value() {\n return this._value;\n }\n get errors() {\n return this._errors;\n }\n get error() {\n return this._error;\n }\n get wrong() {\n return this.touched && this.invalid;\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.refreshValue(this.defaultValue);\n this._dirty = false;\n this._touched = false;\n }\n focus() {\n this._focused = true;\n }\n blur() {\n this._focused = false;\n this._touched = true;\n }\n disable() {\n this._disabled = true;\n }\n enable() {\n this._disabled = false;\n }\n touch() {\n this._touched = true;\n }\n setDefaultValue(value) {\n this.defaultValue = value;\n this.refreshValue(value);\n }\n setStartValue(value) {\n this.refreshValue(value);\n }\n setValue(value) {\n this._dirty = true;\n this.refreshValue(value);\n }\n setValidators(validators = []) {\n this.validators = validators;\n this.updateValueAndValidity(this.value, validators);\n }\n subscribe(subscriber) {\n return this.observable.subscribe(subscriber);\n }\n updateValueAndValidity(value, validators) {\n if (validators) {\n const errors = formControlIsValid({ value, validators });\n this._error = errors[0];\n this._errors = errors;\n this._valid = errors.length === 0;\n }\n else {\n this._valid = true;\n this._error = undefined;\n this._errors = [];\n }\n }\n refreshValue(value) {\n this._value = value;\n this.updateValueAndValidity(value, this.validators);\n this.observable.next(value);\n }\n}\nexport function formControl(options, validators) {\n return new FormControl(createFormControlOptions(options, validators));\n}\n//# sourceMappingURL=form-control.js.map","import { v4 as uuid } from 'uuid';\nimport { createFormControlOptions } from '../form-control/form-control.helper';\nimport { FormControl } from '../form-control/form-control';\nexport class FormArrayControl extends FormControl {\n constructor(options, validators) {\n const formControl = createFormControlOptions(options, validators);\n super(formControl.value, formControl.validators);\n this.uuid = uuid();\n }\n}\nexport function formArrayControl(options, validators) {\n return new FormArrayControl(createFormControlOptions(options, validators));\n}\n//# sourceMappingURL=form-array-control.js.map","import { observable } from '@rolster/commons';\nimport { controlsToValue, createFormGroupOptions, formGroupIsValid, verifyAllTrueInControls, verifyAnyTrueInControls } from './form-group.helper';\nexport class FormGroup {\n constructor(options, validators) {\n this._errors = [];\n this._valid = true;\n const formGroup = createFormGroupOptions(options, validators);\n this._controls = formGroup.controls;\n this.validators = formGroup.validators;\n this.updateValueAndValidity(formGroup.controls, formGroup.validators);\n this.observable = observable(this.value);\n Object.values(formGroup.controls).forEach((control) => {\n control.subscribe(() => {\n this.updateValueAndValidity(this.controls, this.validators);\n this.observable.next(this.value);\n });\n });\n }\n get controls() {\n return this._controls;\n }\n get touched() {\n return verifyAnyTrueInControls(this.controls, 'touched');\n }\n get toucheds() {\n return verifyAllTrueInControls(this.controls, 'touched');\n }\n get untouched() {\n return !this.touched;\n }\n get untoucheds() {\n return !this.toucheds;\n }\n get dirty() {\n return verifyAnyTrueInControls(this.controls, 'dirty');\n }\n get dirties() {\n return verifyAllTrueInControls(this.controls, 'dirty');\n }\n get pristine() {\n return !this.dirty;\n }\n get pristines() {\n return this.dirties;\n }\n get valid() {\n return this._valid && verifyAllTrueInControls(this.controls, 'valid');\n }\n get invalid() {\n return !this.valid;\n }\n get value() {\n return controlsToValue(this.controls);\n }\n get errors() {\n return this._errors;\n }\n get error() {\n return this._error;\n }\n get wrong() {\n return this.touched && this.invalid;\n }\n reset() {\n Object.values(this.controls).forEach((control) => {\n control.reset();\n });\n }\n setValidators(validators) {\n this.validators = validators;\n this.updateValueAndValidity(this.controls, validators);\n }\n subscribe(subscriber) {\n return this.observable.subscribe(subscriber);\n }\n updateValueAndValidity(controls, validators) {\n if (validators) {\n const errors = formGroupIsValid({ controls, validators });\n this._errors = errors;\n this._error = errors[0];\n this._valid = errors.length === 0;\n }\n else {\n this._errors = [];\n this._error = undefined;\n this._valid = true;\n }\n }\n}\nexport function formGroup(options, validators) {\n return new FormGroup(createFormGroupOptions(options, validators));\n}\n//# sourceMappingURL=form-group.js.map","import { v4 as uuid } from 'uuid';\nimport { createFormGroupOptions } from '../form-group/form-group.helper';\nimport { FormGroup } from '../form-group/form-group';\nexport class FormArrayGroup extends FormGroup {\n constructor(options, validators) {\n const formGroup = createFormGroupOptions(options, validators);\n super(formGroup.controls, formGroup.validators);\n this.uuid = uuid();\n this.resource = formGroup.resource;\n }\n}\nexport function formArrayGroup(options, validators) {\n return new FormArrayGroup(createFormGroupOptions(options, validators));\n}\n//# sourceMappingURL=form-array-group.js.map","import { v4 as uuid } from 'uuid';\nimport { FormControl } from '../form-control/form-control';\nimport { controlsToValue, verifyAllTrueInControls, verifyAnyTrueInControls } from '../form-group/form-group.helper';\nexport class FormArrayList extends FormControl {\n constructor(valueToControls, value, validators) {\n const formValue = value || [];\n super(formValue, validators);\n this.valueToControls = valueToControls;\n this._controls = formValue.map((value) => this.createControls(value));\n this.uuid = uuid();\n }\n get controls() {\n return this._controls;\n }\n get touched() {\n return this.controls.reduce((valid, controls) => valid && verifyAnyTrueInControls(controls, 'touched'), true);\n }\n get dirty() {\n return this.controls.reduce((valid, controls) => valid && verifyAnyTrueInControls(controls, 'dirty'), true);\n }\n get valid() {\n return (this._valid &&\n this.controls.reduce((valid, controls) => valid && verifyAllTrueInControls(controls, 'valid'), true));\n }\n get value() {\n return this.controls.map((controls) => controlsToValue(controls));\n }\n setValue(values) {\n this._controls = values.map((value) => this.createControls(value));\n }\n push(controls) {\n this._controls = this._controls.concat([controls]);\n }\n remove(controls) {\n this._controls = this._controls.filter((_controls) => _controls !== controls);\n }\n createControls(value) {\n const controls = this.valueToControls(value);\n Object.values(controls).forEach((control) => {\n control.subscribe(() => {\n this.updateValueAndValidity(this.value, this.validators);\n this.observable.next(this.value);\n });\n });\n return controls;\n }\n}\nexport function formArrayList(valueToControl, value, validators) {\n return new FormArrayList(valueToControl, value, validators);\n}\n//# sourceMappingURL=form-array-list.js.map","import { observable } from '@rolster/commons';\nimport { hasError, someErrors } from '../helpers';\nimport { createFormArrayOptions, formArrayIsValid, verifyAllTrueInGroups, verifyAnyTrueInGroups } from './form-array.helper';\nexport class FormArray {\n constructor(options, validators) {\n this._groups = [];\n this._valid = true;\n this._disabled = false;\n this._errors = [];\n const formArray = createFormArrayOptions(options, validators);\n this.unsusbcriptions = new Map();\n this.map = new Map();\n this.defaultValue = formArray.groups;\n this.validators = formArray.validators;\n this.refresh(this.defaultValue);\n this.observable = observable(this.value);\n formArray.groups?.forEach((group) => {\n this.subscription(group);\n });\n }\n get groups() {\n return this._groups;\n }\n get controls() {\n return this.groups.map(({ controls }) => controls);\n }\n get touched() {\n return verifyAnyTrueInGroups(this.groups, 'touched');\n }\n get toucheds() {\n return verifyAllTrueInGroups(this.groups, 'toucheds');\n }\n get untouched() {\n return !this.touched;\n }\n get untoucheds() {\n return !this.toucheds;\n }\n get dirty() {\n return verifyAnyTrueInGroups(this.groups, 'dirty');\n }\n get dirties() {\n return verifyAllTrueInGroups(this.groups, 'dirties');\n }\n get pristine() {\n return !this.dirty;\n }\n get pristines() {\n return !this.dirties;\n }\n get disabled() {\n return this._disabled;\n }\n get enabled() {\n return !this._disabled;\n }\n get valid() {\n return this._valid && verifyAllTrueInGroups(this.groups, 'valid');\n }\n get invalid() {\n return !this._valid;\n }\n get value() {\n return this.groups.map(({ value: state }) => state);\n }\n get error() {\n return this._error;\n }\n get errors() {\n return this._errors;\n }\n get wrong() {\n return this.touched && this.invalid;\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(this.defaultValue);\n }\n disable() {\n this._disabled = true;\n }\n enable() {\n this._disabled = false;\n }\n findByUuid(uuid) {\n return this.map.get(uuid);\n }\n push(group) {\n this.subscription(group);\n this.refresh([...this.groups, group]);\n }\n merge(groups) {\n groups.forEach((group) => {\n this.subscription(group);\n });\n this.refresh([...this.groups, ...groups]);\n }\n setDefaultValue(groups) {\n this.defaultValue = groups;\n this.setValue(groups);\n }\n setValue(groups) {\n this._groups.forEach(({ uuid }) => {\n this.unsusbcriptions.delete(uuid);\n });\n groups.forEach((group) => {\n this.subscription(group);\n });\n this.refresh(groups); // Update groups\n }\n remove(group) {\n this.refresh(this.groups.filter((_group) => _group.uuid !== group.uuid));\n }\n setValidators(validators) {\n this.validators = validators;\n this.updateValidityStatus(this.groups, validators);\n }\n subscribe(subscriber) {\n return this.observable.subscribe(subscriber);\n }\n subscription(group) {\n const unsusbcription = group.subscribe(() => {\n this.updateValidityStatus(this.groups, this.validators);\n });\n this.unsusbcriptions.set(group.uuid, unsusbcription);\n }\n updateValidityStatus(groups, validators) {\n if (validators) {\n const errors = formArrayIsValid({ groups, validators });\n this._errors = errors;\n this._error = errors[0];\n this._valid = errors.length === 0;\n }\n else {\n this._valid = true;\n this._errors = [];\n this._error = undefined;\n }\n }\n refresh(groups) {\n this._groups = groups || [];\n this.map.clear();\n this._groups.forEach((group) => {\n this.map.set(group.uuid, group);\n });\n this.updateValidityStatus(this._groups, this.validators);\n }\n}\nexport function formArray(options, validators) {\n return new FormArray(createFormArrayOptions(options, validators));\n}\n//# sourceMappingURL=form-array.js.map"],"names":["parseBoolean","observable","uuid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../esm/form-control/form-control.helper.js","../esm/form-array/form-array.helper.js","../esm/form-group/form-group.helper.js","../esm/helpers.js","../esm/form-control/form-control.js","../esm/form-array/form-array-control.js","../esm/form-group/form-group.js","../esm/form-array/form-array-group.js","../esm/form-array/form-array-list.js","../esm/form-array/form-array.js"],"sourcesContent":["function valueIsControlOptions(options) {\n return (typeof options === 'object' &&\n ('value' in options || 'validators' in options));\n}\nexport function createFormControlOptions(...argsOptions) {\n const [options, validators] = argsOptions;\n if (!options) {\n return { value: options, validators };\n }\n if (!validators && valueIsControlOptions(options)) {\n return options;\n }\n return {\n value: options,\n validators\n };\n}\nexport const formControlIsValid = ({ value, validators }) => {\n return validators.reduce((errors, validator) => {\n const error = validator(value);\n if (error) {\n errors.push(error);\n }\n return errors;\n }, []);\n};\n//# sourceMappingURL=form-control.helper.js.map","import { parseBoolean } from '@rolster/commons';\nfunction valueIsArrayOptions(options) {\n return (typeof options === 'object' &&\n ('groups' in options || 'validators' in options));\n}\nexport function createFormArrayOptions(...argsOptions) {\n const [options, validators] = argsOptions;\n if (!options) {\n return { groups: options, validators };\n }\n if (!validators && valueIsArrayOptions(options)) {\n return options;\n }\n return {\n groups: options,\n validators\n };\n}\nexport const formArrayIsValid = ({ groups, validators }) => {\n return validators.reduce((errors, validator) => {\n const error = validator(groups);\n if (error) {\n errors.push(error);\n }\n return errors;\n }, []);\n};\nexport function verifyAllTrueInGroups(groups, key) {\n return groups.reduce((value, group) => value && parseBoolean(group[key]), true);\n}\nexport function verifyAnyTrueInGroups(groups, key) {\n return groups.reduce((value, group) => value || parseBoolean(group[key]), false);\n}\n//# sourceMappingURL=form-array.helper.js.map","import { parseBoolean } from '@rolster/commons';\nfunction valueIsGroupOptions(options) {\n return typeof options === 'object' && 'controls' in options;\n}\nexport function createFormGroupOptions(...argsOptions) {\n const [options, validators] = argsOptions;\n if (!validators && valueIsGroupOptions(options)) {\n return options;\n }\n return {\n controls: options,\n validators\n };\n}\nexport const formGroupIsValid = ({ controls, validators }) => {\n return validators.reduce((errors, validator) => {\n const error = validator(controls);\n if (error) {\n errors.push(error);\n }\n return errors;\n }, []);\n};\nexport const controlsToValue = (controls) => {\n return Object.entries(controls).reduce((result, [key, { value }]) => {\n result[key] = value;\n return result;\n }, {});\n};\nexport const verifyAllTrueInControls = (controls, key) => {\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value && parseBoolean(control[key]), true);\n};\nexport const verifyAnyTrueInControls = (controls, key) => {\n return Object.values(controls).reduce((value, control) => control.disabled ? value : value || parseBoolean(control[key]), false);\n};\n//# sourceMappingURL=form-group.helper.js.map","function reduceErrors(errors) {\n return errors.reduce((keys, { id }) => [...keys, id], []);\n}\nexport function hasError(errors, key) {\n return reduceErrors(errors).includes(key);\n}\nexport function someErrors(errors, keys) {\n return reduceErrors(errors).some((key) => keys.includes(key));\n}\nexport function reduceControlsToArray(controls, key) {\n return Object.values(controls).map((control) => control[key]);\n}\nexport function reduceGroupToArray(group, key) {\n return reduceControlsToArray(group.controls, key);\n}\nexport * from './form-array/form-array.helper';\nexport * from './form-control/form-control.helper';\nexport * from './form-group/form-group.helper';\n//# sourceMappingURL=helpers.js.map","import { observable } from '@rolster/commons';\nimport { hasError, someErrors } from '../helpers';\nimport { formControlIsValid, createFormControlOptions } from './form-control.helper';\nexport class FormControl {\n constructor(options, validators) {\n this._focused = false;\n this._touched = false;\n this._dirty = false;\n this._disabled = false;\n this._valid = true;\n this._errors = [];\n const formControl = createFormControlOptions(options, validators);\n this.observable = observable(formControl.value);\n this.defaultValue = formControl.value;\n this.validators = formControl.validators;\n this._value = formControl.value;\n this.updateValueAndValidity(formControl.value, formControl.validators);\n }\n get focused() {\n return this._focused;\n }\n get unfocused() {\n return !this._focused;\n }\n get touched() {\n return this._touched;\n }\n get untouched() {\n return !this._touched;\n }\n get dirty() {\n return this._dirty;\n }\n get pristine() {\n return !this._dirty;\n }\n get disabled() {\n return this._disabled;\n }\n get enabled() {\n return !this._disabled;\n }\n get valid() {\n return this._valid;\n }\n get invalid() {\n return !this._valid;\n }\n get value() {\n return this._value;\n }\n get errors() {\n return this._errors;\n }\n get error() {\n return this._error;\n }\n get wrong() {\n return this.touched && this.invalid;\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.refreshValue(this.defaultValue);\n this._dirty = false;\n this._touched = false;\n }\n focus() {\n this._focused = true;\n }\n blur() {\n this._focused = false;\n this._touched = true;\n }\n disable() {\n this._disabled = true;\n }\n enable() {\n this._disabled = false;\n }\n touch() {\n this._touched = true;\n }\n setDefaultValue(value) {\n this.defaultValue = value;\n this.refreshValue(value);\n }\n setStartValue(value) {\n this.refreshValue(value);\n }\n setValue(value) {\n this._dirty = true;\n this.refreshValue(value);\n }\n setValidators(validators = []) {\n this.validators = validators;\n this.updateValueAndValidity(this.value, validators);\n }\n subscribe(subscriber) {\n return this.observable.subscribe(subscriber);\n }\n updateValueAndValidity(value, validators) {\n if (validators) {\n const errors = formControlIsValid({ value, validators });\n this._error = errors[0];\n this._errors = errors;\n this._valid = errors.length === 0;\n }\n else {\n this._valid = true;\n this._error = undefined;\n this._errors = [];\n }\n }\n refreshValue(value) {\n this._value = value;\n this.updateValueAndValidity(value, this.validators);\n this.observable.next(value);\n }\n}\nexport function formControl(options, validators) {\n return new FormControl(createFormControlOptions(options, validators));\n}\n//# sourceMappingURL=form-control.js.map","import { v4 as uuid } from 'uuid';\nimport { createFormControlOptions } from '../form-control/form-control.helper';\nimport { FormControl } from '../form-control/form-control';\nexport class FormArrayControl extends FormControl {\n constructor(options, validators) {\n const formControl = createFormControlOptions(options, validators);\n super(formControl.value, formControl.validators);\n this.uuid = uuid();\n }\n}\nexport function formArrayControl(options, validators) {\n return new FormArrayControl(createFormControlOptions(options, validators));\n}\n//# sourceMappingURL=form-array-control.js.map","import { observable } from '@rolster/commons';\nimport { controlsToValue, createFormGroupOptions, formGroupIsValid, verifyAllTrueInControls, verifyAnyTrueInControls } from './form-group.helper';\nexport class FormGroup {\n constructor(options, validators) {\n this._errors = [];\n this._valid = true;\n const formGroup = createFormGroupOptions(options, validators);\n this._controls = formGroup.controls;\n this.validators = formGroup.validators;\n this.updateValueAndValidity(formGroup.controls, formGroup.validators);\n this.observable = observable(this.value);\n Object.values(formGroup.controls).forEach((control) => {\n control.subscribe(() => {\n this.updateValueAndValidity(this.controls, this.validators);\n this.observable.next(this.value);\n });\n });\n }\n get controls() {\n return this._controls;\n }\n get touched() {\n return verifyAnyTrueInControls(this.controls, 'touched');\n }\n get toucheds() {\n return verifyAllTrueInControls(this.controls, 'touched');\n }\n get untouched() {\n return !this.touched;\n }\n get untoucheds() {\n return !this.toucheds;\n }\n get dirty() {\n return verifyAnyTrueInControls(this.controls, 'dirty');\n }\n get dirties() {\n return verifyAllTrueInControls(this.controls, 'dirty');\n }\n get pristine() {\n return !this.dirty;\n }\n get pristines() {\n return this.dirties;\n }\n get valid() {\n return this._valid && verifyAllTrueInControls(this.controls, 'valid');\n }\n get invalid() {\n return !this.valid;\n }\n get value() {\n return controlsToValue(this.controls);\n }\n get errors() {\n return this._errors;\n }\n get error() {\n return this._error;\n }\n get wrong() {\n return this.touched && this.invalid;\n }\n setValue(value) {\n Object.entries(value).forEach(([key, valueControl]) => {\n const formControl = this._controls[key];\n formControl?.setValue(valueControl);\n });\n }\n reset() {\n Object.values(this.controls).forEach((control) => {\n control.reset();\n });\n }\n setValidators(validators) {\n this.validators = validators;\n this.updateValueAndValidity(this.controls, validators);\n }\n subscribe(subscriber) {\n return this.observable.subscribe(subscriber);\n }\n updateValueAndValidity(controls, validators) {\n if (validators) {\n const errors = formGroupIsValid({ controls, validators });\n this._errors = errors;\n this._error = errors[0];\n this._valid = errors.length === 0;\n }\n else {\n this._errors = [];\n this._error = undefined;\n this._valid = true;\n }\n }\n}\nexport function formGroup(options, validators) {\n return new FormGroup(createFormGroupOptions(options, validators));\n}\n//# sourceMappingURL=form-group.js.map","import { v4 as uuid } from 'uuid';\nimport { createFormGroupOptions } from '../form-group/form-group.helper';\nimport { FormGroup } from '../form-group/form-group';\nexport class FormArrayGroup extends FormGroup {\n constructor(options, validators) {\n const formGroup = createFormGroupOptions(options, validators);\n super(formGroup.controls, formGroup.validators);\n this.uuid = uuid();\n this.resource = formGroup.resource;\n }\n}\nexport function formArrayGroup(options, validators) {\n return new FormArrayGroup(createFormGroupOptions(options, validators));\n}\n//# sourceMappingURL=form-array-group.js.map","import { v4 as uuid } from 'uuid';\nimport { FormControl } from '../form-control/form-control';\nimport { controlsToValue, verifyAllTrueInControls, verifyAnyTrueInControls } from '../form-group/form-group.helper';\nexport class FormArrayList extends FormControl {\n constructor(valueToControls, value, validators) {\n const formValue = value || [];\n super(formValue, validators);\n this.valueToControls = valueToControls;\n this._controls = formValue.map((value) => this.createControls(value));\n this.uuid = uuid();\n }\n get controls() {\n return this._controls;\n }\n get touched() {\n return this.controls.reduce((valid, controls) => valid && verifyAnyTrueInControls(controls, 'touched'), true);\n }\n get dirty() {\n return this.controls.reduce((valid, controls) => valid && verifyAnyTrueInControls(controls, 'dirty'), true);\n }\n get valid() {\n return (this._valid &&\n this.controls.reduce((valid, controls) => valid && verifyAllTrueInControls(controls, 'valid'), true));\n }\n get value() {\n return this.controls.map((controls) => controlsToValue(controls));\n }\n setValue(values) {\n this._controls = values.map((value) => this.createControls(value));\n }\n push(controls) {\n this._controls = this._controls.concat([controls]);\n }\n remove(controls) {\n this._controls = this._controls.filter((_controls) => _controls !== controls);\n }\n createControls(value) {\n const controls = this.valueToControls(value);\n Object.values(controls).forEach((control) => {\n control.subscribe(() => {\n this.updateValueAndValidity(this.value, this.validators);\n this.observable.next(this.value);\n });\n });\n return controls;\n }\n}\nexport function formArrayList(valueToControl, value, validators) {\n return new FormArrayList(valueToControl, value, validators);\n}\n//# sourceMappingURL=form-array-list.js.map","import { observable } from '@rolster/commons';\nimport { hasError, someErrors } from '../helpers';\nimport { createFormArrayOptions, formArrayIsValid, verifyAllTrueInGroups, verifyAnyTrueInGroups } from './form-array.helper';\nexport class FormArray {\n constructor(options, validators) {\n this._groups = [];\n this._valid = true;\n this._disabled = false;\n this._errors = [];\n const formArray = createFormArrayOptions(options, validators);\n this.unsusbcriptions = new Map();\n this.map = new Map();\n this.defaultValue = formArray.groups;\n this.validators = formArray.validators;\n this.refresh(this.defaultValue);\n this.observable = observable(this.value);\n formArray.groups?.forEach((group) => {\n this.subscription(group);\n });\n }\n get groups() {\n return this._groups;\n }\n get controls() {\n return this.groups.map(({ controls }) => controls);\n }\n get touched() {\n return verifyAnyTrueInGroups(this.groups, 'touched');\n }\n get toucheds() {\n return verifyAllTrueInGroups(this.groups, 'toucheds');\n }\n get untouched() {\n return !this.touched;\n }\n get untoucheds() {\n return !this.toucheds;\n }\n get dirty() {\n return verifyAnyTrueInGroups(this.groups, 'dirty');\n }\n get dirties() {\n return verifyAllTrueInGroups(this.groups, 'dirties');\n }\n get pristine() {\n return !this.dirty;\n }\n get pristines() {\n return !this.dirties;\n }\n get disabled() {\n return this._disabled;\n }\n get enabled() {\n return !this._disabled;\n }\n get valid() {\n return this._valid && verifyAllTrueInGroups(this.groups, 'valid');\n }\n get invalid() {\n return !this._valid;\n }\n get value() {\n return this.groups.map(({ value: state }) => state);\n }\n get error() {\n return this._error;\n }\n get errors() {\n return this._errors;\n }\n get wrong() {\n return this.touched && this.invalid;\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(this.defaultValue);\n }\n disable() {\n this._disabled = true;\n }\n enable() {\n this._disabled = false;\n }\n findByUuid(uuid) {\n return this.map.get(uuid);\n }\n push(group) {\n this.subscription(group);\n this.refresh([...this.groups, group]);\n }\n merge(groups) {\n groups.forEach((group) => {\n this.subscription(group);\n });\n this.refresh([...this.groups, ...groups]);\n }\n setDefaultValue(groups) {\n this.defaultValue = groups;\n this.setValue(groups);\n }\n setValue(groups) {\n this._groups.forEach(({ uuid }) => {\n this.unsusbcriptions.delete(uuid);\n });\n groups.forEach((group) => {\n this.subscription(group);\n });\n this.refresh(groups); // Update groups\n }\n remove(group) {\n this.refresh(this.groups.filter((_group) => _group.uuid !== group.uuid));\n }\n setValidators(validators) {\n this.validators = validators;\n this.updateValidityStatus(this.groups, validators);\n }\n subscribe(subscriber) {\n return this.observable.subscribe(subscriber);\n }\n subscription(group) {\n const unsusbcription = group.subscribe(() => {\n this.updateValidityStatus(this.groups, this.validators);\n });\n this.unsusbcriptions.set(group.uuid, unsusbcription);\n }\n updateValidityStatus(groups, validators) {\n if (validators) {\n const errors = formArrayIsValid({ groups, validators });\n this._errors = errors;\n this._error = errors[0];\n this._valid = errors.length === 0;\n }\n else {\n this._valid = true;\n this._errors = [];\n this._error = undefined;\n }\n }\n refresh(groups) {\n this._groups = groups || [];\n this.map.clear();\n this._groups.forEach((group) => {\n this.map.set(group.uuid, group);\n });\n this.updateValidityStatus(this._groups, this.validators);\n }\n}\nexport function formArray(options, validators) {\n return new FormArray(createFormArrayOptions(options, validators));\n}\n//# sourceMappingURL=form-array.js.map"],"names":["parseBoolean","observable","uuid"],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export declare class FormGroup<C extends FormControls = FormControls> implements
|
|
|
26
26
|
get errors(): ValidatorError[];
|
|
27
27
|
get error(): ValidatorError | undefined;
|
|
28
28
|
get wrong(): boolean;
|
|
29
|
+
setValue(value: Partial<ControlsValue<C>>): void;
|
|
29
30
|
reset(): void;
|
|
30
31
|
setValidators(validators: ValidatorGroupFn<C>[]): void;
|
|
31
32
|
subscribe(subscriber: SubscriberGroup<C>): Unsubscription;
|
|
@@ -61,6 +61,12 @@ export class FormGroup {
|
|
|
61
61
|
get wrong() {
|
|
62
62
|
return this.touched && this.invalid;
|
|
63
63
|
}
|
|
64
|
+
setValue(value) {
|
|
65
|
+
Object.entries(value).forEach(([key, valueControl]) => {
|
|
66
|
+
const formControl = this._controls[key];
|
|
67
|
+
formControl?.setValue(valueControl);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
64
70
|
reset() {
|
|
65
71
|
Object.values(this.controls).forEach((control) => {
|
|
66
72
|
control.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../../src/form-group/form-group.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-group.js","sourceRoot":"","sources":["../../../src/form-group/form-group.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export type SubscriberGroup<C extends AbstractControls = AbstractControls> = (va
|
|
|
25
25
|
export interface AbstractFormGroup<C extends AbstractControls = AbstractControls> extends AbstractGroup<C> {
|
|
26
26
|
reset: () => void;
|
|
27
27
|
setValidators: (validators: ValidatorGroupFn<C>[]) => void;
|
|
28
|
+
setValue(value: Partial<ControlsValue<C>>): void;
|
|
28
29
|
readonly value: ControlsValue<C>;
|
|
29
30
|
}
|
|
30
31
|
export interface ReactiveFormGroup<C extends AbstractControls = AbstractControls> extends AbstractFormGroup<C> {
|
package/package.json
CHANGED