penyesuaian UI sesuai Figma

This commit is contained in:
Fuzi_fauzia 2024-06-12 15:17:08 +07:00
parent ef118ad33e
commit 468045384e
25 changed files with 1419 additions and 867 deletions

View File

@ -18,3 +18,4 @@
transform: translate(40px, 40px) !important; transform: translate(40px, 40px) !important;
} }
} }

View File

@ -6,7 +6,7 @@
<button *ngIf="breadcrumb.isLinkBack" type="button" class="btn btn-icon btn-pure secondary mr-1" routerLink="{{ breadcrumb.linkBack }}"> <button *ngIf="breadcrumb.isLinkBack" type="button" class="btn btn-icon btn-pure secondary mr-1" routerLink="{{ breadcrumb.linkBack }}">
<i class="feather ft-chevron-left"></i> <i class="feather ft-chevron-left"></i>
</button> </button>
<h3 class="content-header-title mb-0 d-inline-block"> <h3 class="content-header-title mb-0 d-inline-block" style="color: #ffffff;">
{{ breadcrumb.mainlabel }} {{ breadcrumb.mainlabel }}
</h3> </h3>
<div class="row breadcrumbs-top d-inline-block"> <div class="row breadcrumbs-top d-inline-block">
@ -16,22 +16,10 @@
<a *ngIf="link.isLink" routerLink="{{ link.link }}">{{ <a *ngIf="link.isLink" routerLink="{{ link.link }}">{{
link.name link.name
}}</a> }}</a>
<span *ngIf="!link.isLink">{{ link.name }}</span> <span *ngIf="!link.isLink" style="color: #ffffff;">{{ link.name }}</span>
</li> </li>
</ol> </ol>
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="content-header-right col-md-6 col-12">
<div class="d-inline-block float-md-right" ngbDropdown>
<button class="btn btn-info" id="dropdownBasic1" ngbDropdownToggle>Action</button>
<div ngbDropdownMenu class="arrow _dropdown_mob dropdown-menu-right" aria-labelledby="dropdownBasic1">
<button class="dropdown-item">Calender</button>
<button class="dropdown-item">Cart</button>
<button class="dropdown-item">Support</button>
<div class="dropdown-divider"></div>
<button class="dropdown-item">Settings</button>
</div>
</div>
</div> -->
</div> </div>

View File

@ -2,15 +2,17 @@
id="footer" id="footer"
class="footer footer-static footer-light navbar-border navbar-shadow" class="footer footer-static footer-light navbar-border navbar-shadow"
*ngIf="showFooter" *ngIf="showFooter"
style="background-color: #000000 !important; border: none !important;"
> >
<p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2"> <p class="clearfix blue-grey lighten-2 text-sm-center mb-0 px-2" style="background-color: #000000 !important;">
<span class="float-md-left d-block d-md-inline-block" <span class="float-md-ceter d-block d-md-inline-block" style="background-color: #000000 !important;"
>Copyright &copy; 2024 >Copyright &copy; 2024
<a <a
[routerLink]="" [routerLink]=""
class="text-bold-800 grey darken-2" class="text-bold-800 grey darken-2"
href="https://allbestsistem.com/" href="https://allbestsistem.com/"
target="_blank" target="_blank"
style="background-color: #000000 !important;"
>Allbest Solusi Sistem (V@2024-06-11.01) >Allbest Solusi Sistem (V@2024-06-11.01)
</a></span </a></span
> >

View File

@ -33,3 +33,9 @@
.header-navbar .navbar-header .navbar-brand .brand-text { .header-navbar .navbar-header .navbar-brand .brand-text {
padding-left: 11px !important; padding-left: 11px !important;
} }
.brand-text-wrapper {
display: inline-block;
vertical-align: middle;
}

View File

@ -1,27 +1,71 @@
<nav class="header-navbar navbar-expand-md navbar navbar-with-menu navbar-without-dd-arrow fixed-top navbar-shadow" <nav
[ngClass]="selectedHeaderNavBarClass"> class="header-navbar navbar-expand-md navbar navbar-with-menu navbar-without-dd-arrow fixed-top navbar-shadow"
[ngClass]="selectedHeaderNavBarClass"
style="background-color: #000000 !important"
>
<div class="navbar-wrapper"> <div class="navbar-wrapper">
<div id="navbar-header" class="navbar-header" [ngClass]="selectedNavBarHeaderClass" <div
(mouseenter)="mouseEnter($event)" (mouseleave)="mouseLeave($event)"> id="navbar-header"
class="navbar-header"
[ngClass]="selectedNavBarHeaderClass"
(mouseenter)="mouseEnter($event)"
(mouseleave)="mouseLeave($event)"
style="background-color: #252525 !important"
>
<ul class="nav navbar-nav flex-row"> <ul class="nav navbar-nav flex-row">
<!-- Remove position relative in responsive --> <!-- Remove position relative in responsive -->
<li class="nav-item mobile-menu d-lg-none mr-auto"><a class="nav-link nav-menu-main menu-toggle hidden-xs11" <li class="nav-item mobile-menu d-lg-none mr-auto">
(click)="toggleNavigation($event)"> <a
<i class="feather ft-menu font-large-1"></i></a></li> class="nav-link nav-menu-main menu-toggle hidden-xs11"
<li class="nav-item mr-auto"><a [routerLink]="['/dashboard/sales']" class="navbar-brand" (click)="toggleNavigation($event)"
routerLink="/dashboard/sales"><img class="brand-logo" alt="modern admin logo" >
[src]="_themeSettingsConfig.brand.logo.value"> <i class="feather ft-menu font-large-1"></i
<h3 class="brand-text">{{_themeSettingsConfig.brand.brand_name}}</h3> ></a>
</a></li> </li>
<li class="nav-item d-none d-md-block nav-toggle"> <li class="nav-item mr-auto">
<a [routerLink]="" class="nav-link modern-nav-toggle pr-0" data-toggle="collapse" <a
(click)="toggleFixMenu($event)"> [routerLink]="['/dashboard/sales']"
<i class="feather toggle-icon font-medium-3 white" class="navbar-brand"
[ngClass]="{'ft-toggle-left': _themeSettingsConfig.menu === 'collapse','ft-toggle-right': _themeSettingsConfig.menu === 'expand'}"></i> routerLink="/dashboard/sales"
>
<!-- <img
class="brand-logo"
alt="modern admin logo"
src="../../../../assets/images/Smart-Building.png"
/> -->
<!-- <h3 class="brand-text" style="color: #ffffff;">{{_themeSettingsConfig.brand.brand_name}}</h3> -->
<div class="brand-text-wrapper" style="max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
<h3 class="brand-text" style="color: #ffffff; margin: 0;">
Smart Building
</h3>
</div>
</a> </a>
</li> </li>
<li class="nav-item d-lg-none"><a class="nav-link open-navbar-container" data-toggle="collapse" <li class="nav-item d-none d-md-block nav-toggle">
data-target="#navbar-mobile" (click)="toggleNavbar($event)"><i class="la la-ellipsis-v"></i></a></li> <a
[routerLink]=""
class="nav-link modern-nav-toggle pr-0"
data-toggle="collapse"
(click)="toggleFixMenu($event)"
>
<i
class="feather toggle-icon font-medium-3 white"
[ngClass]="{
'ft-toggle-left': _themeSettingsConfig.menu === 'collapse',
'ft-toggle-right': _themeSettingsConfig.menu === 'expand'
}"
></i>
</a>
</li>
<li class="nav-item d-lg-none">
<a
class="nav-link open-navbar-container"
data-toggle="collapse"
data-target="#navbar-mobile"
(click)="toggleNavbar($event)"
><i class="la la-ellipsis-v"></i
></a>
</li>
</ul> </ul>
</div> </div>
<!-- New--> <!-- New-->
@ -57,80 +101,144 @@
</a> </a>
</div> </div>
</li> --> </li> -->
<li class="dropdown-notification nav-item dropdown" ngbDropdown *ngIf="notification === 'on'"> <li
class="dropdown-notification nav-item dropdown"
ngbDropdown
*ngIf="notification === 'on'"
>
<a class="nav-link nav-link-label" ngbDropdownToggle> <a class="nav-link nav-link-label" ngbDropdownToggle>
<i class="ficon feather ft-bell"></i> <i class="ficon feather ft-bell" style="color: #bef264"></i>
<span class="badge badge-pill badge-danger badge-up badge-glow">5</span> <!-- <span class="badge badge-pill badge-danger badge-up badge-glow">5</span> -->
</a> </a>
<ul class="dropdown-menu-media dropdown-menu-right" ngbDropdownMenu> <ul class="dropdown-menu-media dropdown-menu-right" ngbDropdownMenu>
<li class="dropdown-menu-header"> <li class="dropdown-menu-header">
<h6 class="dropdown-header m-0"><span class="grey darken-2">Notifications</span></h6><span <h6 class="dropdown-header m-0">
class="notification-tag badge badge-default badge-danger float-right m-0">5 New</span> <span class="grey darken-2">Notifications</span>
</h6>
<span
class="notification-tag badge badge-default badge-danger float-right m-0"
>5 New</span
>
</li> </li>
<li class="scrollable-container media-list w-100 ps-container ps-theme-dark ps-active-y" fxFlex="auto" [perfectScrollbar]="config"> <li
class="scrollable-container media-list w-100 ps-container ps-theme-dark ps-active-y"
fxFlex="auto"
[perfectScrollbar]="config"
>
<a href="javascript:void(0)"> <a href="javascript:void(0)">
<div class="media"> <div class="media">
<div class="media-left align-self-center"><i <div class="media-left align-self-center">
class="feather ft-plus-square icon-bg-circle bg-cyan"></i> <i
class="feather ft-plus-square icon-bg-circle bg-cyan"
></i>
</div> </div>
<div class="media-body"> <div class="media-body">
<h6 class="media-heading">You have new order!</h6> <h6 class="media-heading">You have new order!</h6>
<p class="notification-text font-small-3 text-muted">Lorem ipsum dolor sit amet, consectetuer <p class="notification-text font-small-3 text-muted">
elit.</p><small> Lorem ipsum dolor sit amet, consectetuer elit.
<time class="media-meta text-muted" datetime="2015-06-11T18:29:20+08:00">30 minutes </p>
ago</time></small> <small>
<time
class="media-meta text-muted"
datetime="2015-06-11T18:29:20+08:00"
>30 minutes ago</time
></small
>
</div> </div>
</div> </div>
</a> </a>
<a href="javascript:void(0)"> <a href="javascript:void(0)">
<div class="media"> <div class="media">
<div class="media-left align-self-center"><i <div class="media-left align-self-center">
class="feather ft-download-cloud icon-bg-circle bg-red bg-darken-1"></i></div> <i
class="feather ft-download-cloud icon-bg-circle bg-red bg-darken-1"
></i>
</div>
<div class="media-body"> <div class="media-body">
<h6 class="media-heading red darken-1">99% Server load</h6> <h6 class="media-heading red darken-1">
<p class="notification-text font-small-3 text-muted">Aliquam tincidunt mauris eu risus.</p><small> 99% Server load
<time class="media-meta text-muted" datetime="2015-06-11T18:29:20+08:00">Five hour </h6>
ago</time></small> <p class="notification-text font-small-3 text-muted">
Aliquam tincidunt mauris eu risus.
</p>
<small>
<time
class="media-meta text-muted"
datetime="2015-06-11T18:29:20+08:00"
>Five hour ago</time
></small
>
</div> </div>
</div> </div>
</a> </a>
<a href="javascript:void(0)"> <a href="javascript:void(0)">
<div class="media"> <div class="media">
<div class="media-left align-self-center"><i <div class="media-left align-self-center">
class="feather ft-alert-triangle icon-bg-circle bg-yellow bg-darken-3"></i></div> <i
class="feather ft-alert-triangle icon-bg-circle bg-yellow bg-darken-3"
></i>
</div>
<div class="media-body"> <div class="media-body">
<h6 class="media-heading yellow darken-3">Warning notifixation</h6> <h6 class="media-heading yellow darken-3">
<p class="notification-text font-small-3 text-muted">Vestibulum auctor dapibus neque.</p><small> Warning notifixation
<time class="media-meta text-muted" datetime="2015-06-11T18:29:20+08:00">Today</time></small> </h6>
<p class="notification-text font-small-3 text-muted">
Vestibulum auctor dapibus neque.
</p>
<small>
<time
class="media-meta text-muted"
datetime="2015-06-11T18:29:20+08:00"
>Today</time
></small
>
</div> </div>
</div> </div>
</a> </a>
<a href="javascript:void(0)"> <a href="javascript:void(0)">
<div class="media"> <div class="media">
<div class="media-left align-self-center"><i <div class="media-left align-self-center">
class="feather ft-check-circle icon-bg-circle bg-cyan"></i> <i
class="feather ft-check-circle icon-bg-circle bg-cyan"
></i>
</div> </div>
<div class="media-body"> <div class="media-body">
<h6 class="media-heading">Complete the task</h6><small> <h6 class="media-heading">Complete the task</h6>
<time class="media-meta text-muted" datetime="2015-06-11T18:29:20+08:00">Last <small>
week</time></small> <time
class="media-meta text-muted"
datetime="2015-06-11T18:29:20+08:00"
>Last week</time
></small
>
</div> </div>
</div> </div>
</a> </a>
<a href="javascript:void(0)"> <a href="javascript:void(0)">
<div class="media"> <div class="media">
<div class="media-left align-self-center"><i class="feather ft-file icon-bg-circle bg-teal"></i> <div class="media-left align-self-center">
<i class="feather ft-file icon-bg-circle bg-teal"></i>
</div> </div>
<div class="media-body"> <div class="media-body">
<h6 class="media-heading">Generate monthly report</h6><small> <h6 class="media-heading">Generate monthly report</h6>
<time class="media-meta text-muted" datetime="2015-06-11T18:29:20+08:00">Last <small>
month</time></small> <time
class="media-meta text-muted"
datetime="2015-06-11T18:29:20+08:00"
>Last month</time
></small
>
</div> </div>
</div> </div>
</a> </a>
</li> </li>
<li class="dropdown-menu-footer"><a class="dropdown-item text-muted text-center" <li class="dropdown-menu-footer">
href="javascript:void(0)">Read all notifications</a></li> <a
class="dropdown-item text-muted text-center"
href="javascript:void(0)"
>Read all notifications</a
>
</li>
</ul> </ul>
</li> </li>
<!-- <li class="dropdown-notification nav-item" ngbDropdown> <!-- <li class="dropdown-notification nav-item" ngbDropdown>
@ -198,24 +306,52 @@
<li class="dropdown-user nav-item" ngbDropdown> <li class="dropdown-user nav-item" ngbDropdown>
<a class="nav-link dropdown-user-link" ngbDropdownToggle> <a class="nav-link dropdown-user-link" ngbDropdownToggle>
<span *ngIf="currentUser.displayName" <span
class="mr-1 user-name text-bold-700">{{currentUser.displayName}}</span> *ngIf="currentUser.displayName"
<span *ngIf="!currentUser.displayName" class="mr-1 user-name text-bold-700">John Doe</span> class="mr-1 user-name text-bold-700"
style="color: #ffffff"
>{{ currentUser.displayName }}</span
>
<span
*ngIf="!currentUser.displayName"
class="mr-1 user-name text-bold-700"
>John Doe</span
>
<span class="avatar avatar-online"> <span class="avatar avatar-online">
<img *ngIf="currentUser.photoURL" src="{{currentUser.photoURL}}" alt="avatar"> <img
<img *ngIf="!currentUser.photoURL" src="../../../assets/images/portrait/small/avatar-s-19.png" *ngIf="currentUser.photoURL"
alt="avatar"> src="{{ currentUser.photoURL }}"
alt="avatar"
/>
<img
*ngIf="!currentUser.photoURL"
src="../../../assets/images/portrait/small/avatar-s-19.png"
alt="avatar"
/>
<i></i> <i></i>
</span> </span>
</a> </a>
<div ngbDropdownMenu class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownProfileMenu"> <div
<a class="dropdown-item" [routerLink]="['/user/user-profile']"><i class="feather ft-user"></i> Edit ngbDropdownMenu
Profile </a> class="dropdown-menu dropdown-menu-right"
<a class="dropdown-item" [routerLink]="['/email']"><i class="feather ft-mail"></i> My Inbox </a> aria-labelledby="dropdownProfileMenu"
<a class="dropdown-item" [routerLink]="['/todos']"><i class="feather ft-check-square"></i> Task </a> >
<a class="dropdown-item" [routerLink]="['/chats']"><i class="feather ft-message-square"></i> Chats </a> <a class="dropdown-item" [routerLink]="['/user/user-profile']"
><i class="feather ft-user"></i> Edit Profile
</a>
<a class="dropdown-item" [routerLink]="['/email']"
><i class="feather ft-mail"></i> My Inbox
</a>
<a class="dropdown-item" [routerLink]="['/todos']"
><i class="feather ft-check-square"></i> Task
</a>
<a class="dropdown-item" [routerLink]="['/chats']"
><i class="feather ft-message-square"></i> Chats
</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item" [routerLink]="" (click)="logout()"><i class="feather ft-power"></i> Logout</a> <a class="dropdown-item" [routerLink]="" (click)="logout()"
><i class="feather ft-power"></i> Logout</a
>
</div> </div>
</li> </li>
</ul> </ul>

View File

@ -0,0 +1,23 @@
.menu-item {
position: relative;
}
.menu-item.active::before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 5px;
background-color: green;
}
.active-link::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background-color: green;
}

View File

