Skip to content
Snippets Groups Projects
Commit bf48d093 authored by Bogdan Cochior's avatar Bogdan Cochior
Browse files

feat(details): add version dropdown

parent fb59a6d1
No related branches found
No related tags found
1 merge request!6Agree/Decline to work on a manuscript
import React from 'react' import React from 'react'
import ManuscriptHeader from './ManuscriptHeader' import ManuscriptHeader from './ManuscriptHeader'
import ManuscriptVersion from './ManuscriptVersion'
import { import {
Root, Root,
BreadCrumbs, BreadCrumbs,
...@@ -8,6 +9,8 @@ import { ...@@ -8,6 +9,8 @@ import {
ManuscriptId, ManuscriptId,
Container, Container,
SideBar, SideBar,
LeftDetails,
RightDetails,
} from '../atoms' } from '../atoms'
const ManuscriptLayout = ({ const ManuscriptLayout = ({
...@@ -20,11 +23,16 @@ const ManuscriptLayout = ({ ...@@ -20,11 +23,16 @@ const ManuscriptLayout = ({
<Root> <Root>
<Container flex={3}> <Container flex={3}>
<Header> <Header>
<BreadCrumbs> <LeftDetails>
<span>Dashboard</span> <BreadCrumbs>
<span>Manuscript Details</span> <span>Dashboard</span>
</BreadCrumbs> <span>Manuscript Details</span>
<ManuscriptId>{`- ID ${project.customId}`}</ManuscriptId> </BreadCrumbs>
<ManuscriptId>{`- ID ${project.customId}`}</ManuscriptId>
</LeftDetails>
<RightDetails>
<ManuscriptVersion project={project} />
</RightDetails>
</Header> </Header>
<ManuscriptHeader journal={journal} project={project} version={version} /> <ManuscriptHeader journal={journal} project={project} version={version} />
</Container> </Container>
......
import React from 'react'
import { get } from 'lodash'
import { Menu } from '@pubsweet/ui'
import { compose } from 'recompose'
import { connect } from 'react-redux'
import { selectFragments } from 'xpub-selectors'
import { withRouter } from 'react-router-dom'
import { parseVersionOptions } from './utils'
const ManuscriptVersion = ({ project, fragments, history, match }) => (
<Menu
inline
onChange={v =>
history.push(`/projects/${project.id}/versions/${v}/details`)
}
options={parseVersionOptions(fragments)}
value={get(match, 'params.version')}
/>
)
export default compose(
withRouter,
connect((state, { project }) => ({
fragments: selectFragments(state, project.fragments),
})),
)(ManuscriptVersion)
...@@ -63,6 +63,14 @@ export const parseSearchParams = url => { ...@@ -63,6 +63,14 @@ export const parseSearchParams = url => {
return parsedObject return parsedObject
} }
export const parseVersionOptions = fragments =>
fragments.map(f => ({
value: f.id,
label: `Version ${f.version} - updated on ${moment(f.submitted).format(
'DD.MM.YYYY',
)}`,
}))
const alreadyAnswered = `You have already answered this invitation.` const alreadyAnswered = `You have already answered this invitation.`
export const redirectToError = redirectFn => err => { export const redirectToError = redirectFn => err => {
const errorText = get(JSON.parse(err.response), 'error') const errorText = get(JSON.parse(err.response), 'error')
......
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