From b3413b3209e9d71e5c443e8cc36250d392d06f84 Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Thu, 10 May 2018 13:54:53 +0300 Subject: [PATCH] feat(review): add conditional validation --- .../src/components/ReviewerReportForm.js | 11 ++++------- packages/component-manuscript/src/components/utils.js | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/component-manuscript/src/components/ReviewerReportForm.js b/packages/component-manuscript/src/components/ReviewerReportForm.js index a773c484f..50da18d3a 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 6eb1902ca..0ffd247ad 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) -- GitLab