From 7c5f31b59570f953d0422d1b6c0f71f256dc2b4b Mon Sep 17 00:00:00 2001 From: Alexandru Munteanu <alexandru.munt@gmail.com> Date: Tue, 28 Aug 2018 16:02:19 +0300 Subject: [PATCH] feat(assign-he): create manuscript assign he component --- .../manuscriptDetails/ManuscriptAssignHE.js | 25 ++++++++++++ .../manuscriptDetails/ManuscriptAssignHE.md | 40 +++++++++++++++++++ .../src/manuscriptDetails/index.js | 1 + .../src/components/ManuscriptLayout.js | 27 +++++-------- .../src/components/ManuscriptPage.js | 2 +- 5 files changed, 78 insertions(+), 17 deletions(-) create mode 100644 packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js create mode 100644 packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.md diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js new file mode 100644 index 000000000..f87172cd9 --- /dev/null +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.js @@ -0,0 +1,25 @@ +import React from 'react' +import { ContextualBox, AssignHE } from 'pubsweet-component-faraday-ui' + +const ManuscriptAssignHE = ({ + toggle, + assignHE, + expanded, + currentUser, + handlingEditors = [], +}) => + currentUser.canAssignHE ? ( + <ContextualBox + expanded={expanded} + label="Assign Handling Editor" + scrollIntoView + toggle={toggle} + > + <AssignHE + handlingEditors={handlingEditors} + inviteHandlingEditor={assignHE} + /> + </ContextualBox> + ) : null + +export default ManuscriptAssignHE diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.md b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.md new file mode 100644 index 000000000..e1eaea01f --- /dev/null +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptAssignHE.md @@ -0,0 +1,40 @@ +Manuscript handling editors table. + +```js +const handlingEditors = [ + { + id: '1', + firstName: 'Handling', + lastName: 'Edi', + email: 'handling1@edi.com', + }, + { + id: '2', + firstName: 'Alex', + lastName: 'Pricop', + email: 'handling2@edi.com', + }, + { + id: '3', + firstName: 'Bogdan', + lastName: 'Cochior', + email: 'handling3@edi.com', + }, +]; + +const currentUser = { + canAssignHE: true, +}; + +<RemoteOpener> + {(expanded, toggle) => ( + <ManuscriptAssignHE + toggle={toggle} + expanded={expanded} + currentUser={currentUser} + handlingEditors={handlingEditors} + assignHE={he => console.log('assigning...', he)} + /> + )} +</RemoteOpener> +``` diff --git a/packages/component-faraday-ui/src/manuscriptDetails/index.js b/packages/component-faraday-ui/src/manuscriptDetails/index.js index ea34a18be..ec99d00ce 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/index.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/index.js @@ -3,3 +3,4 @@ export { default as ManuscriptVersion } from './ManuscriptVersion' export { default as ManuscriptHeader } from './ManuscriptHeader' export { default as ManuscriptMetadata } from './ManuscriptMetadata' export { default as ManuscriptFileList } from './ManuscriptFileList' +export { default as ManuscriptAssignHE } from './ManuscriptAssignHE' diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js index bb4633cce..02a88b9c1 100644 --- a/packages/component-manuscript/src/components/ManuscriptLayout.js +++ b/packages/component-manuscript/src/components/ManuscriptLayout.js @@ -3,10 +3,9 @@ import { isEmpty } from 'lodash' import styled from 'styled-components' import { Text, - AssignHE, RemoteOpener, - ContextualBox, ManuscriptHeader, + ManuscriptAssignHE, ManuscriptMetadata, ManuscriptDetailsTop, } from 'pubsweet-component-faraday-ui' @@ -18,7 +17,6 @@ const ManuscriptLayout = ({ currentUser, getSignedUrl, editorInChief, - canMakeRevision, handlingEditors, hasResponseToReviewers, editorialRecommendations, @@ -40,6 +38,7 @@ const ManuscriptLayout = ({ history={history} {...permissions} /> + <ManuscriptHeader collection={collection} editorInChief={editorInChief} @@ -50,24 +49,20 @@ const ManuscriptLayout = ({ resendInvitation={assignHE} revokeInvitation={revokeHE} /> + <ManuscriptMetadata currentUser={currentUser} fragment={fragment} getSignedUrl={getSignedUrl} /> - {currentUser.canAssignHE && ( - <ContextualBox - expanded={expanded} - label="Assign Handling Editor" - scrollIntoView - toggle={toggle} - > - <AssignHE - handlingEditors={handlingEditors} - inviteHandlingEditor={assignHE} - /> - </ContextualBox> - )} + + <ManuscriptAssignHE + assignHE={assignHE} + currentUser={currentUser} + expanded={expanded} + handlingEditors={handlingEditors} + toggle={toggle} + /> </Fragment> )} </RemoteOpener> diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js index 53a86f701..d71eada22 100644 --- a/packages/component-manuscript/src/components/ManuscriptPage.js +++ b/packages/component-manuscript/src/components/ManuscriptPage.js @@ -90,8 +90,8 @@ export default compose( isReviewer: currentUserIsReviewer(state), canAssignHE: canAssignHE(state, match.params.project), }, - canMakeRevision: canMakeRevision(state, collection, fragment), permissions: { + canMakeRevision: canMakeRevision(state, collection, fragment), canMakeDecision: canMakeDecision(state, collection, fragment), canEditManuscript: canEditManuscript(state, collection, fragment), canOverrideTechChecks: canOverrideTechnicalChecks(state, collection), -- GitLab