Skip to content

Commit 9d40225

Browse files
111731: Also emit the AppliedFilter for date values
1 parent 58a1532 commit 9d40225

2 files changed

Lines changed: 27 additions & 12 deletions

File tree

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

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -287,23 +287,28 @@ export class SearchFacetFilterComponent implements OnInit, OnDestroy {
287287
return filterValues;
288288
}),
289289
tap((allFacetValues: FacetValues[]) => {
290-
const allAppliedFilters: AppliedFilter[] = [].concat(...allFacetValues.map((facetValues: FacetValues) => facetValues.appliedFilters))
291-
.filter((appliedFilter: AppliedFilter) => hasValue(appliedFilter));
292-
this.selectedAppliedFilters$ = this.filterService.getSelectedValuesForFilter(this.filterConfig).pipe(
293-
map((selectedValues: string[]) => {
294-
const appliedFilters: AppliedFilter[] = selectedValues.map((value: string) => {
295-
return allAppliedFilters.find((appliedFilter: AppliedFilter) => appliedFilter.value === stripOperatorFromFilterValue(value));
296-
}).filter((appliedFilter: AppliedFilter) => hasValue(appliedFilter));
297-
this.changeAppliedFilters.emit(appliedFilters);
298-
return appliedFilters;
299-
}),
300-
);
290+
this.setAppliedFilter(allFacetValues);
301291
this.animationState = 'ready';
302292
this.facetValues$.next(allFacetValues);
303293
})
304294
);
305295
}
306296

297+
setAppliedFilter(allFacetValues: FacetValues[]): void {
298+
const allAppliedFilters: AppliedFilter[] = [].concat(...allFacetValues.map((facetValues: FacetValues) => facetValues.appliedFilters))
299+
.filter((appliedFilter: AppliedFilter) => hasValue(appliedFilter));
300+
301+
this.selectedAppliedFilters$ = this.filterService.getSelectedValuesForFilter(this.filterConfig).pipe(
302+
map((selectedValues: string[]) => {
303+
const appliedFilters: AppliedFilter[] = selectedValues.map((value: string) => {
304+
return allAppliedFilters.find((appliedFilter: AppliedFilter) => appliedFilter.value === stripOperatorFromFilterValue(value));
305+
}).filter((appliedFilter: AppliedFilter) => hasValue(appliedFilter));
306+
this.changeAppliedFilters.emit(appliedFilters);
307+
return appliedFilters;
308+
}),
309+
);
310+
}
311+
307312
/**
308313
* Transforms the facet value string, so if the query matches part of the value, it's emphasized in the value
309314
* @param {FacetValue} facet The value of the facet as returned by the server

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BehaviorSubject, combineLatest as observableCombineLatest, Subscription } from 'rxjs';
1+
import { BehaviorSubject, combineLatest as observableCombineLatest, of as observableOf , Subscription } from 'rxjs';
22
import { map, startWith } from 'rxjs/operators';
33
import { isPlatformBrowser } from '@angular/common';
44
import { Component, Inject, OnDestroy, OnInit, PLATFORM_ID, EventEmitter } from '@angular/core';
@@ -22,6 +22,7 @@ import { SearchConfigurationService } from '../../../../../core/shared/search/se
2222
import { RouteService } from '../../../../../core/services/route.service';
2323
import { hasValue } from '../../../../empty.util';
2424
import { AppliedFilter } from '../../../models/applied-filter.model';
25+
import { FacetValues } from '../../../models/facet-values.model';
2526

2627
/**
2728
* The suffix for a range filters' minimum in the frontend URL
@@ -115,6 +116,15 @@ export class SearchRangeFilterComponent extends SearchFacetFilterComponent imple
115116
).subscribe((minmax) => this.range = minmax);
116117
}
117118

119+
setAppliedFilter(allFacetValues: FacetValues[]): void {
120+
const appliedFilters: AppliedFilter[] = [].concat(...allFacetValues.map((facetValues: FacetValues) => facetValues.appliedFilters))
121+
.filter((appliedFilter: AppliedFilter) => hasValue(appliedFilter))
122+
.filter((appliedFilter: AppliedFilter) => appliedFilter.filter === this.filterConfig.name);
123+
124+
this.selectedAppliedFilters$ = observableOf(appliedFilters);
125+
this.changeAppliedFilters.emit(appliedFilters);
126+
}
127+
118128
/**
119129
* Submits new custom range values to the range filter from the widget
120130
*/

0 commit comments

Comments
 (0)