From 020e99536c7e858e547f84e44352c8c45aabe196 Mon Sep 17 00:00:00 2001 From: Yannis Barlas <yannisbarlas@gmail.com> Date: Wed, 14 Apr 2021 14:53:55 +0300 Subject: [PATCH] fix(ui): handle empty value in form builder select --- .../src/components/ComponentProperties.js | 15 +++++++++++---- .../src/components/builderComponents/Menu.js | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/components/component-formbuilder/src/components/ComponentProperties.js b/app/components/component-formbuilder/src/components/ComponentProperties.js index b584d81eb7..23b8a382c3 100644 --- a/app/components/component-formbuilder/src/components/ComponentProperties.js +++ b/app/components/component-formbuilder/src/components/ComponentProperties.js @@ -1,8 +1,10 @@ import React, { useState } from 'react' import PropTypes from 'prop-types' -import { map, omitBy } from 'lodash' -import { ValidatedFieldFormik, Menu, Button } from '@pubsweet/ui' +import { isEmpty, map, omitBy } from 'lodash' import { Formik } from 'formik' + +import { ValidatedFieldFormik, Menu, Button } from '@pubsweet/ui' + import FormProperties from './FormProperties' import components from './config/Elements' import * as elements from './builderComponents' @@ -50,9 +52,14 @@ const ComponentProperties = ({ component={elements[value.component].default} key={`${selectedComponent}-${key}`} name={key} - onChange={val => + onChange={val => { + if (isEmpty(val)) { + setFieldValue(key, null) + return + } + setFieldValue(key, val.target ? val.target.value : val) - } + }} {...value.props} /> </Section> diff --git a/app/components/component-formbuilder/src/components/builderComponents/Menu.js b/app/components/component-formbuilder/src/components/builderComponents/Menu.js index 4106846b3a..fb1425bc2c 100644 --- a/app/components/component-formbuilder/src/components/builderComponents/Menu.js +++ b/app/components/component-formbuilder/src/components/builderComponents/Menu.js @@ -24,6 +24,7 @@ const ValidationMenu = input => ( </Section> ) } + return null })} </> -- GitLab