import { Component, OnInit, Input, NgModule, Output, EventEmitter } from '@angular/core'; import { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel'; import { TableModule } from 'primeng/table'; import { CommonModule } from '@angular/common'; import { AuditTrailService } from 'ekangularbase/src/service/object/audit-trail.service'; import { AuditTrailClass } from 'ekangularbase/src/interface/audit-trail'; @Component({ selector: 'app-audit-trail-popup', templateUrl: './audit-trail-popup.component.html', styleUrls: ['./audit-trail-popup.component.css'] }) export class AuditTrailPopupComponent implements OnInit { cols: any[]; loading: boolean = false; @Input() rowID: string; @Input() entityName:string; @Input() fieldName:string; @Input() displayFieldName:string; @Input() baseZIndex = 10000; @Output() detectChangesEvent = new EventEmitter(); auditList:AuditTrailClass[]; constructor(private auditTrailService: AuditTrailService) { } ngOnInit() { this.cols =[ { visible: true, field: 'changeDate', header: 'Updated Date', width: "51"}, { visible: true, field: 'changeBy', header: 'Updated By', width: "50"}, { visible: true, field: 'before', header: 'Before Value', width: "50"}, { visible: true, field: 'after', header: 'After Value', width: "50"} ]; } showAuditTrailEvent(event, overlaypanel: OverlayPanel){ this.getAuditDetails(); overlaypanel.toggle(event); } getAuditDetails(){ if (!(this.fieldName === undefined)){ this.auditTrailService.GetChanges(this.entityName,this.rowID,this.fieldName).subscribe(res => { this.auditList = res; this.detectChangesEvent.emit(null); }, error => { console.log(error); }); } } } @NgModule({ imports: [CommonModule, TableModule,OverlayPanelModule], exports: [AuditTrailPopupComponent], declarations: [AuditTrailPopupComponent] }) export class AuditTrailModule { }