diff --git a/src/client/actions/index.js b/src/client/actions/index.js index 56ef29f7483f50072639d730556dc7aa1307862d..0209a226f447c13d2a9def3ea5bc69785a7443d4 100644 --- a/src/client/actions/index.js +++ b/src/client/actions/index.js @@ -105,11 +105,11 @@ export const updateFacetValues = ({ facetClass, id, data, - flatValues, + flatData, sparqlQuery }) => ({ type: UPDATE_FACET_VALUES, - facetClass, id, data, flatValues, sparqlQuery + facetClass, id, data, flatData, sparqlQuery }); export const updateFacetOption = ({ facetClass, facetID, option, value }) => ({ type: UPDATE_FACET_OPTION, diff --git a/src/server/sparql/FacetValues.js b/src/server/sparql/FacetValues.js index 386ce1f1df82f09ee50bffef822787ed851edbcb..2a4310ab0d02700068bc314f201c1ab60ab3a679 100644 --- a/src/server/sparql/FacetValues.js +++ b/src/server/sparql/FacetValues.js @@ -121,13 +121,22 @@ export const getFacet = async ({ } // console.log(prefixes + q) const response = await runSelectQuery(prefixes + q, endpoint, mapper, resultFormat); - return({ - facetClass: facetClass, - id: facetID, - data: response.data, - flatData: response.flatData || null, - sparqlQuery: response.sparqlQuery - }); + if (facetConfig.type === 'hierarchical') { + return({ + facetClass: facetClass, + id: facetID, + data: response.data.treeData, + flatData: response.data.flatData, + sparqlQuery: response.sparqlQuery + }); + } else { + return({ + facetClass: facetClass, + id: facetID, + data: response.data, + sparqlQuery: response.sparqlQuery + }); + } }; const generateSelectedBlock = ({ diff --git a/src/server/sparql/Mappers.js b/src/server/sparql/Mappers.js index ecf1b4b68d8f1f7cdb951dc80a484bb74e33f517..0d07fda45f1ac3563d7ec72df4ed0faab5ff5c11 100644 --- a/src/server/sparql/Mappers.js +++ b/src/server/sparql/Mappers.js @@ -29,7 +29,6 @@ export const mapFacet = sparqlBindings => { export const mapHierarchicalFacet = sparqlBindings => { const results = mapFacetValues(sparqlBindings); - //const flatResults = results; let treeData = getTreeFromFlatData({ flatData: results, getKey: node => node.id, // resolve a node's key @@ -38,7 +37,10 @@ export const mapHierarchicalFacet = sparqlBindings => { }); treeData = recursiveSort(treeData); treeData.forEach(node => sumUpAndSelectChildren(node)); - return treeData; + return ({ + treeData, + flatData: results + }); }; export const mapTimespanFacet = sparqlBindings => {