From a384a462eb570c4254c39b8af5161ceba12a58fd Mon Sep 17 00:00:00 2001 From: Giuseppe Digilio Date: Fri, 30 Sep 2022 12:57:55 +0200 Subject: [PATCH] [CST-6876] Fix issue with filter values request for which pagination was sent twice --- src/app/core/shared/search/search.service.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/app/core/shared/search/search.service.ts b/src/app/core/shared/search/search.service.ts index 3c91bdff73..9cb62263ea 100644 --- a/src/app/core/shared/search/search.service.ts +++ b/src/app/core/shared/search/search.service.ts @@ -268,15 +268,21 @@ export class SearchService implements OnDestroy { * no valid cached version. Defaults to true * @returns {Observable>>} Emits the given page of facet values */ - getFacetValuesFor(filterConfig: SearchFilterConfig, valuePage: number, searchOptions?: SearchOptions, filterQuery?: string, useCachedVersionIfAvailable = true): Observable> { + getFacetValuesFor(filterConfig: SearchFilterConfig, valuePage: number, searchOptions?: PaginatedSearchOptions, filterQuery?: string, useCachedVersionIfAvailable = true): Observable> { let href; - const args: string[] = [`page=${valuePage - 1}`, `size=${filterConfig.pageSize}`]; + let args: string[] = []; if (hasValue(filterQuery)) { args.push(`prefix=${filterQuery}`); } if (hasValue(searchOptions)) { + searchOptions = Object.assign(new PaginatedSearchOptions({}), searchOptions, { + pagination: Object.assign({}, searchOptions.pagination, { + currentPage: valuePage + }) + }); href = searchOptions.toRestUrl(filterConfig._links.self.href, args); } else { + args = [`page=${valuePage - 1}`, `size=${filterConfig.pageSize}`, ...args]; href = new URLCombiner(filterConfig._links.self.href, `?${args.join('&')}`).toString(); }