@mobx-ecosystem/mobx-form 2.4.14 → 2.5.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/field-service.d.ts +1 -0
- package/dist/form-service.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/types.d.ts +3 -3
- package/package.json +1 -1
package/dist/field-service.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class FieldService<T = ValueType<unknown>> implements IField {
|
|
|
27
27
|
get isInit(): boolean;
|
|
28
28
|
createListener: () => void;
|
|
29
29
|
onChange: (_: any, value: ValueType<T>) => void;
|
|
30
|
+
onBlur: (_: any) => void;
|
|
30
31
|
reset: () => void;
|
|
31
32
|
get props(): any;
|
|
32
33
|
}
|
package/dist/form-service.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FieldService } from './field-service';
|
|
2
|
-
import { FormErrors, FormValues } from './types';
|
|
2
|
+
import { FormErrors, FormValues, ValidationType } from './types';
|
|
3
3
|
import { CombinedFormFieldService } from './combined-form-field-service';
|
|
4
4
|
export declare class FormService<T extends Record<string, FieldService<any> | CombinedFormFieldService | Record<string, unknown>>> {
|
|
5
5
|
fields: T;
|
|
@@ -10,7 +10,7 @@ export declare class FormService<T extends Record<string, FieldService<any> | Co
|
|
|
10
10
|
*
|
|
11
11
|
* *Configure this method with configureForm from mobx-form
|
|
12
12
|
*/
|
|
13
|
-
validate: () => Promise<void>;
|
|
13
|
+
validate: (type?: ValidationType) => Promise<void>;
|
|
14
14
|
setValidationSchema: (validationSchema: unknown) => void;
|
|
15
15
|
/**
|
|
16
16
|
* Return field keys
|
|
@@ -60,7 +60,7 @@ export declare class FormService<T extends Record<string, FieldService<any> | Co
|
|
|
60
60
|
* Set errors for fields
|
|
61
61
|
* @param errors object of string which provides errors for fields
|
|
62
62
|
*/
|
|
63
|
-
setErrors(error: Partial<FormErrors<T
|
|
63
|
+
setErrors(error: Partial<FormErrors<T>>, validationType?: ValidationType): void;
|
|
64
64
|
/**
|
|
65
65
|
* Set field values to init values
|
|
66
66
|
*/
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isEqual as e}from"lodash";import{makeAutoObservable as t}from"mobx";var i=function(){return i=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},i.apply(this,arguments)};function r(e,t,i,r){return new(i||(i=Promise))((function(n,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function u(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,u)}l((r=r.apply(e,t||[])).next())}))}function n(e,t){var i,r,n,a,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(l){return function(u){if(i)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(o=0)),o;)try{if(i=1,r&&(n=2&u[0]?r.return:u[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,u[1])).done)return n;switch(r=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){o.label=u[1];break}if(6===u[0]&&o.label<n[1]){o.label=n[1],n=u;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(u);break}n[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{i=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,l])}}}var a,o=function(e){a=e.validation.validate},u=function(){if(!a)throw new Error("You must define configureForm to configure mobx-form")},l=function(){function e(e){var i=this;Object.defineProperty(this,"_touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"setTouched",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i._touched=e}}),Object.defineProperty(this,"add",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.value.push(e),i.setTouched(!0),i._validate()}}),Object.defineProperty(this,"removeByIndex",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.value.splice(e,1),i.setTouched(!0),i._validate()}}),Object.defineProperty(this,"_validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;i.value.forEach((function(e){return e.formService.validate()})),null===(e=i.validate)||void 0===e||e.call(i)}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){i._value=i.initValue,i._value.forEach((function(e){return e.formService.reset()})),i.setTouched(!1)}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){return i.value.map((function(e){return e.formService.getValues()}))}}),t(this),this.initValue=e||[]}return Object.defineProperty(e.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e.slice(0),this.setTouched(!1),this._validate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e,this.setTouched(!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e,e?this.value.forEach((function(e){return e.formService.disable()})):this.value.forEach((function(e){return e.formService.enable()}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){return!this._error&&this.value.every((function(e){return e.formService.isValid}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){return this._touched||this.value.some((function(e){return e.formService.isTouched}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInit",{get:function(){return!this.isTouched},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasItems",{get:function(){return Boolean(this.value.length)},enumerable:!1,configurable:!0}),e}(),s=function(){function e(e,i){var o=this;Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validationSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){return r(o,void 0,void 0,(function(){var e,t;return n(this,(function(i){switch(i.label){case 0:return e=this.getValues(),[4,null==a?void 0:a(e,this.validationSchema)];case 1:return(t=i.sent())&&0!=Object.keys(t||[]).length?this.setErrors(t):this.resetErrors(),[2]}}))}))}}),Object.defineProperty(this,"setValidationSchema",{enumerable:!0,configurable:!0,writable:!0,value:function(e){o.validationSchema=e}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e={},t=0,i=o.keys;t<i.length;t++){var r=i[t];e[r]=o.getValue(o.fields[r])}return e}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(e instanceof c||e instanceof l)return null==e?void 0:e.value;if("object"==typeof e){for(var t={},i=0,r=Object.keys(e);i<r.length;i++){var n=r[i];t[n]=o.getValue(null==e?void 0:e[n])}return t}return e}}),Object.defineProperty(this,"setFieldsByThis",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t={};Object.keys(e).forEach((function(i){(e[i]&&e[i]instanceof c||e[i]instanceof l)&&(t[i]=e[i])})),o.fields=t,o.setValidationToFields()}}),Object.defineProperty(this,"bypassFields",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,i){e instanceof c||e instanceof l?t(e,i):"object"==typeof e&&Object.keys(e||{}).forEach((function(r){o.bypassFields(null==e?void 0:e[r],t,null==i?void 0:i[r])}))}}),Object.defineProperty(this,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:function(){o.bypassFields(o.fields,(function(e){return e.validate=o.validate}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){o.bypassFields(o.fields,(function(e,t){return e.initValue=t}),e)}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){o.bypassFields(o.fields,(function(e,t){return e.value=t}),e)}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:function(){o.bypassFields(o.fields,(function(e){return e.error=void 0}))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:function(){o.bypassFields(o.fields,(function(e){return e.initValue=e.value}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){o.bypassFields(o.fields,(function(e){return e.reset()})),o.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:function(){o.bypassFields(o.fields,(function(e){return e.disabled=!0}))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:function(){o.bypassFields(o.fields,(function(e){return e.disabled=!1}))}}),u(),t(this),this.fields=e,this.validationSchema=i,this.setValidationToFields()}return Object.defineProperty(e.prototype,"keys",{get:function(){return Object.keys(this.fields)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){var e=!0;return this.bypassFields(this.fields,(function(t){t.isValid||(e=!1)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){var e=!1;return this.bypassFields(this.fields,(function(t){t.isInit||(e=!0)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"canBeSubmitted",{get:function(){return this.isTouched&&this.isValid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){var e=!0;return this.bypassFields(this.fields,(function(t){t.disabled||(e=!1)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setErrors",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.bypassFields(this.fields,(function(e,t){e.error=t}),e)}}),e}(),c=function(){function r(e,i){var r=this;Object.defineProperty(this,"eventBus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serviceType",{enumerable:!0,configurable:!0,writable:!0,value:"field-service"}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"createListener",{enumerable:!0,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){r.value=t,r.validate&&r.validate()}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.value=r.initValue}}),t(this),this.initValue=e,this.options=i}return Object.defineProperty(r.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e,this.validate&&this.validate()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"value",{get:function(){return this._value},set:function(e){var t;this._value=e,null===(t=this.eventBus)||void 0===t||t.emit("ON_CHANGE",e)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isValid",{get:function(){return!this._error},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInit",{get:function(){return null!==(t=this.value)&&"object"==typeof t?e(this.value,this._initValue):this._value===this._initValue;var t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"props",{get:function(){var e,t=this,r={value:this.value,error:this.error,disabled:this.disabled};return(null===(e=this.options)||void 0===e?void 0:e.onError)&&(r=i(i({},r),{onError:function(e){t.error=t.error||(null==e?void 0:e.toString())}})),i(i({},r),{onChange:this.onChange})},enumerable:!1,configurable:!0}),r}();export{l as CombinedFormFieldService,c as FieldService,s as FormService,u as _checkConfiguration,o as configureForm,a as validate};
|
|
1
|
+
import{isEqual as e}from"lodash";import{makeAutoObservable as t}from"mobx";import i from"mitt";var r=function(){return r=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},r.apply(this,arguments)};function n(e,t,i,r){return new(i||(i=Promise))((function(n,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function u(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(a,u)}l((r=r.apply(e,t||[])).next())}))}function o(e,t){var i,r,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(l){return function(u){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(a=0)),a;)try{if(i=1,r&&(n=2&u[0]?r.return:u[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,u[1])).done)return n;switch(r=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==u[0]&&2!==u[0])){a=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){a.label=u[1];break}if(6===u[0]&&a.label<n[1]){a.label=n[1],n=u;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(u);break}n[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],r=0}finally{i=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,l])}}}var a,u=function(){function n(e,r){var n=this;Object.defineProperty(this,"eventBus",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_serviceType",{enumerable:!0,configurable:!0,writable:!0,value:"field-service"}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"createListener",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.eventBus=i()}}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){var i;n.value=t,null===(i=n.validate)||void 0===i||i.call(n)}}),Object.defineProperty(this,"onBlur",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t;null===(t=n.validate)||void 0===t||t.call(n)}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){n.value=n.initValue}}),t(this),this.initValue=e,this.options=r}return Object.defineProperty(n.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e,this.validate&&this.validate()},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"value",{get:function(){return this._value},set:function(e){var t;this._value=e,null===(t=this.eventBus)||void 0===t||t.emit("ON_CHANGE",e)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isValid",{get:function(){return!this._error},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"isInit",{get:function(){return null!==(t=this.value)&&"object"==typeof t?e(this.value,this._initValue):this._value===this._initValue;var t},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"props",{get:function(){var e,t=this,i={value:this.value,error:this.error,disabled:this.disabled};return(null===(e=this.options)||void 0===e?void 0:e.onError)&&(i=r(r({},i),{onError:function(e){t.error=t.error||(null==e?void 0:e.toString())}})),r(r({},i),{onChange:this.onChange,onBlur:this.onBlur})},enumerable:!1,configurable:!0}),n}(),l=function(e){a=e.validation.validate},s=function(){if(!a)throw new Error("You must define configureForm to configure mobx-form")},c=function(){function e(e){var i=this;Object.defineProperty(this,"_touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"setTouched",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i._touched=e}}),Object.defineProperty(this,"add",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.value.push(e),i.setTouched(!0),i._validate()}}),Object.defineProperty(this,"removeByIndex",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.value.splice(e,1),i.setTouched(!0),i._validate()}}),Object.defineProperty(this,"_validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;i.value.forEach((function(e){return e.formService.validate()})),null===(e=i.validate)||void 0===e||e.call(i)}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){i._value=i.initValue,i._value.forEach((function(e){return e.formService.reset()})),i.setTouched(!1)}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){return i.value.map((function(e){return e.formService.getValues()}))}}),t(this),this.initValue=e||[]}return Object.defineProperty(e.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e.slice(0),this.setTouched(!1),this._validate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e,this.setTouched(!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e,e?this.value.forEach((function(e){return e.formService.disable()})):this.value.forEach((function(e){return e.formService.enable()}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){return!this._error&&this.value.every((function(e){return e.formService.isValid}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){return this._touched||this.value.some((function(e){return e.formService.isTouched}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInit",{get:function(){return!this.isTouched},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasItems",{get:function(){return Boolean(this.value.length)},enumerable:!1,configurable:!0}),e}(),f=function(){function e(e,i){var r=this;Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validationSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:function(e){return void 0===e&&(e="only-touched"),n(r,void 0,void 0,(function(){var t,i;return o(this,(function(r){switch(r.label){case 0:return t=this.getValues(),[4,null==a?void 0:a(t,this.validationSchema)];case 1:return(i=r.sent())&&0!=Object.keys(i||[]).length?this.setErrors(i,e):this.resetErrors(),[2]}}))}))}}),Object.defineProperty(this,"setValidationSchema",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.validationSchema=e}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e={},t=0,i=r.keys;t<i.length;t++){var n=i[t];e[n]=r.getValue(r.fields[n])}return e}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(e instanceof u||e instanceof c)return null==e?void 0:e.value;if("object"==typeof e){for(var t={},i=0,n=Object.keys(e);i<n.length;i++){var o=n[i];t[o]=r.getValue(null==e?void 0:e[o])}return t}return e}}),Object.defineProperty(this,"setFieldsByThis",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t={};Object.keys(e).forEach((function(i){(e[i]&&e[i]instanceof u||e[i]instanceof c)&&(t[i]=e[i])})),r.fields=t,r.setValidationToFields()}}),Object.defineProperty(this,"bypassFields",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,i){e instanceof u||e instanceof c?t(e,i):"object"==typeof e&&Object.keys(e||{}).forEach((function(n){r.bypassFields(null==e?void 0:e[n],t,null==i?void 0:i[n])}))}}),Object.defineProperty(this,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.bypassFields(r.fields,(function(e){return e.validate=r.validate}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.bypassFields(r.fields,(function(e,t){return e.initValue=t}),e)}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){r.bypassFields(r.fields,(function(e,t){return e.value=t}),e)}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.bypassFields(r.fields,(function(e){return e.error=void 0}))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.bypassFields(r.fields,(function(e){return e.initValue=e.value}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.bypassFields(r.fields,(function(e){return e.reset()})),r.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.bypassFields(r.fields,(function(e){return e.disabled=!0}))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:function(){r.bypassFields(r.fields,(function(e){return e.disabled=!1}))}}),s(),t(this),this.fields=e,this.validationSchema=i,this.setValidationToFields()}return Object.defineProperty(e.prototype,"keys",{get:function(){return Object.keys(this.fields)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){var e=!0;return this.bypassFields(this.fields,(function(t){t.isValid||(e=!1)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){var e=!1;return this.bypassFields(this.fields,(function(t){t.isInit||(e=!0)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"canBeSubmitted",{get:function(){return this.isTouched&&this.isValid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){var e=!0;return this.bypassFields(this.fields,(function(t){t.disabled||(e=!1)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setErrors",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){void 0===t&&(t="only-touched"),this.bypassFields(this.fields,(function(e,i){e.isInit&&"everything"!==t||(e.error=i)}),e)}}),e}();export{c as CombinedFormFieldService,u as FieldService,f as FormService,s as _checkConfiguration,l as configureForm,a as validate};
|
package/dist/types.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { FormService } from "form-service";
|
|
2
2
|
import { FieldService } from "./field-service";
|
|
3
|
-
import { CombinedFormFieldService } from "./combined-form-field-service";
|
|
4
3
|
export type ValueType<T> = T | null | undefined;
|
|
5
|
-
export type FormValues<Type> = Type extends
|
|
4
|
+
export type FormValues<Type> = Type extends IField ? Type['value'] : {
|
|
6
5
|
-readonly [Property in keyof Type]: FormValues<Type[Property]>;
|
|
7
6
|
};
|
|
8
|
-
export type FormErrors<Type> = Type extends
|
|
7
|
+
export type FormErrors<Type> = Type extends IField ? Type['error'] : {
|
|
9
8
|
-readonly [Property in keyof Type]: FormErrors<Type[Property]>;
|
|
10
9
|
};
|
|
11
10
|
export interface IField {
|
|
@@ -21,3 +20,4 @@ export type FormServiceValuesType = Record<string, FieldService<unknown> | Recor
|
|
|
21
20
|
export interface IFormable<T extends FormServiceValuesType = FormServiceValuesType> {
|
|
22
21
|
formService: FormService<T>;
|
|
23
22
|
}
|
|
23
|
+
export type ValidationType = 'only-touched' | 'everything';
|
package/package.json
CHANGED