made server info a slide out drawer at smaller resolutions
Change-Id: Ie11792db8bedbf693ba5eea87f84b282a878a16a
Signed-off-by: Michael Davis <michael.s.davis@ibm.com>
diff --git a/app/common/directives/app-header.html b/app/common/directives/app-header.html
index 1a45d36..c9378ae 100644
--- a/app/common/directives/app-header.html
+++ b/app/common/directives/app-header.html
@@ -10,11 +10,12 @@
<p class="header__hostname">{{dataService.hostname}}</p>
<p class="header__server-ip courier-bold">BMC IP address {{dataService.server_id}}</p>
</div>
- <div class="header__functions">
- <a href="#/server-health/event-log" class="header__server-health">Server health <i class="icon icon-angle"></i><span class="status-light__error">{{dataService.server_health}}</span></a>
- <a href="#/server-control/power-operations" class="header__server-power" role="button">Server power <i class="icon icon-angle"></i><span ng-class="{'status-light__off': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
+ <div class="header__functions" ng-class="{'active' : toggle}">
+ <a class="header__info" ng-click="toggle = !toggle"><span>Server Info</span><i class="icon icon-angle" aria-hidden="true"></i></a>
+ <a href="#/server-health/event-log" class="header__server-health">Server health <i class="icon icon-angle" aria-hidden="true"></i><span class="status-light__error">{{dataService.server_health}}</span></a>
+ <a href="#/server-control/power-operations" class="header__server-power" role="button">Server power <i class="icon icon-angle" aria-hidden="true"></i><span ng-class="{'status-light__off': dataService.server_state == 'Off', 'status-light__disabled': dataService.server_state == 'Unreachable', 'status-light__good': dataService.server_state == 'Running', 'status-light__warn': dataService.server_state == 'Quiesced'}">{{dataService.server_state}}</span></a>
<p class="header__refresh">Data last refreshed<span>{{dataService.last_updated |date:'h:mm:ss MMM dd yyyy'}}</span></p>
- <button class="header__page-refresh" ng-click="refresh()"><span>Refresh</span><svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52.18 51.91"><path class="cls-1" d="M38,20.77H52v-14H48.3v6.07A26,26,0,1,0,48.7,38H44.32a22.14,22.14,0,1,1,1.8-20.92H38v3.67Z" transform="translate(0.16 0.14)"/></button>
+ <button class="header__page-refresh" ng-click="refresh()" aria-label="refresh page data"><span>Refresh</span><svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52.18 51.91"><path class="cls-1" d="M38,20.77H52v-14H48.3v6.07A26,26,0,1,0,48.7,38H44.32a22.14,22.14,0,1,1,1.8-20.92H38v3.67Z" transform="translate(0.16 0.14)"/></button>
</div>
</div>
</div>
diff --git a/app/common/styles/layout/header.scss b/app/common/styles/layout/header.scss
index 1ca6daf..b2d90bc 100644
--- a/app/common/styles/layout/header.scss
+++ b/app/common/styles/layout/header.scss
@@ -97,11 +97,18 @@
.header__functions {
position: absolute;
top: 0;
- right: 0;
+ right: -680px;
bottom: 0;
z-index: 100;
margin: .3em 0;
+ background: $white;
@include fastTransition-all;
+ &.active {
+ right: 1em;
+ }
+ @media (min-width: 1025px) {
+ right: 0;
+ }
span {
display: block;
color: $black;
@@ -126,36 +133,53 @@
}
}
- // hide/show header functions based on screen size
- .header__functions > .header__server-health {
- display: none;
- @include mediaQuery(small) {
- display: block;
- }
- }
-
- .header__functions > .header__refresh {
- display: none;
- @include mediaQuery(medium) {
- display: block;
- background-color: $white;
- }
- }
-
.header__functions {
.header__server-power,
.header__page-refresh,
- .header__server-health {
+ .header__server-health,
+ .header__info {
background: $lightgrey;
@include round-corners;
margin: 0 .3em;
height: 100%;
border: 1px solid $medgrey;
+ opacity: 1;
@include fastTransition-all;
&:hover {
background: rgba(255, 255, 255, 1);
}
}
+ .header__info {
+ padding: .3em;
+ min-width: 60px;
+ text-align: center;
+ display: inline-block;
+ span {
+ padding: .7em 0 .3em;
+ font-size: 1em;
+ font-weight: 400;
+ color: $darkgrey;
+ }
+ .icon-angle {
+ margin-bottom: .9em;
+ }
+ .icon-angle::before {
+ font-size: 2em;
+ margin-left: 0;
+ display: block;
+ transform: rotate(180deg);
+ @include fastTransition-all;
+ }
+ @media (min-width: 1025px) {
+ display: none;
+ }
+ }
+
+ &.active > .header__info > .icon-angle::before {
+ transform: rotate(-360deg);
+ @include fastTransition-all;
+ }
+
.header__refresh {
color: $darkgrey;
line-height: 1.4;
@@ -174,7 +198,7 @@
font-weight: 400;
color: $darkgrey;
display: block;
- margin-bottom: 1.8em;
+ margin-bottom: 1.1em;
}
svg {
stroke: $medblue;