@codegateinc/react-form-builder-v2
Advanced tools
Comparing version 1.2.19 to 1.2.20
@@ -145,10 +145,11 @@ 'use strict'; | ||
onChangeInitialValue: function onChangeInitialValue(value) { | ||
if (field.value === localInitialValue) { | ||
setField(function (prevState) { | ||
setField(function (prevState) { | ||
if (prevState.value === localInitialValue) { | ||
return _extends({}, prevState, { | ||
value: value | ||
}); | ||
}); | ||
} | ||
} | ||
return prevState; | ||
}); | ||
setLocalInitialValue(value); | ||
@@ -155,0 +156,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("react"),e=require("ramda");function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r}).apply(this,arguments)}var t=function(r){return null!=r},a=function(r,e){return t(r)&&e(r)};exports.useField=function(a){var i=a.key,u=a.label,s=a.validationRules,o=void 0===s?[]:s,l=a.isRequired,c=void 0!==l&&l,v=a.placeholder,f=a.validateOnBlur,d=void 0!==f&&f,h=a.liveParser,g=a.submitParser,E=r.useState(a.initialValue),y=E[0],M=E[1],k=r.useState({value:y,isPristine:!0,errorMessage:"",hasError:!1}),b=k[0],O=k[1],P=function(r,n){var a;if(void 0===n&&(n=!1),!n&&b.isPristine&&!c||!o)return{errorMessage:"",hasError:!1};var i,u=t(r)?r:b.value;if(c&&e.isEmpty(u))return{errorMessage:null==(i=o[0])?void 0:i.errorMessage,hasError:!0};if(!c&&!Boolean(u)&&!o)return{errorMessage:"",hasError:!1};var s=o.find((function(r){return!r.validate(u)}));return{errorMessage:null!=(a=null==s?void 0:s.errorMessage)?a:"",hasError:Boolean(null==s?void 0:s.errorMessage)}};return{key:i,label:u,isRequired:c,placeholder:v,submitParser:g,parentKey:"",hasError:b.hasError,value:b.value,hasChange:b.value!==y,errorMessage:b.errorMessage,onBlur:function(){if(d){var r=P(),t=r.errorMessage,a=r.hasError;O((function(r){var i=!c&&e.isEmpty(r.value);return n({},r,{isPristine:i,errorMessage:i?"":t,hasError:!i&&a})}))}},onChangeValue:function(r){var e=P(r,!d),t=e.hasError,a=e.errorMessage;O((function(e){return n({},e,{value:h?h(r):r,isPristine:e.isPristine?d:e.isPristine,errorMessage:a,hasError:t})}))},onChangeInitialValue:function(r){b.value===y&&O((function(e){return n({},e,{value:r})})),M(r)},validateOnSubmit:function(){var r=P(),e=r.hasError,t=r.errorMessage;return O((function(r){return n({},r,{errorMessage:t,hasError:e})})),{hasError:e,errorMessage:t}},setError:function(r){return O((function(e){return n({},e,{errorMessage:r})}))},resetState:function(){return O((function(r){return n({},r,{isPristine:!0,errorMessage:"",value:y})}))},validate:function(){var r=P(void 0,!0),e=r.hasError,t=r.errorMessage;return O((function(r){return n({},r,{errorMessage:t,hasError:e})})),e}}},exports.useForm=function(i,u){var s=Object.entries(i).reduce((function(r,e){var t;return n({},r,((t={})[e[0]]=e[1],t))}),{}),o=r.useState({}),l=o[0],c=o[1],v=r.useRef(l),f=n({},s,Object.entries(l).reduce((function(r,e){var t,a=e[0],i=e[1],u=i.parentKey.split(".").filter(Boolean);if(u.length>0){var s=u.reduce((function(e,t,a){var s,o;return n({},r,e,((o={})[t]=n({},r[t],e[t]||{},a===u.length-1?{children:[].concat((null==(s=e[t])?void 0:s.children)||[],[i])}:{}),o))}),{}),o=Object.keys(s).filter((function(r){return Object.keys(s[r]).length})).reduce((function(r,e){var t;return n({},r,((t={})[e]=s[e],t))}),{});return n({},r,o)}return n({},r,((t={})[a]=i,t))}),{})),d=Object.values(f).filter((function(r){return r.isRequired})).some((function(r){return Boolean(r.errorMessage)}));return r.useEffect((function(){v.current=l}),[l]),{form:f,hasError:d,isFilled:Object.values(f).filter((function(r){return r.isRequired})).every((function(r){return!e.isEmpty(r.value)})),formHasChanges:function(){return Object.values(f).some((function(r){return r.hasChange}))},setError:function(r,e){f[r].setError(e),a(u.onError,(function(n){var t;return n(((t={})[r]=e,t))}))},setFieldValue:function(r,e){f[r].onChangeValue(e)},setFieldInitialValue:function(r,e){f[r].onChangeInitialValue(e)},addFields:function(r){return c((function(a){return n({},a,r.reduce((function(r,a){return n({},r,function r(a,i){var u;return a.children?a.children.reduce((function(e,t){return n({},e,r(t,i+"."+a.key))}),{}):((u={})[a.key]=function(r,a,i,u){var s,o,l,c,v;void 0===u&&(u="");var f=function(r,n,a){var i;if(void 0===a&&(a=!1),!a&&r.isPristine&&!r.isRequired||!r.validationRules)return{errorMessage:"",hasError:!1};var u,s=t(n)?n:r.value;if(r.isRequired&&e.isEmpty(s))return{errorMessage:null==(u=r.validationRules[0])?void 0:u.errorMessage,hasError:!0};if(!r.isRequired&&!Boolean(s)&&!r.validationRules)return{errorMessage:"",hasError:!1};var o=r.validationRules.find((function(r){return!r.validate(s)}));return{errorMessage:null!=(i=null==o?void 0:o.errorMessage)?i:"",hasError:Boolean(null==o?void 0:o.errorMessage)}};return n({},r,{value:r.initialValue,hasChange:!1,isPristine:!0,parentKey:u,hasError:null==(s=a.current)||null==(o=s[r.key])?void 0:o.hasError,isRequired:r.isRequired||!1,validateOnBlur:r.validateOnBlur||!1,localInitialValue:null!=(l=r.initialValue)?l:"",errorMessage:null==(c=a.current)||null==(v=c[r.key])?void 0:v.errorMessage,onChangeValue:function(e){return i((function(t){var a,i,u,s=n({},t[r.key],{value:r.liveParser?r.liveParser(e):e,hasChange:e!==(null==(a=t[r.key])?void 0:a.localInitialValue),isPristine:null!=(i=t[r.key])&&i.isPristine?r.validateOnBlur||!1:t[r.key].isPristine}),o=f(s,e);return n({},t,((u={})[r.key]=n({},s,{errorMessage:o.errorMessage,hasError:o.hasError}),u))}))},onBlur:function(){if(r.validateOnBlur){var t,u=f(null==(t=a.current)?void 0:t[r.key]),s=u.errorMessage,o=u.hasError;i((function(t){var a,i=t[r.key],u=!i.isRequired&&e.isEmpty(i.value);return n({},t,((a={})[r.key]=n({},i,{isPristine:u,errorMessage:u?"":s,hasError:!u&&o}),a))}))}},validateOnSubmit:function(){var e,t=f(null==(e=a.current)?void 0:e[r.key]),u=t.errorMessage,s=t.hasError;return i((function(e){var t;return n({},e,((t={})[r.key]=n({},e[r.key],{errorMessage:u,hasError:s}),t))})),{errorMessage:u,hasError:s}},onChangeInitialValue:function(e){var t,u;(null==(t=a.current)?void 0:t.value)===(null==(u=a.current)?void 0:u.localInitialValue)&&i((function(t){var a;return n({},t,((a={})[r.key]=n({},t[r.key],{value:e,localInitialValue:e}),a))}))},setError:function(e){return i((function(t){var a;return n({},t,((a={})[r.key]=n({},t[r.key],{errorMessage:e}),a))}))},resetState:function(){return i((function(e){var t;return n({},e,((t={})[r.key]=n({},e[r.key],{isPristine:!0,errorMessage:"",value:r.initialValue}),t))}))},validate:function(){var e,t=f(null==(e=a.current)?void 0:e[r.key],void 0,!0),u=t.hasError,s=t.errorMessage;return i((function(e){var t;return n({},e,((t={})[r.key]=n({},e[r.key],{errorMessage:s,hasError:u}),t))})),u}})}(a,v,c,i),u)}(a,""))}),{}))}))},removeFieldIds:function(r){return c((function(e){return Object.keys(e).reduce((function(t,a){var i;return r.includes(a)?t:n({},t,((i={})[a]=e[a],i))}),{})}))},resetForm:function(){return Object.keys(f).forEach((function(r){return f[r].resetState()}))},submit:function(){var r=Object.values(f).reduce((function(r,e){var t,a=e.validateOnSubmit(),i=a.errorMessage;return i?n({},r,((t={})[e.key]=i||(a.hasError?"This field is required":""),t)):r}),{});if(Object.values(r).length>0)return a(u.onError,(function(e){return e(r)}));var e=Object.values(f).reduce((function(r,e){var t,a=e.value,i=e.submitParser;return n({},r,((t={})[e.key]=i?i(a):a,t))}),{});u.onSuccess(e)},validateAll:function(){return Object.values(f).some((function(r){return r.validate()}))}}}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("react"),e=require("ramda");function n(){return(n=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r}).apply(this,arguments)}var t=function(r){return null!=r},a=function(r,e){return t(r)&&e(r)};exports.useField=function(a){var i=a.key,u=a.label,s=a.validationRules,o=void 0===s?[]:s,l=a.isRequired,c=void 0!==l&&l,v=a.placeholder,f=a.validateOnBlur,d=void 0!==f&&f,h=a.liveParser,g=a.submitParser,E=r.useState(a.initialValue),y=E[0],M=E[1],k=r.useState({value:y,isPristine:!0,errorMessage:"",hasError:!1}),b=k[0],O=k[1],P=function(r,n){var a;if(void 0===n&&(n=!1),!n&&b.isPristine&&!c||!o)return{errorMessage:"",hasError:!1};var i,u=t(r)?r:b.value;if(c&&e.isEmpty(u))return{errorMessage:null==(i=o[0])?void 0:i.errorMessage,hasError:!0};if(!c&&!Boolean(u)&&!o)return{errorMessage:"",hasError:!1};var s=o.find((function(r){return!r.validate(u)}));return{errorMessage:null!=(a=null==s?void 0:s.errorMessage)?a:"",hasError:Boolean(null==s?void 0:s.errorMessage)}};return{key:i,label:u,isRequired:c,placeholder:v,submitParser:g,parentKey:"",hasError:b.hasError,value:b.value,hasChange:b.value!==y,errorMessage:b.errorMessage,onBlur:function(){if(d){var r=P(),t=r.errorMessage,a=r.hasError;O((function(r){var i=!c&&e.isEmpty(r.value);return n({},r,{isPristine:i,errorMessage:i?"":t,hasError:!i&&a})}))}},onChangeValue:function(r){var e=P(r,!d),t=e.hasError,a=e.errorMessage;O((function(e){return n({},e,{value:h?h(r):r,isPristine:e.isPristine?d:e.isPristine,errorMessage:a,hasError:t})}))},onChangeInitialValue:function(r){O((function(e){return e.value===y?n({},e,{value:r}):e})),M(r)},validateOnSubmit:function(){var r=P(),e=r.hasError,t=r.errorMessage;return O((function(r){return n({},r,{errorMessage:t,hasError:e})})),{hasError:e,errorMessage:t}},setError:function(r){return O((function(e){return n({},e,{errorMessage:r})}))},resetState:function(){return O((function(r){return n({},r,{isPristine:!0,errorMessage:"",value:y})}))},validate:function(){var r=P(void 0,!0),e=r.hasError,t=r.errorMessage;return O((function(r){return n({},r,{errorMessage:t,hasError:e})})),e}}},exports.useForm=function(i,u){var s=Object.entries(i).reduce((function(r,e){var t;return n({},r,((t={})[e[0]]=e[1],t))}),{}),o=r.useState({}),l=o[0],c=o[1],v=r.useRef(l),f=n({},s,Object.entries(l).reduce((function(r,e){var t,a=e[0],i=e[1],u=i.parentKey.split(".").filter(Boolean);if(u.length>0){var s=u.reduce((function(e,t,a){var s,o;return n({},r,e,((o={})[t]=n({},r[t],e[t]||{},a===u.length-1?{children:[].concat((null==(s=e[t])?void 0:s.children)||[],[i])}:{}),o))}),{}),o=Object.keys(s).filter((function(r){return Object.keys(s[r]).length})).reduce((function(r,e){var t;return n({},r,((t={})[e]=s[e],t))}),{});return n({},r,o)}return n({},r,((t={})[a]=i,t))}),{})),d=Object.values(f).filter((function(r){return r.isRequired})).some((function(r){return Boolean(r.errorMessage)}));return r.useEffect((function(){v.current=l}),[l]),{form:f,hasError:d,isFilled:Object.values(f).filter((function(r){return r.isRequired})).every((function(r){return!e.isEmpty(r.value)})),formHasChanges:function(){return Object.values(f).some((function(r){return r.hasChange}))},setError:function(r,e){f[r].setError(e),a(u.onError,(function(n){var t;return n(((t={})[r]=e,t))}))},setFieldValue:function(r,e){f[r].onChangeValue(e)},setFieldInitialValue:function(r,e){f[r].onChangeInitialValue(e)},addFields:function(r){return c((function(a){return n({},a,r.reduce((function(r,a){return n({},r,function r(a,i){var u;return a.children?a.children.reduce((function(e,t){return n({},e,r(t,i+"."+a.key))}),{}):((u={})[a.key]=function(r,a,i,u){var s,o,l,c,v;void 0===u&&(u="");var f=function(r,n,a){var i;if(void 0===a&&(a=!1),!a&&r.isPristine&&!r.isRequired||!r.validationRules)return{errorMessage:"",hasError:!1};var u,s=t(n)?n:r.value;if(r.isRequired&&e.isEmpty(s))return{errorMessage:null==(u=r.validationRules[0])?void 0:u.errorMessage,hasError:!0};if(!r.isRequired&&!Boolean(s)&&!r.validationRules)return{errorMessage:"",hasError:!1};var o=r.validationRules.find((function(r){return!r.validate(s)}));return{errorMessage:null!=(i=null==o?void 0:o.errorMessage)?i:"",hasError:Boolean(null==o?void 0:o.errorMessage)}};return n({},r,{value:r.initialValue,hasChange:!1,isPristine:!0,parentKey:u,hasError:null==(s=a.current)||null==(o=s[r.key])?void 0:o.hasError,isRequired:r.isRequired||!1,validateOnBlur:r.validateOnBlur||!1,localInitialValue:null!=(l=r.initialValue)?l:"",errorMessage:null==(c=a.current)||null==(v=c[r.key])?void 0:v.errorMessage,onChangeValue:function(e){return i((function(t){var a,i,u,s=n({},t[r.key],{value:r.liveParser?r.liveParser(e):e,hasChange:e!==(null==(a=t[r.key])?void 0:a.localInitialValue),isPristine:null!=(i=t[r.key])&&i.isPristine?r.validateOnBlur||!1:t[r.key].isPristine}),o=f(s,e);return n({},t,((u={})[r.key]=n({},s,{errorMessage:o.errorMessage,hasError:o.hasError}),u))}))},onBlur:function(){if(r.validateOnBlur){var t,u=f(null==(t=a.current)?void 0:t[r.key]),s=u.errorMessage,o=u.hasError;i((function(t){var a,i=t[r.key],u=!i.isRequired&&e.isEmpty(i.value);return n({},t,((a={})[r.key]=n({},i,{isPristine:u,errorMessage:u?"":s,hasError:!u&&o}),a))}))}},validateOnSubmit:function(){var e,t=f(null==(e=a.current)?void 0:e[r.key]),u=t.errorMessage,s=t.hasError;return i((function(e){var t;return n({},e,((t={})[r.key]=n({},e[r.key],{errorMessage:u,hasError:s}),t))})),{errorMessage:u,hasError:s}},onChangeInitialValue:function(e){var t,u;(null==(t=a.current)?void 0:t.value)===(null==(u=a.current)?void 0:u.localInitialValue)&&i((function(t){var a;return n({},t,((a={})[r.key]=n({},t[r.key],{value:e,localInitialValue:e}),a))}))},setError:function(e){return i((function(t){var a;return n({},t,((a={})[r.key]=n({},t[r.key],{errorMessage:e}),a))}))},resetState:function(){return i((function(e){var t;return n({},e,((t={})[r.key]=n({},e[r.key],{isPristine:!0,errorMessage:"",value:r.initialValue}),t))}))},validate:function(){var e,t=f(null==(e=a.current)?void 0:e[r.key],void 0,!0),u=t.hasError,s=t.errorMessage;return i((function(e){var t;return n({},e,((t={})[r.key]=n({},e[r.key],{errorMessage:s,hasError:u}),t))})),u}})}(a,v,c,i),u)}(a,""))}),{}))}))},removeFieldIds:function(r){return c((function(e){return Object.keys(e).reduce((function(t,a){var i;return r.includes(a)?t:n({},t,((i={})[a]=e[a],i))}),{})}))},resetForm:function(){return Object.keys(f).forEach((function(r){return f[r].resetState()}))},submit:function(){var r=Object.values(f).reduce((function(r,e){var t,a=e.validateOnSubmit(),i=a.errorMessage;return i?n({},r,((t={})[e.key]=i||(a.hasError?"This field is required":""),t)):r}),{});if(Object.values(r).length>0)return a(u.onError,(function(e){return e(r)}));var e=Object.values(f).reduce((function(r,e){var t,a=e.value,i=e.submitParser;return n({},r,((t={})[e.key]=i?i(a):a,t))}),{});u.onSuccess(e)},validateAll:function(){return Object.values(f).some((function(r){return r.validate()}))}}}; | ||
//# sourceMappingURL=react-form-builder-v2.cjs.production.min.js.map |
@@ -141,10 +141,11 @@ import { useState, useRef, useEffect } from 'react'; | ||
onChangeInitialValue: function onChangeInitialValue(value) { | ||
if (field.value === localInitialValue) { | ||
setField(function (prevState) { | ||
setField(function (prevState) { | ||
if (prevState.value === localInitialValue) { | ||
return _extends({}, prevState, { | ||
value: value | ||
}); | ||
}); | ||
} | ||
} | ||
return prevState; | ||
}); | ||
setLocalInitialValue(value); | ||
@@ -151,0 +152,0 @@ }, |
@@ -144,10 +144,11 @@ (function (global, factory) { | ||
onChangeInitialValue: function onChangeInitialValue(value) { | ||
if (field.value === localInitialValue) { | ||
setField(function (prevState) { | ||
setField(function (prevState) { | ||
if (prevState.value === localInitialValue) { | ||
return _extends({}, prevState, { | ||
value: value | ||
}); | ||
}); | ||
} | ||
} | ||
return prevState; | ||
}); | ||
setLocalInitialValue(value); | ||
@@ -154,0 +155,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("ramda")):"function"==typeof define&&define.amd?define(["exports","react","ramda"],e):e((r=r||self)["@codegateinc/react-form-builder-v2"]={},r.React,r.ramda)}(this,(function(r,e,n){"use strict";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r}).apply(this,arguments)}var a=function(r){return null!=r},i=function(r,e){return a(r)&&e(r)};r.useField=function(r){var i=r.key,u=r.label,o=r.validationRules,s=void 0===o?[]:o,l=r.isRequired,c=void 0!==l&&l,v=r.placeholder,f=r.validateOnBlur,d=void 0!==f&&f,h=r.liveParser,g=r.submitParser,y=e.useState(r.initialValue),E=y[0],M=y[1],k=e.useState({value:E,isPristine:!0,errorMessage:"",hasError:!1}),b=k[0],m=k[1],O=function(r,e){var t;if(void 0===e&&(e=!1),!e&&b.isPristine&&!c||!s)return{errorMessage:"",hasError:!1};var i,u=a(r)?r:b.value;if(c&&n.isEmpty(u))return{errorMessage:null==(i=s[0])?void 0:i.errorMessage,hasError:!0};if(!c&&!Boolean(u)&&!s)return{errorMessage:"",hasError:!1};var o=s.find((function(r){return!r.validate(u)}));return{errorMessage:null!=(t=null==o?void 0:o.errorMessage)?t:"",hasError:Boolean(null==o?void 0:o.errorMessage)}};return{key:i,label:u,isRequired:c,placeholder:v,submitParser:g,parentKey:"",hasError:b.hasError,value:b.value,hasChange:b.value!==E,errorMessage:b.errorMessage,onBlur:function(){if(d){var r=O(),e=r.errorMessage,a=r.hasError;m((function(r){var i=!c&&n.isEmpty(r.value);return t({},r,{isPristine:i,errorMessage:i?"":e,hasError:!i&&a})}))}},onChangeValue:function(r){var e=O(r,!d),n=e.hasError,a=e.errorMessage;m((function(e){return t({},e,{value:h?h(r):r,isPristine:e.isPristine?d:e.isPristine,errorMessage:a,hasError:n})}))},onChangeInitialValue:function(r){b.value===E&&m((function(e){return t({},e,{value:r})})),M(r)},validateOnSubmit:function(){var r=O(),e=r.hasError,n=r.errorMessage;return m((function(r){return t({},r,{errorMessage:n,hasError:e})})),{hasError:e,errorMessage:n}},setError:function(r){return m((function(e){return t({},e,{errorMessage:r})}))},resetState:function(){return m((function(r){return t({},r,{isPristine:!0,errorMessage:"",value:E})}))},validate:function(){var r=O(void 0,!0),e=r.hasError,n=r.errorMessage;return m((function(r){return t({},r,{errorMessage:n,hasError:e})})),e}}},r.useForm=function(r,u){var o=Object.entries(r).reduce((function(r,e){var n;return t({},r,((n={})[e[0]]=e[1],n))}),{}),s=e.useState({}),l=s[0],c=s[1],v=e.useRef(l),f=t({},o,Object.entries(l).reduce((function(r,e){var n,a=e[0],i=e[1],u=i.parentKey.split(".").filter(Boolean);if(u.length>0){var o=u.reduce((function(e,n,a){var o,s;return t({},r,e,((s={})[n]=t({},r[n],e[n]||{},a===u.length-1?{children:[].concat((null==(o=e[n])?void 0:o.children)||[],[i])}:{}),s))}),{}),s=Object.keys(o).filter((function(r){return Object.keys(o[r]).length})).reduce((function(r,e){var n;return t({},r,((n={})[e]=o[e],n))}),{});return t({},r,s)}return t({},r,((n={})[a]=i,n))}),{})),d=Object.values(f).filter((function(r){return r.isRequired})).some((function(r){return Boolean(r.errorMessage)}));return e.useEffect((function(){v.current=l}),[l]),{form:f,hasError:d,isFilled:Object.values(f).filter((function(r){return r.isRequired})).every((function(r){return!n.isEmpty(r.value)})),formHasChanges:function(){return Object.values(f).some((function(r){return r.hasChange}))},setError:function(r,e){f[r].setError(e),i(u.onError,(function(n){var t;return n(((t={})[r]=e,t))}))},setFieldValue:function(r,e){f[r].onChangeValue(e)},setFieldInitialValue:function(r,e){f[r].onChangeInitialValue(e)},addFields:function(r){return c((function(e){return t({},e,r.reduce((function(r,e){return t({},r,function r(e,i){var u;return e.children?e.children.reduce((function(n,a){return t({},n,r(a,i+"."+e.key))}),{}):((u={})[e.key]=function(r,e,i,u){var o,s,l,c,v;void 0===u&&(u="");var f=function(r,e,t){var i;if(void 0===t&&(t=!1),!t&&r.isPristine&&!r.isRequired||!r.validationRules)return{errorMessage:"",hasError:!1};var u,o=a(e)?e:r.value;if(r.isRequired&&n.isEmpty(o))return{errorMessage:null==(u=r.validationRules[0])?void 0:u.errorMessage,hasError:!0};if(!r.isRequired&&!Boolean(o)&&!r.validationRules)return{errorMessage:"",hasError:!1};var s=r.validationRules.find((function(r){return!r.validate(o)}));return{errorMessage:null!=(i=null==s?void 0:s.errorMessage)?i:"",hasError:Boolean(null==s?void 0:s.errorMessage)}};return t({},r,{value:r.initialValue,hasChange:!1,isPristine:!0,parentKey:u,hasError:null==(o=e.current)||null==(s=o[r.key])?void 0:s.hasError,isRequired:r.isRequired||!1,validateOnBlur:r.validateOnBlur||!1,localInitialValue:null!=(l=r.initialValue)?l:"",errorMessage:null==(c=e.current)||null==(v=c[r.key])?void 0:v.errorMessage,onChangeValue:function(e){return i((function(n){var a,i,u,o=t({},n[r.key],{value:r.liveParser?r.liveParser(e):e,hasChange:e!==(null==(a=n[r.key])?void 0:a.localInitialValue),isPristine:null!=(i=n[r.key])&&i.isPristine?r.validateOnBlur||!1:n[r.key].isPristine}),s=f(o,e);return t({},n,((u={})[r.key]=t({},o,{errorMessage:s.errorMessage,hasError:s.hasError}),u))}))},onBlur:function(){if(r.validateOnBlur){var a,u=f(null==(a=e.current)?void 0:a[r.key]),o=u.errorMessage,s=u.hasError;i((function(e){var a,i=e[r.key],u=!i.isRequired&&n.isEmpty(i.value);return t({},e,((a={})[r.key]=t({},i,{isPristine:u,errorMessage:u?"":o,hasError:!u&&s}),a))}))}},validateOnSubmit:function(){var n,a=f(null==(n=e.current)?void 0:n[r.key]),u=a.errorMessage,o=a.hasError;return i((function(e){var n;return t({},e,((n={})[r.key]=t({},e[r.key],{errorMessage:u,hasError:o}),n))})),{errorMessage:u,hasError:o}},onChangeInitialValue:function(n){var a,u;(null==(a=e.current)?void 0:a.value)===(null==(u=e.current)?void 0:u.localInitialValue)&&i((function(e){var a;return t({},e,((a={})[r.key]=t({},e[r.key],{value:n,localInitialValue:n}),a))}))},setError:function(e){return i((function(n){var a;return t({},n,((a={})[r.key]=t({},n[r.key],{errorMessage:e}),a))}))},resetState:function(){return i((function(e){var n;return t({},e,((n={})[r.key]=t({},e[r.key],{isPristine:!0,errorMessage:"",value:r.initialValue}),n))}))},validate:function(){var n,a=f(null==(n=e.current)?void 0:n[r.key],void 0,!0),u=a.hasError,o=a.errorMessage;return i((function(e){var n;return t({},e,((n={})[r.key]=t({},e[r.key],{errorMessage:o,hasError:u}),n))})),u}})}(e,v,c,i),u)}(e,""))}),{}))}))},removeFieldIds:function(r){return c((function(e){return Object.keys(e).reduce((function(n,a){var i;return r.includes(a)?n:t({},n,((i={})[a]=e[a],i))}),{})}))},resetForm:function(){return Object.keys(f).forEach((function(r){return f[r].resetState()}))},submit:function(){var r=Object.values(f).reduce((function(r,e){var n,a=e.validateOnSubmit(),i=a.errorMessage;return i?t({},r,((n={})[e.key]=i||(a.hasError?"This field is required":""),n)):r}),{});if(Object.values(r).length>0)return i(u.onError,(function(e){return e(r)}));var e=Object.values(f).reduce((function(r,e){var n,a=e.value,i=e.submitParser;return t({},r,((n={})[e.key]=i?i(a):a,n))}),{});u.onSuccess(e)},validateAll:function(){return Object.values(f).some((function(r){return r.validate()}))}}},Object.defineProperty(r,"__esModule",{value:!0})})); | ||
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("ramda")):"function"==typeof define&&define.amd?define(["exports","react","ramda"],e):e((r=r||self)["@codegateinc/react-form-builder-v2"]={},r.React,r.ramda)}(this,(function(r,e,n){"use strict";function t(){return(t=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])}return r}).apply(this,arguments)}var a=function(r){return null!=r},i=function(r,e){return a(r)&&e(r)};r.useField=function(r){var i=r.key,u=r.label,o=r.validationRules,s=void 0===o?[]:o,l=r.isRequired,c=void 0!==l&&l,v=r.placeholder,f=r.validateOnBlur,d=void 0!==f&&f,h=r.liveParser,g=r.submitParser,y=e.useState(r.initialValue),E=y[0],M=y[1],k=e.useState({value:E,isPristine:!0,errorMessage:"",hasError:!1}),b=k[0],m=k[1],O=function(r,e){var t;if(void 0===e&&(e=!1),!e&&b.isPristine&&!c||!s)return{errorMessage:"",hasError:!1};var i,u=a(r)?r:b.value;if(c&&n.isEmpty(u))return{errorMessage:null==(i=s[0])?void 0:i.errorMessage,hasError:!0};if(!c&&!Boolean(u)&&!s)return{errorMessage:"",hasError:!1};var o=s.find((function(r){return!r.validate(u)}));return{errorMessage:null!=(t=null==o?void 0:o.errorMessage)?t:"",hasError:Boolean(null==o?void 0:o.errorMessage)}};return{key:i,label:u,isRequired:c,placeholder:v,submitParser:g,parentKey:"",hasError:b.hasError,value:b.value,hasChange:b.value!==E,errorMessage:b.errorMessage,onBlur:function(){if(d){var r=O(),e=r.errorMessage,a=r.hasError;m((function(r){var i=!c&&n.isEmpty(r.value);return t({},r,{isPristine:i,errorMessage:i?"":e,hasError:!i&&a})}))}},onChangeValue:function(r){var e=O(r,!d),n=e.hasError,a=e.errorMessage;m((function(e){return t({},e,{value:h?h(r):r,isPristine:e.isPristine?d:e.isPristine,errorMessage:a,hasError:n})}))},onChangeInitialValue:function(r){m((function(e){return e.value===E?t({},e,{value:r}):e})),M(r)},validateOnSubmit:function(){var r=O(),e=r.hasError,n=r.errorMessage;return m((function(r){return t({},r,{errorMessage:n,hasError:e})})),{hasError:e,errorMessage:n}},setError:function(r){return m((function(e){return t({},e,{errorMessage:r})}))},resetState:function(){return m((function(r){return t({},r,{isPristine:!0,errorMessage:"",value:E})}))},validate:function(){var r=O(void 0,!0),e=r.hasError,n=r.errorMessage;return m((function(r){return t({},r,{errorMessage:n,hasError:e})})),e}}},r.useForm=function(r,u){var o=Object.entries(r).reduce((function(r,e){var n;return t({},r,((n={})[e[0]]=e[1],n))}),{}),s=e.useState({}),l=s[0],c=s[1],v=e.useRef(l),f=t({},o,Object.entries(l).reduce((function(r,e){var n,a=e[0],i=e[1],u=i.parentKey.split(".").filter(Boolean);if(u.length>0){var o=u.reduce((function(e,n,a){var o,s;return t({},r,e,((s={})[n]=t({},r[n],e[n]||{},a===u.length-1?{children:[].concat((null==(o=e[n])?void 0:o.children)||[],[i])}:{}),s))}),{}),s=Object.keys(o).filter((function(r){return Object.keys(o[r]).length})).reduce((function(r,e){var n;return t({},r,((n={})[e]=o[e],n))}),{});return t({},r,s)}return t({},r,((n={})[a]=i,n))}),{})),d=Object.values(f).filter((function(r){return r.isRequired})).some((function(r){return Boolean(r.errorMessage)}));return e.useEffect((function(){v.current=l}),[l]),{form:f,hasError:d,isFilled:Object.values(f).filter((function(r){return r.isRequired})).every((function(r){return!n.isEmpty(r.value)})),formHasChanges:function(){return Object.values(f).some((function(r){return r.hasChange}))},setError:function(r,e){f[r].setError(e),i(u.onError,(function(n){var t;return n(((t={})[r]=e,t))}))},setFieldValue:function(r,e){f[r].onChangeValue(e)},setFieldInitialValue:function(r,e){f[r].onChangeInitialValue(e)},addFields:function(r){return c((function(e){return t({},e,r.reduce((function(r,e){return t({},r,function r(e,i){var u;return e.children?e.children.reduce((function(n,a){return t({},n,r(a,i+"."+e.key))}),{}):((u={})[e.key]=function(r,e,i,u){var o,s,l,c,v;void 0===u&&(u="");var f=function(r,e,t){var i;if(void 0===t&&(t=!1),!t&&r.isPristine&&!r.isRequired||!r.validationRules)return{errorMessage:"",hasError:!1};var u,o=a(e)?e:r.value;if(r.isRequired&&n.isEmpty(o))return{errorMessage:null==(u=r.validationRules[0])?void 0:u.errorMessage,hasError:!0};if(!r.isRequired&&!Boolean(o)&&!r.validationRules)return{errorMessage:"",hasError:!1};var s=r.validationRules.find((function(r){return!r.validate(o)}));return{errorMessage:null!=(i=null==s?void 0:s.errorMessage)?i:"",hasError:Boolean(null==s?void 0:s.errorMessage)}};return t({},r,{value:r.initialValue,hasChange:!1,isPristine:!0,parentKey:u,hasError:null==(o=e.current)||null==(s=o[r.key])?void 0:s.hasError,isRequired:r.isRequired||!1,validateOnBlur:r.validateOnBlur||!1,localInitialValue:null!=(l=r.initialValue)?l:"",errorMessage:null==(c=e.current)||null==(v=c[r.key])?void 0:v.errorMessage,onChangeValue:function(e){return i((function(n){var a,i,u,o=t({},n[r.key],{value:r.liveParser?r.liveParser(e):e,hasChange:e!==(null==(a=n[r.key])?void 0:a.localInitialValue),isPristine:null!=(i=n[r.key])&&i.isPristine?r.validateOnBlur||!1:n[r.key].isPristine}),s=f(o,e);return t({},n,((u={})[r.key]=t({},o,{errorMessage:s.errorMessage,hasError:s.hasError}),u))}))},onBlur:function(){if(r.validateOnBlur){var a,u=f(null==(a=e.current)?void 0:a[r.key]),o=u.errorMessage,s=u.hasError;i((function(e){var a,i=e[r.key],u=!i.isRequired&&n.isEmpty(i.value);return t({},e,((a={})[r.key]=t({},i,{isPristine:u,errorMessage:u?"":o,hasError:!u&&s}),a))}))}},validateOnSubmit:function(){var n,a=f(null==(n=e.current)?void 0:n[r.key]),u=a.errorMessage,o=a.hasError;return i((function(e){var n;return t({},e,((n={})[r.key]=t({},e[r.key],{errorMessage:u,hasError:o}),n))})),{errorMessage:u,hasError:o}},onChangeInitialValue:function(n){var a,u;(null==(a=e.current)?void 0:a.value)===(null==(u=e.current)?void 0:u.localInitialValue)&&i((function(e){var a;return t({},e,((a={})[r.key]=t({},e[r.key],{value:n,localInitialValue:n}),a))}))},setError:function(e){return i((function(n){var a;return t({},n,((a={})[r.key]=t({},n[r.key],{errorMessage:e}),a))}))},resetState:function(){return i((function(e){var n;return t({},e,((n={})[r.key]=t({},e[r.key],{isPristine:!0,errorMessage:"",value:r.initialValue}),n))}))},validate:function(){var n,a=f(null==(n=e.current)?void 0:n[r.key],void 0,!0),u=a.hasError,o=a.errorMessage;return i((function(e){var n;return t({},e,((n={})[r.key]=t({},e[r.key],{errorMessage:o,hasError:u}),n))})),u}})}(e,v,c,i),u)}(e,""))}),{}))}))},removeFieldIds:function(r){return c((function(e){return Object.keys(e).reduce((function(n,a){var i;return r.includes(a)?n:t({},n,((i={})[a]=e[a],i))}),{})}))},resetForm:function(){return Object.keys(f).forEach((function(r){return f[r].resetState()}))},submit:function(){var r=Object.values(f).reduce((function(r,e){var n,a=e.validateOnSubmit(),i=a.errorMessage;return i?t({},r,((n={})[e.key]=i||(a.hasError?"This field is required":""),n)):r}),{});if(Object.values(r).length>0)return i(u.onError,(function(e){return e(r)}));var e=Object.values(f).reduce((function(r,e){var n,a=e.value,i=e.submitParser;return t({},r,((n={})[e.key]=i?i(a):a,n))}),{});u.onSuccess(e)},validateAll:function(){return Object.values(f).some((function(r){return r.validate()}))}}},Object.defineProperty(r,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=react-form-builder-v2.umd.production.min.js.map |
@@ -6,3 +6,3 @@ { | ||
"typings": "index.d.ts", | ||
"version": "1.2.19", | ||
"version": "1.2.20", | ||
"main": "dist/index.js", | ||
@@ -9,0 +9,0 @@ "scripts": { |
@@ -103,9 +103,12 @@ import { useState } from 'react' | ||
onChangeInitialValue: (value: T) => { | ||
if (field.value === localInitialValue) { | ||
setField(prevState => ({ | ||
...prevState, | ||
value | ||
})) | ||
} | ||
setField(prevState => { | ||
if (prevState.value === localInitialValue) { | ||
return { | ||
...prevState, | ||
value | ||
} | ||
} | ||
return prevState | ||
}) | ||
setLocalInitialValue(value) | ||
@@ -112,0 +115,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
249674
2067