From 23a8a168dbe446ea03548ea476a296fa2333ab88 Mon Sep 17 00:00:00 2001 From: Ray Arvin Rimorin Date: Wed, 8 Jun 2022 18:44:16 +0800 Subject: [PATCH 1/7] ZI-11896 formbuilder bug: not displaying subform errors/check single instance validity for arrays --- src/components/FormBuilder/FormBuilder.jsx | 3 ++- src/components/FormBuilder/index.stories.js | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index 78e177b..06887f4 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -847,6 +847,7 @@ const FormFieldSet = ({ const isFormInline = formInline && field?.type !== 'component' if (field) { const err = get(formik.touched, layout) && get(formik.errors, layout); + const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : err; const growFactor = ((field.forceColumnWidth ?? 0) === 0) ? {} : { sm: field.forceColumnWidth } return ( {renderField(layout, field, fieldName)} - {!Array.isArray(err) ? err : ""} + {errText} diff --git a/src/components/FormBuilder/index.stories.js b/src/components/FormBuilder/index.stories.js index 130531b..e3fd656 100644 --- a/src/components/FormBuilder/index.stories.js +++ b/src/components/FormBuilder/index.stories.js @@ -474,9 +474,9 @@ Duration.args = { duration: { type: "duration", label: "Duration", - initialValues: 60400, + initialValues: '', validator: () => - Yup.number().required().nullable() + Yup.number().required().label() }, }, formId: "duration", From 1cf6af9c639f7a5daf3b2f9c80b48c4f945b5e5a Mon Sep 17 00:00:00 2001 From: Ray Arvin Rimorin Date: Wed, 8 Jun 2022 19:04:10 +0800 Subject: [PATCH 2/7] ZI-11896 check for obj strings --- src/components/FormBuilder/FormBuilder.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index 06887f4..9710b6c 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -847,7 +847,8 @@ const FormFieldSet = ({ const isFormInline = formInline && field?.type !== 'component' if (field) { const err = get(formik.touched, layout) && get(formik.errors, layout); - const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : err; + const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : ''; + const isErrString = typeof err === 'string' || err instanceof String; const growFactor = ((field.forceColumnWidth ?? 0) === 0) ? {} : { sm: field.forceColumnWidth } return ( {renderField(layout, field, fieldName)} - {errText} + {isErrString ? err: errText} From 3e80e92d809c7edd941975ef75d00b8d428383ee Mon Sep 17 00:00:00 2001 From: Ray Arvin Rimorin Date: Wed, 8 Jun 2022 19:12:00 +0800 Subject: [PATCH 3/7] ZI-11896 check for obj strings --- src/components/FormBuilder/FormBuilder.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index 9710b6c..3413b0d 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -869,7 +869,7 @@ const FormFieldSet = ({ > {renderField(layout, field, fieldName)} - {isErrString ? err: errText} + {isErrString ? err: ""} From c28ef3b33c68d8675034ca8f0d93035824a167d7 Mon Sep 17 00:00:00 2001 From: Ray Arvin Rimorin Date: Wed, 8 Jun 2022 19:18:32 +0800 Subject: [PATCH 4/7] ZI-11896 check for obj strings --- src/components/FormBuilder/FormBuilder.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index 3413b0d..f3f7400 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -847,8 +847,10 @@ const FormFieldSet = ({ const isFormInline = formInline && field?.type !== 'component' if (field) { const err = get(formik.touched, layout) && get(formik.errors, layout); - const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : ''; - const isErrString = typeof err === 'string' || err instanceof String; + const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : err; + const isErrString = (typeof err === 'string' || err instanceof String) || err?.reduce((acc, curr) => { + return acc || (typeof curr === 'string' || curr instanceof String) + }); const growFactor = ((field.forceColumnWidth ?? 0) === 0) ? {} : { sm: field.forceColumnWidth } return ( {renderField(layout, field, fieldName)} - {isErrString ? err: ""} + {isErrString ? errText: ""} From 4a173cad159e19d6a25f53a983d7e5a160f941b7 Mon Sep 17 00:00:00 2001 From: Ray Arvin Rimorin Date: Wed, 8 Jun 2022 19:22:32 +0800 Subject: [PATCH 5/7] ZI-11896 check for obj strings --- src/components/FormBuilder/FormBuilder.jsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index f3f7400..9478fed 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -848,9 +848,12 @@ const FormFieldSet = ({ if (field) { const err = get(formik.touched, layout) && get(formik.errors, layout); const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : err; - const isErrString = (typeof err === 'string' || err instanceof String) || err?.reduce((acc, curr) => { + const isErrArrString = err?.reduce((acc, curr) => { return acc || (typeof curr === 'string' || curr instanceof String) }); + + const isErrString = isErrArrString || (typeof err === 'string' || err instanceof String) + const growFactor = ((field.forceColumnWidth ?? 0) === 0) ? {} : { sm: field.forceColumnWidth } return ( Date: Wed, 8 Jun 2022 19:25:50 +0800 Subject: [PATCH 6/7] ZI-11896 check for obj strings --- src/components/FormBuilder/FormBuilder.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index 9478fed..ae18ff9 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -850,10 +850,10 @@ const FormFieldSet = ({ const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : err; const isErrArrString = err?.reduce((acc, curr) => { return acc || (typeof curr === 'string' || curr instanceof String) - }); + }, false); const isErrString = isErrArrString || (typeof err === 'string' || err instanceof String) - + const growFactor = ((field.forceColumnWidth ?? 0) === 0) ? {} : { sm: field.forceColumnWidth } return ( Date: Wed, 8 Jun 2022 19:33:46 +0800 Subject: [PATCH 7/7] ZI-11896 check for obj strings --- src/components/FormBuilder/FormBuilder.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/FormBuilder/FormBuilder.jsx b/src/components/FormBuilder/FormBuilder.jsx index ae18ff9..472210e 100644 --- a/src/components/FormBuilder/FormBuilder.jsx +++ b/src/components/FormBuilder/FormBuilder.jsx @@ -848,9 +848,9 @@ const FormFieldSet = ({ if (field) { const err = get(formik.touched, layout) && get(formik.errors, layout); const errText = Array.isArray(err) ? Array.from(new Set(err)).join(', ') : err; - const isErrArrString = err?.reduce((acc, curr) => { + const isErrArrString = Array.isArray(err) ? err?.reduce((acc, curr) => { return acc || (typeof curr === 'string' || curr instanceof String) - }, false); + }, false): false; const isErrString = isErrArrString || (typeof err === 'string' || err instanceof String)