R&I Clock timer fixes (#2254)

* Clocks and timers styling WIP

- Markup, new styles;
- Renamed _legacy-plots.scss > _legacy;
- New $colorBodyFgEm constants - theme files all updated;

* Clocks and timers styling complete

* Styles clean up

- Moved legacy styles out of _global into _legacy.scss;
This commit is contained in:
Charles Hacskaylo 2018-12-24 14:02:37 -08:00 committed by Pete Richards
parent ce6c1f173e
commit cb1a1c2616
9 changed files with 138 additions and 68 deletions

View File

@ -19,16 +19,14 @@
this source code distribution or the Licensing information page available this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information. at runtime from the About dialog for additional information.
--> -->
<div class="l-time-display l-digital l-clock s-clock" ng-controller="ClockController as clock"> <div class="c-clock l-time-display" ng-controller="ClockController as clock">
<div class="l-elem-wrapper"> <div class="c-clock__timezone">
<span class="l-elem timezone"> {{clock.zone()}}
{{clock.zone()}} </div>
</span> <div class="c-clock__value">
<span class="l-elem value active"> {{clock.text()}}
{{clock.text()}} </div>
</span> <div class="c-clock__ampm">
<span class="l-elem ampm"> {{clock.ampm()}}
{{clock.ampm()}}
</span>
</div> </div>
</div> </div>

View File

@ -19,21 +19,19 @@
this source code distribution or the Licensing information page available this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information. at runtime from the About dialog for additional information.
--> -->
<div class="l-time-display l-digital l-timer s-timer s-state-{{timer.timerState}}" ng-controller="TimerController as timer"> <div class="c-timer is-{{timer.timerState}}" ng-controller="TimerController as timer">
<div class="l-elem-wrapper l-flex-row"> <div class="c-timer__controls">
<div class="l-elem-wrapper l-flex-row controls"> <button ng-click="timer.clickStopButton()"
<a ng-click="timer.clickStopButton()" ng-hide="timer.timerState == 'stopped'"
title="Stop" title="Reset"
class="flex-elem s-icon-button t-btn-stop icon-box"></a> class="c-timer__ctrl-reset c-click-icon c-click-icon--major icon-reset"></button>
<a ng-click="timer.clickButton()" <button ng-click="timer.clickButton()"
title="{{timer.buttonText()}}" title="{{timer.buttonText()}}"
class="flex-elem s-icon-button t-btn-pauseplay {{timer.buttonCssClass()}}"></a> class="c-timer__ctrl-pause-play c-click-icon c-click-icon--major {{timer.buttonCssClass()}}"></button>
</div> </div>
<span class="flex-elem l-value {{timer.signClass()}}"> <div class="c-timer__direction {{timer.signClass()}}"
<span class="value" ng-hide="!timer.signClass()"></div>
ng-class="{ active:timer.text() }">{{timer.text() || "--:--:--"}} <div class="c-timer__value">{{timer.text() || "--:--:--"}}
</span>
</span>
<span ng-controller="RefreshingController"></span>
</div> </div>
<span class="c-timer__ng-controller u-contents" ng-controller="RefreshingController"></span>
</div> </div>

View File

@ -56,6 +56,7 @@ $basicCr: 4px;
// Base colors // Base colors
$colorBodyBg: #393939; $colorBodyBg: #393939;
$colorBodyFg: #aaa; $colorBodyFg: #aaa;
$colorBodyFgEm: #fff;
$colorGenBg: #222; $colorGenBg: #222;
$colorHeadBg: #262626; $colorHeadBg: #262626;
$colorHeadFg: $colorBodyFg; $colorHeadFg: $colorBodyFg;

View File

@ -60,6 +60,7 @@ $basicCr: 4px;
// Base colors // Base colors
$colorBodyBg: #393939; $colorBodyBg: #393939;
$colorBodyFg: #ccc; $colorBodyFg: #ccc;
$colorBodyFgEm: #fff;
$colorGenBg: #222; $colorGenBg: #222;
$colorHeadBg: #262626; $colorHeadBg: #262626;
$colorHeadFg: $colorBodyFg; $colorHeadFg: $colorBodyFg;

View File

@ -56,6 +56,7 @@ $basicCr: 4px;
// Base colors // Base colors
$colorBodyBg: #fcfcfc; $colorBodyBg: #fcfcfc;
$colorBodyFg: #666; $colorBodyFg: #666;
$colorBodyFgEm: #333;
$colorGenBg: #fff; $colorGenBg: #fff;
$colorHeadBg: #eee; $colorHeadBg: #eee;
$colorHeadFg: $colorBodyFg; $colorHeadFg: $colorBodyFg;

View File

@ -508,42 +508,3 @@ a.disabled {
} }
} }
} }
/************************** TEMP LEGACY FIXES */
.overlay {
.outer-holder {
background: $colorMenuBg;
color: $colorMenuFg !important;
}
}
.form .form-row {
.label {
color: $colorMenuFg !important;
}
.selector-list {
@include reactive-input();
background: $colorInputBg !important;
color: $colorInputFg !important;
}
}
.ui-symbol.view-control {
display: block;
transform-origin: center center;
&:before { content: $glyph-icon-arrow-right-equilateral; }
&.expanded {
transform: rotate(90deg);
}
}
.t-imagery {
display: contents;
}
.t-frame-outer {
min-width: 200px;
min-height: 200px;
}

