diff --git a/packages/component-wizard/src/components/WizardStep.js b/packages/component-wizard/src/components/WizardStep.js index 52b7609e4776cb2d1453fbeb0ad8d281f8bc39b6..ff5bdc3b9f3ba264388d94a8e9ca4f0054f84017 100644 --- a/packages/component-wizard/src/components/WizardStep.js +++ b/packages/component-wizard/src/components/WizardStep.js @@ -5,7 +5,6 @@ import { ValidatedField, Button } from '@pubsweet/ui' import classes from './WizardStep.local.scss' import AutosaveIndicator from './AutosaveIndicator' -import Files from './Files' export default ({ children: stepChildren, diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js index df0a9d18ec9b9da981461883b2e1dadd898211db..671bd11d70344edd9ea05135b52b8f0dfd6cbe2a 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.js +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js @@ -6,12 +6,12 @@ import DashboardItems from './DashboardItems' import DashboardFilters from './DashboardFilters' const Dashboard = ({ + changeViewMode, + createDraftSubmission, currentUser, dashboard, - listView, - changeViewMode, deleteProject, - createDraftSubmission, + listView, }) => ( <div className={classes.root}> <div className={classes.header}> @@ -21,7 +21,11 @@ const Dashboard = ({ </Button> </div> <DashboardFilters changeView={changeViewMode} listView={listView} /> - <DashboardItems dashboard={dashboard} listView={listView} /> + <DashboardItems + dashboard={dashboard} + deleteProject={deleteProject} + listView={listView} + /> </div> ) diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.local.scss b/packages/components-faraday/src/components/Dashboard/Dashboard.local.scss index 553b4a45267e3b6cd6a4b63ea3cb912d8b56975a..bc62ceb698f0cd2642e796653e52ab2a6b4426ac 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.local.scss +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.local.scss @@ -22,6 +22,29 @@ } } +.disabled { + cursor: not-allowed; + + svg { + stroke: gray; + } +} + +.viewMode { + align-items: center; + cursor: pointer; + display: flex; + + .icon { + display: flex; + margin: 0 0.3em; + + svg { + stroke: var(--color-primary); + } + } +} + .section { margin: 0.5em 0; } @@ -87,7 +110,6 @@ .column2 { display: flex; flex-direction: column; - justify-content: space-between; margin: 0.5em; > div, @@ -112,14 +134,6 @@ cursor: pointer; } -.disabled { - cursor: not-allowed; - - svg { - stroke: gray; - } -} - .version { margin-left: 1em; } diff --git a/packages/components-faraday/src/components/Dashboard/DashboardCard.js b/packages/components-faraday/src/components/Dashboard/DashboardCard.js index b04385aa30581f92b6a762a2dedc111fb718b93f..792a4113b53f6a8f55d44b0683c7ecd9ed900079 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardCard.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardCard.js @@ -6,7 +6,13 @@ import { Button, Icon } from '@pubsweet/ui' import { parseVersion, getFilesURL, downloadAll } from './utils' import classes from './Dashboard.local.scss' -const DashboardCard = ({ project, listView, version }) => { +const DashboardCard = ({ + deleteProject, + history, + listView, + project, + version, +}) => { const { submitted, author, title, type, version: vers } = parseVersion( version, ) @@ -39,10 +45,19 @@ const DashboardCard = ({ project, listView, version }) => { > <Icon>download</Icon> </div> - - <a href={`/projects/${project.id}/versions/${version.id}/submit`}> - Details - </a> + <div className={classes.pointer} onClick={() => deleteProject(project)}> + <Icon>trash-2</Icon> + </div> + <div + className={classes.pointer} + onClick={() => + history.push( + `/projects/${project.id}/versions/${version.id}/submit`, + ) + } + > + <Icon>file-text</Icon> + </div> </div> {!listView && ( <div className={classes.expandedView}> diff --git a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js index 47a3cc2c5963960fe74edbeea717b17c4771757f..124ca55839ea2442c8289165f2bad12d730233b5 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js @@ -1,4 +1,6 @@ import React from 'react' +import { Icon } from '@pubsweet/ui' + import classes from './Dashboard.local.scss' const DashboardFilters = ({ @@ -16,7 +18,12 @@ const DashboardFilters = ({ <span> Status </span> <span> Newest on top </span> </div> - <div onClick={changeView}>View: {listView ? 'List' : 'Card'} </div> + <div className={classes.viewMode} onClick={changeView}> + <div className={classes.icon}> + {listView ? <Icon>list</Icon> : <Icon>credit-card</Icon>} + </div> + {listView ? ' List' : ' Card'} View + </div> </div> ) diff --git a/packages/components-faraday/src/components/Dashboard/DashboardItems.js b/packages/components-faraday/src/components/Dashboard/DashboardItems.js index d21e8246077cafbebb4db43edb386c74397fe7c4..35c8bd3989fead665215d210f96a197231d3e5ce 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardItems.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardItems.js @@ -6,7 +6,7 @@ import classes from './Dashboard.local.scss' const DashboardItem = withVersion(Item) -const DashboardItems = ({ dashboard, listView = true }) => ( +const DashboardItems = ({ dashboard, listView = true, deleteProject }) => ( <div> {!dashboard.owner.length && !dashboard.reviewer.length && ( @@ -18,7 +18,12 @@ const DashboardItems = ({ dashboard, listView = true }) => ( {!!dashboard.owner.length && ( <div className={classes.section}> {dashboard.owner.map(p => ( - <DashboardItem key={p.id} listView={listView} project={p} /> + <DashboardItem + deleteProject={deleteProject} + key={p.id} + listView={listView} + project={p} + /> ))} </div> )} diff --git a/packages/components-faraday/src/components/Dashboard/DashboardPage.js b/packages/components-faraday/src/components/Dashboard/DashboardPage.js index 6915c5760b78147de8e7c53bfe4a8004418da30a..fa088f905e21523c3c383583cc5d95cf13b9adb2 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardPage.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardPage.js @@ -14,7 +14,7 @@ export default compose( actions.getTeams(), actions.getUsers(), ]), - withState('listView', 'changeView', false), + withState('listView', 'changeView', true), withHandlers({ changeViewMode: ({ changeView }) => () => changeView(listView => !listView), }), diff --git a/packages/components-faraday/src/components/Dashboard/redux/filters.js b/packages/components-faraday/src/components/Dashboard/redux/filters.js new file mode 100644 index 0000000000000000000000000000000000000000..4bf55715d55526689310886a10853a6197741d78 --- /dev/null +++ b/packages/components-faraday/src/components/Dashboard/redux/filters.js @@ -0,0 +1,6 @@ +export default (state = {}, action) => { + switch (action.type) { + default: + return state + } +} diff --git a/packages/components-faraday/src/components/Dashboard/redux/index.js b/packages/components-faraday/src/components/Dashboard/redux/index.js new file mode 100644 index 0000000000000000000000000000000000000000..b5b1e82dc5649181aeaeb9dbcf8286a573a4b33a --- /dev/null +++ b/packages/components-faraday/src/components/Dashboard/redux/index.js @@ -0,0 +1 @@ +export { default as filters } from './filters' diff --git a/packages/components-faraday/src/index.js b/packages/components-faraday/src/index.js index b6f834c32bc4984c034dcb5aa84d084c5aaf27eb..70c96833395b805503aba42b54417baee276e117 100644 --- a/packages/components-faraday/src/index.js +++ b/packages/components-faraday/src/index.js @@ -3,6 +3,7 @@ module.exports = { components: [() => require('./components')], reducers: { authors: () => require('./redux/authors').default, + filters: () => require('./components/Dashboard/redux/filters').default, }, }, } diff --git a/packages/xpub-faraday/app/config/journal/submit-wizard.js b/packages/xpub-faraday/app/config/journal/submit-wizard.js index df734e05f83068a08aaf7a14be78a2aade3483f1..2fb9f0428a60e624f8159259cac738924a037557 100644 --- a/packages/xpub-faraday/app/config/journal/submit-wizard.js +++ b/packages/xpub-faraday/app/config/journal/submit-wizard.js @@ -1,12 +1,6 @@ import React from 'react' import { AbstractEditor, TitleEditor } from 'xpub-edit' -import { - Menu, - CheckboxGroup, - YesOrNo, - TextField, - Supplementary, -} from '@pubsweet/ui' +import { Menu, CheckboxGroup, YesOrNo, TextField } from '@pubsweet/ui' import uploadFileFn from 'xpub-upload' import { required, minChars, minSize } from 'xpub-validators' import { Files } from 'pubsweet-component-wizard/src/components/'