@ -1,8 +1,8 @@
<div (mouseenter)="mouseEnter($event)" (mouseleave)="mouseLeave($event)" id="main-menu" <div (mouseenter)="mouseEnter($event)" (mouseleave)="mouseLeave($event)" id="main-menu"
class="main-menu menu-fixed menu-dark menu-accordion menu-shadow" data-scroll-to-active="true"> class="main-menu menu-fixed menu-dark menu-accordion menu-shadow" data-scroll-to-active="true" style="background-color: #252525 !important;">
<div id="main-menu-content" class="main-menu-content ps-container ps-theme-light" fxFlex="auto" <div id="main-menu-content" class="main-menu-content ps-container ps-theme-light" fxFlex="auto"
[perfectScrollbar]="config"> [perfectScrollbar]="config" >
<ul class="navigation navigation-main" id="main-menu-navigation" data-menu="menu-navigation"> <ul class="navigation navigation-main" id="main-menu-navigation" data-menu="menu-navigation" style="background-color: #252525 !important;">
<!-- Menu --> <!-- Menu -->
{{child?child.title:''}} {{child?child.title:''}}
<li *ngFor="let child of _menuSettingsConfig.vertical_menu.items" class="" [ngClass]="{ <li *ngFor="let child of _menuSettingsConfig.vertical_menu.items" class="" [ngClass]="{
@ -13,7 +13,7 @@
'active': child.isSelected && !child.submenu, 'active': child.isSelected && !child.submenu,
'menu-collapsed-open': child.isSelected && child.submenu, 'menu-collapsed-open': child.isSelected && child.submenu,
'hover': child.hover 'hover': child.hover
}"> }" >
<!-- Section --> <!-- Section -->
<span class="menu-title" *ngIf="child.section">{{child.section}}</span> <span class="menu-title" *ngIf="child.section">{{child.section}}</span>
<i class="la" *ngIf="child.section" [ngClass]="child.icon" data-toggle="tooltip" data-placement="right" <i class="la" *ngIf="child.section" [ngClass]="child.icon" data-toggle="tooltip" data-placement="right"
@ -21,7 +21,8 @@
<!-- Root Menu --> <!-- Root Menu -->
<a *ngIf="child.title && !child.submenu && !child.excludeInVertical && !child.isExternalLink && !child.issupportExternalLink && !child.isStarterkitExternalLink" <a *ngIf="child.title && !child.submenu && !child.excludeInVertical && !child.isExternalLink && !child.issupportExternalLink && !child.isStarterkitExternalLink"
routerLink="{{child.page !== 'null'?child.page:router.url}}" (click)="toggleMenu($event, child)"> routerLink="{{child.page !== 'null'?child.page:router.url}}" (click)="toggleMenu($event, child)"
style="background-color: #252525 !important;">
<i class="la" [ngClass]="child.icon"></i> <i class="la" [ngClass]="child.icon"></i>
<span class="menu-title" data-i18n="">{{child.title}}</span> <span class="menu-title" data-i18n="">{{child.title}}</span>
<span *ngIf="child.badge" class="badge badge-pill float-right" <span *ngIf="child.badge" class="badge badge-pill float-right"
@ -29,6 +30,7 @@
{{child.badge.value}} {{child.badge.value}}
</span> </span>
</a> </a>
<a *ngIf="child.title && !child.submenu && !child.excludeInVertical && child.isExternalLink" <a *ngIf="child.title && !child.submenu && !child.excludeInVertical && child.isExternalLink"
[href]="child.page" target="_blank" (click)="toggleMenu($event, child)"> [href]="child.page" target="_blank" (click)="toggleMenu($event, child)">
<i class="la" [ngClass]="child.icon"></i> <i class="la" [ngClass]="child.icon"></i>
@ -51,7 +53,7 @@
<!-- Submenu --> <!-- Submenu -->
<a *ngIf="child.title && child.submenu && !child.excludeInVertical" <a *ngIf="child.title && child.submenu && !child.excludeInVertical"
routerLink="{{child.page !== 'null'?child.page:router.url}}" (click)="toggleMenu($event, child)"> routerLink="{{child.page !== 'null'?child.page:router.url}}" (click)="toggleMenu($event, child)" style="background-color: #252525 !important;">
<i class="la" [ngClass]="child.icon"></i> <i class="la" [ngClass]="child.icon"></i>
<span class="menu-title" data-i18n="">{{child.title}}</span> <span class="menu-title" data-i18n="">{{child.title}}</span>
<span *ngIf="child.badge" class="badge badge-pill float-right" <span *ngIf="child.badge" class="badge badge-pill float-right"
@ -59,12 +61,15 @@
{{child.badge.value}} {{child.badge.value}}
</span> </span>
</a> </a>
<ul *ngIf="child.submenu" class="menu-content" [@popOverState]="child.isOpen"> <ul *ngIf="child.submenu" class="menu-content" [@popOverState]="child.isOpen" style="background-color: #252525 !important;">
<!-- Submenu of Submenu --> <!-- Submenu of Submenu -->
<li *ngFor="let subchild of child.submenu.items" class="isShown" <li *ngFor="let subchild of child.submenu.items" class="isShown"
[ngClass]="{'has-sub':(subchild.submenu),'active': subchild.isSelected && !subchild.submenu, 'open': subchild.isOpen && subchild.submenu}"> [ngClass]="{'has-sub':(subchild.submenu),'active': subchild.isSelected && !subchild.submenu, 'open': subchild.isOpen && subchild.submenu}">
<a class="menu-item" *ngIf="!subchild.submenu && !subchild.excludeInVertical" (click)="toggleMenu($event, subchild, true)" <a class="menu-item" *ngIf="!subchild.submenu && !subchild.excludeInVertical"
routerLink="{{subchild.page !== 'null'?subchild.page:router.url}}">{{subchild.title}}</a> (click)="toggleMenu($event, subchild, true)"
routerLink="{{subchild.page !== 'null'?subchild.page:router.url}}"
[ngClass]="{'active': subchild.isSelected}"
style="background-color: #252525 !important;">{{subchild.title}}</a>
<a class="menu-item" *ngIf="subchild.submenu && !subchild.excludeInVertical" (click)="toggleMenu($event, subchild, true)" <a class="menu-item" *ngIf="subchild.submenu && !subchild.excludeInVertical" (click)="toggleMenu($event, subchild, true)"
routerLink="{{subchild.page !== 'null'?subchild.page:router.url}}">{{subchild.title}}</a> routerLink="{{subchild.page !== 'null'?subchild.page:router.url}}">{{subchild.title}}</a>
<ul *ngIf="subchild.submenu && !subchild.excludeInVertical" class="menu-content"> <ul *ngIf="subchild.submenu && !subchild.excludeInVertical" class="menu-content">

View File

@ -384,6 +384,7 @@ export class VerticalnavComponent implements OnInit {
} else if ( child.page === '/chats' && this.loggedInUser.email !== 'john@pixinvent.com') { } else if ( child.page === '/chats' && this.loggedInUser.email !== 'john@pixinvent.com') {
this.router.navigate(['/chats']); this.router.navigate(['/chats']);
} }
} }
} }

View File

