Filtering Keys

This commit is contained in:
Bastian Wagner
2025-01-03 15:04:17 +01:00
parent a7b1973627
commit abb703f592
2 changed files with 13 additions and 13 deletions

View File

@@ -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)) : '-' },

View File

@@ -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<string>(data.value?.map((m: ICylinder) => m.system?.name));
return [...s].join(', ')
},
filterValueGetter: (data: any) => {
const s = new Set<string>(data.value?.map((m: ICylinder) => m.system?.name));
return [...s].join(', ')
return [...s].join(', ')
},
filterValueGetter: (params: any) => {
const s = new Set<string>(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'