penambahan page monitoring building dan master category
This commit is contained in:
		
							parent
							
								
									5187f4e29f
								
							
						
					
					
						commit
						fcdafc8aea
					
				| @ -1,29 +1,66 @@ | |||||||
| <footer id="footer" class="footer footer-static footer-light navbar-border navbar-shadow" *ngIf="showFooter"> | <footer | ||||||
|   <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"><span |   id="footer" | ||||||
|       class="float-md-left d-block d-md-inline-block">Copyright © 2022 <a [routerLink]="" |   class="footer footer-static footer-light navbar-border navbar-shadow" | ||||||
|         class="text-bold-800 grey darken-2" href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent" |   *ngIf="showFooter" | ||||||
|         target="_blank">PIXINVENT </a></span><span *ngIf="!hideMadeWithLove" | > | ||||||
|       class="float-md-right d-block d-md-inline-block d-none d-lg-block">Hand-crafted & Made with <i |   <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"> | ||||||
|         class="feather ft-heart pink"></i> |     <span class="float-md-left d-block d-md-inline-block" | ||||||
|       <span id="scroll-top"></span></span></p> |       >Copyright © 2024 | ||||||
|  |       <a | ||||||
|  |         [routerLink]="" | ||||||
|  |         class="text-bold-800 grey darken-2" | ||||||
|  |         href="https://allbestsistem.com/" | ||||||
|  |         target="_blank" | ||||||
|  |         >Allbest Solusi Sistem | ||||||
|  |       </a></span | ||||||
|  |     > | ||||||
|  |   </p> | ||||||
| </footer> | </footer> | ||||||
| 
 | 
 | ||||||
| <footer id="footer" class="footer fixed-bottom footer-light navbar-border navbar-shadow" *ngIf="fixedFooter"> | <footer | ||||||
|   <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"><span |   id="footer" | ||||||
|       class="float-md-left d-block d-md-inline-block">Copyright © 2022 <a [routerLink]="" |   class="footer fixed-bottom footer-light navbar-border navbar-shadow" | ||||||
|         class="text-bold-800 grey darken-2" href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent" |   *ngIf="fixedFooter" | ||||||
|         target="_blank">PIXINVENT </a></span><span *ngIf="!hideMadeWithLove" | > | ||||||
|       class="float-md-right d-block d-md-inline-block d-none d-lg-block">Hand-crafted & Made with <i |   <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"> | ||||||
|         class="feather ft-heart pink"></i> |     <span class="float-md-left d-block d-md-inline-block" | ||||||
|       <span id="scroll-top"></span></span></p> |       >Copyright © 2022 | ||||||
|  |       <a | ||||||
|  |         [routerLink]="" | ||||||
|  |         class="text-bold-800 grey darken-2" | ||||||
|  |         href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent" | ||||||
|  |         target="_blank" | ||||||
|  |         >PIXINVENT | ||||||
|  |       </a></span | ||||||
|  |     ><span | ||||||
|  |       *ngIf="!hideMadeWithLove" | ||||||
|  |       class="float-md-right d-block d-md-inline-block d-none d-lg-block" | ||||||
|  |       >Hand-crafted & Made with <i class="feather ft-heart pink"></i> | ||||||
|  |       <span id="scroll-top"></span | ||||||
|  |     ></span> | ||||||
|  |   </p> | ||||||
| </footer> | </footer> | ||||||
| 
 | 
 | ||||||
| <footer id="footer" class="footer fixed-bottom footer-dark navbar-border navbar-shadow" *ngIf="darkFooter"> | <footer | ||||||
|   <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"><span |   id="footer" | ||||||
|       class="float-md-left d-block d-md-inline-block">Copyright © 2022 <a [routerLink]="" |   class="footer fixed-bottom footer-dark navbar-border navbar-shadow" | ||||||
|         class="text-bold-800 grey darken-2" href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent" |   *ngIf="darkFooter" | ||||||
|         target="_blank">PIXINVENT </a></span><span *ngIf="!hideMadeWithLove" | > | ||||||
|       class="float-md-right d-block d-md-inline-block d-none d-lg-block">Hand-crafted & Made with <i |   <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"> | ||||||
|         class="feather ft-heart pink"></i> |     <span class="float-md-left d-block d-md-inline-block" | ||||||
|       <span id="scroll-top"></span></span></p> |       >Copyright © 2022 | ||||||
|  |       <a | ||||||
|  |         [routerLink]="" | ||||||
|  |         class="text-bold-800 grey darken-2" | ||||||
|  |         href="https://themeforest.net/user/pixinvent/portfolio?ref=pixinvent" | ||||||
|  |         target="_blank" | ||||||
|  |         >PIXINVENT | ||||||
|  |       </a></span | ||||||
|  |     ><span | ||||||
|  |       *ngIf="!hideMadeWithLove" | ||||||
|  |       class="float-md-right d-block d-md-inline-block d-none d-lg-block" | ||||||
|  |       >Hand-crafted & Made with <i class="feather ft-heart pink"></i> | ||||||
|  |       <span id="scroll-top"></span | ||||||
|  |     ></span> | ||||||
|  |   </p> | ||||||
| </footer> | </footer> | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ | |||||||
|                 <div class="card-dashboard"> |                 <div class="card-dashboard"> | ||||||
|                   <ngx-datatable |                   <ngx-datatable | ||||||
|                     class="bootstrap table-bordered" |                     class="bootstrap table-bordered" | ||||||
|                     [limit]="7" |                     [limit]="10" | ||||||
|                     [rows]="filteredRows" |                     [rows]="filteredRows" | ||||||
|                     [columnMode]="'force'" |                     [columnMode]="'force'" | ||||||
|                     [headerHeight]="50" |                     [headerHeight]="50" | ||||||
| @ -65,7 +65,7 @@ | |||||||
|                       [minWidth]="90" |                       [minWidth]="90" | ||||||
|                     > |                     > | ||||||
|                       <ng-template ngx-datatable-header-template> |                       <ng-template ngx-datatable-header-template> | ||||||
|                         <span>Device Name</span> |                         <span>Estimasi Cost Name</span> | ||||||
|                       </ng-template> |                       </ng-template> | ||||||
|                       <ng-template |                       <ng-template | ||||||
|                         let-value="value" |                         let-value="value" | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ | |||||||
|                 <div class="card-dashboard"> |                 <div class="card-dashboard"> | ||||||
|                   <ngx-datatable |                   <ngx-datatable | ||||||
|                     class="bootstrap table-bordered" |                     class="bootstrap table-bordered" | ||||||
|                     [limit]="7" |                     [limit]="10" | ||||||
|                     [rows]="filteredRows" |                     [rows]="filteredRows" | ||||||
|                     [columnMode]="'force'" |                     [columnMode]="'force'" | ||||||
|                     [headerHeight]="50" |                     [headerHeight]="50" | ||||||
|  | |||||||
| @ -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; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -1 +1,131 @@ | |||||||
| <p>master-category works!</p> | <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="configuration"> | ||||||
|  |           <div class="row"> | ||||||
|  |             <div | ||||||
|  |               class="col-12" | ||||||
|  |               *blockUI="'zeroConfiguration'; message: 'Loading'" | ||||||
|  |             > | ||||||
|  |               <m-card> | ||||||
|  |                 <ng-container mCardHeaderTitle> | ||||||
|  |                   Master Category Table | ||||||
|  |                 </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 class="col-md-6 text-right"> | ||||||
|  |                       <button | ||||||
|  |                         class="btn btn-secondary" | ||||||
|  |                       > | ||||||
|  |                         <i class="feather ft-plus"></i>  Add new master | ||||||
|  |                       </button> | ||||||
|  |                     </div> | ||||||
|  |                   </div> | ||||||
|  |                   <div class="card-dashboard"> | ||||||
|  |                     <ngx-datatable | ||||||
|  |                       class="bootstrap table-bordered" | ||||||
|  |                       [limit]="10" | ||||||
|  |                       [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> | ||||||
|  |         </section> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
|  |    | ||||||
| @ -1,10 +1,87 @@ | |||||||
| import { Component } from '@angular/core'; | import { Component, OnInit } from '@angular/core'; | ||||||
|  | import { Router } from '@angular/router'; | ||||||
|  | import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; | ||||||
|  | import { BlockUI, NgBlockUI } from 'ng-block-ui'; | ||||||
|  | import { TableApiService } from 'src/app/_services/table-api.service'; | ||||||
| 
 | 
 | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-master-category', |   selector: 'app-master-category', | ||||||
|   templateUrl: './master-category.component.html', |   templateUrl: './master-category.component.html', | ||||||
|   styleUrls: ['./master-category.component.css'] |   styleUrls: ['./master-category.component.css'] | ||||||
| }) | }) | ||||||
| export class MasterCategoryComponent { | export class MasterCategoryComponent implements OnInit{ | ||||||
|  |   data: any; | ||||||
|  |   filteredRows: any[]; | ||||||
|  |   searchTerm: string = ""; | ||||||
|  |   rows: any = []; | ||||||
|  |   public breadcrumb: any; | ||||||
| 
 | 
 | ||||||
|  |   @BlockUI("zeroConfiguration") blockUIZeroConfiguration: NgBlockUI; | ||||||
|  | 
 | ||||||
|  |   constructor( | ||||||
|  |     private tableApiservice: TableApiService, | ||||||
|  |     private modalService: NgbModal, | ||||||
|  |     private router: Router | ||||||
|  |   ) {} | ||||||
|  | 
 | ||||||
|  |   ngOnInit() { | ||||||
|  |     this.breadcrumb = { | ||||||
|  |       mainlabel: "Master Category", | ||||||
|  |       links: [ | ||||||
|  |         { | ||||||
|  |           name: "Home", | ||||||
|  |           isLink: false, | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           name: "Master Category", | ||||||
|  |           isLink: false, | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |     }; | ||||||
|  |     this.fetchData(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   fetchData() { | ||||||
|  |     this.tableApiservice.getTableInitialisationData().subscribe((response) => { | ||||||
|  |       this.data = response; | ||||||
|  |       this.filteredRows = this.data.rows; | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   filterRows() { | ||||||
|  |     if (!this.searchTerm) { | ||||||
|  |       this.filteredRows = [...this.data.rows]; | ||||||
|  |     } else { | ||||||
|  |       this.filteredRows = this.data.rows.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) | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   viewRow(row) { | ||||||
|  |     console.log("View row:", row); | ||||||
|  |     this.router.navigate(["/device/view", row.name]); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   editRow(row) { | ||||||
|  |     console.log("Edit row:", row); | ||||||
|  |     this.router.navigate(["/device/edit", row.name]); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   deleteRow(row) { | ||||||
|  |     console.log("Delete row:", row); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   onTouchStart(event: Event) { | ||||||
|  |     event.preventDefault(); // Add this if necessary
 | ||||||
|  |   } | ||||||
| } | } | ||||||
|  | |||||||
| @ -16,6 +16,7 @@ import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; | |||||||
| import { BlockTemplateComponent } from 'src/app/_layout/blockui/block-template.component'; | import { BlockTemplateComponent } from 'src/app/_layout/blockui/block-template.component'; | ||||||
| import { CardModule } from '../../partials/general/card/card.module'; | import { CardModule } from '../../partials/general/card/card.module'; | ||||||
| import { MatchHeightModule } from '../../partials/general/match-height/match-height.module'; | import { MatchHeightModule } from '../../partials/general/match-height/match-height.module'; | ||||||
|  | import { BreadcrumbModule } from 'src/app/_layout/breadcrumb/breadcrumb.module'; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -35,6 +36,7 @@ import { MatchHeightModule } from '../../partials/general/match-height/match-hei | |||||||
|     MatchHeightModule, |     MatchHeightModule, | ||||||
|     NgxDatatableModule, |     NgxDatatableModule, | ||||||
|     PerfectScrollbarModule, |     PerfectScrollbarModule, | ||||||
|  |     BreadcrumbModule, | ||||||
|     NgbModule, |     NgbModule, | ||||||
|     BlockUIModule.forRoot({ |     BlockUIModule.forRoot({ | ||||||
|       template: BlockTemplateComponent |       template: BlockTemplateComponent | ||||||
|  | |||||||
| @ -1,140 +1,8 @@ | |||||||
| :host ::ng-deep .Likes .ct-series-a .ct-point { | :host ::ng-deep .gap_fl_btn { | ||||||
|     stroke: #28d094; |     margin: 0 0.3rem; | ||||||
| } | } | ||||||
| :host ::ng-deep .Likes .ct-line { |  | ||||||
|     fill: none; |  | ||||||
|     stroke-width: 2px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Likes .ct-point{ |  | ||||||
|     stroke-width: 0px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Likes .ct-series-a .ct-line { |  | ||||||
|     stroke: #28d094; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Likes .ct-series-a .ct-area { |  | ||||||
|     fill: #28d094; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Comments .ct-series-a .ct-point { |  | ||||||
|     stroke: #FF9149; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Comments .ct-line { |  | ||||||
|     fill: none; |  | ||||||
|     stroke-width: 2px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Comments .ct-point{ |  | ||||||
|     stroke-width: 0px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Comments .ct-series-a .ct-line { |  | ||||||
|     stroke: #FF9149; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Comments .ct-series-a .ct-area { |  | ||||||
|     fill: #FF9149; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Views .ct-series-a .ct-point { |  | ||||||
|     stroke: #FF4961; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Views .ct-line { |  | ||||||
|     fill: none; |  | ||||||
|     stroke-width: 2px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Views .ct-point{ |  | ||||||
|     stroke-width: 0px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Views .ct-series-a .ct-line { |  | ||||||
|     stroke: #FF4961; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Views .ct-series-a .ct-area { |  | ||||||
|     fill: #FF4961; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-cost .ct-series-a .ct-point{ |  | ||||||
|     stroke: #ff9149; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-cost .ct-series-a .ct-line{ |  | ||||||
|     stroke: #ff9149; |  | ||||||
| 
 | 
 | ||||||
|  | :host ::ng-deep .block-ui-wrapper { | ||||||
|  |   background: rgba(255, 249, 249, 0.5) !important; | ||||||
| } | } | ||||||
| :host ::ng-deep .sp-line-total-cost .ct-series-a .ct-area{ |  | ||||||
|     fill: #ff9149; |  | ||||||
|     fill-opacity: 1; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-cost .ct-point{ |  | ||||||
|     stroke-width: 0px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-cost svg { |  | ||||||
|     margin-left: 13px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-sales .ct-series-a .ct-point{ |  | ||||||
|     stroke: #28d094; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-sales .ct-series-a .ct-line{ |  | ||||||
|     stroke: #28d094; |  | ||||||
| 
 | 
 | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-sales .ct-series-a .ct-area{ |  | ||||||
|     fill: #28d094; |  | ||||||
|     fill-opacity: 1; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-sales .ct-point{ |  | ||||||
|     stroke-width: 0px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-sales svg { |  | ||||||
|     margin-left: 13px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-revenue .ct-series-a .ct-point{ |  | ||||||
|     stroke: #ff4961; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-revenue .ct-series-a .ct-line{ |  | ||||||
|     stroke: #ff4961; |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-revenue .ct-series-a .ct-area{ |  | ||||||
|     fill: #ff4961; |  | ||||||
|     fill-opacity: 1; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-revenue .ct-point{ |  | ||||||
|     stroke-width: 0px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .sp-line-total-revenue svg { |  | ||||||
|     margin-left: 13px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .ct-bar { |  | ||||||
|     fill: none; |  | ||||||
|     stroke-width: 2px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .sp-bar-total-cost .ct-series-a .ct-bar{ |  | ||||||
|     stroke: #ff9148; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .sp-bar-total-sales .ct-series-a .ct-bar{ |  | ||||||
|     stroke: #28d094; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .sp-bar-total-revenue .ct-series-a .ct-bar{ |  | ||||||
|     stroke: #ff4961; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .sp-bar-total-cost { |  | ||||||
|     margin-bottom: -90px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .sp-bar-total-sales{ |  | ||||||
|     margin-bottom: -90px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .sp-bar-total-revenue{ |  | ||||||
|     margin-bottom: -90px; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .feedbacks .ct-series-a .ct-slice-donut { |  | ||||||
|     stroke: #28d094; |  | ||||||
|     stroke-width: 10px !important; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Subscribers .ct-series-a .ct-slice-donut { |  | ||||||
|     stroke: #ff9149; |  | ||||||
|     stroke-width: 10px !important; |  | ||||||
| } |  | ||||||
| :host ::ng-deep .Users .ct-series-a .ct-slice-donut { |  | ||||||
|     stroke: #ff4961; |  | ||||||
|     stroke-width: 10px !important; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .ct-series-b .ct-slice-donut { |  | ||||||
|     stroke: #eeeeee; |  | ||||||
|     stroke-width: 12px !important; |  | ||||||
| } |  | ||||||
| :host ::ng-deep  .text-muted { |  | ||||||
|    position: absolute; |  | ||||||
| } |  | ||||||
|  | |||||||
| @ -6,181 +6,130 @@ | |||||||
|     <div class="content-body"> |     <div class="content-body"> | ||||||
|       <section id="social-cards"> |       <section id="social-cards"> | ||||||
|         <div class="row mt-2"> |         <div class="row mt-2"> | ||||||
|           <div class="col-xl-4 col-md-6 col-12"> |           <div class="col-xl-4 col-md-6 col-12" *ngFor="let data of dataArray"> | ||||||
|             <div class="card"> |             <div class="card"> | ||||||
|               <div class="card-content"> |               <div class="card-content"> | ||||||
|                 <div class="card-body text-center"> |                 <div class="card-body text-center"> | ||||||
|                   <div class="card-header mb-2"> |                   <div class="card-header mb-2"> | ||||||
|                     <span class="success">New Feedbacks</span> |                     <div class="row"> | ||||||
|                     <h3 class="display-4 blue-grey darken-1">2,487</h3> |                       <div class="col-12 text-center"> | ||||||
|  |                         <h4 | ||||||
|  |                           class="text-muted mb-1 font-weight-bold" | ||||||
|  |                           style="font-family: Montserrat, sans-serif" | ||||||
|  |                         > | ||||||
|  |                           Building Name | ||||||
|  |                         </h4> | ||||||
|  |                         <h3 | ||||||
|  |                           class="text-muted mb-0" | ||||||
|  |                           style="font-family: Montserrat, sans-serif" | ||||||
|  |                         > | ||||||
|  |                           {{data.build_name}} | ||||||
|  |                         </h3> | ||||||
|  |                       </div> | ||||||
|  |                     </div> | ||||||
|  |                     <hr style="border-top: 3px solid #100a0a" /> | ||||||
|                   </div> |                   </div> | ||||||
|                   <div class="card-content"> |                   <div class="card-content"> | ||||||
|                     <i |  | ||||||
|                       class="knob-center-icon icon-note knob hide-value responsive angle-offset" |  | ||||||
|                       style=" |  | ||||||
|                         width: 79px; |  | ||||||
|                         height: 50px; |  | ||||||
|                         position: absolute; |  | ||||||
|                         vertical-align: middle; |  | ||||||
|                         margin-top: 70px; |  | ||||||
|                         margin-left: -30px; |  | ||||||
|                         border: 0px; |  | ||||||
|                         background: none; |  | ||||||
|                         font: bold 30px Arial; |  | ||||||
|                         text-align: center; |  | ||||||
|                         color: rgb(225, 225, 225); |  | ||||||
|                         padding: 0px; |  | ||||||
|                         font-size: 50px; |  | ||||||
|                       " |  | ||||||
|                     ></i> |  | ||||||
|                     <x-chartist |                     <x-chartist | ||||||
|                       *ngIf="feedbacksdonutChart" |                       *ngIf="data" | ||||||
|                       class="feedbacks" |                       [data]="data.donut" | ||||||
|                       [data]="feedbacksdonutChart.data" |                       [type]="donutChart1.type" | ||||||
|                       [type]="feedbacksdonutChart.type" |                       [options]="donutChart1.options" | ||||||
|                       [options]="feedbacksdonutChart.options" |                       [events]="donutChart1.events" | ||||||
|                       [responsiveOptions]=" |  | ||||||
|                         feedbacksdonutChart.responsiveOptions |  | ||||||
|                       " |  | ||||||
|                       [events]="feedbacksdonutChart.events" |  | ||||||
|                     > |                     > | ||||||
|                     </x-chartist> |                     </x-chartist> | ||||||
|                     <ul class="list-inline clearfix mt-2"> | 
 | ||||||
|                       <li |                     <div | ||||||
|                         class="border-right-blue-grey border-right-lighten-2 pr-1" |                       class="text-center" | ||||||
|                       > |  | ||||||
|                         <h1 class="blue-grey darken-1 text-bold-400">95%</h1> |  | ||||||
|                         <span class="success" |  | ||||||
|                           ><i class="la la-caret-up"></i> Positive</span |  | ||||||
|                         > |  | ||||||
|                       </li> |  | ||||||
|                       <li> |  | ||||||
|                         <h1 class="blue-grey darken-1 text-bold-400">5%</h1> |  | ||||||
|                         <span class="danger darken-2" |  | ||||||
|                           ><i class="la la-caret-down"></i> Negative</span |  | ||||||
|                         > |  | ||||||
|                       </li> |  | ||||||
|                     </ul> |  | ||||||
|                   </div> |  | ||||||
|                 </div> |  | ||||||
|               </div> |  | ||||||
|             </div> |  | ||||||
|           </div> |  | ||||||
|           <div class="col-xl-4 col-md-6 col-12"> |  | ||||||
|             <div class="card"> |  | ||||||
|               <div class="card-content"> |  | ||||||
|                 <div class="card-body text-center"> |  | ||||||
|                   <div class="card-header mb-2"> |  | ||||||
|                     <span class="success">New Feedbacks</span> |  | ||||||
|                     <h3 class="display-4 blue-grey darken-1">2,487</h3> |  | ||||||
|                   </div> |  | ||||||
|                   <div class="card-content"> |  | ||||||
|                     <i |  | ||||||
|                       class="knob-center-icon icon-note knob hide-value responsive angle-offset" |  | ||||||
|                       style=" |                       style=" | ||||||
|                         width: 79px; |  | ||||||
|                         height: 50px; |  | ||||||
|                         position: absolute; |                         position: absolute; | ||||||
|                         vertical-align: middle; |                         top: 50%; | ||||||
|                         margin-top: 70px; |                         left: 50%; | ||||||
|                         margin-left: -30px; |                         transform: translate(-50%, -50%); | ||||||
|                         border: 0px; |  | ||||||
|                         background: none; |  | ||||||
|                         font: bold 30px Arial; |  | ||||||
|                         text-align: center; |  | ||||||
|                         color: rgb(225, 225, 225); |  | ||||||
|                         padding: 0px; |  | ||||||
|                         font-size: 50px; |  | ||||||
|                       " |                       " | ||||||
|                     ></i> |  | ||||||
|                     <x-chartist |  | ||||||
|                       *ngIf="feedbacksdonutChart" |  | ||||||
|                       class="feedbacks" |  | ||||||
|                       [data]="feedbacksdonutChart.data" |  | ||||||
|                       [type]="feedbacksdonutChart.type" |  | ||||||
|                       [options]="feedbacksdonutChart.options" |  | ||||||
|                       [responsiveOptions]=" |  | ||||||
|                         feedbacksdonutChart.responsiveOptions |  | ||||||
|                       " |  | ||||||
|                       [events]="feedbacksdonutChart.events" |  | ||||||
|                     > |                     > | ||||||
|                     </x-chartist> |                       <h3 | ||||||
|                     <ul class="list-inline clearfix mt-2"> |                         class="display-4 blue-grey darken-1" | ||||||
|                       <li |                         style="font-size: 2em" | ||||||
|                         class="border-right-blue-grey border-right-lighten-2 pr-1" |  | ||||||
|                       > |                       > | ||||||
|                         <h1 class="blue-grey darken-1 text-bold-400">95%</h1> |                         {{data.total}} kWh | ||||||
|                         <span class="success" |                       </h3> | ||||||
|                           ><i class="la la-caret-up"></i> Positive</span |                     </div> | ||||||
|  |                     <div class="card-body" style="padding-top: 0"> | ||||||
|  |                       <div class="row mb-3"> | ||||||
|  |                         <div class="col Started"> | ||||||
|  |                           <span class="mb-1 text-muted cardtext d-block" | ||||||
|  |                             >23% - Lighning</span | ||||||
|                           > |                           > | ||||||
|                       </li> |                           <div> | ||||||
|                       <li> |                             <ngb-progressbar | ||||||
|                         <h1 class="blue-grey darken-1 text-bold-400">5%</h1> |                               height="7px" | ||||||
|                         <span class="danger darken-2" |                               type="success" | ||||||
|                           ><i class="la la-caret-down"></i> Negative</span |                               [value]="23" | ||||||
|  |                             ></ngb-progressbar> | ||||||
|  |                           </div> | ||||||
|  |                         </div> | ||||||
|  |                         <div class="col Progress"> | ||||||
|  |                           <span class="mb-1 text-muted cardtext d-block" | ||||||
|  |                             >14% - In Progress</span | ||||||
|                           > |                           > | ||||||
|                       </li> |                           <div> | ||||||
|                     </ul> |                             <ngb-progressbar | ||||||
|  |                               height="7px" | ||||||
|  |                               type="danger" | ||||||
|  |                               [value]="14" | ||||||
|  |                             ></ngb-progressbar> | ||||||
|  |                           </div> | ||||||
|  |                         </div> | ||||||
|  |                       </div> | ||||||
|  |                       <div class="row mb-3"> | ||||||
|  |                         <div class="col Remaining"> | ||||||
|  |                           <span class="mb-1 text-muted cardtext d-block" | ||||||
|  |                             >35% - Remaining</span | ||||||
|  |                           > | ||||||
|  |                           <div> | ||||||
|  |                             <ngb-progressbar | ||||||
|  |                               height="7px" | ||||||
|  |                               type="warning" | ||||||
|  |                               [value]="35" | ||||||
|  |                             ></ngb-progressbar> | ||||||
|  |                           </div> | ||||||
|  |                         </div> | ||||||
|  |                         <div class="col Done"> | ||||||
|  |                           <span class="mb-1 text-muted cardtext d-block" | ||||||
|  |                             >28% - Started</span | ||||||
|  |                           > | ||||||
|  |                           <div> | ||||||
|  |                             <ngb-progressbar | ||||||
|  |                               height="7px" | ||||||
|  |                               type="primary" | ||||||
|  |                               [value]="28" | ||||||
|  |                             ></ngb-progressbar> | ||||||
|                           </div> |                           </div> | ||||||
|                         </div> |                         </div> | ||||||
|                       </div> |                       </div> | ||||||
|                     </div> |                     </div> | ||||||
|  | 
 | ||||||
|  |                     <div class="form-group text-center"> | ||||||
|  |                       <button | ||||||
|  |                         type="button" | ||||||
|  |                         class="btn btn-float btn-square btn-outline-secondary" | ||||||
|  |                       > | ||||||
|  |                         <i class="feather ft-layers"></i> | ||||||
|  |                       </button> | ||||||
|  |                       <button | ||||||
|  |                         type="button" | ||||||
|  |                         class="gap_fl_btn btn btn-float btn-square btn-float-lg btn-outline-primary" | ||||||
|  |                       > | ||||||
|  |                         <i class="la la-building"></i> | ||||||
|  |                       </button> | ||||||
|  |                       <button | ||||||
|  |                         type="button" | ||||||
|  |                         class="btn btn-float btn-square btn-outline-secondary" | ||||||
|  |                       > | ||||||
|  |                         <i class="feather ft-log-in"></i> | ||||||
|  |                       </button> | ||||||
|                     </div> |                     </div> | ||||||
|           <div class="col-xl-4 col-md-6 col-12"> |  | ||||||
|             <div class="card"> |  | ||||||
|               <div class="card-content"> |  | ||||||
|                 <div class="card-body text-center"> |  | ||||||
|                   <div class="card-header mb-2"> |  | ||||||
|                     <span class="success">New Feedbacks</span> |  | ||||||
|                     <h3 class="display-4 blue-grey darken-1">2,487</h3> |  | ||||||
|                   </div> |  | ||||||
|                   <div class="card-content"> |  | ||||||
|                     <i |  | ||||||
|                       class="knob-center-icon icon-note knob hide-value responsive angle-offset" |  | ||||||
|                       style=" |  | ||||||
|                         width: 79px; |  | ||||||
|                         height: 50px; |  | ||||||
|                         position: absolute; |  | ||||||
|                         vertical-align: middle; |  | ||||||
|                         margin-top: 70px; |  | ||||||
|                         margin-left: -30px; |  | ||||||
|                         border: 0px; |  | ||||||
|                         background: none; |  | ||||||
|                         font: bold 30px Arial; |  | ||||||
|                         text-align: center; |  | ||||||
|                         color: rgb(225, 225, 225); |  | ||||||
|                         padding: 0px; |  | ||||||
|                         font-size: 50px; |  | ||||||
|                       " |  | ||||||
|                     ></i> |  | ||||||
|                     <x-chartist |  | ||||||
|                       *ngIf="feedbacksdonutChart" |  | ||||||
|                       class="feedbacks" |  | ||||||
|                       [data]="feedbacksdonutChart.data" |  | ||||||
|                       [type]="feedbacksdonutChart.type" |  | ||||||
|                       [options]="feedbacksdonutChart.options" |  | ||||||
|                       [responsiveOptions]=" |  | ||||||
|                         feedbacksdonutChart.responsiveOptions |  | ||||||
|                       " |  | ||||||
|                       [events]="feedbacksdonutChart.events" |  | ||||||
|                     > |  | ||||||
|                     </x-chartist> |  | ||||||
|                     <ul class="list-inline clearfix mt-2"> |  | ||||||
|                       <li |  | ||||||
|                         class="border-right-blue-grey border-right-lighten-2 pr-1" |  | ||||||
|                       > |  | ||||||
|                         <h1 class="blue-grey darken-1 text-bold-400">95%</h1> |  | ||||||
|                         <span class="success" |  | ||||||
|                           ><i class="la la-caret-up"></i> Positive</span |  | ||||||
|                         > |  | ||||||
|                       </li> |  | ||||||
|                       <li> |  | ||||||
|                         <h1 class="blue-grey darken-1 text-bold-400">5%</h1> |  | ||||||
|                         <span class="danger darken-2" |  | ||||||
|                           ><i class="la la-caret-down"></i> Negative</span |  | ||||||
|                         > |  | ||||||
|                       </li> |  | ||||||
|                     </ul> |  | ||||||
|                   </div> |                   </div> | ||||||
|                 </div> |                 </div> | ||||||
|               </div> |               </div> | ||||||
| @ -188,7 +137,6 @@ | |||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|       </section> |       </section> | ||||||
|       <!-- // Social cards section end --> |  | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
|  | |||||||
| @ -10,49 +10,55 @@ export class BuildingComponent { | |||||||
|   Data: any; |   Data: any; | ||||||
|   public breadcrumb: any; |   public breadcrumb: any; | ||||||
|   feedbacksdonutChart: any; |   feedbacksdonutChart: any; | ||||||
|  |   donutChart1: any; | ||||||
|  | 
 | ||||||
|  |   dataArray = [ | ||||||
|  |     { | ||||||
|  |       id: 1, | ||||||
|  |       build_name: "PT Allbest Solusi Sistem", | ||||||
|  |       total: "2345", | ||||||
|  |       donut: { | ||||||
|  |         series: [20, 80], | ||||||
|  |         labels: [], | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       id: 2, | ||||||
|  |       build_name: "PT Informa Media Pratama", | ||||||
|  |       total: "342", | ||||||
|  |       donut: { | ||||||
|  |         series: [40, 60], | ||||||
|  |         labels: [], | ||||||
|  |       }, | ||||||
|  |     }, | ||||||
|  |   ]; | ||||||
| 
 | 
 | ||||||
|   constructor(private chartApiservice: ChartApiService) {} |   constructor(private chartApiservice: ChartApiService) {} | ||||||
| 
 | 
 | ||||||
|   ngOnInit() { |   ngOnInit() { | ||||||
|     this.breadcrumb = { |     this.breadcrumb = { | ||||||
|       mainlabel: "Advance Social Cards", |       mainlabel: "Dashboard", | ||||||
|       links: [ |       links: [ | ||||||
|         { |         { | ||||||
|           name: "Home", |           name: "Dashboard", | ||||||
|           isLink: true, |  | ||||||
|           link: "/dashboard/sales", |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           name: "Advance Cards", |  | ||||||
|           isLink: true, |  | ||||||
|           link: "#", |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           name: "Social", |  | ||||||
|           isLink: false, |           isLink: false, | ||||||
|           link: "#", |  | ||||||
|         }, |         }, | ||||||
|       ], |       ], | ||||||
|     }; |     }; | ||||||
|     this.chartApiservice.getStatisticsData().subscribe((Response) => { |  | ||||||
|       this.Data = Response; |  | ||||||
|       this.getlineArea(); |  | ||||||
|     }); |  | ||||||
|   } |  | ||||||
| 
 | 
 | ||||||
|   getlineArea() { |     this.donutChart1 = { | ||||||
|     const ChartData = this.Data; |  | ||||||
|     this.feedbacksdonutChart = { |  | ||||||
|       type: "Pie", |       type: "Pie", | ||||||
|       data: ChartData["feedbacksdonutChart"], |  | ||||||
|       options: { |       options: { | ||||||
|         showLabel: false, |  | ||||||
|         chartPadding: 0, |  | ||||||
|         fullwidth: true, |         fullwidth: true, | ||||||
|         height: "200px", |         height: "250px", | ||||||
|         donut: true, |         donut: true, | ||||||
|         startAngle: 0, |         donutWidth: 60, | ||||||
|  |         startAngle: 270, | ||||||
|  |         total: 200, | ||||||
|  |         showLabel: false, | ||||||
|       }, |       }, | ||||||
|     }; |     }; | ||||||
|  | 
 | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user