Skip to content
Snippets Groups Projects
Commit 3d3d788a authored by Alexandru Munteanu's avatar Alexandru Munteanu
Browse files

feat(submitRevision): only one author can be added/edited at a time

parent 85ab8d3e
No related branches found
No related tags found
3 merge requests!108Hin 858 revision fix,!106Hin 858,!97HIN-858
...@@ -74,6 +74,7 @@ const WizardAuthors = ({ ...@@ -74,6 +74,7 @@ const WizardAuthors = ({
<Label>Authors</Label> <Label>Authors</Label>
<ActionLink <ActionLink
data-test-id="add-author" data-test-id="add-author"
disabled={isAuthorEdit}
icon="plus" icon="plus"
onClick={addNewAuthor} onClick={addNewAuthor}
> >
......
...@@ -31,6 +31,7 @@ const DetailsAndAuthors = ({ ...@@ -31,6 +31,7 @@ const DetailsAndAuthors = ({
manuscriptTypes, manuscriptTypes,
getTooltipContent, getTooltipContent,
isAuthorsFetching, isAuthorsFetching,
onAuthorEdit,
...rest ...rest
}) => ( }) => (
<ContextualBox label="Details and Authors" startExpanded transparent> <ContextualBox label="Details and Authors" startExpanded transparent>
...@@ -85,6 +86,7 @@ const DetailsAndAuthors = ({ ...@@ -85,6 +86,7 @@ const DetailsAndAuthors = ({
isAuthorEdit={isAuthorEdit} isAuthorEdit={isAuthorEdit}
isAuthorsFetching={isAuthorsFetching} isAuthorsFetching={isAuthorsFetching}
journal={journal} journal={journal}
onAuthorEdit={onAuthorEdit}
/> />
</Root> </Root>
</ContextualBox> </ContextualBox>
......
...@@ -28,6 +28,9 @@ const SubmitRevision = ({ ...@@ -28,6 +28,9 @@ const SubmitRevision = ({
fetchingError, fetchingError,
addResponseFile, addResponseFile,
deleteResponseFile, deleteResponseFile,
//
onAuthorEdit,
isEditingAuthor,
}) => ( }) => (
<ContextualBox label="Submit Revision" mb={2} startExpanded> <ContextualBox label="Submit Revision" mb={2} startExpanded>
<Root> <Root>
...@@ -37,7 +40,9 @@ const SubmitRevision = ({ ...@@ -37,7 +40,9 @@ const SubmitRevision = ({
collection={collection} collection={collection}
deleteAuthor={deleteAuthor} deleteAuthor={deleteAuthor}
fragment={fragment} fragment={fragment}
isAuthorEdit={isEditingAuthor}
manuscriptTypes={journal.manuscriptTypes} manuscriptTypes={journal.manuscriptTypes}
onAuthorEdit={onAuthorEdit}
/> />
<ManuscriptFiles <ManuscriptFiles
......
import { get, pick } from 'lodash'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import { get, pick, isNull } from 'lodash'
import { withRouter } from 'react-router-dom' import { withRouter } from 'react-router-dom'
import { import {
MultiAction, MultiAction,
...@@ -18,6 +18,7 @@ import { ...@@ -18,6 +18,7 @@ import {
withProps, withProps,
withHandlers, withHandlers,
setDisplayName, setDisplayName,
withStateHandlers,
} from 'recompose' } from 'recompose'
import { import {
...@@ -37,6 +38,14 @@ export default compose( ...@@ -37,6 +38,14 @@ export default compose(
withFetching, withFetching,
withFilePreview, withFilePreview,
withFileDownload, withFileDownload,
withStateHandlers(
{ authorEditIndex: null },
{
onAuthorEdit: () => index => ({
authorEditIndex: index,
}),
},
),
connect( connect(
state => ({ state => ({
canSubmit: !get(state, 'form.revision.syncErrors'), canSubmit: !get(state, 'form.revision.syncErrors'),
...@@ -115,6 +124,7 @@ export default compose( ...@@ -115,6 +124,7 @@ export default compose(
'setFetching', 'setFetching',
'previewFile', 'previewFile',
'downloadFile', 'downloadFile',
'onAuthorEdit',
'deleteAuthor', 'deleteAuthor',
'getSignedUrl', 'getSignedUrl',
'hasFormError', 'hasFormError',
...@@ -122,6 +132,7 @@ export default compose( ...@@ -122,6 +132,7 @@ export default compose(
'addResponseFile', 'addResponseFile',
'deleteResponseFile', 'deleteResponseFile',
]), ]),
isEditingAuthor: !isNull(props.authorEditIndex),
onChange, onChange,
onSubmit, onSubmit,
validate, validate,
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment