diff --git a/src/app/_layout/footer/footer.component.html b/src/app/_layout/footer/footer.component.html index 7e3d083..a87c999 100644 --- a/src/app/_layout/footer/footer.component.html +++ b/src/app/_layout/footer/footer.component.html @@ -13,7 +13,7 @@ href="https://allbestsistem.com/" target="_blank" style="background-color: #ffffff !important;" - >Smart Building Management Systems (V@2024-08-19.1) + >Smart Building Management Systems (V@2024-08-19.2)

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 fb72e4a..b998ff0 100644 --- a/src/app/content/hemat-app/monitoring/building/building.component.html +++ b/src/app/content/hemat-app/monitoring/building/building.component.html @@ -16,6 +16,7 @@ bindValue="id" placeholder="Select Building" [(ngModel)]="buildingSelected" + (change)="buildingChange($event)" > @@ -26,6 +27,7 @@ class="select-custom" [items]="dataFloorList" [searchable]="true" + [disabled]="disableFloorList" bindLabel="name" bindValue="id" placeholder="Select Floor" diff --git a/src/app/content/hemat-app/monitoring/building/building.component.ts b/src/app/content/hemat-app/monitoring/building/building.component.ts index fdd393e..e60aaeb 100644 --- a/src/app/content/hemat-app/monitoring/building/building.component.ts +++ b/src/app/content/hemat-app/monitoring/building/building.component.ts @@ -21,6 +21,7 @@ export class BuildingComponent { spinnerFilterActive = false; typeData: any; labelData: any; + disableFloorList = true; dataBuildingList: any; buildingSelected: any; @@ -60,9 +61,9 @@ export class BuildingComponent { showLabel: false, }, }; - this.listBuilding(this.buildingSelected, this.floorSelected); + this.dataListBuilding(); - this.dataListFloor(); + this.listBuilding(this.buildingSelected, this.floorSelected); } dataListBuilding() { @@ -73,23 +74,28 @@ export class BuildingComponent { }); } - dataListFloor() { - this.monitoringApiService.getMasterData().subscribe((data) => { - const dataMasterFloor = data.results.data.find( - (item) => item.name === "master_floor" - ); - const listFloor = dataMasterFloor.headerDetailParam.sort( - (a, b) => b.id - a.id - ); - const newArray = listFloor - .map((item) => ({ - id: item.id, - name: `${item.name} (${item.code})`, - })) - .sort((a, b) => b.id - a.id); + buildingChange(e) { + if (e) { + this.dataListFloor(e.id); + this.disableFloorList = false; + } else { + this.floorSelected = null; + this.disableFloorList = true; + } + } - this.dataFloorList = newArray; - }); + dataListFloor(buildingId) { + this.monitoringApiService + .getMasterDataListFloor(buildingId) + .subscribe((data) => { + const newArray = data.data + .map((item) => ({ + id: item.id, + name: `${item.name} (${item.code})`, + })) + .sort((a, b) => b.id - a.id); + this.dataFloorList = newArray; + }); } listBuilding(buildingId, floorId) { @@ -116,9 +122,18 @@ export class BuildingComponent { viewDetail(row) { if (row.building_id !== undefined && row.floor_id === undefined) { - this.router.navigate(["/monitoring/view-detail-floor", row.building_id, row.id]); + this.router.navigate([ + "/monitoring/view-detail-floor", + row.building_id, + row.id, + ]); } else if (row.building_id !== undefined && row.floor_id !== undefined) { - this.router.navigate(["/monitoring/view-detail-room", row.building_id, row.floor_id, row.id]); + this.router.navigate([ + "/monitoring/view-detail-room", + row.building_id, + row.floor_id, + row.id, + ]); } else { this.router.navigate(["/monitoring/view-detail-building", row.id]); } 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 b7e386e..2301b82 100644 --- a/src/app/content/hemat-app/service/monitoring-api.service.ts +++ b/src/app/content/hemat-app/service/monitoring-api.service.ts @@ -72,6 +72,15 @@ export class BuildingService { return this.http.get(url, { headers }); } + getMasterDataListFloor(buildingId): Observable { + const url = `https://kapi.absys.ninja/hemat/header-detail-param/list?headerId=6&building_id=${buildingId}`; + const headers = new HttpHeaders({ + "Content-Type": "application/json", + "x-api-key": "j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT", + }); + return this.http.get(url, { headers }); + } + getMasterBuildingData( page: number = 1, limit: number = 100 diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html index 7d70b4e..1255344 100644 --- a/src/app/login/login.component.html +++ b/src/app/login/login.component.html @@ -138,7 +138,7 @@

- (v@2024.08.19.1) + (v@2024.08.19.2)