Skip to content
Snippets Groups Projects
Commit 48a85f87 authored by Mihail Hagiu's avatar Mihail Hagiu
Browse files

feat(publonsInvite): refactored to use error

parent e5ea5a94
No related branches found
No related tags found
2 merge requests!110Sprint 21 Features,!85Hin 904
...@@ -7,8 +7,20 @@ import { compose, withHandlers, withProps } from 'recompose' ...@@ -7,8 +7,20 @@ import { compose, withHandlers, withProps } from 'recompose'
import { Label, OpenModal, Text, withFetching } from '../' import { Label, OpenModal, Text, withFetching } from '../'
const TableView = ({ reviewers, onInviteReviewer, setFetching, isFetching }) => const TableView = ({
reviewers.length === 0 ? ( reviewers,
onInviteReviewer,
setFetching,
isFetching,
publonsError,
}) => {
if (publonsError)
return (
<Text align="center" error>
{publonsError}
</Text>
)
return reviewers.length === 0 ? (
<Text align="center">No suggestions yet.</Text> <Text align="center">No suggestions yet.</Text>
) : ( ) : (
<Table> <Table>
...@@ -58,6 +70,7 @@ const TableView = ({ reviewers, onInviteReviewer, setFetching, isFetching }) => ...@@ -58,6 +70,7 @@ const TableView = ({ reviewers, onInviteReviewer, setFetching, isFetching }) =>
</tbody> </tbody>
</Table> </Table>
) )
}
const PublonsTable = ({ publonsFetching, ...rest }) => ( const PublonsTable = ({ publonsFetching, ...rest }) => (
<Fragment>{publonsFetching ? <Spinner /> : <TableView {...rest} />}</Fragment> <Fragment>{publonsFetching ? <Spinner /> : <TableView {...rest} />}</Fragment>
......
...@@ -29,6 +29,7 @@ const ReviewerDetails = ({ ...@@ -29,6 +29,7 @@ const ReviewerDetails = ({
isFetching, isFetching,
previewFile, previewFile,
downloadFile, downloadFile,
fetchingError,
canInviteReviewers, canInviteReviewers,
onInviteReviewer, onInviteReviewer,
onInvitePublonReviewer, onInvitePublonReviewer,
...@@ -93,6 +94,7 @@ const ReviewerDetails = ({ ...@@ -93,6 +94,7 @@ const ReviewerDetails = ({
{selectedTab === 1 && ( {selectedTab === 1 && (
<PublonsTable <PublonsTable
onInvite={onInvitePublonReviewer} onInvite={onInvitePublonReviewer}
publonsError={fetchingError}
publonsFetching={isFetching} publonsFetching={isFetching}
reviewers={publonReviewers} reviewers={publonReviewers}
/> />
......
...@@ -44,6 +44,7 @@ const ManuscriptLayout = ({ ...@@ -44,6 +44,7 @@ const ManuscriptLayout = ({
fragment = {}, fragment = {},
changeForm, changeForm,
isFetching, isFetching,
fetchingError,
formValues, formValues,
heExpanded, heExpanded,
onHEResponse, onHEResponse,
...@@ -175,6 +176,7 @@ const ManuscriptLayout = ({ ...@@ -175,6 +176,7 @@ const ManuscriptLayout = ({
{get(currentUser, 'permissions.canViewReviewersDetails', false) && ( {get(currentUser, 'permissions.canViewReviewersDetails', false) && (
<ReviewerDetails <ReviewerDetails
currentUser={currentUser} currentUser={currentUser}
fetchingError={fetchingError}
fragment={fragment} fragment={fragment}
getSignedUrl={getSignedUrl} getSignedUrl={getSignedUrl}
invitations={invitationsWithReviewers} invitations={invitationsWithReviewers}
......
...@@ -65,7 +65,7 @@ import { ...@@ -65,7 +65,7 @@ import {
parseEicDecision, parseEicDecision,
parseSearchParams, parseSearchParams,
redirectToError, redirectToError,
handlePublons, getPublonsReviewers,
} from './utils' } from './utils'
import { import {
canAssignHE, canAssignHE,
...@@ -395,6 +395,8 @@ export default compose( ...@@ -395,6 +395,8 @@ export default compose(
fetchUpdatedCollection, fetchUpdatedCollection,
setPublons, setPublons,
setFetching: setListFetching, setFetching: setListFetching,
setError,
clearError,
}) => (values, { hideModal, setModalError, setFetching }) => { }) => (values, { hideModal, setModalError, setFetching }) => {
setFetching(true) setFetching(true)
inviteReviewer({ inviteReviewer({
...@@ -407,10 +409,12 @@ export default compose( ...@@ -407,10 +409,12 @@ export default compose(
setFetching(false) setFetching(false)
hideModal() hideModal()
fetchUpdatedCollection() fetchUpdatedCollection()
handlePublons({ getPublonsReviewers({
fragmentId: fragment.id, fragmentId: fragment.id,
setPublons, setPublons,
setFetching: setListFetching, setFetching: setListFetching,
setError,
clearError,
}) })
}) })
.catch(err => { .catch(err => {
...@@ -459,6 +463,8 @@ export default compose( ...@@ -459,6 +463,8 @@ export default compose(
permissions: { canInviteReviewers }, permissions: { canInviteReviewers },
}, },
setFetching, setFetching,
setError,
clearError,
} = this.props } = this.props
if (hasManuscriptFailure) { if (hasManuscriptFailure) {
...@@ -481,7 +487,13 @@ export default compose( ...@@ -481,7 +487,13 @@ export default compose(
) )
if (canInviteReviewers) { if (canInviteReviewers) {
handlePublons({ fragmentId, setPublons, setFetching }) getPublonsReviewers({
fragmentId,
setPublons,
setFetching,
setError,
clearError,
})
} }
if (isInvitedHE) { if (isInvitedHE) {
......
...@@ -306,13 +306,22 @@ export const parseEicDecision = ({ decision, message }) => ({ ...@@ -306,13 +306,22 @@ export const parseEicDecision = ({ decision, message }) => ({
}) })
// handle publons // handle publons
export const getPublons = fragmentId => export const getPublonsAPI = fragmentId =>
apiGet(`/fragments/${fragmentId}/publons`) apiGet(`/fragments/${fragmentId}/publons`)
export const handlePublons = ({ fragmentId, setPublons, setFetching }) => { export const getPublonsReviewers = ({
fragmentId,
setPublons,
setFetching,
setError,
clearError,
}) => {
clearError()
setFetching(true) setFetching(true)
getPublons(fragmentId).then(res => { getPublonsAPI(fragmentId)
setPublons(res) .then(res => {
setFetching(false) setPublons(res)
}) setFetching(false)
})
.catch(handleError(setError))
} }
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