hidden columns

This commit is contained in:
Bastian Wagner
2026-02-25 14:17:36 +01:00
parent 53fa657099
commit f15df81fed

View File

@@ -1,7 +1,7 @@
import { Component, inject } from '@angular/core'; import { Component, inject } from '@angular/core';
import { AG_GRID_LOCALE_DE } from '@ag-grid-community/locale'; import { AG_GRID_LOCALE_DE } from '@ag-grid-community/locale';
import { AgGridAngular } from 'ag-grid-angular'; import { AgGridAngular } from 'ag-grid-angular';
import { GridOptions,GridApi, GridReadyEvent, CellEditingStoppedEvent, ICellEditorParams, FilterActionParams, FilterAction, themeQuartz, Theme, ThemeDefaultParams, AgGridEvent, CellClickedEvent, CellDoubleClickedEvent } from 'ag-grid-community'; import { GridOptions,GridApi, GridReadyEvent, CellEditingStoppedEvent, ICellEditorParams, FilterActionParams, FilterAction, themeQuartz, Theme, ThemeDefaultParams, AgGridEvent, CellClickedEvent, CellDoubleClickedEvent, ColDef } from 'ag-grid-community';
import { DatePipe } from '@angular/common'; import { DatePipe } from '@angular/common';
import { ApiService } from '../../shared/api.service'; import { ApiService } from '../../shared/api.service';
import { IKey } from '../../model/interface/key.interface'; import { IKey } from '../../model/interface/key.interface';
@@ -47,20 +47,20 @@ export class KeysComponent extends AgGridContainerComponent {
localeText: AG_GRID_LOCALE_DE, localeText: AG_GRID_LOCALE_DE,
rowData: [], rowData: [],
columnDefs: [ columnDefs: [
{ colId: 'id', field: 'id', headerName: 'ID', hide: true },
{ 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 },
{ colId: 'nr', field: 'nr' , headerName: 'Schlüsselnummer', flex: 1, editable: true, filter: true }, { colId: 'nr', field: 'nr' , headerName: 'Schlüsselnummer', flex: 1, editable: true, filter: true },
{ colId: 'cylinder', field: 'cylinder' , headerName: 'Zylinder', flex: 1, editable: false, filter: true, {
colId: 'cylinder', field: 'cylinder' , headerName: 'Zylinder', flex: 1, editable: false, filter: true,
valueFormatter: (data: any) => { return data; }, valueFormatter: (data: any) => { return data; },
cellRenderer: (data: any) => {return data.value?.map((m: ICylinder) => m.name).join(', ')}, cellRenderer: (data: any) => {return data.value?.map((m: ICylinder) => m.name).join(', ')},
tooltipValueGetter: (data: any) => data.value?.map((m: ICylinder) => m.name).join(','), tooltipValueGetter: (data: any) => data.value?.map((m: ICylinder) => m.name).join(','),
onCellDoubleClicked: (event) => { onCellDoubleClicked: (event) => { this.openSelectCylinder(event) },
this.openSelectCylinder(event)
},
cellEditorPopup: true, cellEditorPopup: true,
filterValueGetter: (params: any) => {return params.data.cylinder?.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(', ')
}, },
@@ -70,46 +70,38 @@ export class KeysComponent extends AgGridContainerComponent {
}, },
valueFormatter: (data: any) => { return data; }, valueFormatter: (data: any) => { return data; },
}, },
{ colId: 'customer', field: 'customer' , headerName: 'Mieter', flex: 1, editable: false, filter: true, {
colId: 'customer', field: 'customer' , headerName: 'Mieter', flex: 1, editable: false, filter: true,
cellRenderer: (data: any) => {return data.value?.name}, cellRenderer: (data: any) => {return data.value?.name},
filterValueGetter: (params: any) => {return params.data.customer?.name}, filterValueGetter: (params: any) => {return params.data.customer?.name},
valueFormatter: (data: any) => { return data; }, valueFormatter: (data: any) => { return data; },
}, },
{ {
field: 'createdAt' field: 'createdAt', headerName: 'Erstellt', width: 120
, headerName: 'Erstellt'
, width: 120
// , type: 'date'
, cellRenderer: (data: any) => this.datePipe.transform(new Date(data.value)) , cellRenderer: (data: any) => this.datePipe.transform(new Date(data.value))
, tooltipValueGetter: (data: any) => this.datePipe.transform(new Date(data.value), 'medium'), , tooltipValueGetter: (data: any) => this.datePipe.transform(new Date(data.value), 'medium'),
valueFormatter: (data: any) => { return data; }, valueFormatter: (data: any) => { return data; },
},{ },{
colId: 'updatedAt', colId: 'updatedAt', field: 'updatedAt', headerName: 'Geändert', width: 120, hide: true
field: 'updatedAt'
, headerName: 'Geändert'
, width: 120
// , type: 'date'
, cellRenderer: (data: any) => data.value ? this.datePipe.transform(new Date(data.value)) : '-' , cellRenderer: (data: any) => data.value ? this.datePipe.transform(new Date(data.value)) : '-'
, tooltipValueGetter: (data: any) => this.datePipe.transform(new Date(data.value), 'medium') , tooltipValueGetter: (data: any) => this.datePipe.transform(new Date(data.value), 'medium')
}, },
{ colId: 'handedOut', field: 'handedOut' , headerName: 'Ausgegeben', width: 100, editable: false, filter: true, headerTooltip: 'Ausgegeben' }, { colId: 'handedOut', field: 'handedOut' , headerName: 'Ausgegeben', width: 100, editable: false, filter: true, headerTooltip: 'Ausgegeben' },
{ { colId: 'digital', field: 'digital', headerName: 'Digital', hide: true },
colId: 'actions' {
, headerName: 'Aktionen' colId: 'actions', headerName: 'Aktionen', width: 140, sortable: false
, width: 140
, cellRenderer: AgKeyActionsComponent , cellRenderer: AgKeyActionsComponent
, sortable: false
,valueFormatter: (data: any) => { return data; }, ,valueFormatter: (data: any) => { return data; },
} }
], ],
loading: true, loading: true,
// rowHeight: 54,
loadingOverlayComponent: AgLoadingComponent, loadingOverlayComponent: AgLoadingComponent,
pagination: true, pagination: true,
} }
editKey(id: string) { editKey(id: string) {
} }
ngOnInit(): void { ngOnInit(): void {
@@ -128,7 +120,6 @@ export class KeysComponent extends AgGridContainerComponent {
} }
}) })
} if (Object.keys(params).includes('nr')) { } if (Object.keys(params).includes('nr')) {
console.log("SET " + params['nr'] )
this.gridApi.setFilterModel({ this.gridApi.setFilterModel({
nr: { nr: {
filterType: 'text', filterType: 'text',