View File

@ -20,6 +20,7 @@
* at runtime from the About dialog for additional information. * at runtime from the About dialog for additional information.
*****************************************************************************/ *****************************************************************************/
/********************************************************************* PLOTS */
mct-plot { mct-plot {
display: contents; display: contents;
} }
@ -502,3 +503,112 @@ mct-plot {
} }
} }
} }
/********************************************************* CLOCKS AND TIMERS */
.c-clock,
.c-timer {
display: flex;
align-items: center;
font-size: 1.25em;
> * {
flex: 0 0 auto;
display: flex;
align-items: center;
}
&__value {
color: $colorBodyFgEm;
}
}
.c-clock {
> * + * { margin-left: $interiorMargin; }
}
.c-timer {
$ctrlW: 22px;
&__controls {
margin-right: 0;
min-width: 0;
overflow: hidden;
transition: $transOut;
width: 0;
.c-click-icon:before { font-size: 1em; }
}
&__direction {
font-size: 0.9em;
margin-right: $interiorMargin;
}
&__ng-controller {
font-size: 0;
width: 0;
}
&:hover {
.c-timer__controls {
transition: $transOut; // On purpose: want this to take a bit longer
margin-right: $interiorMargin;
width: $ctrlW * 2;
}
&.is-stopped .c-timer__controls { width: $ctrlW; }
}
&__direction,
&__value {
opacity: 0.5;
}
&.is-started {
.c-timer {
&__direction,
&__value {
opacity: 1;
}
}
}
}
/******************************************************************* VARIOUS */
.overlay {
.outer-holder {
background: $colorMenuBg;
color: $colorMenuFg !important;
}
}
.form .form-row {
.label {
color: $colorMenuFg !important;
}
.selector-list {
@include reactive-input();
background: $colorInputBg !important;
color: $colorInputFg !important;
}
}
.ui-symbol.view-control {
display: block;
transform-origin: center center;
&:before { content: $glyph-icon-arrow-right-equilateral; }
&.expanded {
transform: rotate(90deg);
}
}
.t-imagery {
display: contents;
}
.t-frame-outer {
min-width: 200px;
min-height: 200px;
}

View File

@ -29,7 +29,7 @@
@import "status"; @import "status";
@import "controls"; @import "controls";
@import "table"; @import "table";
@import "legacy-plots"; @import "legacy";
/******************** LEGACY CSS */ /******************** LEGACY CSS */
$output-bourbon-deprecation-warnings: false; $output-bourbon-deprecation-warnings: false;

View File

@ -69,7 +69,7 @@
//!********************************* TO BE MOVED *! //!********************************* TO BE MOVED *!
@import "../styles/autoflow"; @import "../styles/autoflow";
@import "../styles/features/imagery"; @import "../styles/features/imagery";
@import "../styles/features/time-display"; //@import "../styles/features/time-display";
@import "../styles/widgets"; @import "../styles/widgets";
// //
//!********************************* APP STARTUP *! //!********************************* APP STARTUP *!