diff --git a/packages/component-manuscript/src/components/ReviewerReportForm.js b/packages/component-manuscript/src/components/ReviewerReportForm.js index a773c484f2a216dfa7da1a76c407a0ed5590e097..50da18d3a3870c496645a83b2e7996440e54b7d8 100644 --- a/packages/component-manuscript/src/components/ReviewerReportForm.js +++ b/packages/component-manuscript/src/components/ReviewerReportForm.js @@ -1,4 +1,5 @@ import React, { Fragment } from 'react' +import { isEmpty } from 'lodash' import { connect } from 'react-redux' import { required } from 'xpub-validators' import { withJournal } from 'xpub-journal' @@ -115,7 +116,7 @@ const ReviewerReportForm = ({ /> )} name="public" - validate={[]} + validate={isEmpty(formValues.files) ? [required] : []} /> </FullWidth> </Row> @@ -232,14 +233,10 @@ export default compose( changeField: ({ changeForm }) => (field, value) => { changeForm('reviewerReport', field, value) }, - addFile: ({ - formValues: { files = [] }, - uploadFile, - changeForm, - version, - }) => file => { + addFile: ({ formValues = {}, uploadFile, changeForm, version }) => file => { uploadFile(file, 'review', version.id) .then(file => { + const files = formValues.files || [] const newFiles = [...files, file] setTimeout(() => { diff --git a/packages/component-manuscript/src/components/utils.js b/packages/component-manuscript/src/components/utils.js index 6eb1902ca41ec81875e497ee9b23e10833941e3e..0ffd247ad00e55e06063eba4a0919b95ab582e2e 100644 --- a/packages/component-manuscript/src/components/utils.js +++ b/packages/component-manuscript/src/components/utils.js @@ -140,7 +140,7 @@ const onChange = ( const newValues = parseReviewRequest(values) const prevValues = parseReviewRequest(previousValues) - if (!isEqual(newValues, prevValues) && !isEmpty(prevValues)) { + if (!isEqual(newValues, prevValues)) { dispatch(autosaveRequest()) if (newValues.id) { updateRecommendation(project.id, version.id, newValues)