@@ -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 } ) ,
0 commit comments