126 lines
3.2 KiB
TypeScript
126 lines
3.2 KiB
TypeScript
import { Component } from '@angular/core';
|
|
import { AddEditMasterComponent } from '../add-edit-master/add-edit-master.component';
|
|
import { TableApiService } from 'src/app/_services/table-api.service';
|
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
|
|
import { Router } from '@angular/router';
|
|
import { BuildingService } from '../../service/monitoring-api.service';
|
|
import { AddEditMasterBuildingComponent } from './add-edit-master-building/add-edit-master-building.component';
|
|
|
|
@Component({
|
|
selector: 'app-master-building',
|
|
templateUrl: './master-building.component.html',
|
|
styleUrls: ['./master-building.component.css']
|
|
})
|
|
export class MasterBuildingComponent {
|
|
data: any;
|
|
filteredRows: any[];
|
|
searchTerm: string = "";
|
|
rows: any = [];
|
|
public breadcrumb: any;
|
|
|
|
constructor(
|
|
private tableApiservice: TableApiService,
|
|
private modalService: NgbModal,
|
|
private router: Router,
|
|
private monitoringApiService: BuildingService
|
|
) {}
|
|
|
|
ngOnInit() {
|
|
this.breadcrumb = {
|
|
mainlabel: "Master Building",
|
|
links: [
|
|
{
|
|
name: "Home",
|
|
isLink: false,
|
|
},
|
|
{
|
|
name: "Master Building",
|
|
isLink: false,
|
|
},
|
|
],
|
|
};
|
|
this.fetchData();
|
|
}
|
|
|
|
fetchData() {
|
|
this.monitoringApiService.getMasterBuildingData().subscribe((res) => {
|
|
this.data = res.results.data;
|
|
this.filteredRows = this.data;
|
|
});
|
|
}
|
|
|
|
filterRows() {
|
|
if (!this.searchTerm) {
|
|
this.filteredRows = [...this.data];
|
|
} else {
|
|
this.filteredRows = this.data.filter((row) =>
|
|
this.rowContainsSearchTerm(row)
|
|
);
|
|
}
|
|
}
|
|
|
|
rowContainsSearchTerm(row: any): boolean {
|
|
const searchTermLC = this.searchTerm.toLowerCase();
|
|
return Object.values(row).some(
|
|
(value) =>
|
|
value !== null && value.toString().toLowerCase().includes(searchTermLC)
|
|
);
|
|
}
|
|
|
|
openAddMasterModal() {
|
|
const modalRef = this.modalService.open(AddEditMasterBuildingComponent, {
|
|
size: "lg",
|
|
});
|
|
|
|
modalRef.componentInstance.mode = "add";
|
|
modalRef.result.then(
|
|
(result) => {
|
|
if (result) {
|
|
this.monitoringApiService
|
|
.postMasterBuildingParam(result)
|
|
.subscribe((res) => {
|
|
this.fetchData();
|
|
});
|
|
}
|
|
},
|
|
(reason) => {
|
|
console.log(`Dismissed: ${reason}`);
|
|
}
|
|
);
|
|
}
|
|
|
|
editRow(row) {
|
|
const modalRef = this.modalService.open(AddEditMasterBuildingComponent, {
|
|
size: "lg",
|
|
});
|
|
|
|
modalRef.componentInstance.dataRow = row;
|
|
modalRef.componentInstance.mode = "edit";
|
|
modalRef.result.then(
|
|
(result) => {
|
|
if (result) {
|
|
this.monitoringApiService
|
|
.putMasterBuildingParam(result, row.id)
|
|
.subscribe((res) => {
|
|
this.fetchData();
|
|
});
|
|
}
|
|
},
|
|
(reason) => {
|
|
console.log(`Dismissed: ${reason}`);
|
|
}
|
|
);
|
|
}
|
|
|
|
deleteRow(row) {
|
|
const confirmDelete = confirm("Are you sure you want to delete this item?");
|
|
if (confirmDelete) {
|
|
this.monitoringApiService
|
|
.deleteHeaderDetailParam(row.id)
|
|
.subscribe((res) => {
|
|
this.fetchData();
|
|
});
|
|
}
|
|
}
|
|
}
|