@ -61,29 +61,36 @@
} }
/* table */ /* table */
:host ::ng-deep .ngx-datatable.bootstrap .datatable-header .datatable-header-cell .datatable-header-cell-label { :host
::ng-deep
.ngx-datatable.bootstrap
.datatable-header
.datatable-header-cell
.datatable-header-cell-label {
font-family: inherit; font-family: inherit;
font-size: medium; font-size: medium;
font-weight: bold; font-weight: bold;
color: #6B6F82; color: #6b6f82;
} }
:host ::ng-deep .ngx-datatable .datatable-row-center, .ngx-datatable .datatable-row-group, .ngx-datatable .datatable-row-right { :host ::ng-deep .ngx-datatable .datatable-row-center,
.ngx-datatable .datatable-row-group,
.ngx-datatable .datatable-row-right {
position: relative; position: relative;
height: 50px !important; height: 50px !important;
} }
:host ::ng-deep .datatable-icon-right:before { :host ::ng-deep .datatable-icon-right:before {
font-family: 'icofont'; font-family: "icofont";
font-style: normal; font-style: normal;
} }
:host ::ng-deep .datatable-icon-skip:before { :host ::ng-deep .datatable-icon-skip:before {
font-family: 'icofont'; font-family: "icofont";
font-style: normal; font-style: normal;
} }
:host ::ng-deep .datatable-icon-left:before { :host ::ng-deep .datatable-icon-left:before {
font-family: 'icofont'; font-family: "icofont";
font-style: normal; font-style: normal;
} }
@ -107,39 +114,79 @@
font-size: x-large; font-size: x-large;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left, :host
.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right, ::ng-deep
.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev { .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; font-size: 16px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #d4d2e7; background-color: #d4d2e7;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right, :host
.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right { ::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; font-size: 16px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #d4d2e7; background-color: #d4d2e7;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip { :host
::ng-deep
.ngx-datatable.bootstrap
.datatable-footer
.datatable-pager
.datatable-icon-skip {
font-size: 16px; font-size: 16px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #d4d2e7; background-color: #d4d2e7;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev { :host
::ng-deep
.ngx-datatable.bootstrap
.datatable-footer
.datatable-pager
.datatable-icon-prev {
font-size: 16px; font-size: 16px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #d4d2e7; background-color: #d4d2e7;
} }
:host ::ng-deep .datatable-footer .datatable-pager ul li:not(.disabled).active a, :host
.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] { ::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; background-color: #d4d2e7;
font-weight: bold; font-weight: bold;
font-size: larger; font-size: larger;
@ -160,67 +207,140 @@
color: #7c8091; color: #7c8091;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .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; font-size: 14px;
line-height: 9px; line-height: 9px;
padding: 0px 08px; padding: 0px 08px;
background-color: #ffffff; background-color: #ffffff;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .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; font-size: 0px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #ffffff; background-color: #ffffff;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .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; font-size: 0px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #ffffff; background-color: #ffffff;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .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; font-size: 0px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #ffffff; background-color: #ffffff;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .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; font-size: 0px;
line-height: 22px; line-height: 22px;
padding: 0px 09px; padding: 0px 09px;
background-color: #ffffff; background-color: #ffffff;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a { :host
::ng-deep
.ngx-datatable.bootstrap
.datatable-footer
.datatable-pager
ul
li:not(.disabled):hover
a {
background-color: #545454; background-color: #545454;
font-weight: bold; font-weight: bold;
color: white; color: white;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled).active a, :host
.ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a { ::ng-deep
background-color: #545454; .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: #252525;
font-weight: bold; font-weight: bold;
color: white; color: white;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer { :host ::ng-deep .ngx-datatable.bootstrap .datatable-footer {
background: #727e8e; background: #252525;
color: #ededed; color: #ededed;
margin-top: -1px; margin-top: -1px;
overflow: inherit; overflow: inherit;
@ -229,7 +349,7 @@
:host ::ng-deep .ngx-datatable.bootstrap .datatable-header { :host ::ng-deep .ngx-datatable.bootstrap .datatable-header {
font-weight: bold; font-weight: bold;
height: unset !important; height: unset !important;
overflow: inherit overflow: inherit;
} }
:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager { :host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager {
@ -240,14 +360,30 @@
display: flex; display: flex;
} }
:host ::ng-deep .block-ui-wrapper { :host
background: rgba(255, 249, 249, 0.5) !important; ::ng-deep
} .ngx-datatable
:host ::ng-deep .ngx-datatable .datatable-footer .selected-count .datatable-pager { .datatable-footer
flex: 0 0 0%; .selected-count
.datatable-pager {
flex: 0 0 0%;
} }
:host ::ng-deep .ngx-datatable { :host ::ng-deep .ngx-datatable {
display: -webkit-box; display: -webkit-box;
}
:host ::ng-deep .ng-select .ng-select-container {
color: #ffffff !important;
background-color: #252525 !important;
height: 40px !important;
}
:host ::ng-deep .ngx-datatable.bootstrap .datatable-body-row {
background-color: rgba(190, 242, 100, 0.11); /* Black color for table rows */
}
:host ::ng-deep .ngx-datatable.bootstrap .datatable-body-row:hover {
background-color: #1a1a1a; /* Darker black for hover effect */
} }

View File

@ -1,4 +1,4 @@
<div class="app-content content"> <div class="app-content content" style="background-color: #000000 !important">
<div class="content-wrapper"> <div class="content-wrapper">
<div class="content-header row mb-1"> <div class="content-header row mb-1">
<app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb> <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
@ -113,263 +113,296 @@
class="col-12" class="col-12"
*blockUI="'zeroConfiguration'; message: 'Loading'" *blockUI="'zeroConfiguration'; message: 'Loading'"
> >
<m-card> <div class="card" style="background-color: #252525 !important">
<!-- <ng-container mCardHeaderTitle> Device Table </ng-container> --> <div class="card-content">
<ng-container mCardBody> <div class="card-body">
<div class="row mb-2"> <div class="row">
<div class="col-3"> <div class="col-3">
<div class="form-group"> <div class="form-group">
<ng-select <ng-select
[items]="dataBuildingList" [items]="dataBuildingList"
[searchable]="true" [searchable]="true"
bindLabel="name" bindLabel="name"
bindValue="id" bindValue="id"
placeholder="Select Building" placeholder="Select Building"
[(ngModel)]="buildingSelected" [(ngModel)]="buildingSelected"
>
</ng-select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<input
type="month"
class="form-control"
[(ngModel)]="dateSelected"
id="month12"
(focus)="focusElement('month12')"
/>
</div>
</div>
<div class="col-3">
<div class="form-group">
<ng-select
[items]="dataMasterCategori"
[searchable]="true"
bindLabel="name"
bindValue="id"
placeholder="Select Category"
[(ngModel)]="categorySelected"
>
</ng-select>
</div>
</div>
<div class="col-3">
<div class="d-flex">
<input
type="text"
class="form-control"
placeholder="Search..."
[(ngModel)]="searchTerm"
/>
<button
type="button"
class="btn btn-outline-success ml-2"
(click)="doFilter()"
[disabled]="spinnerFilterActive"
>
<i class="la la-search" *ngIf="!spinnerFilterActive"></i>
<i class="la la-spinner spinner" *ngIf="spinnerFilterActive"></i>
</button>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-4">
<div class="form-group">
<input
type="text"
class="form-control"
placeholder="Kwh"
[(ngModel)]="kwhTerm"
disabled
/>
</div>
</div>
<div class="col-4">
<div class="form-group">
<input
type="text"
class="form-control"
placeholder="Cost"
[(ngModel)]="costTerm"
disabled
/>
</div>
</div>
<div class="col-4">
<div class="d-flex justify-content-end">
<button
class="btn btn-secondary mr-2"
style="width: 100%"
(click)="syncData()"
>
<i
class="la la-spinner spinner"
*ngIf="spinnerActive"
></i>
<i class="la la-spinner" *ngIf="!spinnerActive"></i
>&nbsp;
<span>Syncing Data</span>
</button>
<button
class="btn btn-secondary"
style="width: 100%"
(click)="addFieldValue()"
>
<i class="feather ft-plus"></i
>&nbsp;
<span>Add Actual Cost</span>
</button>
</div>
</div>
</div>
<div class="card-dashboard">
<ngx-datatable
class="bootstrap table-bordered"
[limit]="5"
[rows]="data_cost"
[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="building"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Building</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
{{ value }}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="categoryName"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Category</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
{{ value }}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="estimationCost"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Estimation Cost</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
{{
value.toLocaleString("id-ID", {
style: "currency",
currency: "IDR"
})
}}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="totalUse"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Total Use</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
{{ value }} kWh
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="endDate"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Tanggal</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
{{ value | date : "MM/yyyy" }}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="status_id"
[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 === 2 ? "Aktif" : "Tidak Aktif" }}
</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-warning mr-1"
(click)="viewRow(row)"
> >
<i class="ficon feather ft-eye"></i> </ng-select>
</div>
</div>
<div class="col-3">
<div class="form-group">
<input
type="month"
class="form-control"
[(ngModel)]="dateSelected"
id="month12"
(focus)="focusElement('month12')"
/>
</div>
</div>
<div class="col-3">
<div class="form-group">
<ng-select
[items]="dataMasterCategori"
[searchable]="true"
bindLabel="name"
bindValue="id"
placeholder="Select Building"
[(ngModel)]="categorySelected"
>
</ng-select>
</div>
</div>
<div class="col-3">
<div class="d-flex">
<!-- <input
type="text"
class="form-control"
placeholder="Search..."
[(ngModel)]="searchTerm"
/> -->
<button
type="button"
class="btn btn-outline-success ml-2"
(click)="doFilter()"
style="background-color: #252525 !important; border-color: #BEF264 !important;"
[disabled]="spinnerFilterActive"
>
<i
class="la la-search"
style="color: #ffffff !important;"
*ngIf="!spinnerFilterActive"
></i>
<i
class="la la-spinner spinner"
style="color: #ffffff !important;"
*ngIf="spinnerFilterActive"
></i>
</button> </button>
</ng-template> </div>
</ngx-datatable-column> </div>
</ngx-datatable> </div>
<div class="row mb-2">
<div class="col-4">
<div class="form-group">
<input
type="text"
class="form-control"
placeholder="Kwh"
[(ngModel)]="kwhTerm"
disabled
/>
</div>
</div>
<div class="col-4">
<div class="form-group">
<input
type="text"
class="form-control"
placeholder="Cost"
[(ngModel)]="costTerm"
disabled
/>
</div>
</div>
<div class="col-4">
<div class="d-flex justify-content-end">
<button
class="btn btn-secondary mr-2"
style="
width: 100%;
background-color: #bef264 !important;
border-color: #bef264 !important;
color: #000000 !important;
"
(click)="syncData()"
>
<i
class="la la-spinner spinner"
*ngIf="spinnerActive"
></i>
<i class="la la-spinner" *ngIf="!spinnerActive"></i
>&nbsp;
<span>Syncing Data</span>
</button>
<button
class="btn btn-secondary"
style="
width: 100%;
background-color: #bef264 !important;
border-color: #bef264 !important;
color: #000000 !important;
"
(click)="addFieldValue()"
>
<i class="feather ft-plus"></i>&nbsp;
<span>Add Actual Cost</span>
</button>
</div>
</div>
</div>
<div class="card-dashboard">
<ngx-datatable
class="bootstrap table-bordered"
[limit]="5"
[rows]="data_cost"
[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="building"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important"
>Building</span
>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
<p style="color: #ffffff !important">{{ value }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="categoryName"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important"
>Category</span
>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
<p style="color: #ffffff !important">{{ value }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="estimationCost"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important"
>Estimation Cost</span
>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
<p style="color: #ffffff !important">{{
value.toLocaleString("id-ID", {
style: "currency",
currency: "IDR"
})
}}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="totalUse"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important"
>Total Use</span
>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
<p style="color: #ffffff !important">{{ value }}</p> kWh
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="endDate"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Tanggal</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
<p style="color: #ffffff !important">{{ value | date : "MM/yyyy" }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="status_id"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Status</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
<p style="color: #ffffff !important">{{ value === 2 ? "Aktif" : "Tidak Aktif" }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="Actions"
[flexGrow]="1"
[minWidth]="150"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Actions</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-rowIndex="rowIndex"
let-row="row"
>
<button
class="btn btn-sm btn-warning mr-1"
style="background-color: #000000 !important; border-color: #BEF264 !important;"
(click)="viewRow(row)"
>
<i class="ficon feather ft-eye"></i>
</button>
</ng-template>
</ngx-datatable-column>
</ngx-datatable>
</div>
</div> </div>
</ng-container> </div>
</m-card> </div>
</div> </div>
</div> </div>
</section> </section>

View File

@ -0,0 +1 @@
<p>device-control works!</p>

View File

@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { DeviceControlComponent } from './device-control.component';
describe('DeviceControlComponent', () => {
let component: DeviceControlComponent;
let fixture: ComponentFixture<DeviceControlComponent>;
beforeEach(async () => {
await TestBed.configureTestingModule({
declarations: [ DeviceControlComponent ]
})
.compileComponents();
fixture = TestBed.createComponent(DeviceControlComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

View File

@ -0,0 +1,10 @@
import { Component } from '@angular/core';
@Component({
selector: 'app-device-control',
templateUrl: './device-control.component.html',
styleUrls: ['./device-control.component.css']
})
export class DeviceControlComponent {
}

View File

@ -1,190 +1,324 @@
:host ::ng-deep .ngx-datatable.bootstrap .datatable-header .datatable-header-cell .datatable-header-cell-label { :host
font-family: inherit; ::ng-deep
font-size: medium; .ngx-datatable.bootstrap
font-weight: bold; .datatable-header
color: #6B6F82; .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 { :host ::ng-deep .ngx-datatable .datatable-row-center,
position: relative; .ngx-datatable .datatable-row-group,
height: 50px !important; .ngx-datatable .datatable-row-right {
position: relative;
height: 50px !important;
} }
:host ::ng-deep .datatable-icon-right:before { :host ::ng-deep .datatable-icon-right:before {
font-family: 'icofont'; font-family: "icofont";
font-style: normal; font-style: normal;
} }
:host ::ng-deep .datatable-icon-skip:before { :host ::ng-deep .datatable-icon-skip:before {
font-family: 'icofont'; font-family: "icofont";
font-style: normal; font-style: normal;
} }
:host ::ng-deep .datatable-icon-left:before { :host ::ng-deep .datatable-icon-left:before {
font-family: 'icofont'; font-family: "icofont";
font-style: normal; font-style: normal;
} }
:host ::ng-deep .datatable-icon-left:before { :host ::ng-deep .datatable-icon-left:before {
content: "\2039"; content: "\2039";
font-size: x-large; font-size: x-large;
} }
:host ::ng-deep .datatable-icon-prev:before { :host ::ng-deep .datatable-icon-prev:before {
content: "\00AB"; content: "\00AB";
font-size: x-large; font-size: x-large;
} }
:host ::ng-deep .datatable-icon-right:before { :host ::ng-deep .datatable-icon-right:before {
content: "\203A"; content: "\203A";
font-size: x-large; font-size: x-large;
} }
:host ::ng-deep .datatable-icon-skip:before { :host ::ng-deep .datatable-icon-skip:before {
content: "\00BB"; content: "\00BB";
font-size: x-large; font-size: x-large;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left, :host
.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right, ::ng-deep
.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev { .ngx-datatable.bootstrap
font-size: 16px; .datatable-footer
line-height: 22px; .datatable-pager
padding: 0px 09px; .datatable-icon-left,
background-color: #d4d2e7; .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, :host
.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right { ::ng-deep
font-size: 16px; .ngx-datatable.bootstrap
line-height: 22px; .datatable-footer
padding: 0px 09px; .datatable-pager
background-color: #d4d2e7; .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 { :host
font-size: 16px; ::ng-deep
line-height: 22px; .ngx-datatable.bootstrap
padding: 0px 09px; .datatable-footer
background-color: #d4d2e7; .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 { :host
font-size: 16px; ::ng-deep
line-height: 22px; .ngx-datatable.bootstrap
padding: 0px 09px; .datatable-footer
background-color: #d4d2e7; .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, :host
.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] { ::ng-deep
background-color: #d4d2e7; .datatable-footer
font-weight: bold; .datatable-pager
font-size: larger; 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 { :host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager a {
height: 32px; height: 32px;
min-width: 34px; min-width: 34px;
line-height: 22px; line-height: 22px;
padding: 0; padding: 0;
border-radius: 3px; border-radius: 3px;
margin: 0 3px; margin: 0 3px;
text-align: center; text-align: center;
vertical-align: top; vertical-align: top;
padding-top: 3px; padding-top: 3px;
text-decoration: none; text-decoration: none;
vertical-align: bottom; vertical-align: bottom;
color: #7c8091; color: #7c8091;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .ngx-datatable.bootstrap
font-size: 14px; .datatable-footer
line-height: 9px; .datatable-pager
padding: 0px 08px; .datatable-icon-left,
background-color: #ffffff; .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, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .ngx-datatable.bootstrap
font-size: 0px; .datatable-footer
line-height: 22px; .datatable-pager
padding: 0px 09px; .datatable-icon-left,
background-color: #ffffff; .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, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .ngx-datatable.bootstrap
font-size: 0px; .datatable-footer
line-height: 22px; .datatable-pager
padding: 0px 09px; .datatable-icon-right,
background-color: #ffffff; .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, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .ngx-datatable.bootstrap
font-size: 0px; .datatable-footer
line-height: 22px; .datatable-pager
padding: 0px 09px; .datatable-icon-skip,
background-color: #ffffff; .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, :host
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-right[_ngcontent-c11], ::ng-deep
.ngx-datatable.bootstrap[_ngcontent-c11] .datatable-footer[_ngcontent-c11] .datatable-pager[_ngcontent-c11] .datatable-icon-prev[_ngcontent-c11] { .ngx-datatable.bootstrap
font-size: 0px; .datatable-footer
line-height: 22px; .datatable-pager
padding: 0px 09px; .datatable-icon-prev,
background-color: #ffffff; .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 { :host
background-color: #545454; ::ng-deep
font-weight: bold; .ngx-datatable.bootstrap
color: white; .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, :host
.ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a { ::ng-deep
background-color: #545454; .ngx-datatable.bootstrap
font-weight: bold; .datatable-footer
color: white; .datatable-pager
ul
li:not(.disabled).active
a,
.ngx-datatable.bootstrap
.datatable-footer
.datatable-pager
ul
li:not(.disabled):hover
a {
background-color: #252525;
font-weight: bold;
color: white;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-footer { :host ::ng-deep .ngx-datatable.bootstrap .datatable-footer {
background: #727e8e; background: #252525;
color: #ededed; color: #ededed;
margin-top: -1px; margin-top: -1px;
overflow: inherit; overflow: inherit;
} }
:host ::ng-deep .ngx-datatable.bootstrap .datatable-header { :host ::ng-deep .ngx-datatable.bootstrap .datatable-header {
font-weight: bold; font-weight: bold;
height: unset !important; height: unset !important;
overflow: inherit overflow: inherit;
} }
:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager { :host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager {
flex: 0 0 0%; flex: 0 0 0%;
} }
:host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager { :host ::ng-deep .ngx-datatable .datatable-footer .datatable-pager .pager {
display: flex; display: flex;
} }
:host ::ng-deep .block-ui-wrapper { :host
background: rgba(255, 249, 249, 0.5) !important; ::ng-deep
} .ngx-datatable
:host ::ng-deep .ngx-datatable .datatable-footer .selected-count .datatable-pager { .datatable-footer
flex: 0 0 0%; .selected-count
.datatable-pager {
flex: 0 0 0%;
} }
:host ::ng-deep .ngx-datatable { :host ::ng-deep .ngx-datatable {
display: -webkit-box; display: -webkit-box;
} }
:host ::ng-deep .ng-select .ng-select-container {
color: #ffffff !important;
background-color: #252525 !important;
}
:host ::ng-deep .ngx-datatable.bootstrap .datatable-body-row {
background-color: rgba(190, 242, 100, 0.11); /* Black color for table rows */
}
:host ::ng-deep .ngx-datatable.bootstrap .datatable-body-row:hover {
background-color: #1a1a1a; /* Darker black for hover effect */
}

View File

@ -1,4 +1,4 @@
<div class="app-content content"> <div class="app-content content" style="background-color: #000000 !important">
<div class="content-wrapper"> <div class="content-wrapper">
<div class="content-header row mb-1"> <div class="content-header row mb-1">
<app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb> <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
@ -7,13 +7,20 @@
<section id="configuration"> <section id="configuration">
<div class="row"> <div class="row">
<div class="col-lg-4 col-12"> <div class="col-lg-4 col-12">
<div class="card pull-up"> <div
class="card pull-up"
style="background-color: #252525 !important"
>
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h6 class="text-muted">Total Device</h6> <h6 class="text-muted" style="color: #ffffff !important">
<h3>{{filteredRows.length}}</h3> Total Device
</h6>
<h3 style="color: #ffffff !important">
{{ filteredRows.length }}
</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
<i <i
@ -26,13 +33,18 @@
</div> </div>
</div> </div>
<div class="col-lg-4 col-12"> <div class="col-lg-4 col-12">
<div class="card pull-up"> <div
class="card pull-up"
style="background-color: #252525 !important"
>
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h6 class="text-muted">Total Device Aktive</h6> <h6 class="text-light" style="color: #ffffff !important">
<h3>{{totalOn}}</h3> Total Device Aktive
</h6>
<h3 style="color: #ffffff !important">{{ totalOn }}</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
<i <i
@ -45,13 +57,18 @@
</div> </div>
</div> </div>
<div class="col-lg-4 col-12"> <div class="col-lg-4 col-12">
<div class="card pull-up"> <div
class="card pull-up"
style="background-color: #252525 !important"
>
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h6 class="text-muted">Total Device Non-Active</h6> <h6 class="text-muted" style="color: #ffffff !important">
<h3>{{totalOff}}</h3> Total Device Non-Active
</h6>
<h3 style="color: #ffffff !important">{{ totalOff }}</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
<i <i
@ -70,246 +87,260 @@
<div class="row"> <div class="row">
<div <div
class="col-12" class="col-12"
*blockUI="'zeroConfiguration'; message: 'Loading'"
> >
<m-card> <div class="card" style="background-color: #252525 !important">
<!-- <ng-container mCardHeaderTitle> Device Table </ng-container> --> <div class="card-content">
<ng-container mCardBody> <div class="card-body">
<div class="row mb-2"> <div class="row mb-2">
<div class="col-2"> <div class="col-2">
<div class="form-group"> <div class="form-group">
<ng-select <ng-select
[items]="singleSelectArray" [items]="singleSelectArray"
[searchable]="true" [searchable]="true"
bindLabel="item_text" bindLabel="item_text"
placeholder="Select Building" placeholder="Select Building"
[(ngModel)]="singlebasicSelected" [(ngModel)]="singlebasicSelected"
>
</ng-select>
</div>
</div>
<div class="col-2">
<div class="form-group">
<ng-select
[items]="singleSelectArray"
[searchable]="true"
bindLabel="item_text"
placeholder="Select Type"
[(ngModel)]="singlebasicSelected"
>
</ng-select>
</div>
</div>
<div class="col-2">
<div class="form-group">
<ng-select
[items]="singleSelectArray"
[searchable]="true"
bindLabel="item_text"
placeholder="Select Category"
[(ngModel)]="singlebasicSelected"
>
</ng-select>
</div>
</div>
<div class="col-2">
<div class="form-group">
<input
type="text"
class="form-control"
placeholder="Search..."
[(ngModel)]="searchTerm"
(input)="filterRows()"
/>
</div>
</div>
<div class="col-2 text-left">
<button type="button" class="btn btn-outline-success mr-1">
<i class="la la-search"></i>
</button>
</div>
<div class="col-2 text-right">
<button
class="btn btn-secondary"
[disabled]="spinnerActive"
(click)="addDevice()"
>
<i
class="la la-spinner spinner"
*ngIf="spinnerActive"
></i>
<i class="feather ft-plus" *ngIf="!spinnerActive"></i
>&nbsp;
<span>Syncing Data</span>
</button>
</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="icon"
[flexGrow]="1"
[minWidth]="140"
>
<ng-template ngx-datatable-header-template>
<span>Image</span>
</ng-template>
<ng-template ngx-datatable-cell-template let-row="row">
<span class="avatar avatar-sm rounded-circle">
<img [src]="row.icon" /><i></i
></span>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="Name"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Device Name</span>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
{{ value }}
</ng-template>
</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
name="watt"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Watt</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
{{ value }}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="typeEntity"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Type</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
{{ value.name }}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="voltageEntity"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span>Voltage</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
{{ value.name }}
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="statusEntity"
[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.name }}
</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"
(click)="viewRow(row)"
> >
<i class="ficon feather ft-eye"></i> </ng-select>
</button> </div>
<button </div>
class="btn btn-sm btn-warning mr-1" <div class="col-2">
(click)="editRow(row)" <div class="form-group">
<ng-select
[items]="singleSelectArray"
[searchable]="true"
bindLabel="item_text"
placeholder="Select Type"
[(ngModel)]="singlebasicSelected"
> >
<i class="ficon feather ft-edit"></i> </ng-select>
</button> </div>
<!-- <button </div>
<div class="col-2">
<div class="form-group">
<ng-select
[items]="singleSelectArray"
[searchable]="true"
bindLabel="item_text"
placeholder="Select Category"
[(ngModel)]="singlebasicSelected"
>
</ng-select>
</div>
</div>
<div class="col-2">
<div class="form-group">
<input
type="text"
class="form-control"
placeholder="Search..."
[(ngModel)]="searchTerm"
(input)="filterRows()"
/>
</div>
</div>
<div class="col-2 text-left">
<button
type="button"
class="btn btn-success mr-1"
style="background-color: #252525 !important; border-color: #BEF264 !important;"
>
<i class="la la-search" style="color: #ffffff !important;"></i>
</button>
</div>
<div class="col-2 text-right">
<button
class="btn btn-secondary"
[disabled]="spinnerActive"
(click)="addDevice()"
style="background-color: #BEF264 !important; border-color: #BEF264 !important; color: #000000 !important;"
>
<i
class="la la-spinner spinner"
*ngIf="spinnerActive"
></i>
<i class="feather ft-plus" *ngIf="!spinnerActive"></i
>&nbsp;
<span style="font-weight: 600;">Synchronization</span>
</button>
</div>
</div>
<div class="card-dashboard">
<ngx-datatable
class="bootstrap table-bordered"
[limit]="5"
[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="icon"
[flexGrow]="1"
[minWidth]="140"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Image</span>
</ng-template>
<ng-template ngx-datatable-cell-template let-row="row">
<span class="avatar avatar-sm rounded-circle">
<img [src]="row.icon" /><i></i
></span>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="Name"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important"
>Device Name</span
>
</ng-template>
<ng-template
let-value="value"
ngx-datatable-cell-template
>
<p style="color: #ffffff !important">{{ value }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="categoryEntity"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important"
>Category</span
>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
<p style="color: #ffffff !important">{{ value.name }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="watt"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Watt</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
<p style="color: #ffffff !important">{{ value }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="typeEntity"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Type</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
<p style="color: #ffffff !important">{{ value.name }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="voltageEntity"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Voltage</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
<p style="color: #ffffff !important">{{ value.name }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="statusEntity"
[flexGrow]="1"
[minWidth]="90"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Status</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-value="value"
>
<p style="color: #ffffff !important">{{ value.name }}</p>
</ng-template>
</ngx-datatable-column>
<ngx-datatable-column
name="Actions"
[flexGrow]="1"
[minWidth]="150"
>
<ng-template ngx-datatable-header-template>
<span style="color: #ffffff !important">Actions</span>
</ng-template>
<ng-template
ngx-datatable-cell-template
let-rowIndex="rowIndex"
let-row="row"
>
<button
class="btn btn-sm btn-info mr-1"
style="background-color: #000000 !important; border-color: #BEF264 !important;"
(click)="viewRow(row)"
>
<i class="ficon feather ft-eye" style="color: #BEF264 !important;"></i>
</button>
<button
class="btn btn-sm btn-warning mr-1"
style="background-color: #000000 !important; border-color: #BEF264 !important;"
(click)="editRow(row)"
>
<i class="ficon feather ft-edit" style="color: #BEF264 !important;"></i>
</button>
<!-- <button
class="btn btn-sm btn-danger" class="btn btn-sm btn-danger"
(click)="deleteRow(row)" (click)="deleteRow(row)"
> >
<i class="ficon feather ft-trash-2"></i> <i class="ficon feather ft-trash-2"></i>
</button> --> </button> -->
</ng-template> </ng-template>
</ngx-datatable-column> </ngx-datatable-column>
</ngx-datatable> </ngx-datatable>
</div>
</div> </div>
</ng-container> </div>
</m-card> </div>
</div> </div>
</div> </div>
</section> </section>

View File

@ -14,6 +14,7 @@ import { BlockTemplateComponent } from '../../../_layout/blockui/block-template.
import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';
import { AddEditDeviceComponent } from './add-edit-device/add-edit-device.component'; import { AddEditDeviceComponent } from './add-edit-device/add-edit-device.component';
import { ModalAddEditComponent } from './modal-add-edit/modal-add-edit.component'; import { ModalAddEditComponent } from './modal-add-edit/modal-add-edit.component';
import { DeviceControlComponent } from './device-control/device-control.component';
@ -21,7 +22,8 @@ import { ModalAddEditComponent } from './modal-add-edit/modal-add-edit.component
declarations: [ declarations: [
DeviceComponent, DeviceComponent,
AddEditDeviceComponent, AddEditDeviceComponent,
ModalAddEditComponent ModalAddEditComponent,
DeviceControlComponent
], ],
imports: [ imports: [
CommonModule, CommonModule,

View File

@ -12,7 +12,7 @@
> >
<m-card> <m-card>
<ng-container mCardHeaderTitle> <ng-container mCardHeaderTitle>
Cost Management Table List Monitoring
</ng-container> </ng-container>
<ng-container mCardBody> <ng-container mCardBody>
<div class="row mb-2"> <div class="row mb-2">

View File

@ -7,33 +7,13 @@
} }
:host ::ng-deep .donut-chart1 .ct-series-a .ct-slice-donut { :host ::ng-deep .donut-chart1 .ct-series-a .ct-slice-donut {
stroke: #01a32f; stroke: #BEF264;
stroke-width: 20px !important; stroke-width: 30px !important;
} }
:host ::ng-deep .donut-chart1 .ct-series-b .ct-slice-donut { :host ::ng-deep .donut-chart1 .ct-series-b .ct-slice-donut {
stroke: #757575; stroke: #ffffff;
stroke-width: 20px !important; stroke-width: 30px !important;
}
:host ::ng-deep .donut-chart2 .ct-series-a .ct-slice-donut {
stroke: #dcdf03;
stroke-width: 20px !important;
}
:host ::ng-deep .donut-chart2 .ct-series-b .ct-slice-donut {
stroke: #757575;
stroke-width: 20px !important;
}
:host ::ng-deep .donut-chart3 .ct-series-a .ct-slice-donut {
stroke: #d50c08;
stroke-width: 20px !important;
}
:host ::ng-deep .donut-chart3 .ct-series-b .ct-slice-donut {
stroke: #757575;
stroke-width: 20px !important;
} }
.btn-no-hover { .btn-no-hover {

View File

@ -1,4 +1,4 @@
<div class="app-content content"> <div class="app-content content" style="background-color: #000000 !important;">
<div class="content-wrapper"> <div class="content-wrapper">
<div class="content-header row mb-1"> <div class="content-header row mb-1">
<app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb> <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
@ -21,35 +21,28 @@
class="col-xl-4 col-md-6 col-12" class="col-xl-4 col-md-6 col-12"
*ngFor="let data of filteredRows" *ngFor="let data of filteredRows"
> >
<div class="card"> <div class="card" style="background-color: #252525 !important;">
<div class="card-header mb-2"> <div class="card-header mb-2" style="background-color: #252525 !important;">
<div class="row"> <div class="row">
<div class="col-12 text-center"> <div class="col-12 text-center">
<h4 <h4
class="text-muted mb-1 font-weight-bold" class="text-muted mb-1 font-weight-bold"
style="font-family: Montserrat, sans-serif" style="font-family: Montserrat, sans-serif; color: #ffffff !important;"
> >
Building Name Building Name
</h4> </h4>
<h3 <h3
class="text-muted mb-0" class="text-muted mb-0"
style="font-family: Montserrat, sans-serif" style="font-family: Montserrat, sans-serif; color: #ffffff !important;"
> >
{{ data.build_name ? data.build_name : data.name }} {{ data.build_name ? data.build_name : data.name }}
</h3> </h3>
</div> </div>
</div> </div>
<hr style="border-top: 3px solid #100a0a" /> <hr style="border-top: 4px solid #ffffff; border-color: #ffffff !important;" />
</div> </div>
<div class="card-content"> <div class="card-content">
<div <div class="donut-chart1">
[ngClass]="{
'donut-chart1': data.donut.series[0] <= 50,
'donut-chart2':
data.donut.series[0] > 50 && data.donut.series[0] < 75,
'donut-chart3': data.donut.series[0] >= 75
}"
>
<x-chartist <x-chartist
*ngIf="data" *ngIf="data"
[data]="data.donut" [data]="data.donut"
@ -71,11 +64,11 @@
> >
<h3 <h3
class="display-4 blue-grey darken-1" class="display-4 blue-grey darken-1"
style="font-size: 2em" style="font-size: 2em; color: #ffffff !important;"
> >
{{ data.total }} kWh {{ data.total }} kWh
</h3> </h3>
<h6>Consumtion</h6> <h6 style="color: #ffffff !important;">Consumtion</h6>
</div> </div>
<div class="form-group text-center"> <div class="form-group text-center">
@ -83,8 +76,8 @@
type="button" type="button"
class="btn btn-primary round btn-min-width mr-1 mb-1" class="btn btn-primary round btn-min-width mr-1 mb-1"
(click)="viewRoom(data)" (click)="viewRoom(data)"
triggers="hover:click:hover"
ngbTooltip="Room" ngbTooltip="Room"
style="background-color: #ffffff !important; color: #000000;"
> >
Room Room
</button> </button>
@ -92,8 +85,8 @@
type="button" type="button"
class="btn btn-success round btn-min-width mr-1 mb-1" class="btn btn-success round btn-min-width mr-1 mb-1"
(click)="viewRow(data)" (click)="viewRow(data)"
triggers="hover:click:hover"
ngbTooltip="Detail" ngbTooltip="Detail"
style="background-color: #BEF264 !important; color: #000000;"
> >
Detail Detail
</button> </button>

View File

@ -55,14 +55,14 @@ canvas {
stroke-width: 20px !important; stroke-width: 20px !important;
} }
:host ::ng-deep .donut-chart2 { /* :host ::ng-deep .donut-chart2 {
-webkit-filter: drop-shadow(0px 10px 11px rgba(187,187,187)) !important; -webkit-filter: drop-shadow(0px 10px 11px rgba(187,187,187)) !important;
filter: drop-shadow(0px 10px 11px rgba(187,187,187)); filter: drop-shadow(0px 10px 11px rgba(187,187,187));
} } */
:host ::ng-deep .donut-chart2 .ct-label { :host ::ng-deep .donut-chart2 .ct-label {
fill: #111010; fill: #ffffff;
color: rgba(0, 0, 0, 0.4); color: rgb(255, 255, 255);
font-size: 1.75rem; font-size: 1.75rem;
line-height: 1; line-height: 1;
} }
@ -80,3 +80,7 @@ canvas {
:host ::ng-deep .sp-line-total-cost .ct-point{ :host ::ng-deep .sp-line-total-cost .ct-point{
stroke-width: 0px; stroke-width: 0px;
} }
:host ::ng-deep .progress-bar {
background-color: #BEF264 !important;
}

View File

@ -1,4 +1,4 @@
<div class="app-content content"> <div class="app-content content" style="background-color: #000000 !important">
<div class="content-wrapper"> <div class="content-wrapper">
<div class="content-header row mb-1"> <div class="content-header row mb-1">
<app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb> <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
@ -6,12 +6,12 @@
<div class="content-body"> <div class="content-body">
<div class="row"> <div class="row">
<div class="col-xl-3 col-md-6 col-12"> <div class="col-xl-3 col-md-6 col-12">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h5>Electricity</h5> <h5 style="color: #ffffff">Electricity</h5>
<h3 class="danger">{{ topCard?.kwh_consumption }} Kwh</h3> <h3 class="danger">{{ topCard?.kwh_consumption }} Kwh</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
@ -23,12 +23,12 @@
</div> </div>
</div> </div>
<div class="col-xl-3 col-md-6 col-12"> <div class="col-xl-3 col-md-6 col-12">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h5>Water</h5> <h5 style="color: #ffffff">Water</h5>
<h3 class="success">{{ topCard?.water_consumption }}</h3> <h3 class="success">{{ topCard?.water_consumption }}</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
@ -42,12 +42,12 @@
</div> </div>
</div> </div>
<div class="col-xl-3 col-md-6 col-12"> <div class="col-xl-3 col-md-6 col-12">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h5>Device</h5> <h5 style="color: #ffffff">Device</h5>
<h3 class="warning">{{ topCard?.total_device }}</h3> <h3 class="warning">{{ topCard?.total_device }}</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
@ -59,12 +59,12 @@
</div> </div>
</div> </div>
<div class="col-xl-3 col-md-6 col-12"> <div class="col-xl-3 col-md-6 col-12">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-content"> <div class="card-content">
<div class="card-body"> <div class="card-body">
<div class="media d-flex"> <div class="media d-flex">
<div class="media-body text-left"> <div class="media-body text-left">
<h5>Room</h5> <h5 style="color: #ffffff">Room</h5>
<h3 class="info">{{ topCard?.total_room }}</h3> <h3 class="info">{{ topCard?.total_room }}</h3>
</div> </div>
<div class="align-self-center"> <div class="align-self-center">
@ -78,50 +78,61 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<section id="chartjs-bar-charts"> <div class="card-content">
<div class="row"> <div class="card-body">
<div class="col-12" *blockUI="'barCharts'; message: 'Loading'"> <canvas
<m-card [options]="options"> style="
<ng-container mCardHeaderTitle> </ng-container> background-color: #252525 !important;
<ng-container mCardBody> border-color: #252525;
<div class="z" style="display: block"> color: #ffffff;
<canvas "
class="barchart" class="barchart"
height="328" height="328"
baseChart width="1900"
[datasets]="barChartData" baseChart
[labels]="barChartLabels" [datasets]="barChartData"
[options]="barChartOptions" [labels]="barChartLabels"
[legend]="barChartLegend" [options]="barChartOptions"
[chartType]="barChartType" [legend]="barChartLegend"
> chartType="bar"
</canvas> >
</div> </canvas>
</ng-container>
</m-card>
</div>
</div> </div>
</section> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-4"> <div class="col-4">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-header"> <div
<h4 class="card-title text-center">Summary Cost</h4> class="card-header"
style="background-color: #252525 !important"
>
<h4 class="card-title text-center" style="color: #ffffff">
Summary Cost
</h4>
<hr
style="
border-top: 4px solid #ffffff;
border-color: #ffffff !important;
"
/>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-block"> <div class="card-block">
<div class="text-center" style="height: 150px !important"> <div class="text-center" style="height: 150px !important">
<h2 class="font-large-3 text-bold-400"> <h2 class="font-large-3 text-bold-400" style="color: #ffffff">
{{ {{
summaryCost?.summary_cost summaryCost?.summary_cost
| currency : "Rp " : "symbol" : "1.0-0" | currency : "Rp " : "symbol" : "1.0-0"
}} }}
</h2> </h2>
<p class="blue-grey lighten-2 mb-0 mt-2"> <p
class="blue-grey lighten-2 mb-0 mt-2"
style="color: #ffffff !important"
>
Based on the estimated costs you have Based on the estimated costs you have
</p> </p>
</div> </div>
@ -130,9 +141,20 @@
</div> </div>
</div> </div>
<div class="col-4"> <div class="col-4">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-header"> <div
<h4 class="card-title text-center">Air Quality</h4> class="card-header"
style="background-color: #252525 !important"
>
<h4 class="card-title text-center" style="color: #ffffff">
Air Quality
</h4>
<hr
style="
border-top: 4px solid #ffffff;
border-color: #ffffff !important;
"
/>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-block"> <div class="card-block">
@ -158,7 +180,7 @@
> >
<h3 <h3
class="display-4 blue-grey darken-1" class="display-4 blue-grey darken-1"
style="font-size: 2em" style="font-size: 2em; color: #ffffff !important"
> >
{{ airQuality }} {{ airQuality }}
</h3> </h3>
@ -168,9 +190,20 @@
</div> </div>
</div> </div>
<div class="col-4"> <div class="col-4">
<div class="card"> <div class="card" style="background-color: #252525 !important">
<div class="card-header"> <div
<h4 class="card-title text-center">Temperature and Humidity</h4> class="card-header"
style="background-color: #252525 !important"
>
<h4 class="card-title text-center" style="color: #ffffff">
Temperature and Humidity
</h4>
<hr
style="
border-top: 4px solid #ffffff;
border-color: #ffffff !important;
"
/>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-block"> <div class="card-block">
@ -192,25 +225,33 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-6" *ngFor="let item of deviceCategory?.usesd"> <div class="col-6" *ngFor="let item of deviceCategory?.usesd">
<div class="card overflow-hidden"> <div
class="card overflow-hidden"
style="background-color: #252525 !important"
>
<div class="card-content"> <div class="card-content">
<div class="card-body cleartfix"> <div class="card-body cleartfix">
<div class="media align-items-stretch mb-2"> <div class="media align-items-stretch mb-2">
<div class="align-self-center"> <div class="align-self-center">
<i <i
class="icon-bulb background-round info font-large-2 mr-2" class="icon-bulb background-round info font-large-2 mr-2"
style="
color: #BFF264 !important;
background-color: #252525 !important;
"
></i> ></i>
</div> </div>
<div class="media-body"> <div class="media-body">
<p> <p style="color: #ffffff !important">
{{ item.category_device }} {{ item.category_device }}
<span class="float-right text-bold-600" <span
class="float-right text-bold-600"
style="color: #ffffff"
>{{ item.value }}%</span >{{ item.value }}%</span
> >
</p> </p>
<ngb-progressbar <ngb-progressbar
height="7px" height="7px"
type="danger"
[value]="item.value" [value]="item.value"
></ngb-progressbar> ></ngb-progressbar>
</div> </div>

View File

@ -50,24 +50,24 @@ export class DetailComponent {
{ {
data: [], data: [],
label: "KWH Consumption", label: "KWH Consumption",
backgroundColor: "#00a5a8", backgroundColor: "#C3F164",
borderColor: "#00a5a8", borderColor: "#C3F164",
pointBackgroundColor: "#00a5a8", pointBackgroundColor: "#C3F164",
pointBorderColor: "#00a5a8", pointBorderColor: "#C3F164",
pointHoverBackgroundColor: "#fff", pointHoverBackgroundColor: "#ffffff",
pointHoverBorderColor: "#00a5a8", pointHoverBorderColor: "#C3F164",
barPercentage: 0.5, barPercentage: 0.5,
categoryPercentage: 0.5, categoryPercentage: 0.5,
}, },
{ {
data: [], data: [],
label: "Water Consumption", label: "Water Consumption",
backgroundColor: "#ff4081", backgroundColor: "#64CFF1",
borderColor: "#ff4081", borderColor: "#64CFF1",
pointBackgroundColor: "#ff4081", pointBackgroundColor: "#64CFF1",
pointBorderColor: "#ff4081", pointBorderColor: "#64CFF1",
pointHoverBackgroundColor: "#fff", pointHoverBackgroundColor: "#ffffff",
pointHoverBorderColor: "#ff4081", pointHoverBorderColor: "#64CFF1",
barPercentage: 0.5, barPercentage: 0.5,
categoryPercentage: 0.5, categoryPercentage: 0.5,
}, },
@ -76,9 +76,9 @@ export class DetailComponent {
data: [], data: [],
label: "Weekly Kwh Average", label: "Weekly Kwh Average",
backgroundColor: "rgba(0,255,255,0)", backgroundColor: "rgba(0,255,255,0)",
borderColor: "#1e9ff2", borderColor: "#ffffff",
fill: false, fill: false,
pointBorderColor: "#1e9ff2", pointBorderColor: "#ffffff",
pointBackgroundColor: "#FFF", pointBackgroundColor: "#FFF",
pointBorderWidth: 2, pointBorderWidth: 2,
pointHoverBorderWidth: 2, pointHoverBorderWidth: 2,
@ -91,9 +91,9 @@ export class DetailComponent {
data: [], data: [],
label: "Weekly Water Average", label: "Weekly Water Average",
backgroundColor: "rgba(0,255,255,0)", backgroundColor: "rgba(0,255,255,0)",
borderColor: "#1e9ff2", borderColor: "#ffffff",
fill: false, fill: false,
pointBorderColor: "#1e9ff2", pointBorderColor: "#ffffff",
pointBackgroundColor: "#FFF", pointBackgroundColor: "#FFF",
pointBorderWidth: 2, pointBorderWidth: 2,
pointHoverBorderWidth: 2, pointHoverBorderWidth: 2,

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -13,8 +13,10 @@
@include font-size($input-font-size); @include font-size($input-font-size);
font-weight: $input-font-weight; font-weight: $input-font-weight;
line-height: $input-line-height; line-height: $input-line-height;
color: $input-color; // color: $input-color;
background-color: $input-bg; // background-color: $input-bg;
color: #FFFFFF !important;
background-color: #252525 !important;
background-clip: padding-box; background-clip: padding-box;
border: $input-border-width solid $input-border-color; border: $input-border-width solid $input-border-color;