From e6c50e5550275b8e9d2245201c77c6f9fef7a11a Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 8 Mar 2019 17:24:13 +0100 Subject: least-confusing sort behavior maybe --- client/datasetList/datasetList.container.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'client/datasetList/datasetList.container.js') 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() { -- cgit v1.2.3-70-g09d2