From dbec597c9ac3bad69fd6a16080a9af8e86cdd11a Mon Sep 17 00:00:00 2001 From: William Welling Date: Thu, 16 Apr 2020 19:58:11 -0500 Subject: [PATCH 1/4] collection view fields to fl --- src/app/core/model/sdr/repo/abstract-sdr-repo.ts | 3 +++ src/app/core/model/view/collection-view.ts | 1 + src/app/shared/utilities/discovery.utility.ts | 3 +++ src/app/shared/utilities/view.utility.ts | 11 +++++++++++ 4 files changed, 18 insertions(+) diff --git a/src/app/core/model/sdr/repo/abstract-sdr-repo.ts b/src/app/core/model/sdr/repo/abstract-sdr-repo.ts index 6560e5e9f..d06eea585 100644 --- a/src/app/core/model/sdr/repo/abstract-sdr-repo.ts +++ b/src/app/core/model/sdr/repo/abstract-sdr-repo.ts @@ -146,6 +146,9 @@ export abstract class AbstractSdrRepo implements SdrRepo< if (request.query.defaultField && request.query.defaultField.length > 0) { parameters.push(`df=${request.query.defaultField}`); } + if (request.query.fields && request.query.fields.length > 0) { + parameters.push(`fl=${request.query.fields}`); + } } if (request.highlight && request.highlight.fields.length > 0) { diff --git a/src/app/core/model/view/collection-view.ts b/src/app/core/model/view/collection-view.ts index a56345f8b..6bacfe7b2 100644 --- a/src/app/core/model/view/collection-view.ts +++ b/src/app/core/model/view/collection-view.ts @@ -69,6 +69,7 @@ export interface CollectionView extends View { readonly templates: any; templateFunctions?: any; readonly styles: string[]; + readonly fields: string[]; readonly facets: Facet[]; readonly filters: Filter[]; readonly boosts: Boost[]; diff --git a/src/app/shared/utilities/discovery.utility.ts b/src/app/shared/utilities/discovery.utility.ts index e12daa43c..c8b7a1efe 100644 --- a/src/app/shared/utilities/discovery.utility.ts +++ b/src/app/shared/utilities/discovery.utility.ts @@ -25,6 +25,9 @@ const buildQuery = (queryParams: Params): Queryable => { if (queryParams.df && queryParams.df.length > 0) { query.defaultField = queryParams.df; } + if (queryParams.fl && queryParams.fl.length > 0) { + query.fields = queryParams.fl; + } return query as Queryable; }; diff --git a/src/app/shared/utilities/view.utility.ts b/src/app/shared/utilities/view.utility.ts index 9410627a9..3aa9f0ac8 100644 --- a/src/app/shared/utilities/view.utility.ts +++ b/src/app/shared/utilities/view.utility.ts @@ -19,6 +19,16 @@ const addFacetsToQueryParams = (queryParams: Params, collectionView: CollectionV } }; +const addFieldsToQueryParams = (queryParams: Params, collectionView: CollectionView): void => { + if (collectionView.fields && collectionView.fields.length > 0) { + let fields = ''; + collectionView.fields.forEach((field: string) => { + fields += fields.length > 0 ? `,${field}` : field; + }); + queryParams.fl = fields; + } +}; + const addFiltersToQueryParams = (queryParams: Params, collectionView: CollectionView): void => { if (collectionView.filters && collectionView.filters.length > 0) { let filters = ''; @@ -79,6 +89,7 @@ const addExportToQueryParams = (queryParams: Params, collectionView: CollectionV const getQueryParams = (collectionView: CollectionView): Params => { const queryParams: Params = {}; queryParams.collection = 'individual'; + addFieldsToQueryParams(queryParams, collectionView); addFacetsToQueryParams(queryParams, collectionView); addFiltersToQueryParams(queryParams, collectionView); addBoostToQueryParams(queryParams, collectionView); From aeb4aa3473e2282bdec41d9a2b109bebf35e10c6 Mon Sep 17 00:00:00 2001 From: William Welling Date: Fri, 17 Apr 2020 08:38:49 -0500 Subject: [PATCH 2/4] add fields to export query params --- src/app/shared/utilities/view.utility.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/app/shared/utilities/view.utility.ts b/src/app/shared/utilities/view.utility.ts index 3aa9f0ac8..8b82c258e 100644 --- a/src/app/shared/utilities/view.utility.ts +++ b/src/app/shared/utilities/view.utility.ts @@ -7,25 +7,23 @@ import { Direction } from '../../core/model/request'; const addFacetsToQueryParams = (queryParams: Params, collectionView: CollectionView): void => { if (collectionView.facets && collectionView.facets.length > 0) { - let facets = ''; + queryParams.facets = ''; collectionView.facets.forEach((facet: Facet) => { - facets += facets.length > 0 ? `,${facet.field}` : facet.field; + queryParams.facets += queryParams.facets.length > 0 ? `,${facet.field}` : facet.field; ['type', 'pageSize', 'pageNumber'].forEach((key: string) => { queryParams[`${facet.field}.${key}`] = facet[key]; }); queryParams[`${facet.field}.sort`] = `${facet.sort},${facet.direction}`; }); - queryParams.facets = facets; } }; const addFieldsToQueryParams = (queryParams: Params, collectionView: CollectionView): void => { if (collectionView.fields && collectionView.fields.length > 0) { - let fields = ''; + queryParams.fl = ''; collectionView.fields.forEach((field: string) => { - fields += fields.length > 0 ? `,${field}` : field; + queryParams.fl += queryParams.fl.length > 0 ? `,${field}` : field; }); - queryParams.fl = fields; } }; @@ -80,8 +78,10 @@ const addHighlightsToQueryParams = (queryParams: Params, discoveryView: Discover const addExportToQueryParams = (queryParams: Params, collectionView: CollectionView): void => { if (collectionView.export && collectionView.export.length > 0) { queryParams.export = []; + queryParams.fl = ''; collectionView.export.forEach((exp: Export) => { queryParams.export.push(`${exp.valuePath},${exp.columnHeader}`); + queryParams.fl += queryParams.fl.length > 0 ? `,${exp.valuePath}` : exp.valuePath; }); } }; From 9ff234c349713fa2e489fab435475cf945aa4c27 Mon Sep 17 00:00:00 2001 From: William Welling Date: Fri, 17 Apr 2020 08:39:07 -0500 Subject: [PATCH 3/4] do not merge query params from directory to discovery --- src/app/shared/search-box/search-box.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/shared/search-box/search-box.component.html b/src/app/shared/search-box/search-box.component.html index 476615e39..670ba6acb 100644 --- a/src/app/shared/search-box/search-box.component.html +++ b/src/app/shared/search-box/search-box.component.html @@ -30,7 +30,7 @@ - {{ 'SHARED.SEARCH_BOX.DISCOVERY' | translate }} + {{ 'SHARED.SEARCH_BOX.DISCOVERY' | translate }} | {{ 'SHARED.SEARCH_BOX.SEARCH_TIPS' | translate }} From fecd60f996885f2a1110aa7253ff25c903b25bd8 Mon Sep 17 00:00:00 2001 From: William Welling Date: Fri, 17 Apr 2020 09:19:54 -0500 Subject: [PATCH 4/4] add fields to view in spec --- src/app/shared/result-view/result-view.component.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/shared/result-view/result-view.component.spec.ts b/src/app/shared/result-view/result-view.component.spec.ts index 058d8605a..5f1ba3ea1 100644 --- a/src/app/shared/result-view/result-view.component.spec.ts +++ b/src/app/shared/result-view/result-view.component.spec.ts @@ -29,6 +29,7 @@ describe('ResultViewComponent', () => { default: (resource: any) => component.view.templates.default, }, styles: [], + fields: [], facets: [], filters: [], boosts: [],