fix(list-widget): fix single field usage in list widget (#1395)

This commit is contained in:
Brian Macdonald
2018-08-24 17:39:35 -04:00
committed by Shawn Erquhart
parent f58db5fb08
commit 06d3650fac
5 changed files with 60 additions and 34 deletions

View File

@ -62,13 +62,20 @@ export default class ObjectControl extends Component {
this.setState({ collapsed: !this.state.collapsed });
};
renderFields = (multiFields, singleField) => {
if (multiFields) {
return multiFields.map((f, idx) => this.controlFor(f, idx));
}
return this.controlFor(singleField);
};
render() {
const { field, forID, classNameWrapper, forList } = this.props;
const { collapsed } = this.state;
const multiFields = field.get('fields');
const singleField = field.get('field');
if (multiFields) {
if (multiFields || singleField) {
return (
<div
id={forID}
@ -82,11 +89,9 @@ export default class ObjectControl extends Component {
onCollapseToggle={this.handleCollapseToggle}
/>
)}
{collapsed ? null : multiFields.map((f, idx) => this.controlFor(f, idx))}
{collapsed ? null : this.renderFields(multiFields, singleField)}
</div>
);
} else if (singleField) {
return this.controlFor(singleField);
}
return <h3>No field(s) defined for this widget</h3>;

View File

@ -3,7 +3,9 @@ import PropTypes from 'prop-types';
import { WidgetPreviewContainer } from 'netlify-cms-ui-default';
const ObjectPreview = ({ field }) => (
<WidgetPreviewContainer>{(field && field.get('fields')) || null}</WidgetPreviewContainer>
<WidgetPreviewContainer>
{(field && field.get('fields')) || field.get('field') || null}
</WidgetPreviewContainer>
);
ObjectPreview.propTypes = {