From 2feb067d9d25ccfe268b614a4425dde14e597e22 Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Tue, 21 Aug 2018 15:20:08 +0300 Subject: [PATCH] feat(dashboard): add ordering instead of sorting --- .../component-faraday-ui/src/ManuscriptCard.js | 2 +- .../src/components/Dashboard/Dashboard.js | 2 +- .../components/Dashboard/DashboardFilters.js | 2 +- .../src/components/Dashboard/DashboardPage.js | 4 ++-- .../src/components/Filters/index.js | 1 + .../src/components/Filters/orderFilter.js | 17 +++++++++++++++++ packages/hindawi-theme/src/elements/Menu.js | 2 ++ 7 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 packages/components-faraday/src/components/Filters/orderFilter.js diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js index ba578a5a8..c0c9117eb 100644 --- a/packages/component-faraday-ui/src/ManuscriptCard.js +++ b/packages/component-faraday-ui/src/ManuscriptCard.js @@ -76,7 +76,7 @@ export default compose( }), withProps(({ fragment: { submitted, metadata }, journal = {} }) => ({ submitDate: submitted - ? `Submitted on ${moment(submitted).format('DD.MM.YYY')}` + ? `Submitted on ${moment(submitted).format('DD.MM.YYYY')}` : '', manuscriptType: get(journal, 'manuscriptTypes', []).find( t => t.value === get(metadata, 'type', ''), diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js index cfb41155d..e949271a1 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.js +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js @@ -23,7 +23,7 @@ const Dashboard = ({ onClick={createDraftSubmission} primary > - New + Submit </Button> </Row> <DashboardFilters diff --git a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js index 37ae0a033..619c63809 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardFilters.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardFilters.js @@ -22,7 +22,7 @@ const DashboardFilters = ({ /> </Item> <Item flex={0} vertical> - <Label>Sort</Label> + <Label>Order</Label> <Menu inline onChange={changeFilterValue('order')} diff --git a/packages/components-faraday/src/components/Dashboard/DashboardPage.js b/packages/components-faraday/src/components/Dashboard/DashboardPage.js index dce451323..1e9e2825c 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardPage.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardPage.js @@ -16,7 +16,7 @@ import { import { Dashboard } from './' import { getHandlingEditors } from '../../redux/editors' -import { priorityFilter, importanceSort, withFiltersHOC } from '../Filters' +import { priorityFilter, orderFilter, withFiltersHOC } from '../Filters' export default compose( ConnectPage(() => [actions.getCollections(), actions.getUsers()]), @@ -69,7 +69,7 @@ export default compose( withJournal, withFiltersHOC({ priority: priorityFilter, - order: importanceSort, + order: orderFilter, }), withContext( { diff --git a/packages/components-faraday/src/components/Filters/index.js b/packages/components-faraday/src/components/Filters/index.js index cec651407..35cfe518a 100644 --- a/packages/components-faraday/src/components/Filters/index.js +++ b/packages/components-faraday/src/components/Filters/index.js @@ -4,3 +4,4 @@ export { utils } export { default as withFiltersHOC } from './withFilters' export { default as priorityFilter } from './priorityFilter' export { default as importanceSort } from './importanceSort' +export { default as orderFilter } from './orderFilter' diff --git a/packages/components-faraday/src/components/Filters/orderFilter.js b/packages/components-faraday/src/components/Filters/orderFilter.js new file mode 100644 index 000000000..ef98a27d9 --- /dev/null +++ b/packages/components-faraday/src/components/Filters/orderFilter.js @@ -0,0 +1,17 @@ +const options = [ + { label: 'Newest first', value: 'asc' }, + { label: 'Oldest first', value: 'desc' }, +] + +const sortFn = orderValue => (i1, i2) => { + if (orderValue === 'desc') { + return i1.created - i2.created + } + return i2.created - i1.created +} + +export default { + sortFn, + options, + type: 'order', +} diff --git a/packages/hindawi-theme/src/elements/Menu.js b/packages/hindawi-theme/src/elements/Menu.js index c4ee0b0a4..da76d8508 100644 --- a/packages/hindawi-theme/src/elements/Menu.js +++ b/packages/hindawi-theme/src/elements/Menu.js @@ -18,6 +18,8 @@ export default { `, Placeholder: css` color: ${th('colorText')}; + line-height: ${th('gridUnit')}; + padding: 0 ${th('gridUnit')}; `, Opener: css` border-color: ${props => -- GitLab