integrasi monitoring list
This commit is contained in:
		
							parent
							
								
									a72ca4ef59
								
							
						
					
					
						commit
						6061f4e58e
					
				@ -12,7 +12,7 @@
 | 
				
			|||||||
              src="../../../../assets/images/logo/logo.png">
 | 
					              src="../../../../assets/images/logo/logo.png">
 | 
				
			||||||
            <!-- <h3 class="brand-text">{{_themeSettingsConfig.brand.brand_name}}</h3> -->
 | 
					            <!-- <h3 class="brand-text">{{_themeSettingsConfig.brand.brand_name}}</h3> -->
 | 
				
			||||||
            <!-- <h3 class="brand-text">{{_themeSettingsConfig.brand.brand_name}} - (V@2024.05.22.01)</h3> -->
 | 
					            <!-- <h3 class="brand-text">{{_themeSettingsConfig.brand.brand_name}} - (V@2024.05.22.01)</h3> -->
 | 
				
			||||||
            <h3 class="brand-text" style="color: aliceblue;">Hemat - (V@2024.05.31.01)</h3>
 | 
					            <h3 class="brand-text" style="color: aliceblue;">Hemat - (V@2024.06.03.01)</h3>
 | 
				
			||||||
          </a></li>
 | 
					          </a></li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <li class="nav-item d-md-none"><a class="nav-link open-navbar-container" data-toggle="collapse"
 | 
					        <li class="nav-item d-md-none"><a class="nav-link open-navbar-container" data-toggle="collapse"
 | 
				
			||||||
 | 
				
			|||||||
@ -92,13 +92,28 @@
 | 
				
			|||||||
                        {{ value }}
 | 
					                        {{ value }}
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					                    </ngx-datatable-column>
 | 
				
			||||||
 | 
					                    <ngx-datatable-column
 | 
				
			||||||
 | 
					                      name="categoryEntity"
 | 
				
			||||||
 | 
					                      [flexGrow]="1"
 | 
				
			||||||
 | 
					                      [minWidth]="90"
 | 
				
			||||||
 | 
					                    >
 | 
				
			||||||
 | 
					                      <ng-template ngx-datatable-header-template>
 | 
				
			||||||
 | 
					                        <span>Category</span>
 | 
				
			||||||
 | 
					                      </ng-template>
 | 
				
			||||||
 | 
					                      <ng-template
 | 
				
			||||||
 | 
					                        ngx-datatable-cell-template
 | 
				
			||||||
 | 
					                        let-value="value"
 | 
				
			||||||
 | 
					                      >
 | 
				
			||||||
 | 
					                        {{ value.name }}
 | 
				
			||||||
 | 
					                      </ng-template>
 | 
				
			||||||
 | 
					                    </ngx-datatable-column>
 | 
				
			||||||
                    <ngx-datatable-column
 | 
					                    <ngx-datatable-column
 | 
				
			||||||
                      name="watt"
 | 
					                      name="watt"
 | 
				
			||||||
                      [flexGrow]="1"
 | 
					                      [flexGrow]="1"
 | 
				
			||||||
                      [minWidth]="90"
 | 
					                      [minWidth]="90"
 | 
				
			||||||
                    >
 | 
					                    >
 | 
				
			||||||
                      <ng-template ngx-datatable-header-template>
 | 
					                      <ng-template ngx-datatable-header-template>
 | 
				
			||||||
                        <span>watt</span>
 | 
					                        <span>Watt</span>
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                      <ng-template
 | 
					                      <ng-template
 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					                        ngx-datatable-cell-template
 | 
				
			||||||
@ -108,52 +123,37 @@
 | 
				
			|||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					                    </ngx-datatable-column>
 | 
				
			||||||
                    <ngx-datatable-column
 | 
					                    <ngx-datatable-column
 | 
				
			||||||
                      name="typeId"
 | 
					                      name="typeEntity"
 | 
				
			||||||
                      [flexGrow]="1"
 | 
					                      [flexGrow]="1"
 | 
				
			||||||
                      [minWidth]="90"
 | 
					                      [minWidth]="90"
 | 
				
			||||||
                    >
 | 
					                    >
 | 
				
			||||||
                      <ng-template ngx-datatable-header-template>
 | 
					                      <ng-template ngx-datatable-header-template>
 | 
				
			||||||
                        <span>typeId</span>
 | 
					                        <span>Type</span>
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                      <ng-template
 | 
					                      <ng-template
 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					                        ngx-datatable-cell-template
 | 
				
			||||||
                        let-value="value"
 | 
					                        let-value="value"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
                        {{ value }}
 | 
					                        {{ value.name }}
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					                    </ngx-datatable-column>
 | 
				
			||||||
                    <ngx-datatable-column
 | 
					                    <ngx-datatable-column
 | 
				
			||||||
                      name="roomBuildingId"
 | 
					                      name="voltageEntity"
 | 
				
			||||||
                      [flexGrow]="1"
 | 
					 | 
				
			||||||
                      [minWidth]="40"
 | 
					 | 
				
			||||||
                    >
 | 
					 | 
				
			||||||
                      <ng-template ngx-datatable-header-template>
 | 
					 | 
				
			||||||
                        <span>roomBuildingId</span>
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                      <ng-template
 | 
					 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                        let-value="value"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        {{ value }}
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					 | 
				
			||||||
                    <ngx-datatable-column
 | 
					 | 
				
			||||||
                      name="voltageId"
 | 
					 | 
				
			||||||
                      [flexGrow]="1"
 | 
					                      [flexGrow]="1"
 | 
				
			||||||
                      [minWidth]="90"
 | 
					                      [minWidth]="90"
 | 
				
			||||||
                    >
 | 
					                    >
 | 
				
			||||||
                      <ng-template ngx-datatable-header-template>
 | 
					                      <ng-template ngx-datatable-header-template>
 | 
				
			||||||
                        <span>voltageId</span>
 | 
					                        <span>Voltage</span>
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                      <ng-template
 | 
					                      <ng-template
 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					                        ngx-datatable-cell-template
 | 
				
			||||||
                        let-value="value"
 | 
					                        let-value="value"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
                        {{ value }}
 | 
					                        {{ value.name }}
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					                    </ngx-datatable-column>
 | 
				
			||||||
                    <ngx-datatable-column
 | 
					                    <ngx-datatable-column
 | 
				
			||||||
                      name="statusId"
 | 
					                      name="statusEntity"
 | 
				
			||||||
                      [flexGrow]="1"
 | 
					                      [flexGrow]="1"
 | 
				
			||||||
                      [minWidth]="90"
 | 
					                      [minWidth]="90"
 | 
				
			||||||
                    >
 | 
					                    >
 | 
				
			||||||
