From 0ab11beea8912e8588f45ca80a246f208e602aa9 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Fri, 19 Nov 2021 11:16:25 +0200 Subject: [PATCH] More options for paginated results backend config --- src/server/sparql/FacetResults.js | 17 +++++++++++++---- .../perspective_configs/Perspective1Config.js | 3 +++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/server/sparql/FacetResults.js b/src/server/sparql/FacetResults.js index 5847a27f..60f50250 100644 --- a/src/server/sparql/FacetResults.js +++ b/src/server/sparql/FacetResults.js @@ -31,6 +31,13 @@ export const getPaginatedResults = ({ } else { ({ endpoint, defaultConstraint, langTag, langTagSecondary } = config) } + const { + properties, + filterTarget = 'id', + resultMapper = makeObjectList, + resultMapperConfig = null, + postprocess = null + } = config.paginatedResults if (constraints == null && defaultConstraint == null) { q = q.replace('<FILTER>', '# no filters') } else { @@ -39,7 +46,7 @@ export const getPaginatedResults = ({ facetClass: resultClass, // use resultClass as facetClass constraints, defaultConstraint, - filterTarget: 'id', + filterTarget, facetID: null })) } @@ -67,7 +74,7 @@ export const getPaginatedResults = ({ } q = q.replace(/<FACET_CLASS>/g, config.facetClass) q = q.replace('<PAGE>', `LIMIT ${pagesize} OFFSET ${page * pagesize}`) - q = q.replace('<RESULT_SET_PROPERTIES>', config.paginatedResults.properties) + q = q.replace('<RESULT_SET_PROPERTIES>', properties) if (langTag) { q = q.replace(/<LANG>/g, langTag) } @@ -79,7 +86,9 @@ export const getPaginatedResults = ({ query: endpoint.prefixes + q, endpoint: endpoint.url, useAuth: endpoint.useAuth, - resultMapper: makeObjectList, + resultMapper, + resultMapperConfig, + postprocess, resultFormat }) } @@ -116,7 +125,7 @@ export const getAllResults = ({ facetClass, constraints, defaultConstraint, - filterTarget: filterTarget, + filterTarget, facetID: null })) } diff --git a/src/server/sparql/sampo/perspective_configs/Perspective1Config.js b/src/server/sparql/sampo/perspective_configs/Perspective1Config.js index cc74179e..8eef1032 100644 --- a/src/server/sparql/sampo/perspective_configs/Perspective1Config.js +++ b/src/server/sparql/sampo/perspective_configs/Perspective1Config.js @@ -17,6 +17,9 @@ export const perspective1Config = { // `, paginatedResults: { properties: manuscriptPropertiesFacetResults + // resultMapper: + // resultMapperConfig: + // postprocess: }, instance: { properties: manuscriptPropertiesInstancePage, -- GitLab