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