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 0000000000000000000000000000000000000000..f87172cd97712f3de324c2329763620f9637e907 --- /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 0000000000000000000000000000000000000000..e1eaea01f79c97fc104e357806b54c72f22b11b0 --- /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 ea34a18be9fb673206f473a83a9ec5e92d1f2576..ec99d00ceb081f970da76a66fc4c210aa693a3a6 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 bb4633cceb9f104bb0a00c6486672baf86f96897..02a88b9c1092342df313a438da52025f5600747a 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 53a86f701ff1e0608b81de783b335590255b3606..d71eada22b4e1952b1228f2d63d54228f797e43c 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),