fix(widget-date): fix default value for nested date widget (#1859)

This commit is contained in:
Bartholomew 2018-11-06 19:13:42 +01:00 committed by Shawn Erquhart
parent f69a04efe8
commit d8f888706e
2 changed files with 9 additions and 10 deletions

View File

@ -379,24 +379,21 @@ function createEmptyDraftData(fields) {
return fields.reduce((acc, item) => { return fields.reduce((acc, item) => {
const subfields = item.get('field') || item.get('fields'); const subfields = item.get('field') || item.get('fields');
const list = item.get('widget') == 'list'; const list = item.get('widget') == 'list';
const defaultValue = item.get('default'); const name = item.get('name');
const defaultValue = item.get('default', null);
if (List.isList(subfields)) { if (List.isList(subfields)) {
acc[item.get('name')] = list acc[name] = list ? [createEmptyDraftData(subfields)] : createEmptyDraftData(subfields);
? [createEmptyDraftData(subfields)]
: createEmptyDraftData(subfields);
return acc; return acc;
} }
if (Map.isMap(subfields)) { if (Map.isMap(subfields)) {
acc[item.get('name')] = list acc[name] = list ? [createEmptyDraftData([subfields])] : createEmptyDraftData([subfields]);
? [createEmptyDraftData([subfields])]
: createEmptyDraftData([subfields]);
return acc; return acc;
} }
if (defaultValue) { if (defaultValue !== null) {
acc[item.get('name')] = defaultValue; acc[name] = defaultValue;
} }
return acc; return acc;

View File

@ -30,7 +30,9 @@ export default class DateControl extends React.Component {
* empty string means the value is intentionally blank. * empty string means the value is intentionally blank.
*/ */
if (!value && value !== '') { if (!value && value !== '') {
this.handleChange(new Date()); setTimeout(() => {
this.handleChange(new Date());
}, 0);
} }
} }