UNPKG

@cosva-lab/form-builder

Version:
81 lines (79 loc) 2.98 kB
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const require_runtime = require('../../_virtual/_rolldown/runtime.cjs'); const require_decorate = require('../../_virtual/_@oxc-project_runtime@0.112.0/helpers/decorate.cjs'); const require_utils_validate_InputsValidator = require('../validate/InputsValidator.cjs'); let mobx = require("mobx"); //#region src/utils/builders/FieldsBuilder.ts var FieldsBuilder = class extends require_utils_validate_InputsValidator { get ns() { return this._ns; } set ns(ns) { this._ns = ns; } get values() { return this.getValues(); } constructor(props) { super(props); this._ns = void 0; (0, mobx.makeObservable)(this); this._ns = props.ns; for (const field of this.fields) field.fieldsBuilder = this; this.validate = this._validate; } setField(fieldOriginal) { const field = this.fields.find(({ name }) => fieldOriginal.name === name); if (field) { field.fieldsBuilder = this; field.value = fieldOriginal.value; field.errors = fieldOriginal.errors; } } restore() { this.fields.forEach((field) => field.reset()); } getValues() { return (0, mobx.toJS)(this.fields.reduce((acc, { name, value }) => { acc[name] = value; return acc; }, {})); } get(fieldName) { return this.fieldsMap[fieldName]; } getField(fieldName) { return this.get(fieldName); } onChangeField(event) { this.changeValue(event); } onChangeFields(events) { events.forEach((event) => this.onChangeField(event)); } changeValue({ name, value }) { const field = this.get(name); if (field) field.setValue(value); else console.warn(`Field ${name.toString()} not found`); } changeValues(events) { events.forEach((event) => this.changeValue(event)); } setValidation(validate) { this.validate = validate; } }; require_decorate.__decorate([mobx.observable], FieldsBuilder.prototype, "_ns", void 0); require_decorate.__decorate([mobx.observable], FieldsBuilder.prototype, "actionsExtra", void 0); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "restore", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "getValues", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "get", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "getField", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "onChangeField", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "onChangeFields", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "changeValue", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "changeValues", null); require_decorate.__decorate([mobx.action.bound], FieldsBuilder.prototype, "setValidation", null); //#endregion exports.FieldsBuilder = FieldsBuilder; exports.default = FieldsBuilder;