Bugfix/fix issue in activities filter component with typing (#910)

* Handle filter (selecting) or search term (typing)

* Update changelog
This commit is contained in:
Thomas Kaul 2022-05-12 07:48:12 +02:00 committed by GitHub
parent 57bf10e7e7
commit d094bae7de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View File

@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
### Fixed
- Fixed an issue in the activities filter component (typing a search term)
## 1.147.0 - 10.05.2022 ## 1.147.0 - 10.05.2022
### Changed ### Changed

View File

@ -48,8 +48,8 @@ export class ActivitiesFilterComponent implements OnChanges, OnDestroy {
public constructor() { public constructor() {
this.searchControl.valueChanges this.searchControl.valueChanges
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe((currentFilter: Filter) => { .subscribe((filterOrSearchTerm: Filter | string) => {
if (currentFilter) { if (filterOrSearchTerm) {
this.filters$.next( this.filters$.next(
this.allFilters this.allFilters
.filter((filter) => { .filter((filter) => {
@ -59,9 +59,15 @@ export class ActivitiesFilterComponent implements OnChanges, OnDestroy {
}); });
}) })
.filter((filter) => { .filter((filter) => {
if (typeof filterOrSearchTerm === 'string') {
return filter.label
.toLowerCase()
.startsWith(filterOrSearchTerm.toLowerCase());
}
return filter.label return filter.label
.toLowerCase() .toLowerCase()
.startsWith(currentFilter.label.toLowerCase()); .startsWith(filterOrSearchTerm?.label?.toLowerCase());
}) })
.sort((a, b) => a.label.localeCompare(b.label)) .sort((a, b) => a.label.localeCompare(b.label))
); );