summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-03-08 17:24:13 +0100
committerJules Laplace <julescarbon@gmail.com>2019-03-08 17:24:13 +0100
commite6c50e5550275b8e9d2245201c77c6f9fef7a11a (patch)
tree64628ae8180b30cca3ae7a27a7903b0feb9ae5ff /client
parent1dcb61dab45b4891b1b737877d3d95e1211f33b3 (diff)
least-confusing sort behavior maybe
Diffstat (limited to 'client')
-rw-r--r--client/datasetList/datasetList.container.js20
1 files changed, 12 insertions, 8 deletions
diff --git a/client/datasetList/datasetList.container.js b/client/datasetList/datasetList.container.js
index 615c6278..11fb4a5b 100644
--- a/client/datasetList/datasetList.container.js
+++ b/client/datasetList/datasetList.container.js
@@ -26,6 +26,7 @@ class DatasetListContainer extends Component {
state = {
sort: sortOptions[0],
reversed: false,
+ displayField: 'year',
}
constructor(){
@@ -36,7 +37,7 @@ class DatasetListContainer extends Component {
}
sortBy(order){
- let { sort, reversed } = this.state
+ let { sort, reversed, displayField } = this.state
if (sort === order) reversed = !reversed
else reversed = !!order.reversed
const parseFn = parseTypes[order.type]
@@ -49,18 +50,21 @@ class DatasetListContainer extends Component {
.sort(sortFn)
.map(pair => pair[1])
if (reversed) els.reverse()
+ if (order.field === 'title') {
+ // displayField = 'year'
+ } else {
+ displayField = order.field
+ }
els.forEach(el => {
this.parent.removeChild(el)
this.parent.appendChild(el)
- if (order.field !== 'title' && order.field !== sort.field) {
- const viz = el.querySelector('.visible')
- if (viz) {
- viz.classList.remove('visible')
- }
+ const viz = el.querySelector('.visible')
+ if (viz) {
+ viz.classList.remove('visible')
}
- el.querySelector('.' + order.field).classList.add('visible')
+ el.querySelector('.' + displayField).classList.add('visible')
})
- this.setState({ sort: order, reversed })
+ this.setState({ sort: order, reversed, displayField })
}
render() {