From 5f97714287b7670a81a489ca5556d56d1055211a Mon Sep 17 00:00:00 2001
From: Bogdan Cochior <bogdan.cochior@thinslices.com>
Date: Thu, 7 Jun 2018 16:55:50 +0300
Subject: [PATCH] fix(dashboard): refresh card after closing invite reviewers
 modal

---
 .../src/components/Dashboard/EditorInChiefActions.js  |  1 +
 .../src/components/Reviewers/InviteReviewers.js       | 11 ++++++++---
 packages/components-faraday/src/redux/editors.js      |  4 ++--
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/packages/components-faraday/src/components/Dashboard/EditorInChiefActions.js b/packages/components-faraday/src/components/Dashboard/EditorInChiefActions.js
index 271231414..c00ce7613 100644
--- a/packages/components-faraday/src/components/Dashboard/EditorInChiefActions.js
+++ b/packages/components-faraday/src/components/Dashboard/EditorInChiefActions.js
@@ -98,6 +98,7 @@ export default compose(
         onConfirm: () =>
           assignHandlingEditor(get(editor, 'email'), project.id, true).then(
             () => {
+              getCollections()
               hideModal()
               showModal({
                 type: 'success',
diff --git a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
index 97b238237..b17b7d65b 100644
--- a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
+++ b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
@@ -1,5 +1,6 @@
 import React, { Fragment } from 'react'
 import { connect } from 'react-redux'
+import { actions } from 'pubsweet-client'
 import styled, { css } from 'styled-components'
 import { Icon, Button, th, Spinner } from '@pubsweet/ui'
 import { compose, withHandlers, lifecycle } from 'recompose'
@@ -31,7 +32,7 @@ const InviteReviewersModal = compose(
       fetchingInvite: selectFetchingInvite(state),
       fetchingReviewers: selectFetchingReviewers(state),
     }),
-    { getCollectionReviewers },
+    { getCollectionReviewers, getCollections: actions.getCollections },
   ),
   withHandlers({
     getReviewers: ({
@@ -41,6 +42,10 @@ const InviteReviewersModal = compose(
     }) => () => {
       getCollectionReviewers(collectionId)
     },
+    closeModal: ({ getCollections, hideModal }) => () => {
+      getCollections()
+      hideModal()
+    },
   }),
   lifecycle({
     componentDidMount() {
@@ -50,10 +55,10 @@ const InviteReviewersModal = compose(
   }),
 )(
   ({
-    hideModal,
     onConfirm,
     showModal,
     versionId,
+    closeModal,
     collectionId,
     getReviewers,
     reviewerError,
@@ -63,7 +68,7 @@ const InviteReviewersModal = compose(
     invitations = [],
   }) => (
     <Root>
-      <CloseIcon data-test="icon-modal-hide" onClick={hideModal}>
+      <CloseIcon data-test="icon-modal-hide" onClick={closeModal}>
         <Icon primary>x</Icon>
       </CloseIcon>
 
diff --git a/packages/components-faraday/src/redux/editors.js b/packages/components-faraday/src/redux/editors.js
index 63cb3b837..17984b255 100644
--- a/packages/components-faraday/src/redux/editors.js
+++ b/packages/components-faraday/src/redux/editors.js
@@ -38,7 +38,7 @@ export const assignHandlingEditor = (email, collectionId) => dispatch => {
     },
     err => {
       dispatch(editorsDone())
-      return err
+      throw err
     },
   )
 }
@@ -57,7 +57,7 @@ export const revokeHandlingEditor = (
     },
     err => {
       dispatch(editorsDone())
-      return err
+      throw err
     },
   )
 }
-- 
GitLab