From 194ddff5aeff63348fdc79136e51511cf7117968 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Thu, 21 Oct 2021 13:33:06 +0300 Subject: [PATCH] FacetBar: handle dateNoTimespanFilter --- src/client/components/facet_bar/ActiveFilters.js | 13 ++++++++++++- src/client/components/facet_bar/FacetBar.js | 1 + src/client/components/facet_bar/FacetInfo.js | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/client/components/facet_bar/ActiveFilters.js b/src/client/components/facet_bar/ActiveFilters.js index 944d5f7e..15705120 100644 --- a/src/client/components/facet_bar/ActiveFilters.js +++ b/src/client/components/facet_bar/ActiveFilters.js @@ -4,7 +4,10 @@ import intl from 'react-intl-universal' import ChipsArray from './ChipsArray' const ActiveFilters = props => { - const { uriFilters, textFilters, timespanFilters, integerFilters, facetClass, someFacetIsFetching, fetchingResultCount } = props + const { + uriFilters, textFilters, timespanFilters, dateNoTimespanFilters, integerFilters, + facetClass, someFacetIsFetching, fetchingResultCount + } = props const facetValues = [] Object.keys(uriFilters).forEach(activeFacetID => { // URI filter may have multiple values @@ -33,6 +36,14 @@ const ActiveFilters = props => { value: timespanFilters[facetID] }) }) + Object.keys(dateNoTimespanFilters).forEach(facetID => { + facetValues.push({ + facetID: facetID, + facetLabel: intl.get(`perspectives.${facetClass}.properties.${facetID}.label`), + filterType: 'dateNoTimespanFilter', + value: dateNoTimespanFilters[facetID] + }) + }) Object.keys(integerFilters).forEach(facetID => { facetValues.push({ facetID: facetID, diff --git a/src/client/components/facet_bar/FacetBar.js b/src/client/components/facet_bar/FacetBar.js index e0337ad2..3cd17114 100644 --- a/src/client/components/facet_bar/FacetBar.js +++ b/src/client/components/facet_bar/FacetBar.js @@ -173,6 +173,7 @@ class FacetBar extends React.Component { ) break case 'dateFilter': + case 'dateNoTimespanFilter': facetComponent = ( <DateFacet facetID={facetID} diff --git a/src/client/components/facet_bar/FacetInfo.js b/src/client/components/facet_bar/FacetInfo.js index 07e040e1..032f8a3b 100644 --- a/src/client/components/facet_bar/FacetInfo.js +++ b/src/client/components/facet_bar/FacetInfo.js @@ -70,11 +70,13 @@ class FacetInfo extends React.Component { const spatialFilters = {} const textFilters = {} const timespanFilters = {} + const dateNoTimespanFilters = {} const integerFilters = {} let activeUriFilters = false let activeSpatialFilters = false let activeTextFilters = false let activeTimespanFilters = false + let activeDateNoTimespanFilters = false let activeIntegerFilters = false Object.entries(facets).forEach(entry => { const [key, value] = entry @@ -94,6 +96,10 @@ class FacetInfo extends React.Component { activeTimespanFilters = true timespanFilters[key] = value.timespanFilter } + if (has(value, 'dateNoTimespanFilter') && value.dateNoTimespanFilter !== null) { + activeDateNoTimespanFilters = true + dateNoTimespanFilters[key] = value.dateNoTimespanFilter + } if (has(value, 'integerFilter') && value.integerFilter !== null) { activeIntegerFilters = true integerFilters[key] = value.integerFilter @@ -109,6 +115,7 @@ class FacetInfo extends React.Component { activeSpatialFilters || activeTextFilters || activeTimespanFilters || + activeDateNoTimespanFilters || activeIntegerFilters ) && <> @@ -132,6 +139,7 @@ class FacetInfo extends React.Component { spatialFilters={spatialFilters} textFilters={textFilters} timespanFilters={timespanFilters} + dateNoTimespanFilters={dateNoTimespanFilters} integerFilters={integerFilters} updateFacetOption={this.props.updateFacetOption} someFacetIsFetching={someFacetIsFetching} -- GitLab