@ -164,7 +164,7 @@
 | 
				
			|||||||
                        ngx-datatable-cell-template
 | 
					                        ngx-datatable-cell-template
 | 
				
			||||||
                        let-value="value"
 | 
					                        let-value="value"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
                        {{ value === 2 ? "Aktif" : "Tidak Aktif" }}
 | 
					                        {{ value.name }}
 | 
				
			||||||
                      </ng-template>
 | 
					                      </ng-template>
 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					                    </ngx-datatable-column>
 | 
				
			||||||
                    <ngx-datatable-column
 | 
					                    <ngx-datatable-column
 | 
				
			||||||
@ -204,7 +204,7 @@
 | 
				
			|||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </section>
 | 
					      </section>
 | 
				
			||||||
      <section id="configuration">
 | 
					      <!-- <section id="configuration">
 | 
				
			||||||
        <div class="row">
 | 
					        <div class="row">
 | 
				
			||||||
          <div class="col-lg-6 col-12">
 | 
					          <div class="col-lg-6 col-12">
 | 
				
			||||||
            <div class="card pull-up">
 | 
					            <div class="card pull-up">
 | 
				
			||||||
@ -245,7 +245,7 @@
 | 
				
			|||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </section>
 | 
					      </section> -->
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,151 @@
 | 
				
			|||||||
 | 
					<div class="app-content content">
 | 
				
			||||||
 | 
					    <div class="content-wrapper">
 | 
				
			||||||
 | 
					      <div class="content-header row mb-1">
 | 
				
			||||||
 | 
					        <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					      <div class="content-body">
 | 
				
			||||||
 | 
					        <section id="basic-form-layouts">
 | 
				
			||||||
 | 
					          <div class="row">
 | 
				
			||||||
 | 
					            <div class="col-12" *blockUI="'projectInfo'; message: 'Loading'">
 | 
				
			||||||
 | 
					              <m-card>
 | 
				
			||||||
 | 
					                <ng-container mCardHeaderTitle>
 | 
				
			||||||
 | 
					                  <h2>
 | 
				
			||||||
 | 
					                    {{
 | 
				
			||||||
 | 
					                      isEditMode()
 | 
				
			||||||
 | 
					                        ? "Edit List Monitoring"
 | 
				
			||||||
 | 
					                        : isViewMode()
 | 
				
			||||||
 | 
					                        ? "View List Monitoring"
 | 
				
			||||||
 | 
					                        : "Add New List Monitoring"
 | 
				
			||||||
 | 
					                    }}
 | 
				
			||||||
 | 
					                  </h2>
 | 
				
			||||||
 | 
					                </ng-container>
 | 
				
			||||||
 | 
					                <ng-container mCardBody>
 | 
				
			||||||
 | 
					                  <form
 | 
				
			||||||
 | 
					                    [formGroup]="projectInfo"
 | 
				
			||||||
 | 
					                    (ngSubmit)="onProjectInfoSubmit()"
 | 
				
			||||||
 | 
					                  >
 | 
				
			||||||
 | 
					                    <div class="form-body">
 | 
				
			||||||
 | 
					                      <h4 class="form-section">
 | 
				
			||||||
 | 
					                        <i class="feather ft-user"></i> General Information
 | 
				
			||||||
 | 
					                      </h4>
 | 
				
			||||||
 | 
					                      <div class="row">
 | 
				
			||||||
 | 
					                        <div class="col-md-6">
 | 
				
			||||||
 | 
					                          <div class="form-group">
 | 
				
			||||||
 | 
					                            <label for="buildingId">Building *</label>
 | 
				
			||||||
 | 
					                            <div class="input-group">
 | 
				
			||||||
 | 
					                              <select
 | 
				
			||||||
 | 
					                                id="buildingId"
 | 
				
			||||||
 | 
					                                class="form-control"
 | 
				
			||||||
 | 
					                                formControlName="buildingId"
 | 
				
			||||||
 | 
					                                [ngClass]="{
 | 
				
			||||||
 | 
					                                  'is-invalid': submitted && f.buildingId.errors
 | 
				
			||||||
 | 
					                                }"
 | 
				
			||||||
 | 
					                              >
 | 
				
			||||||
 | 
					                                <option
 | 
				
			||||||
 | 
					                                  *ngFor="let data of dataBuildingList"
 | 
				
			||||||
 | 
					                                  [value]="data.id"
 | 
				
			||||||
 | 
					                                >
 | 
				
			||||||
 | 
					                                  {{ data.name }}
 | 
				
			||||||
 | 
					                                </option>
 | 
				
			||||||
 | 
					                              </select>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                            <small
 | 
				
			||||||
 | 
					                              class="form-text text-muted danger"
 | 
				
			||||||
 | 
					                              *ngIf="submitted && f.buildingId.errors"
 | 
				
			||||||
 | 
					                              class="invalid-feedback"
 | 
				
			||||||
 | 
					                            >
 | 
				
			||||||
 | 
					                              <div *ngIf="f.buildingId.errors.required">
 | 
				
			||||||
 | 
					                                Building is required
 | 
				
			||||||
 | 
					                              </div>
 | 
				
			||||||
 | 
					                            </small>
 | 
				
			||||||
 | 
					                          </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                        <div class="col-md-6">
 | 
				
			||||||
 | 
					                          <div class="form-group">
 | 
				
			||||||
 | 
					                            <label for="buildingId">Room *</label>
 | 
				
			||||||
 | 
					                            <div class="input-group">
 | 
				
			||||||
 | 
					                              <select
 | 
				
			||||||
 | 
					                                id="buildingId"
 | 
				
			||||||
 | 
					                                class="form-control"
 | 
				
			||||||
 | 
					                                formControlName="buildingId"
 | 
				
			||||||
 | 
					                                [ngClass]="{
 | 
				
			||||||
 | 
					                                  'is-invalid': submitted && f.buildingId.errors
 | 
				
			||||||
 | 
					                                }"
 | 
				
			||||||
 | 
					                              >
 | 
				
			||||||
 | 
					                                <option
 | 
				
			||||||
 | 
					                                  *ngFor="let data of dataRoomList"
 | 
				
			||||||
 | 
					                                  [value]="data.id"
 | 
				
			||||||
 | 
					                                >
 | 
				
			||||||
 | 
					                                  {{ data.name }}
 | 
				
			||||||
 | 
					                                </option>
 | 
				
			||||||
 | 
					                              </select>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                            <small
 | 
				
			||||||
 | 
					                              class="form-text text-muted danger"
 | 
				
			||||||
 | 
					                              *ngIf="submitted && f.buildingId.errors"
 | 
				
			||||||
 | 
					                              class="invalid-feedback"
 | 
				
			||||||
 | 
					                            >
 | 
				
			||||||
 | 
					                              <div *ngIf="f.buildingId.errors.required">
 | 
				
			||||||
 | 
					                                Room is required
 | 
				
			||||||
 | 
					                              </div>
 | 
				
			||||||
 | 
					                            </small>
 | 
				
			||||||
 | 
					                          </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                      </div>
 | 
				
			||||||
 | 
					                      <div class="row">
 | 
				
			||||||
 | 
					                        <div class="col-md-6">
 | 
				
			||||||
 | 
					                          <div class="form-group">
 | 
				
			||||||
 | 
					                            <label for="buildingId">Status *</label>
 | 
				
			||||||
 | 
					                            <div class="input-group">
 | 
				
			||||||
 | 
					                              <select
 | 
				
			||||||
 | 
					                                id="buildingId"
 | 
				
			||||||
 | 
					                                class="form-control"
 | 
				
			||||||
 | 
					                                formControlName="buildingId"
 | 
				
			||||||
 | 
					                                [ngClass]="{
 | 
				
			||||||
 | 
					                                  'is-invalid': submitted && f.buildingId.errors
 | 
				
			||||||
 | 
					                                }"
 | 
				
			||||||
 | 
					                              >
 | 
				
			||||||
 | 
					                                <option
 | 
				
			||||||
 | 
					                                  *ngFor="let data of dataMasterStatus"
 | 
				
			||||||
 | 
					                                  [value]="data.id"
 | 
				
			||||||
 | 
					                                >
 | 
				
			||||||
 | 
					                                  {{ data.name }}
 | 
				
			||||||
 | 
					                                </option>
 | 
				
			||||||
 | 
					                              </select>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                            <small
 | 
				
			||||||
 | 
					                              class="form-text text-muted danger"
 | 
				
			||||||
 | 
					                              *ngIf="submitted && f.buildingId.errors"
 | 
				
			||||||
 | 
					                              class="invalid-feedback"
 | 
				
			||||||
 | 
					                            >
 | 
				
			||||||
 | 
					                              <div *ngIf="f.buildingId.errors.required">
 | 
				
			||||||
 | 
					                                Building is required
 | 
				
			||||||
 | 
					                              </div>
 | 
				
			||||||
 | 
					                            </small>
 | 
				
			||||||
 | 
					                          </div>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					                      </div>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                    <div class="form-actions">
 | 
				
			||||||
 | 
					                      <button
 | 
				
			||||||
 | 
					                        type="button"
 | 
				
			||||||
 | 
					                        class="btn btn-warning mr-1"
 | 
				
			||||||
 | 
					                        (click)="cancel()"
 | 
				
			||||||
 | 
					                      >
 | 
				
			||||||
 | 
					                        <i class="feather ft-x"></i> Cancel
 | 
				
			||||||
 | 
					                      </button>
 | 
				
			||||||
 | 
					                      <button type="submit" class="btn btn-primary">
 | 
				
			||||||
 | 
					                        <i class="la la-check"></i> Save
 | 
				
			||||||
 | 
					                      </button>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                  </form>
 | 
				
			||||||
 | 
					                </ng-container>
 | 
				
			||||||
 | 
					              </m-card>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </section>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					import { ComponentFixture, TestBed } from '@angular/core/testing';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { AddEditListComponent } from './add-edit-list.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe('AddEditListComponent', () => {
 | 
				
			||||||
 | 
					  let component: AddEditListComponent;
 | 
				
			||||||
 | 
					  let fixture: ComponentFixture<AddEditListComponent>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  beforeEach(async () => {
 | 
				
			||||||
 | 
					    await TestBed.configureTestingModule({
 | 
				
			||||||
 | 
					      declarations: [ AddEditListComponent ]
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    .compileComponents();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fixture = TestBed.createComponent(AddEditListComponent);
 | 
				
			||||||
 | 
					    component = fixture.componentInstance;
 | 
				
			||||||
 | 
					    fixture.detectChanges();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  it('should create', () => {
 | 
				
			||||||
 | 
					    expect(component).toBeTruthy();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
@ -0,0 +1,165 @@
 | 
				
			|||||||
 | 
					import { Component, ViewChild } from '@angular/core';
 | 
				
			||||||
 | 
					import { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';
 | 
				
			||||||
 | 
					import { ActivatedRoute, Router } from '@angular/router';
 | 
				
			||||||
 | 
					import { BlockUI, NgBlockUI } from 'ng-block-ui';
 | 
				
			||||||
 | 
					import { BuildingService } from '../../service/monitoring-api.service';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: 'app-add-edit-list',
 | 
				
			||||||
 | 
					  templateUrl: './add-edit-list.component.html',
 | 
				
			||||||
 | 
					  styleUrls: ['./add-edit-list.component.css']
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class AddEditListComponent {
 | 
				
			||||||
 | 
					  @ViewChild("f", { read: true }) userProfileForm: NgForm;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  model: any = {};
 | 
				
			||||||
 | 
					  mode: string;
 | 
				
			||||||
 | 
					  public breadcrumb: any;
 | 
				
			||||||
 | 
					  projectInfo: FormGroup;
 | 
				
			||||||
 | 
					  submitted = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dataBuildingList: any;
 | 
				
			||||||
 | 
					  dataRoomList: any;
 | 
				
			||||||
 | 
					  dataMasterStatus: any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @BlockUI("projectInfo") blockUIProjectInfo: NgBlockUI;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor(
 | 
				
			||||||
 | 
					    private formBuilder: FormBuilder,
 | 
				
			||||||
 | 
					    private router: Router,
 | 
				
			||||||
 | 
					    private route: ActivatedRoute,
 | 
				
			||||||
 | 
					    private monitoringApiService: BuildingService,
 | 
				
			||||||
 | 
					  ) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ngOnInit() {
 | 
				
			||||||
 | 
					    this.route.data.subscribe((data) => {
 | 
				
			||||||
 | 
					      this.mode = data.mode;
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    this.setBreadcrumb();
 | 
				
			||||||
 | 
					    this.dataListBuilding();
 | 
				
			||||||
 | 
					    this.dataListRoom();
 | 
				
			||||||
 | 
					    this.dataListMaster();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    this.projectInfo = this.formBuilder.group({
 | 
				
			||||||
 | 
					      buildingId: ["", Validators.required],
 | 
				
			||||||
 | 
					      roomId: ["", Validators.required],
 | 
				
			||||||
 | 
					      statusId: ["", Validators.required],
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setBreadcrumb() {
 | 
				
			||||||
 | 
					    if (this.isAddMode()) {
 | 
				
			||||||
 | 
					      this.breadcrumb = {
 | 
				
			||||||
 | 
					        mainlabel: "Cost Management",
 | 
				
			||||||
 | 
					        links: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Home",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Cost Management",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Add New Cost Management",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    } else if (this.isEditMode()) {
 | 
				
			||||||
 | 
					      this.breadcrumb = {
 | 
				
			||||||
 | 
					        mainlabel: "Cost Management",
 | 
				
			||||||
 | 
					        links: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Home",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Cost Management",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Edit New Cost Management",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    } else if (this.isViewMode()) {
 | 
				
			||||||
 | 
					      this.breadcrumb = {
 | 
				
			||||||
 | 
					        mainlabel: "Cost Management",
 | 
				
			||||||
 | 
					        links: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Home",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "Cost Management",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            name: "View New Cost Management",
 | 
				
			||||||
 | 
					            isLink: false,
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  isEditMode() {
 | 
				
			||||||
 | 
					    return this.mode === "edit";
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  isViewMode() {
 | 
				
			||||||
 | 
					    return this.mode === "view";
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  isAddMode() {
 | 
				
			||||||
 | 
					    return this.mode === "add";
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  get f() {
 | 
				
			||||||
 | 
					    return this.projectInfo.controls;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onProjectInfoSubmit() {
 | 
				
			||||||
 | 
					    this.submitted = true;
 | 
				
			||||||
 | 
					    if (this.projectInfo.invalid) {
 | 
				
			||||||
 | 
					      return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  keyPress(event: any) {
 | 
				
			||||||
 | 
					    const pattern = /[0-9\+\-\ ]/;
 | 
				
			||||||
 | 
					    const inputChar = String.fromCharCode(event.charCode);
 | 
				
			||||||
 | 
					    if (event.keyCode !== 8 && !pattern.test(inputChar)) {
 | 
				
			||||||
 | 
					      event.preventDefault();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dataListBuilding() {
 | 
				
			||||||
 | 
					    this.monitoringApiService.getBuildingList().subscribe(data => {
 | 
				
			||||||
 | 
					      this.dataBuildingList = data.data
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  dataListRoom() {
 | 
				
			||||||
 | 
					    this.monitoringApiService.getListRoomData().subscribe(data => {
 | 
				
			||||||
 | 
					      this.dataRoomList = data.data
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  dataListMaster() {
 | 
				
			||||||
 | 
					    this.monitoringApiService.getMasterListData().subscribe(data => {
 | 
				
			||||||
 | 
					      const dataStatus = data.data.find(
 | 
				
			||||||
 | 
					        (item) => item.name === "master_status"
 | 
				
			||||||
 | 
					      ).headerDetailParam;
 | 
				
			||||||
 | 
					      this.dataMasterStatus = dataStatus.filter(item => item.status === "2")
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  addData() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  cancel() {
 | 
				
			||||||
 | 
					    this.router.navigate(["/list-monitoring"]);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -29,7 +29,7 @@
 | 
				
			|||||||
                    <div class="col-md-6 text-right">
 | 
					                    <div class="col-md-6 text-right">
 | 
				
			||||||
                      <button
 | 
					                      <button
 | 
				
			||||||
                        class="btn btn-secondary"
 | 
					                        class="btn btn-secondary"
 | 
				
			||||||
                        [routerLink]="['/cost-management/add-row']"
 | 
					                        [routerLink]="['/list-monitoring/add-row']"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
                        <i class="feather ft-plus"></i>  Add new data
 | 
					                        <i class="feather ft-plus"></i>  Add new data
 | 
				
			||||||
                      </button>
 | 
					                      </button>
 | 
				
			||||||
@ -59,83 +59,41 @@
 | 
				
			|||||||
                          {{ rowIndex + 1 }}
 | 
					                          {{ rowIndex + 1 }}
 | 
				
			||||||
                        </ng-template>
 | 
					                        </ng-template>
 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					                      </ngx-datatable-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                      <ngx-datatable-column
 | 
					                      <ngx-datatable-column
 | 
				
			||||||
                        name="Name"
 | 
					                        name="buildingEntity"
 | 
				
			||||||
                        [flexGrow]="1"
 | 
					                        [flexGrow]="1"
 | 
				
			||||||
                        [minWidth]="90"
 | 
					                        [minWidth]="90"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
                        <ng-template ngx-datatable-header-template>
 | 
					                        <ng-template ngx-datatable-header-template>
 | 
				
			||||||
                          <span>Estimasi Cost Name</span>
 | 
					                          <span>Building</span>
 | 
				
			||||||
                        </ng-template>
 | 
					                        </ng-template>
 | 
				
			||||||
                        <ng-template
 | 
					                        <ng-template
 | 
				
			||||||
                          let-value="value"
 | 
					                          let-value="value"
 | 
				
			||||||
                          ngx-datatable-cell-template
 | 
					                          ngx-datatable-cell-template
 | 
				
			||||||
                        >
 | 
					                        >
 | 
				
			||||||
                          {{ value }}
 | 
					                          {{ value.name }}
 | 
				
			||||||
                        </ng-template>
 | 
					                        </ng-template>
 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					                      </ngx-datatable-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                      <ngx-datatable-column
 | 
					                      <ngx-datatable-column
 | 
				
			||||||
                        name="Position"
 | 
					                        name="roomEntity"
 | 
				
			||||||
                        [flexGrow]="1"
 | 
					                        [flexGrow]="1"
 | 
				
			||||||
                        [minWidth]="90"
 | 
					                        [minWidth]="90"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
                        <ng-template ngx-datatable-header-template>
 | 
					                        <ng-template ngx-datatable-header-template>
 | 
				
			||||||
                          <span>Category</span>
 | 
					                          <span>Room</span>
 | 
				
			||||||
                        </ng-template>
 | 
					                        </ng-template>
 | 
				
			||||||
                        <ng-template
 | 
					                        <ng-template
 | 
				
			||||||
                          ngx-datatable-cell-template
 | 
					                          ngx-datatable-cell-template
 | 
				
			||||||
                          let-value="value"
 | 
					                          let-value="value"
 | 
				
			||||||
                        >
 | 
					                        >
 | 
				
			||||||
                          {{ value }}
 | 
					                          {{ value.name }}
 | 
				
			||||||
                        </ng-template>
 | 
					                        </ng-template>
 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					                      </ngx-datatable-column>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                      <ngx-datatable-column
 | 
					                      <ngx-datatable-column
 | 
				
			||||||
                        name="Office"
 | 
					                        name="statusEntity"
 | 
				
			||||||
                        [flexGrow]="1"
 | 
					 | 
				
			||||||
                        [minWidth]="90"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        <ng-template ngx-datatable-header-template>
 | 
					 | 
				
			||||||
                          <span>Location</span>
 | 
					 | 
				
			||||||
                        </ng-template>
 | 
					 | 
				
			||||||
                        <ng-template
 | 
					 | 
				
			||||||
                          ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                          let-value="value"
 | 
					 | 
				
			||||||
                        >
 | 
					 | 
				
			||||||
                          {{ value }}
 | 
					 | 
				
			||||||
                        </ng-template>
 | 
					 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					 | 
				
			||||||
                      <ngx-datatable-column
 | 
					 | 
				
			||||||
                        name="Age"
 | 
					 | 
				
			||||||
                        [flexGrow]="1"
 | 
					 | 
				
			||||||
                        [minWidth]="40"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        <ng-template ngx-datatable-header-template>
 | 
					 | 
				
			||||||
                          <span>Location Room</span>
 | 
					 | 
				
			||||||
                        </ng-template>
 | 
					 | 
				
			||||||
                        <ng-template
 | 
					 | 
				
			||||||
                          ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                          let-value="value"
 | 
					 | 
				
			||||||
                        >
 | 
					 | 
				
			||||||
                          {{ value }}
 | 
					 | 
				
			||||||
                        </ng-template>
 | 
					 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					 | 
				
			||||||
                      <ngx-datatable-column
 | 
					 | 
				
			||||||
                        name="Startdate"
 | 
					 | 
				
			||||||
                        [flexGrow]="1"
 | 
					 | 
				
			||||||
                        [minWidth]="90"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        <ng-template ngx-datatable-header-template>
 | 
					 | 
				
			||||||
                          <span>Duration Use</span>
 | 
					 | 
				
			||||||
                        </ng-template>
 | 
					 | 
				
			||||||
                        <ng-template
 | 
					 | 
				
			||||||
                          ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                          let-value="value"
 | 
					 | 
				
			||||||
                        >
 | 
					 | 
				
			||||||
                          {{ value }}
 | 
					 | 
				
			||||||
                        </ng-template>
 | 
					 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					 | 
				
			||||||
                      <ngx-datatable-column
 | 
					 | 
				
			||||||
                        name="Salary"
 | 
					 | 
				
			||||||
                        [flexGrow]="1"
 | 
					                        [flexGrow]="1"
 | 
				
			||||||
                        [minWidth]="90"
 | 
					                        [minWidth]="90"
 | 
				
			||||||
                      >
 | 
					                      >
 | 
				
			||||||
@ -146,9 +104,10 @@
 | 
				
			|||||||
                          ngx-datatable-cell-template
 | 
					                          ngx-datatable-cell-template
 | 
				
			||||||
                          let-value="value"
 | 
					                          let-value="value"
 | 
				
			||||||
                        >
 | 
					                        >
 | 
				
			||||||
                          {{ value }}
 | 
					                          {{ value.name }}
 | 
				
			||||||
                        </ng-template>
 | 
					                        </ng-template>
 | 
				
			||||||
                      </ngx-datatable-column>
 | 
					                      </ngx-datatable-column>
 | 
				
			||||||
 | 
					                      
 | 
				
			||||||
                      <ngx-datatable-column
 | 
					                      <ngx-datatable-column
 | 
				
			||||||
                        name="Actions"
 | 
					                        name="Actions"
 | 
				
			||||||
                        [flexGrow]="1"
 | 
					                        [flexGrow]="1"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
import { Component } from '@angular/core';
 | 
					import { Component } from '@angular/core';
 | 
				
			||||||
import { Router } from '@angular/router';
 | 
					import { Router } from '@angular/router';
 | 
				
			||||||
import { TableApiService } from 'src/app/_services/table-api.service';
 | 
					import { TableApiService } from 'src/app/_services/table-api.service';
 | 
				
			||||||
 | 
					import { BuildingService } from '../service/monitoring-api.service';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
  selector: 'app-list-monitoring',
 | 
					  selector: 'app-list-monitoring',
 | 
				
			||||||
@ -16,7 +17,8 @@ export class ListMonitoringComponent {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  constructor(
 | 
					  constructor(
 | 
				
			||||||
    private tableApiservice: TableApiService,
 | 
					    private tableApiservice: TableApiService,
 | 
				
			||||||
    private router: Router
 | 
					    private router: Router,
 | 
				
			||||||
 | 
					    private monitoringApiService: BuildingService
 | 
				
			||||||
  ) {}
 | 
					  ) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ngOnInit() {
 | 
					  ngOnInit() {
 | 
				
			||||||
@ -37,9 +39,12 @@ export class ListMonitoringComponent {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fetchData() {
 | 
					  fetchData() {
 | 
				
			||||||
    this.tableApiservice.getTableInitialisationData().subscribe((response) => {
 | 
					    this.monitoringApiService.getBuildingRoomList().subscribe((res) => {
 | 
				
			||||||
      this.data = response;
 | 
					      console.log(res);
 | 
				
			||||||
      this.filteredRows = this.data.rows;
 | 
					      this.data = res;
 | 
				
			||||||
 | 
					      this.filteredRows = this.data.results.data;
 | 
				
			||||||
 | 
					      console.log(this.filteredRows);
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -64,12 +69,12 @@ export class ListMonitoringComponent {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  viewRow(row) {
 | 
					  viewRow(row) {
 | 
				
			||||||
    console.log("View row:", row);
 | 
					    console.log("View row:", row);
 | 
				
			||||||
    this.router.navigate(["/cost-management/view", row.name]);
 | 
					    this.router.navigate(["/list-monitoring/view", row.name]);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  editRow(row) {
 | 
					  editRow(row) {
 | 
				
			||||||
    console.log("Edit row:", row);
 | 
					    console.log("Edit row:", row);
 | 
				
			||||||
    this.router.navigate(["/cost-management/edit", row.name]);
 | 
					    this.router.navigate(["/list-monitoring/edit", row.name]);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  deleteRow(row) {
 | 
					  deleteRow(row) {
 | 
				
			||||||
 | 
				
			|||||||
@ -12,12 +12,14 @@ import { BlockUIModule } from 'ng-block-ui';
 | 
				
			|||||||
import { BlockTemplateComponent } from '../../../_layout/blockui/block-template.component';
 | 
					import { BlockTemplateComponent } from '../../../_layout/blockui/block-template.component';
 | 
				
			||||||
import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';
 | 
					import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';
 | 
				
			||||||
import { ListMonitoringComponent } from './list-monitoring.component';
 | 
					import { ListMonitoringComponent } from './list-monitoring.component';
 | 
				
			||||||
 | 
					import { AddEditListComponent } from './add-edit-list/add-edit-list.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@NgModule({
 | 
					@NgModule({
 | 
				
			||||||
  declarations: [
 | 
					  declarations: [
 | 
				
			||||||
    ListMonitoringComponent
 | 
					    ListMonitoringComponent,
 | 
				
			||||||
 | 
					    AddEditListComponent
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  imports: [
 | 
					  imports: [
 | 
				
			||||||
    CommonModule,
 | 
					    CommonModule,
 | 
				
			||||||
@ -37,7 +39,21 @@ import { ListMonitoringComponent } from './list-monitoring.component';
 | 
				
			|||||||
        path: '',
 | 
					        path: '',
 | 
				
			||||||
        component: ListMonitoringComponent
 | 
					        component: ListMonitoringComponent
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      
 | 
					      {
 | 
				
			||||||
 | 
					        path: 'add-row',
 | 
				
			||||||
 | 
					        component: AddEditListComponent,
 | 
				
			||||||
 | 
					        data: { mode: 'add' }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        path: 'edit/:id',
 | 
				
			||||||
 | 
					        component: AddEditListComponent,
 | 
				
			||||||
 | 
					        data: { mode: 'edit' } 
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        path: 'view/:id',
 | 
				
			||||||
 | 
					        component: AddEditListComponent,
 | 
				
			||||||
 | 
					        data: { mode: 'view' } 
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    ])
 | 
					    ])
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1,38 @@
 | 
				
			|||||||
<p>master-user works!</p>
 | 
					<div class="app-content content bg-maintenance-image">
 | 
				
			||||||
 | 
					    <div class="content-wrapper">
 | 
				
			||||||
 | 
					      <div class="content-body">
 | 
				
			||||||
 | 
					        <section class="flexbox-container">
 | 
				
			||||||
 | 
					            <div class="col-12 d-flex align-items-center justify-content-center">
 | 
				
			||||||
 | 
					              <div class="col-md-4 col-10 box-shadow-2 p-0">
 | 
				
			||||||
 | 
					                <div class="card border-grey border-lighten-3 px-1 py-1 box-shadow-3 m-0">
 | 
				
			||||||
 | 
					                  <div class="card-body">
 | 
				
			||||||
 | 
					                    <span class="card-title text-center">
 | 
				
			||||||
 | 
					                      <img src="../../../../assets/images/logo/logo-dark-lg.png" class="img-fluid mx-auto d-block pt-2"
 | 
				
			||||||
 | 
					                        width="250" alt="logo">
 | 
				
			||||||
 | 
					                    </span>
 | 
				
			||||||
 | 
					                  </div>
 | 
				
			||||||
 | 
					                  <div class="card-body text-center">
 | 
				
			||||||
 | 
					                    <h3>This page is under maintenance</h3>
 | 
				
			||||||
 | 
					                    <p>We're sorry for the inconvenience.
 | 
				
			||||||
 | 
					                      <br> Please check back later.</p>
 | 
				
			||||||
 | 
					                    <div class="mt-2"><i class="la la-cog spinner font-large-2"></i></div>
 | 
				
			||||||
 | 
					                  </div>
 | 
				
			||||||
 | 
					                  <hr>
 | 
				
			||||||
 | 
					                  <!-- <p class="socialIcon card-text text-center pt-2 pb-2">
 | 
				
			||||||
 | 
					                    <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-facebook"><span
 | 
				
			||||||
 | 
					                        class="la la-facebook"></span></a>
 | 
				
			||||||
 | 
					                    <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-twitter"><span
 | 
				
			||||||
 | 
					                        class="la la-twitter"></span></a>
 | 
				
			||||||
 | 
					                    <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-linkedin"><span
 | 
				
			||||||
 | 
					                        class="la la-linkedin font-medium-4"></span></a>
 | 
				
			||||||
 | 
					                    <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-github"><span
 | 
				
			||||||
 | 
					                        class="la la-github font-medium-4"></span></a>
 | 
				
			||||||
 | 
					                  </p> -->
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </section>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
@ -108,6 +108,15 @@ export class BuildingService {
 | 
				
			|||||||
    return this.http.get<any>(url, { headers });
 | 
					    return this.http.get<any>(url, { headers });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  getBuildingList(): Observable<any> {
 | 
				
			||||||
 | 
					    const url = `https://kapi.absys.ninja/hemat/building/list`;
 | 
				
			||||||
 | 
					    const headers = new HttpHeaders({
 | 
				
			||||||
 | 
					      'Content-Type': 'application/json',
 | 
				
			||||||
 | 
					      'x-api-key': 'j2yaYvPSQcsEEmHh3NEobfiXyyXmmnHT'
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    return this.http.get<any>(url, { headers });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  getListRoomData(): Observable<any> {
 | 
					  getListRoomData(): Observable<any> {
 | 
				
			||||||
    const url = `https://kapi.absys.ninja/hemat/room/list`;
 | 
					    const url = `https://kapi.absys.ninja/hemat/room/list`;
 | 
				
			||||||
    const headers = new HttpHeaders({
 | 
					    const headers = new HttpHeaders({
 | 
				
			||||||
 | 
				
			|||||||
@ -1,116 +1,34 @@
 | 
				
			|||||||
<div class="app-content content">
 | 
					<div class="app-content content bg-maintenance-image">
 | 
				
			||||||
  <div class="content-wrapper">
 | 
					  <div class="content-wrapper">
 | 
				
			||||||
    <div class="content-header row mb-1">
 | 
					 | 
				
			||||||
      <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
    <div class="content-body">
 | 
					    <div class="content-body">
 | 
				
			||||||
      <section id="configuration">
 | 
					      <section class="flexbox-container">
 | 
				
			||||||
        <div class="row">
 | 
					          <div class="col-12 d-flex align-items-center justify-content-center">
 | 
				
			||||||
          <div
 | 
					            <div class="col-md-4 col-10 box-shadow-2 p-0">
 | 
				
			||||||
            class="col-12"
 | 
					              <div class="card border-grey border-lighten-3 px-1 py-1 box-shadow-3 m-0">
 | 
				
			||||||
            *blockUI="'zeroConfiguration'; message: 'Loading'"
 | 
					                <div class="card-body">
 | 
				
			||||||
          >
 | 
					                  <span class="card-title text-center">
 | 
				
			||||||
            <m-card>
 | 
					                    <img src="../../../../assets/images/logo/logo-dark-lg.png" class="img-fluid mx-auto d-block pt-2"
 | 
				
			||||||
              <ng-container mCardHeaderTitle>
 | 
					                      width="250" alt="logo">
 | 
				
			||||||
                User Access Table
 | 
					                  </span>
 | 
				
			||||||
              </ng-container>
 | 
					 | 
				
			||||||
              <ng-container mCardBody>
 | 
					 | 
				
			||||||
                <div class="row mb-2">
 | 
					 | 
				
			||||||
                  <div class="col-md-6">
 | 
					 | 
				
			||||||
                    <input
 | 
					 | 
				
			||||||
                      type="text"
 | 
					 | 
				
			||||||
                      class="form-control"
 | 
					 | 
				
			||||||
                      placeholder="Search..."
 | 
					 | 
				
			||||||
                      [(ngModel)]="searchTerm"
 | 
					 | 
				
			||||||
                      (input)="filterRows()"
 | 
					 | 
				
			||||||
                      (touchstart)="onTouchStart($event)"
 | 
					 | 
				
			||||||
                    />
 | 
					 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                  <div class="col-md-6 text-right">
 | 
					                <div class="card-body text-center">
 | 
				
			||||||
                    <button class="btn btn-secondary">
 | 
					                  <h3>This page is under maintenance</h3>
 | 
				
			||||||
                      <i class="feather ft-plus"></i>  Add new user
 | 
					                  <p>We're sorry for the inconvenience.
 | 
				
			||||||
                    </button>
 | 
					                    <br> Please check back later.</p>
 | 
				
			||||||
 | 
					                  <div class="mt-2"><i class="la la-cog spinner font-large-2"></i></div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
 | 
					                <hr>
 | 
				
			||||||
 | 
					                <!-- <p class="socialIcon card-text text-center pt-2 pb-2">
 | 
				
			||||||
 | 
					                  <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-facebook"><span
 | 
				
			||||||
 | 
					                      class="la la-facebook"></span></a>
 | 
				
			||||||
 | 
					                  <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-twitter"><span
 | 
				
			||||||
 | 
					                      class="la la-twitter"></span></a>
 | 
				
			||||||
 | 
					                  <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-linkedin"><span
 | 
				
			||||||
 | 
					                      class="la la-linkedin font-medium-4"></span></a>
 | 
				
			||||||
 | 
					                  <a [routerLink]="" class="btn btn-social-icon mr-1 mb-1 btn-outline-github"><span
 | 
				
			||||||
 | 
					                      class="la la-github font-medium-4"></span></a>
 | 
				
			||||||
 | 
					                </p> -->
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
                <div class="card-dashboard">
 | 
					 | 
				
			||||||
                  <ngx-datatable
 | 
					 | 
				
			||||||
                    class="bootstrap table-bordered"
 | 
					 | 
				
			||||||
                    [limit]="15"
 | 
					 | 
				
			||||||
                    [rows]="filteredRows"
 | 
					 | 
				
			||||||
                    [columnMode]="'force'"
 | 
					 | 
				
			||||||
                    [headerHeight]="50"
 | 
					 | 
				
			||||||
                    [footerHeight]="50"
 | 
					 | 
				
			||||||
                    [rowHeight]="50"
 | 
					 | 
				
			||||||
                    fxFlex="auto"
 | 
					 | 
				
			||||||
                    [scrollbarH]="true"
 | 
					 | 
				
			||||||
                  >
 | 
					 | 
				
			||||||
                    <ngx-datatable-column
 | 
					 | 
				
			||||||
                      name="#"
 | 
					 | 
				
			||||||
                      [flexGrow]="1"
 | 
					 | 
				
			||||||
                      [minWidth]="10"
 | 
					 | 
				
			||||||
                    >
 | 
					 | 
				
			||||||
                      <ng-template
 | 
					 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                        let-rowIndex="rowIndex"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        {{ rowIndex + 1 }}
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					 | 
				
			||||||
                    <ngx-datatable-column
 | 
					 | 
				
			||||||
                      name="Name"
 | 
					 | 
				
			||||||
                      [flexGrow]="1"
 | 
					 | 
				
			||||||
                      [minWidth]="90"
 | 
					 | 
				
			||||||
                    >
 | 
					 | 
				
			||||||
                      <ng-template ngx-datatable-header-template>
 | 
					 | 
				
			||||||
                        <span>Category Name</span>
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                      <ng-template
 | 
					 | 
				
			||||||
                        let-value="value"
 | 
					 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        {{ value }}
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					 | 
				
			||||||
                    <ngx-datatable-column
 | 
					 | 
				
			||||||
                      name="Salary"
 | 
					 | 
				
			||||||
                      [flexGrow]="1"
 | 
					 | 
				
			||||||
                      [minWidth]="90"
 | 
					 | 
				
			||||||
                    >
 | 
					 | 
				
			||||||
                      <ng-template ngx-datatable-header-template>
 | 
					 | 
				
			||||||
                        <span>Status</span>
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                      <ng-template
 | 
					 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                        let-value="value"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        {{ value }}
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					 | 
				
			||||||
                    <ngx-datatable-column
 | 
					 | 
				
			||||||
                      name="Actions"
 | 
					 | 
				
			||||||
                      [flexGrow]="1"
 | 
					 | 
				
			||||||
                      [minWidth]="150"
 | 
					 | 
				
			||||||
                    >
 | 
					 | 
				
			||||||
                      <ng-template
 | 
					 | 
				
			||||||
                        ngx-datatable-cell-template
 | 
					 | 
				
			||||||
                        let-rowIndex="rowIndex"
 | 
					 | 
				
			||||||
                        let-row="row"
 | 
					 | 
				
			||||||
                      >
 | 
					 | 
				
			||||||
                        <button class="btn btn-sm btn-info mr-1">
 | 
					 | 
				
			||||||
                          <i class="ficon feather ft-eye"></i>
 | 
					 | 
				
			||||||
                        </button>
 | 
					 | 
				
			||||||
                        <button class="btn btn-sm btn-warning mr-1">
 | 
					 | 
				
			||||||
                          <i class="ficon feather ft-edit"></i>
 | 
					 | 
				
			||||||
                        </button>
 | 
					 | 
				
			||||||
                        <button class="btn btn-sm btn-danger">
 | 
					 | 
				
			||||||
                          <i class="ficon feather ft-trash-2"></i>
 | 
					 | 
				
			||||||
                        </button>
 | 
					 | 
				
			||||||
                      </ng-template>
 | 
					 | 
				
			||||||
                    </ngx-datatable-column>
 | 
					 | 
				
			||||||
                  </ngx-datatable>
 | 
					 | 
				
			||||||
                </div>
 | 
					 | 
				
			||||||
              </ng-container>
 | 
					 | 
				
			||||||
            </m-card>
 | 
					 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </section>
 | 
					        </section>
 | 
				
			||||||
 | 
				
			|||||||
@ -133,7 +133,7 @@
 | 
				
			|||||||
                <p
 | 
					                <p
 | 
				
			||||||
                  class="card-subtitle line-on-side text-muted text-center font-small-3 mx-2 my-1"
 | 
					                  class="card-subtitle line-on-side text-muted text-center font-small-3 mx-2 my-1"
 | 
				
			||||||
                >
 | 
					                >
 | 
				
			||||||
                  <span>New to Modern ? (v@2024.05.31.01)</span>
 | 
					                  <span>New to Modern ? (v@2024.06.03.01)</span>
 | 
				
			||||||
                </p>
 | 
					                </p>
 | 
				
			||||||
                <div class="card-body">
 | 
					                <div class="card-body">
 | 
				
			||||||
                  <a
 | 
					                  <a
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user