From fa7194771f847d807172f85077ecc6150e160309 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Thu, 9 May 2019 10:48:14 +0300 Subject: [PATCH] Add text filter to app state --- src/client/epics/index.js | 8 ++++++ src/client/reducers/manuscriptsFacets.js | 35 ++++++++++++------------ 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/client/epics/index.js b/src/client/epics/index.js index ef715341..b974334d 100644 --- a/src/client/epics/index.js +++ b/src/client/epics/index.js @@ -218,8 +218,10 @@ export const stateToUrl = ({ if (variant !== null) { params.variant = variant; } let uriFilters = {}; let spatialFilters = {}; + let textFilters = {}; let activeUriFilters = false; let activeSpatialFilters = false; + let activeTextFilters = false; for (const [key, value] of Object.entries(facets)) { if (value.uriFilter !== null) { activeUriFilters = true; @@ -227,6 +229,9 @@ export const stateToUrl = ({ } else if (has(value, 'spatialFilter') && value.spatialFilter !== null) { activeSpatialFilters = true; spatialFilters[key] = boundsToValues(value.spatialFilter._bounds); + } else if (has(value, 'textFilter') && value.textFilter !== null) { + activeTextFilters = true; + textFilters[key] = value.textFilter; } } if (activeUriFilters) { @@ -235,6 +240,9 @@ export const stateToUrl = ({ if (activeSpatialFilters) { params.spatialFilters = JSON.stringify(spatialFilters); } + if (activeTextFilters) { + params.textFilter = JSON.stringify(textFilters); + } return querystring.stringify(params); }; diff --git a/src/client/reducers/manuscriptsFacets.js b/src/client/reducers/manuscriptsFacets.js index 76f7447d..7774d3bd 100644 --- a/src/client/reducers/manuscriptsFacets.js +++ b/src/client/reducers/manuscriptsFacets.js @@ -16,23 +16,24 @@ export const INITIAL_STATE = { facetUpdateID: 0, updatedFilter: null, facets: { - // label: { - // id: 'label', - // label: 'Label', - // // predicate: defined in backend - // distinctValueCount: 0, - // values: [], - // flatValues: [], - // //sortBy: 'instanceCount', - // //sortDirection: 'desc', - // sortButton: false, - // spatialFilterButton: false, - // isFetching: false, - // searchField: false, - // containerClass: 'one', - // filterType: 'text', - // uriFilter: null - // }, + text: { + id: 'text', + label: 'Label', + // predicate: defined in backend + distinctValueCount: 0, + values: [], + flatValues: [], + //sortBy: 'instanceCount', + //sortDirection: 'desc', + sortButton: false, + spatialFilterButton: false, + isFetching: false, + searchField: false, + containerClass: 'one', + filterType: 'text', + uriFilter: null, + textFilter: null, + }, source: { id: 'source', label: 'Source', -- GitLab