Skip to content

Commit f95c941

Browse files
111731: Simplified the response of the retrieveFilterValues#facetValues$ by removing the page option
1 parent 1eadb41 commit f95c941

2 files changed

Lines changed: 13 additions & 21 deletions

File tree

src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -265,38 +265,27 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy {
265265
}
266266

267267
protected retrieveFilterValues(useCachedVersionIfAvailable = true): Observable<RemoteData<FacetValues[]>> {
268-
const facetValues$: Observable<{ values: Observable<RemoteData<FacetValues>>, page: number}> = observableCombineLatest([this.searchOptions$, this.currentPage]).pipe(
269-
switchMap(([options, page]: [SearchOptions, number]) => {
270-
return this.searchService.getFacetValuesFor(this.filterConfig, page, options, null, useCachedVersionIfAvailable)
271-
.pipe(
272-
getFirstSucceededRemoteData(),
273-
tap((rd: RemoteData<FacetValues>) => {
274-
this.isLastPage$.next(hasNoValue(rd?.payload?.next));
275-
}),
276-
map((rd: RemoteData<FacetValues>) => ({
277-
values: observableOf(rd),
278-
page: page
279-
})
280-
)
281-
);
282-
})
268+
const facetValues$: Observable<RemoteData<FacetValues>> = observableCombineLatest([this.searchOptions$, this.currentPage]).pipe(
269+
switchMap(([options, page]: [SearchOptions, number]) => this.searchService.getFacetValuesFor(this.filterConfig, page, options, null, useCachedVersionIfAvailable)),
270+
getFirstSucceededRemoteData(),
271+
tap((rd: RemoteData<FacetValues>) => {
272+
this.isLastPage$.next(hasNoValue(rd?.payload?.next));
273+
}),
283274
);
284275

285276
let filterValues: Observable<RemoteData<FacetValues>>[] = [];
286277
return facetValues$.pipe(
287-
mergeMap((facetOutcome: { values: Observable<RemoteData<FacetValues>>, page: number}) => {
288-
const newValues$ = facetOutcome.values;
289-
278+
mergeMap((newValues: RemoteData<FacetValues>) => {
290279
if (this.collapseNextUpdate) {
291280
this.showFirstPageOnly();
292-
facetOutcome.page = 1;
281+
filterValues = [];
293282
this.collapseNextUpdate = false;
294283
}
295-
if (facetOutcome.page === 1) {
284+
if (newValues.payload.pageInfo.currentPage === 1) {
296285
filterValues = [];
297286
}
298287

299-
filterValues = [...filterValues, newValues$];
288+
filterValues = [...filterValues, observableOf(newValues)];
300289

301290
return this.rdbs.aggregate(filterValues);
302291
}),

src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ describe('SearchHierarchyFilterComponent', () => {
6262
value: value3,
6363
},
6464
],
65+
pageInfo: {
66+
currentPage: 1,
67+
},
6568
} as Partial<FacetValues> as FacetValues;
6669

6770
const searchFilterServiceStub = {

0 commit comments

Comments
 (0)