From 62530c3f2f61a92c51fcf19d20659e164c03b7be Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Sat, 7 May 2022 09:04:11 +0200 Subject: [PATCH] Fix filtering --- .../activities-filter.component.ts | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.ts b/libs/ui/src/lib/activities-filter/activities-filter.component.ts index 5186a573e..d2589e513 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.ts +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.ts @@ -48,13 +48,22 @@ export class ActivitiesFilterComponent implements OnChanges, OnDestroy { public constructor() { this.searchControl.valueChanges .pipe(takeUntil(this.unsubscribeSubject)) - .subscribe((currentFilter) => { + .subscribe((currentFilter: string) => { if (currentFilter) { this.filters$.next( - this.allFilters.filter((filter) => filter.id === currentFilter.id) + this.allFilters + .filter((filter) => { + // Filter selected filters + return !this.selectedFilters.some((selectedFilter) => { + return selectedFilter.id === filter.id; + }); + }) + .filter((filter) => { + return filter.label + .toLowerCase() + .startsWith(currentFilter?.toLowerCase()); + }) ); - } else { - this.filters$.next(this.allFilters); } }); } @@ -99,7 +108,14 @@ export class ActivitiesFilterComponent implements OnChanges, OnDestroy { } private updateFilter() { - this.filters$.next(this.allFilters); + this.filters$.next( + this.allFilters.filter((filter) => { + // Filter selected filters + return !this.selectedFilters.some((selectedFilter) => { + return selectedFilter.id === filter.id; + }); + }) + ); // Emit an array with a new reference this.valueChanged.emit([...this.selectedFilters]);