Filtering Keys
This commit is contained in:
@@ -31,8 +31,8 @@ export class CylinderComponent {
|
|||||||
constructor() {
|
constructor() {
|
||||||
|
|
||||||
this.gridOptions.columnDefs = [
|
this.gridOptions.columnDefs = [
|
||||||
{ field: 'name', headerName: 'Name', sort: 'asc', flex: 1 },
|
{ field: 'name', headerName: 'Name', sort: 'asc', flex: 1, filter: true },
|
||||||
{ field: 'system.name', headerName: 'System', flex: 1 },
|
{ field: 'system.name', headerName: 'System', flex: 1, filter: true },
|
||||||
{ field: 'keyCount', headerName: 'Anzahl Schlüssel', flex: 0, type: 'number' },
|
{ 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: '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)) : '-' },
|
{ field: 'updatedAt', headerName: 'Upgedated', cellRenderer: (data: any) => data.value ? this.datePipe.transform(new Date(data.value)) : '-' },
|
||||||
|
|||||||
@@ -32,16 +32,13 @@ export class KeysComponent {
|
|||||||
private toast: HotToastService = inject(HotToastService);
|
private toast: HotToastService = inject(HotToastService);
|
||||||
private dialog: MatDialog = inject(MatDialog);
|
private dialog: MatDialog = inject(MatDialog);
|
||||||
|
|
||||||
cylinders: any[] = [{name: 'dummy'}];
|
cylinders: any[] = [];
|
||||||
|
|
||||||
gridApi!: GridApi;
|
gridApi!: GridApi;
|
||||||
|
|
||||||
gridOptions: GridOptions = {
|
gridOptions: GridOptions = {
|
||||||
localeText: AG_GRID_LOCALE_DE,
|
localeText: AG_GRID_LOCALE_DE,
|
||||||
rowData: [],
|
rowData: [],
|
||||||
rowClassRules: {
|
|
||||||
'key-lost': (params) => {console.log(params.data); return params.data.keyLost != null},
|
|
||||||
},
|
|
||||||
columnDefs: [
|
columnDefs: [
|
||||||
|
|
||||||
{ colId: 'name', field: 'name' , headerName: 'Name', flex: 1, editable: true, sort: 'asc', filter: true },
|
{ 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(', '),
|
tooltipValueGetter: (data: any) => data.value?.map((m: ICylinder) => m.name).join(', '),
|
||||||
cellEditor: 'agSelectCellEditor',
|
cellEditor: 'agSelectCellEditor',
|
||||||
cellEditorPopup: false,
|
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) => {
|
{ 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));
|
const s = new Set<string>(data.value?.map((m: ICylinder) => m.system?.name));
|
||||||
return [...s].join(', ')
|
return [...s].join(', ')
|
||||||
},
|
},
|
||||||
filterValueGetter: (data: any) => {
|
filterValueGetter: (params: any) => {
|
||||||
const s = new Set<string>(data.value?.map((m: ICylinder) => m.system?.name));
|
const s = new Set<string>(params.data.cylinder?.map((m: ICylinder) => m.system?.name));
|
||||||
return [...s].join(', ')
|
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'
|
field: 'createdAt'
|
||||||
, headerName: 'Erstellt'
|
, headerName: 'Erstellt'
|
||||||
|
|||||||
Reference in New Issue
Block a user