diff --git a/smp-angular/src/app/common/panels/document-events-panel/document-events-panel.component.ts b/smp-angular/src/app/common/panels/document-events-panel/document-events-panel.component.ts index c22cc2a6298b302fc024799744238fe8e47348ee..3de4c25290507d53841f29675b02f87097348849 100644 --- a/smp-angular/src/app/common/panels/document-events-panel/document-events-panel.component.ts +++ b/smp-angular/src/app/common/panels/document-events-panel/document-events-panel.component.ts @@ -34,7 +34,9 @@ import { import {MatSort} from "@angular/material/sort"; import {MatDialog} from "@angular/material/dialog"; import {MatPaginator} from "@angular/material/paginator"; -import {DocumentVersionEventRo} from "../../model/document-version-event-ro.model"; +import { + DocumentVersionEventRo +} from "../../model/document-version-event-ro.model"; import { BeforeLeaveGuard } from "../../../window/sidenav/navigation-on-leave-guard"; @@ -60,7 +62,7 @@ import {GlobalLookups} from "../../global-lookups"; export class DocumentEventsPanelComponent implements AfterViewInit, BeforeLeaveGuard, ControlValueAccessor { - displayedColumns: string[] = [ 'date', 'eventType', 'username', 'eventSource']; + displayedColumns: string[] = ['date', 'eventType', 'username', 'eventSource']; private onChangeCallback: (_: any) => void = () => { }; eventDataSource: MatTableDataSource<DocumentVersionEventRo> = new MatTableDataSource(); @@ -72,8 +74,8 @@ export class DocumentEventsPanelComponent implements AfterViewInit, BeforeLeaveG constructor( private globalLookups: GlobalLookups, - public dialog: MatDialog, - private controlContainer: ControlContainer) { + public dialog: MatDialog, + private controlContainer: ControlContainer) { } get dateTimeFormat(): string { @@ -96,13 +98,20 @@ export class DocumentEventsPanelComponent implements AfterViewInit, BeforeLeaveG * @param eventList */ writeValue(eventList: DocumentVersionEventRo[]): void { - this.eventDataSource.data = !eventList?.length ? [] : [...eventList]; + this.eventDataSource.data = !eventList?.length ? [] : eventList; this.dataChanged = false; } ngAfterViewInit() { this.eventDataSource.paginator = this.paginator; this.eventDataSource.sort = this.sort; + // add custom filter to exclude filtering on event description + this.eventDataSource.filterPredicate = (data: DocumentVersionEventRo, filter: string) => { + return data?.username.toLowerCase().includes(filter) + || data?.eventType.toLowerCase().includes(filter) + || data?.eventSourceType.toLowerCase().includes(filter) + || data?.eventOn.toString().toLowerCase().includes(filter); + } } applyFilter(event: Event) {