diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-03-08 17:24:13 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-03-08 17:24:13 +0100 |
| commit | e6c50e5550275b8e9d2245201c77c6f9fef7a11a (patch) | |
| tree | 64628ae8180b30cca3ae7a27a7903b0feb9ae5ff /client | |
| parent | 1dcb61dab45b4891b1b737877d3d95e1211f33b3 (diff) | |
least-confusing sort behavior maybe
Diffstat (limited to 'client')
| -rw-r--r-- | client/datasetList/datasetList.container.js | 20 |
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() { |
