diff --git a/src/app/_layout/settings/menu-settings.config.ts b/src/app/_layout/settings/menu-settings.config.ts
index 9679eee..4ab9161 100644
--- a/src/app/_layout/settings/menu-settings.config.ts
+++ b/src/app/_layout/settings/menu-settings.config.ts
@@ -95,6 +95,14 @@ export const MenuSettingsConfig: MenuConfig = {
{
title: 'Master Role',
page: '/master/master-role'
+ },
+ {
+ title: 'Master Room',
+ page: '/master/master-room'
+ },
+ {
+ title: 'Master Building',
+ page: '/master/master-building'
}
]
}
diff --git a/src/app/content/hemat-app/master/add-edit-master/add-edit-master.component.ts b/src/app/content/hemat-app/master/add-edit-master/add-edit-master.component.ts
index e215737..2546889 100644
--- a/src/app/content/hemat-app/master/add-edit-master/add-edit-master.component.ts
+++ b/src/app/content/hemat-app/master/add-edit-master/add-edit-master.component.ts
@@ -17,6 +17,9 @@ export class AddEditMasterComponent implements OnInit{
ngOnInit() {
this.createForm();
+ console.log(this.dataRow);
+ console.log(this.headerId);
+ console.log(this.mode);
if (this.dataRow) {
this.editForm();
}
diff --git a/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.css b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.css
new file mode 100644
index 0000000..fa6d7fd
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.css
@@ -0,0 +1,56 @@
+/* modal-add-edit.component.css */
+::ng-deep .modal-backdrop.show {
+ z-index: auto !important;
+ }
+
+ ::ng-deep .input-group-append .btn {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+ border-radius: 0;
+ border-left: 0;
+ flex-grow: 0;
+ border-left: 1px solid #ced4da;
+ padding: 0.375rem 0.75rem;
+ }
+
+ ::ng-deep .input-group {
+ display: flex;
+ flex-wrap: nowrap; /* Prevents wrapping of the items */
+ align-items: center;
+ }
+
+ ::ng-deep .form-control {
+ flex-grow: 1; /* Ensures select takes up available space */
+ padding-right: 0.5rem;
+ }
+
+ ::ng-deep .input-group select,
+ ::ng-deep .input-group .input-group-append .btn {
+ padding-right: 5px; /* Adjust padding if necessary */
+ }
+
+ ::ng-deep .input-group .form-control {
+ margin-right: 2px; /* Adjust margin to make space */
+ }
+
+
+ .form-group {
+ margin-bottom: 1rem;
+ }
+
+ .form-control {
+ display: block;
+ width: 100%;
+ height: calc(1.5em + 0.75rem + 2px);
+ padding: 0.375rem 0.75rem;
+ font-size: 1rem;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #495057;
+ background-color: #fff;
+ background-clip: padding-box;
+ border: 1px solid #ced4da;
+ border-radius: 0.25rem;
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+ }
+
\ No newline at end of file
diff --git a/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.html b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.html
new file mode 100644
index 0000000..b3a73b4
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.html
@@ -0,0 +1,90 @@
+
+
+
diff --git a/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.spec.ts b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.spec.ts
new file mode 100644
index 0000000..34a36fe
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { AddEditMasterBuildingComponent } from './add-edit-master-building.component';
+
+describe('AddEditMasterBuildingComponent', () => {
+ let component: AddEditMasterBuildingComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ AddEditMasterBuildingComponent ]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(AddEditMasterBuildingComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.ts b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.ts
new file mode 100644
index 0000000..8074f9c
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/add-edit-master-building/add-edit-master-building.component.ts
@@ -0,0 +1,84 @@
+import { Component, Input } from "@angular/core";
+import { FormBuilder, FormGroup, Validators } from "@angular/forms";
+import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap";
+import { BuildingService } from "../../../service/monitoring-api.service";
+
+@Component({
+ selector: "app-add-edit-master-building",
+ templateUrl: "./add-edit-master-building.component.html",
+ styleUrls: ["./add-edit-master-building.component.css"],
+})
+export class AddEditMasterBuildingComponent {
+ @Input() dataRow: any;
+ @Input() mode: any;
+ myForm: FormGroup;
+
+ data: any;
+ dataStatus: any[];
+ filteredDataStatus: any[];
+ dataMasterStatus: any;
+
+ constructor(
+ public activeModal: NgbActiveModal,
+ private fb: FormBuilder,
+ private monitoringApiService: BuildingService
+ ) {}
+
+ ngOnInit() {
+ this.createForm();
+ this.listDataStatus();
+
+ if (this.dataRow) {
+ this.editForm();
+ }
+ }
+
+ createForm() {
+ this.myForm = this.fb.group({
+ name: ["", Validators.required],
+ statusId: [0, Validators.required],
+ email: ["", Validators.required],
+ owner: ["", Validators.required],
+ address: ["", Validators.required],
+ phone: ["", Validators.required],
+ });
+ }
+
+ editForm() {
+ this.myForm = this.fb.group({
+ id: this.dataRow.id,
+ name: this.dataRow.name,
+ statusId: this.dataRow.statusId,
+ email: this.dataRow.email,
+ owner: this.dataRow.owner,
+ address: this.dataRow.address,
+ phone: this.dataRow.phone,
+ });
+ }
+
+ listDataStatus() {
+ this.monitoringApiService.getMasterData().subscribe((res) => {
+ this.data = res.results.data;
+ this.dataMasterStatus = res.results.data.find(
+ (item) => item.name === "master_status"
+ );
+ this.dataStatus = this.dataMasterStatus.headerDetailParam;
+ this.filteredDataStatus = this.dataStatus.filter(
+ (item) => item.status === "1"
+ );
+ });
+ }
+
+ addRow() {
+ if (this.myForm.valid) {
+ this.activeModal.close(this.myForm.value);
+ }
+ }
+
+ addDepartment() {
+ let newDept = prompt("Enter new department name:");
+ if (newDept) {
+ alert(`Department ${newDept} added! (simulated)`);
+ }
+ }
+}
diff --git a/src/app/content/hemat-app/master/master-building/master-building.component.css b/src/app/content/hemat-app/master/master-building/master-building.component.css
new file mode 100644
index 0000000..bd893c0
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/master-building.component.css
@@ -0,0 +1,190 @@
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-header .datatable-header-cell .datatable-header-cell-label {
+ font-family: inherit;
+ font-size: medium;
+ font-weight: bold;
+ color: #6B6F82;
+}
+:host ::ng-deep .ngx-datatable .datatable-row-center, .ngx-datatable .datatable-row-group, .ngx-datatable .datatable-row-right {
+ position: relative;
+ height: 50px !important;
+}
+
+:host ::ng-deep .datatable-icon-right:before {
+ font-family: 'icofont';
+ font-style: normal;
+}
+
+:host ::ng-deep .datatable-icon-skip:before {
+ font-family: 'icofont';
+ font-style: normal;
+}
+
+:host ::ng-deep .datatable-icon-left:before {
+ font-family: 'icofont';
+ font-style: normal;
+}
+
+:host ::ng-deep .datatable-icon-left:before {
+ content: "\2039";
+ font-size: x-large;
+}
+
+:host ::ng-deep .datatable-icon-prev:before {
+ content: "\00AB";
+ font-size: x-large;
+}
+
+:host ::ng-deep .datatable-icon-right:before {
+ content: "\203A";
+ font-size: x-large;
+}
+
+:host ::ng-deep .datatable-icon-skip:before {
+ content: "\00BB";
+ font-size: x-large;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left,
+.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right,
+.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev {
+ font-size: 16px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #d4d2e7;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right,
+.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right {
+ font-size: 16px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #d4d2e7;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip {
+ font-size: 16px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #d4d2e7;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev {
+ font-size: 16px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #d4d2e7;
+}
+
+:host ::ng-deep .datatable-footer .datatable-pager ul li:not(.disabled).active a,
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] ul[_ngcontent-c11] li[_ngcontent-c11]:not(.disabled):hover a[_ngcontent-c11] {
+ background-color: #d4d2e7;
+ font-weight: bold;
+ font-size: larger;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager a {
+ height: 32px;
+ min-width: 34px;
+ line-height: 22px;
+ padding: 0;
+ border-radius: 3px;
+ margin: 0 3px;
+ text-align: center;
+ vertical-align: top;
+ padding-top: 3px;
+ text-decoration: none;
+ vertical-align: bottom;
+ color: #7c8091;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left,
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11],
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] {
+ font-size: 14px;
+ line-height: 9px;
+ padding: 0px 08px;
+ background-color: #ffffff;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left,
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11],
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] {
+ font-size: 0px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #ffffff;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right,
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11],
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] {
+ font-size: 0px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #ffffff;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip,
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11],
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] {
+ font-size: 0px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #ffffff;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev,
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11],
+.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] {
+ font-size: 0px;
+ line-height: 22px;
+ padding: 0px 09px;
+ background-color: #ffffff;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a {
+ background-color: #545454;
+ font-weight: bold;
+ color: white;
+
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled).active a,
+.ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a {
+ background-color: #545454;
+ font-weight: bold;
+ color: white;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer {
+ background: #727e8e;
+ color: #ededed;
+ margin-top: -1px;
+ overflow: inherit;
+}
+
+:host ::ng-deep .ngx-datatable.bootstrap .datatable-header {
+ font-weight: bold;
+ height: unset !important;
+ overflow: inherit
+}
+
+:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager {
+ flex: 0 0 0%;
+}
+
+:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager {
+ display: flex;
+}
+
+:host ::ng-deep .block-ui-wrapper {
+ background: rgba(255, 249, 249, 0.5) !important;
+}
+:host ::ng-deep .ngx-datatable .datatable-footer .selected-count .datatable-pager {
+ flex: 0 0 0%;
+}
+
+:host ::ng-deep .ngx-datatable {
+ display: -webkit-box;
+}
+
diff --git a/src/app/content/hemat-app/master/master-building/master-building.component.html b/src/app/content/hemat-app/master/master-building/master-building.component.html
new file mode 100644
index 0000000..5935226
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/master-building.component.html
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+ Master Building Table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ rowIndex + 1 }}
+
+
+
+
+ Building Name
+
+
+ {{ value }}
+
+
+
+
+ Email
+
+
+ {{ value }}
+
+
+
+
+ Phone
+
+
+ {{ value }}
+
+
+
+
+ Owner
+
+
+ {{ value }}
+
+
+
+
+ Address
+
+
+ {{ value }}
+
+
+
+
+ Status
+
+
+ {{ value === 2 ? 'Aktif' : 'Tidak Aktif'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/content/hemat-app/master/master-building/master-building.component.spec.ts b/src/app/content/hemat-app/master/master-building/master-building.component.spec.ts
new file mode 100644
index 0000000..1f43310
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/master-building.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { MasterBuildingComponent } from './master-building.component';
+
+describe('MasterBuildingComponent', () => {
+ let component: MasterBuildingComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ MasterBuildingComponent ]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(MasterBuildingComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/content/hemat-app/master/master-building/master-building.component.ts b/src/app/content/hemat-app/master/master-building/master-building.component.ts
new file mode 100644
index 0000000..6c3372c
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-building/master-building.component.ts
@@ -0,0 +1,125 @@
+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();
+ });
+ }
+ }
+}
diff --git a/src/app/content/hemat-app/master/master-room/master-room.component.css b/src/app/content/hemat-app/master/master-room/master-room.component.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/content/hemat-app/master/master-room/master-room.component.html b/src/app/content/hemat-app/master/master-room/master-room.component.html
new file mode 100644
index 0000000..79ba11b
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-room/master-room.component.html
@@ -0,0 +1 @@
+master-room works!
diff --git a/src/app/content/hemat-app/master/master-room/master-room.component.spec.ts b/src/app/content/hemat-app/master/master-room/master-room.component.spec.ts
new file mode 100644
index 0000000..9056708
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-room/master-room.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { MasterRoomComponent } from './master-room.component';
+
+describe('MasterRoomComponent', () => {
+ let component: MasterRoomComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ MasterRoomComponent ]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(MasterRoomComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/content/hemat-app/master/master-room/master-room.component.ts b/src/app/content/hemat-app/master/master-room/master-room.component.ts
new file mode 100644
index 0000000..1dc1173
--- /dev/null
+++ b/src/app/content/hemat-app/master/master-room/master-room.component.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-master-room',
+ templateUrl: './master-room.component.html',
+ styleUrls: ['./master-room.component.css']
+})
+export class MasterRoomComponent {
+
+}
diff --git a/src/app/content/hemat-app/master/master.module.ts b/src/app/content/hemat-app/master/master.module.ts
index ad13357..b70440f 100644
--- a/src/app/content/hemat-app/master/master.module.ts
+++ b/src/app/content/hemat-app/master/master.module.ts
@@ -22,6 +22,9 @@ import { MasterRoleComponent } from './master-role/master-role.component';
import { AddEditMasterComponent } from './add-edit-master/add-edit-master.component';
import { MasterVoltageComponent } from './master-voltage/master-voltage.component';
import { MasterFloorComponent } from './master-floor/master-floor.component';
+import { MasterRoomComponent } from './master-room/master-room.component';
+import { MasterBuildingComponent } from './master-building/master-building.component';
+import { AddEditMasterBuildingComponent } from './master-building/add-edit-master-building/add-edit-master-building.component';
@@ -35,7 +38,10 @@ import { MasterFloorComponent } from './master-floor/master-floor.component';
MasterRoleComponent,
AddEditMasterComponent,
MasterVoltageComponent,
- MasterFloorComponent
+ MasterFloorComponent,
+ MasterRoomComponent,
+ MasterBuildingComponent,
+ AddEditMasterBuildingComponent
],
imports: [
CommonModule,
@@ -84,6 +90,14 @@ import { MasterFloorComponent } from './master-floor/master-floor.component';
{
path: 'master-role',
component: MasterRoleComponent
+ },
+ {
+ path: 'master-room',
+ component: MasterRoomComponent
+ },
+ {
+ path: 'master-building',
+ component: MasterBuildingComponent
}
])
]
diff --git a/src/app/content/hemat-app/monitoring/building/building.component.html b/src/app/content/hemat-app/monitoring/building/building.component.html
index db1ad3a..3b3e800 100644
--- a/src/app/content/hemat-app/monitoring/building/building.component.html
+++ b/src/app/content/hemat-app/monitoring/building/building.component.html
@@ -106,7 +106,7 @@
-
diff --git a/src/app/content/hemat-app/service/monitoring-api.service.ts b/src/app/content/hemat-app/service/monitoring-api.service.ts
index 117bd31..425949a 100644
--- a/src/app/content/hemat-app/service/monitoring-api.service.ts
+++ b/src/app/content/hemat-app/service/monitoring-api.service.ts
@@ -54,6 +54,15 @@ export class BuildingService {
return this.http.get(url, { headers });
}
+ getMasterBuildingData(page: number = 1, limit: number = 100): Observable {
+ const url = `https://kapi.absys.ninja/hemat/building?page=${page}&limit=${limit}`;
+ const headers = new HttpHeaders({
+ 'Content-Type': 'application/json',
+ 'x-api-key': 'j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT'
+ });
+ return this.http.get(url, { headers });
+ }
+
postHeaderDetailParam(data: any): Observable {
const url = `https://kapi.absys.ninja/hemat/header-detail-param`;
const headers = new HttpHeaders({
@@ -79,4 +88,21 @@ export class BuildingService {
});
return this.http.delete(url, { headers });
}
+
+ postMasterBuildingParam(data: any): Observable {
+ const url = `https://kapi.absys.ninja/hemat/building`;
+ const headers = new HttpHeaders({
+ 'Content-Type': 'application/json',
+ 'x-api-key': 'j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT'
+ });
+ return this.http.post(url, data, { headers });
+ }
+ putMasterBuildingParam(data: any, id: any): Observable {
+ const url = `https://kapi.absys.ninja/hemat/building/${id}`;
+ const headers = new HttpHeaders({
+ 'Content-Type': 'application/json',
+ 'x-api-key': 'j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT'
+ });
+ return this.http.put(url, data, { headers });
+ }
}