Browse Source

Bugfix/fix issue with exact matches in activities filter (#1724)

* Fix issue with exact match

* Update changelog
pull/1725/head^2
Thomas Kaul 2 years ago
committed by GitHub
parent
commit
2b4a1dc480
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      CHANGELOG.md
  2. 47
      libs/ui/src/lib/activities-table/activities-table.component.ts

4
CHANGELOG.md

@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Upgraded `angular` from version `15.1.2` to `15.1.5` - Upgraded `angular` from version `15.1.2` to `15.1.5`
- Upgraded `Nx` from version `15.6.3` to `15.7.2` - Upgraded `Nx` from version `15.6.3` to `15.7.2`
### Fixed
- Fixed an issue with exact matches in the activities table filter (`VT` vs. `VTI`)
## 1.236.0 - 2023-02-17 ## 1.236.0 - 2023-02-17
### Changed ### Changed

47
libs/ui/src/lib/activities-table/activities-table.component.ts

@ -6,6 +6,7 @@ import {
Input, Input,
OnChanges, OnChanges,
OnDestroy, OnDestroy,
OnInit,
Output, Output,
ViewChild ViewChild
} from '@angular/core'; } from '@angular/core';
@ -33,7 +34,7 @@ import { Subject, Subscription, distinctUntilChanged, takeUntil } from 'rxjs';
styleUrls: ['./activities-table.component.scss'], styleUrls: ['./activities-table.component.scss'],
templateUrl: './activities-table.component.html' templateUrl: './activities-table.component.html'
}) })
export class ActivitiesTableComponent implements OnChanges, OnDestroy { export class ActivitiesTableComponent implements OnChanges, OnDestroy, OnInit {
@Input() activities: Activity[]; @Input() activities: Activity[];
@Input() baseCurrency: string; @Input() baseCurrency: string;
@Input() deviceType: string; @Input() deviceType: string;
@ -89,6 +90,17 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
}); });
} }
public ngOnInit() {
if (this.showCheckbox) {
this.toggleAllRows();
this.selectedRows.changed
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((selectedRows) => {
this.selectedActivities.emit(selectedRows.source.selected);
});
}
}
public areAllRowsSelected() { public areAllRowsSelected() {
const numSelectedRows = this.selectedRows.selected.length; const numSelectedRows = this.selectedRows.selected.length;
const numTotalRows = this.dataSource.data.length; const numTotalRows = this.dataSource.data.length;
@ -136,19 +148,19 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
this.dataSource = new MatTableDataSource(this.activities); this.dataSource = new MatTableDataSource(this.activities);
this.dataSource.filterPredicate = (data, filter) => { this.dataSource.filterPredicate = (data, filter) => {
const dataString = this.getFilterableValues(data) const filterableLabels = this.getFilterableValues(data).map(
.map((currentFilter) => { ({ label }) => {
return currentFilter.label; return label.toLowerCase();
}) }
.join(' ') );
.toLowerCase();
let includes = true;
let contains = true;
for (const singleFilter of filter.split(this.SEARCH_STRING_SEPARATOR)) { for (const singleFilter of filter.split(this.SEARCH_STRING_SEPARATOR)) {
contains = includes =
contains && dataString.includes(singleFilter.trim().toLowerCase()); includes &&
filterableLabels.includes(singleFilter.trim().toLowerCase());
} }
return contains; return includes;
}; };
this.dataSource.paginator = this.paginator; this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort; this.dataSource.sort = this.sort;
@ -158,17 +170,6 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy {
} }
} }
ngOnInit() {
if (this.showCheckbox) {
this.toggleAllRows();
this.selectedRows.changed
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe((selectedRows) => {
this.selectedActivities.emit(selectedRows.source.selected);
});
}
}
public onChangePage(page: PageEvent) { public onChangePage(page: PageEvent) {
this.pageIndex = page.pageIndex; this.pageIndex = page.pageIndex;

Loading…
Cancel
Save