import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { RdpDataTableService } from '../../shared/rdp-data-table.service'; @Component({ selector: 'rdp-rdp-data-table-edit', templateUrl: './rdp-data-table-edit.component.html', styleUrls: ['./rdp-data-table-edit.component.scss'] }) export class RdpDataTableEditComponent implements OnInit { @Input() settings: any; @Input() rowdata: any; @Input() isEditMode: boolean; @Input() applicationService: any; @Output() passEntry: EventEmitter = new EventEmitter(); modalPopupTitle: string; selectedRowData: any; public columnsInfoList = []; constructor(public activeModal: NgbActiveModal, public rdpDataTableService: RdpDataTableService) { } ngOnInit() { this.modalPopupTitle = "Edit"; if (this.rowdata) { this.selectedRowData = JSON.stringify(this.rowdata); } if (this.settings) { if (this.settings.modalPopupTitle) { this.modalPopupTitle = this.settings.modalPopupTitle; } for (var index in this.settings.columns) { this.columnsInfoList.push(this.settings.columns[index]); } } } saveChanges() { this.applicationService.update(this.rowdata); this.applicationService.statusResponse.subscribe(responseData => { if (responseData == "200") { console.log("Success") this.applicationService.get(); this.applicationService.updatedData.subscribe(val => { if (val) { this.passEntry.emit(val); } }) } }) this.activeModal.close(); } columnDataChanged($event, columnTitle) { this.rowdata[columnTitle] = $event; } }