From 73531c3fb782cdbaad1d62d62ce8d8db0d0d27ea Mon Sep 17 00:00:00 2001 From: Alexandru Munteanu <alexandru.munt@gmail.com> Date: Thu, 2 Aug 2018 08:32:56 +0300 Subject: [PATCH] fix(hin-765 & hin-766): update invitations and fragment after taking actions on it --- .../src/components/Dashboard/ReviewerDecision.js | 8 +++----- .../components/Invitations/ReviewerBreakdown.js | 14 ++++++++------ .../src/components/Reviewers/InviteReviewers.js | 12 +++++++++--- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/components-faraday/src/components/Dashboard/ReviewerDecision.js b/packages/components-faraday/src/components/Dashboard/ReviewerDecision.js index 45a32fdb9..18c03e7e0 100644 --- a/packages/components-faraday/src/components/Dashboard/ReviewerDecision.js +++ b/packages/components-faraday/src/components/Dashboard/ReviewerDecision.js @@ -30,16 +30,14 @@ const ModalComponent = connect(state => ({ export default compose( connect(null, { reviewerDecision, - getFragments: actions.getFragments, - getCollections: actions.getCollections, + getCollection: actions.getCollection, }), withModal(props => ({ modalComponent: ModalComponent, })), withHandlers({ - decisionSuccess: ({ getFragments, getCollections, hideModal }) => () => { - getCollections() - getFragments() + decisionSuccess: ({ project, hideModal, getCollection }) => () => { + getCollection(project) hideModal() }, }), diff --git a/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js b/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js index d67820dc3..5786effa1 100644 --- a/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js +++ b/packages/components-faraday/src/components/Invitations/ReviewerBreakdown.js @@ -1,8 +1,9 @@ import React from 'react' +import { get } from 'lodash' import { th } from '@pubsweet/ui' import { connect } from 'react-redux' import styled, { css } from 'styled-components' -import { compose, withHandlers } from 'recompose' +import { compose, withHandlers, withProps } from 'recompose' import { selectFragment, selectCollection } from 'xpub-selectors' import { selectReviewers } from 'pubsweet-components-faraday/src/redux/reviewers' @@ -30,8 +31,12 @@ export default compose( fragment: selectFragment(state, versionId), collection: selectCollection(state, collectionId), })), + withProps(({ fragment }) => ({ + invitations: get(fragment, 'invitations', []), + recommendations: get(fragment, 'recommendations', []), + })), withHandlers({ - getCompactReport: ({ fragment: { invitations = [] } }) => () => { + getCompactReport: ({ invitations }) => () => { const reviewerInvitations = invitations.filter(roleFilter('reviewer')) const accepted = reviewerInvitations.filter(acceptedInvitationFilter) .length @@ -41,10 +46,7 @@ export default compose( </ReviewerText> ) }, - getExtendedReport: ({ - fragment: { recommendations = [] }, - reviewers = [], - }) => () => { + getExtendedReport: ({ recommendations, reviewers = [] }) => () => { const mappedValues = reviewers.map(r => ({ ...r, review: recommendations.find(rec => rec.userId === r.userId), diff --git a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js index b6087f875..3f3df1eca 100644 --- a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js +++ b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js @@ -32,16 +32,22 @@ const InviteReviewersModal = compose( fetchingInvite: selectFetchingInvite(state), fetchingReviewers: selectFetchingReviewers(state), }), - { getCollectionReviewers, getCollections: actions.getCollections }, + { + getCollectionReviewers, + getFragment: actions.getFragment, + getCollections: actions.getCollections, + }, ), withHandlers({ getReviewers: ({ versionId, + getFragment, collectionId, setReviewers, getCollectionReviewers, }) => () => { getCollectionReviewers(collectionId, versionId) + getFragment({ id: collectionId }, { id: versionId }) }, closeModal: ({ getCollections, hideModal }) => () => { getCollections() @@ -50,8 +56,8 @@ const InviteReviewersModal = compose( }), lifecycle({ componentDidMount() { - const { getReviewers } = this.props - getReviewers() + const { getCollectionReviewers, collectionId, versionId } = this.props + getCollectionReviewers(collectionId, versionId) }, }), )( -- GitLab