From abb703f5921ea0542dfaeccd1e5ec92415b8184e Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Fri, 3 Jan 2025 15:04:17 +0100 Subject: [PATCH] Filtering Keys --- .../modules/cylinder/cylinder.component.ts | 4 ++-- client/src/app/modules/keys/keys.component.ts | 22 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/client/src/app/modules/cylinder/cylinder.component.ts b/client/src/app/modules/cylinder/cylinder.component.ts index 7e353b1..384b51a 100644 --- a/client/src/app/modules/cylinder/cylinder.component.ts +++ b/client/src/app/modules/cylinder/cylinder.component.ts @@ -31,8 +31,8 @@ export class CylinderComponent { constructor() { this.gridOptions.columnDefs = [ - { field: 'name', headerName: 'Name', sort: 'asc', flex: 1 }, - { field: 'system.name', headerName: 'System', flex: 1 }, + { field: 'name', headerName: 'Name', sort: 'asc', flex: 1, filter: true }, + { field: 'system.name', headerName: 'System', flex: 1, filter: true }, { field: 'keyCount', headerName: 'Anzahl Schlüssel', flex: 0, type: 'number' }, { field: 'createdAt', headerName: 'Angelegt', cellRenderer: (data: any) => data.value ? this.datePipe.transform(new Date(data.value)) : '-' }, { field: 'updatedAt', headerName: 'Upgedated', cellRenderer: (data: any) => data.value ? this.datePipe.transform(new Date(data.value)) : '-' }, diff --git a/client/src/app/modules/keys/keys.component.ts b/client/src/app/modules/keys/keys.component.ts index bb6421e..f45f9ce 100644 --- a/client/src/app/modules/keys/keys.component.ts +++ b/client/src/app/modules/keys/keys.component.ts @@ -32,16 +32,13 @@ export class KeysComponent { private toast: HotToastService = inject(HotToastService); private dialog: MatDialog = inject(MatDialog); - cylinders: any[] = [{name: 'dummy'}]; + cylinders: any[] = []; gridApi!: GridApi; gridOptions: GridOptions = { localeText: AG_GRID_LOCALE_DE, rowData: [], - rowClassRules: { - 'key-lost': (params) => {console.log(params.data); return params.data.keyLost != null}, - }, columnDefs: [ { colId: 'name', field: 'name' , headerName: 'Name', flex: 1, editable: true, sort: 'asc', filter: true }, @@ -51,18 +48,21 @@ export class KeysComponent { tooltipValueGetter: (data: any) => data.value?.map((m: ICylinder) => m.name).join(', '), cellEditor: 'agSelectCellEditor', cellEditorPopup: false, - filterValueGetter: (data: any) => {return data.value?.map((m: ICylinder) => m.name).join(', ')}, + filterValueGetter: (params: any) => {return params.data.cylinder?.map((m: ICylinder) => m.name).join(', ')}, }, { colId: 'system', field: 'cylinder' , headerName: 'Schließanlage', flex: 1, editable: false, filter: true, cellRenderer: (data: any) => { - const s = new Set(data.value?.map((m: ICylinder) => m.system?.name)); - return [...s].join(', ') - }, - filterValueGetter: (data: any) => { const s = new Set(data.value?.map((m: ICylinder) => m.system?.name)); - return [...s].join(', ') + return [...s].join(', ') + }, + filterValueGetter: (params: any) => { + const s = new Set(params.data.cylinder?.map((m: ICylinder) => m.system?.name)); + return [...s].join(', ') } }, - { colId: 'customer', field: 'customer' , headerName: 'Kunde', flex: 1, editable: false, filter: true, cellRenderer: (data: any) => {return data.value?.name} }, + { colId: 'customer', field: 'customer' , headerName: 'Kunde', flex: 1, editable: false, filter: true, + cellRenderer: (data: any) => {return data.value?.name}, + filterValueGetter: (params: any) => {return params.data.customer?.name}, + }, { field: 'createdAt' , headerName: 'Erstellt'