From 6dbdc3552c6825437fce7f0d217d9a098743e0e9 Mon Sep 17 00:00:00 2001
From: esikkala <esko.ikkala@aalto.fi>
Date: Tue, 1 Oct 2019 10:35:30 +0300
Subject: [PATCH] Chips array: handle open intervals

---
 src/client/components/facet_bar/ChipsArray.js | 25 ++++++++-----------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/src/client/components/facet_bar/ChipsArray.js b/src/client/components/facet_bar/ChipsArray.js
index f3d59973..9b331ebb 100644
--- a/src/client/components/facet_bar/ChipsArray.js
+++ b/src/client/components/facet_bar/ChipsArray.js
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
 import { withStyles } from '@material-ui/core/styles';
 import Chip from '@material-ui/core/Chip';
 import Tooltip from '@material-ui/core/Tooltip';
+import { ISOStringToYear } from './FacetHelpers';
 
 const styles = theme => ({
   root: {
@@ -53,21 +54,13 @@ class ChipsArray extends React.Component {
   };
 
   generateLabel = (facetLabel, valueLabel, filterType) => {
-    return  filterType !== 'timespanFilter' && valueLabel.length > 18
+    return filterType !== 'timespanFilter'
+        && filterType !== 'integerFilter'
+        && valueLabel.length > 18
       ? `${facetLabel}: ${valueLabel.substring(0, 18)}...`
       : `${facetLabel}: ${valueLabel}`;
   }
 
-  ISOStringToYear = str => {
-    let year = null;
-    if (str.charAt(0) == '-') {
-      year = parseInt(str.substring(0,5));
-    } else {
-      year = parseInt(str.substring(0,4));
-    }
-    return year;
-  }
-
   render() {
     const { classes, data } = this.props;
     return (
@@ -86,12 +79,16 @@ class ChipsArray extends React.Component {
           }
           if (item.filterType === 'timespanFilter') {
             key = item.facetID;
-            valueLabel = `${this.ISOStringToYear(item.value.start)} to
-              ${this.ISOStringToYear(item.value.end)}`;
+            valueLabel = `${ISOStringToYear(item.value.start)} to
+              ${ISOStringToYear(item.value.end)}`;
           }
           if (item.filterType === 'integerFilter') {
+            let { start, end } = item.value;
             key = item.facetID;
-            valueLabel = `${item.value.start} to ${item.value.end}`;
+            //valueLabel = `${item.value.start} to ${item.value.end}`;
+            valueLabel = `
+               ${start !== '' ? start : '-'}
+               to ${end !== '' ? end : '-'}`;
           }
           return (
             <Tooltip key={key} title={`${item.facetLabel}: ${valueLabel}`}>
-- 
GitLab