From 5d7ccbeb9ad8713e6ae0ab5266c81da123501700 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Tue, 3 Apr 2018 12:58:14 +0100 Subject: [PATCH] [ADF-2595] use pagination settings with search filter (#3139) * use pagination settings * unit tests --- .../search/search-result.component.ts | 6 ++++++ .../search-query-builder.service.spec.ts | 18 ++++++++++++++++++ .../search/search-query-builder.service.ts | 8 ++------ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/demo-shell/src/app/components/search/search-result.component.ts b/demo-shell/src/app/components/search/search-result.component.ts index 0cf4408601..8384ec556c 100644 --- a/demo-shell/src/app/components/search/search-result.component.ts +++ b/demo-shell/src/app/components/search/search-result.component.ts @@ -64,6 +64,12 @@ export class SearchResultComponent implements OnInit { onRefreshPagination(pagination: Pagination) { this.maxItems = pagination.maxItems; this.skipCount = pagination.skipCount; + + this.queryBuilder.paging = { + maxItems: pagination.maxItems, + skipCount: pagination.skipCount + }; + this.queryBuilder.update(); } onDeleteElementSuccess(element: any) { diff --git a/lib/content-services/search/search-query-builder.service.spec.ts b/lib/content-services/search/search-query-builder.service.spec.ts index bf95d5e1e7..ce757edc0e 100644 --- a/lib/content-services/search/search-query-builder.service.spec.ts +++ b/lib/content-services/search/search-query-builder.service.spec.ts @@ -363,7 +363,25 @@ describe('SearchQueryBuilder', () => { const compiled = builder.buildQuery(); expect(compiled.scope.locations).toEqual('custom'); + }); + it('should use pagination settings', () => { + const config: SearchConfiguration = { + query: { + categories: [ + { id: 'cat1', enabled: true } + ] + } + }; + const builder = new SearchQueryBuilderService(buildConfig(config), null); + builder.queryFragments['cat1'] = 'cm:name:test'; + builder.paging = { maxItems: 5, skipCount: 5 }; + + const compiled = builder.buildQuery(); + expect(compiled.paging).toEqual({ + maxItems: 5, + skipCount: 5 + }); }); }); diff --git a/lib/content-services/search/search-query-builder.service.ts b/lib/content-services/search/search-query-builder.service.ts index 92a2c3c0ac..dd2cb58ebf 100644 --- a/lib/content-services/search/search-query-builder.service.ts +++ b/lib/content-services/search/search-query-builder.service.ts @@ -37,6 +37,7 @@ export class SearchQueryBuilderService { scope: { locations?: string }; filterQueries: FilterQuery[] = []; ranges: { [id: string]: SearchRange } = {}; + paging: { maxItems?: number; skipCount?: number } = null; config: SearchConfiguration; @@ -122,12 +123,7 @@ export class SearchQueryBuilderService { }, include: ['path', 'allowableOperations'], fields: fields, - /* - paging: { - maxItems: maxResults, - skipCount: skipCount - }, - */ + paging: this.paging, filterQueries: this.filterQueries, facetQueries: this.config.facetQueries, facetFields: this.config.facetFields,