diff --git a/src/client/components/forms/RenderFields/index.js b/src/client/components/forms/RenderFields/index.js index 42e9a932b1..82d619be9d 100644 --- a/src/client/components/forms/RenderFields/index.js +++ b/src/client/components/forms/RenderFields/index.js @@ -4,14 +4,13 @@ import fieldTypes from '../field-types'; import './index.scss'; -const RenderFields = ({ fields, formatter, initialData }) => { +const RenderFields = ({ fields, initialData }) => { if (fields) { return ( <> {fields.map((field, i) => { const { defaultValue } = field; const FieldComponent = field.component || fieldTypes[field.type]; - const formattedField = (formatter && typeof formatter === 'function') ? formatter(field, i) : {}; if (FieldComponent) { return ( @@ -19,7 +18,6 @@ const RenderFields = ({ fields, formatter, initialData }) => { key={i} {...field} defaultValue={defaultValue || initialData[field.name]} - {...formattedField} /> ); } @@ -45,7 +43,6 @@ const RenderFields = ({ fields, formatter, initialData }) => { }; RenderFields.defaultProps = { - formatter: null, initialData: {}, }; @@ -53,7 +50,6 @@ RenderFields.propTypes = { fields: PropTypes.arrayOf( PropTypes.shape({}), ).isRequired, - formatter: PropTypes.func, initialData: PropTypes.shape({}), }; diff --git a/src/client/components/forms/field-types/Group/index.js b/src/client/components/forms/field-types/Group/index.js index 8ef936d03e..0bcbe25f4d 100644 --- a/src/client/components/forms/field-types/Group/index.js +++ b/src/client/components/forms/field-types/Group/index.js @@ -5,36 +5,32 @@ import RenderFields from '../../RenderFields'; import './index.scss'; -const formatSubField = (parentName, subField) => { - const formatted = { - ...subField, - name: `${parentName}[${subField.name}]` - }; - - return formatted; -}; - const Group = (props) => { - const { label, fields, name } = props; + const { label, fields, name, defaultValue } = props; return (
- formatSubField(name, field)} - /> + { + return { + ...subField, + name: `${name}[${subField.name}]`, + defaultValue: defaultValue[subField.name], + }; + })} />
); }; Group.defaultProps = { label: '', + defaultValue: {}, }; Group.propTypes = { + defaultValue: PropTypes.shape({}), fields: PropTypes.arrayOf( PropTypes.shape({}), ).isRequired, diff --git a/src/client/components/forms/field-types/Repeater/index.js b/src/client/components/forms/field-types/Repeater/index.js index d9e1fa78be..fa86694f21 100644 --- a/src/client/components/forms/field-types/Repeater/index.js +++ b/src/client/components/forms/field-types/Repeater/index.js @@ -14,7 +14,6 @@ const Repeater = (props) => { { let defaultSubValue = null; - const subFieldName = `${name}[${i}][${subField.name}]`; if (defaultValue[i] && defaultValue[i][subField.name]) { defaultSubValue = defaultValue[i][subField.name]; @@ -22,7 +21,7 @@ const Repeater = (props) => { return { ...subField, - name: subFieldName, + name: `${name}[${i}][${subField.name}]`, defaultValue: defaultSubValue, }; })}