[Frontend] Renew of ue-frontend

Picks up markup and CSS changes from
open1174 (breadcrumbs)
This commit is contained in:
Charles Hacskaylo
2015-06-02 16:12:19 -07:00
parent 4c6cad3e77
commit b09ec23617
30 changed files with 1357 additions and 899 deletions

View File

@@ -49,17 +49,14 @@
&:hover {
background: rgba(#fff, 0.1);
}
&.stale {
color: darken($colorBodyFg, 20%);
&.s-stale {
//color: darken($colorBodyFg, 20%);
.l-autoflow-item.l { @include s-stale(0.3); };
.l-autoflow-item.r { @include s-stale(); };
}
&:not(.stale) {
&:not(.s-stale) {
.l-autoflow-item.r {
color: lighten($colorBodyFg, 20%);
}
}
&.alert {
.l-autoflow-item.r {
background: $colorFormError;
color: lighten($colorBodyFg, 10%);
}
}
&.first-in-group {
@@ -68,7 +65,6 @@
.l-autoflow-item {
display: block;
&.l {
// @include test(orange);
float: none;
overflow: hidden;
text-overflow: ellipsis;
@@ -76,8 +72,7 @@
width: auto;
}
&.r {
// @include test(blue);
@include border-radius($controlCr);
@include border-radius($smallCr);
float: right;
margin-left: $interiorMargin;
padding-left: $valPad;

View File

@@ -7,7 +7,7 @@
.top-bar .badge {
@include border-radius($controlCr * 1.5);
$h: $ueTopBarH; // - 5px;
$h: $btnStdH; //$ueTopBarBtnH; // - 5px;
font-size: 1.4em;
height: $h;
line-height: $h;

View File

@@ -5,6 +5,7 @@ $interiorMarginLg: $interiorMargin * 2;
$interiorMarginSm: 3px;
$basicCr: 3px;
$controlCr: $basicCr;
$smallCr: 2px;
$badgeW: 35px;
// Colors and shading
@@ -24,20 +25,25 @@ $colorFormValid: #33cc33;
$colorFormError: #cc0000;
$colorFormInvalid: #ff9900;
$colorGridLines: rgba(#fff, 0.05);
$colorLimitYellow: #9d7500;
$colorLimitRed: #aa0000;
$colorTelemFresh: #fff;
$colorTelemStale: #888;
$styleTelemState: italic;
// Ratios
$ltGamma: 20%;
$btnFontSizeToH: 0.45;
// User Environment
$ueTopBarH: 35px;
$ueTopBarH: 30px; // Change to 45px when breadcrumb is enabled
$ueTopBarEditH: 30px;
$ueTopBarBtnH: 35px;
$ueFooterH: 20px;
$ueColMargin: 1.5%;
$ueAppLogoW: 105px;
$ueBrowseViewBarH: $ueTopBarH; // was 30px
$ueEditToolBarH: $ueBrowseViewBarH;
$ueEditToolBarButtonH: $ueEditToolBarH * 0.8;
//$ueBrowseViewBarH: $ueTopBarH; // was 30px
$ueEditToolBarH: 25px;
$ueBrowseLeftPaneW: 25%;
$ueEditLeftPaneW: 75%;
@@ -55,6 +61,7 @@ $ueBrowseGridItemBottomBarH: 40px;
$colorItemBase: lighten($colorBodyBg, 5%);
$colorItemFg: lighten($colorItemBase, 20%);
$colorItemSelected: $colorKey;
$itemPadLR: 5px;
// Tree
$treeVCW: 10px;
@@ -65,8 +72,8 @@ $colorItemTreeIconHover: lighten($colorItemTreeIcon, 20%);
$colorItemTreeVCHover: $colorAlt1;
//Tabular
$tabularHeaderH: 20px;
$tabularTdPadLR: 5px;
$tabularHeaderH: 18px;
$tabularTdPadLR: $itemPadLR;
$tabularTdPadTB: 2px;
$tabularColorBorder: rgba(white, 0.1);
$tabularColorBodyBg: darken($colorBodyBg, 10%);
@@ -83,6 +90,8 @@ $formRowCtrlsH: 14px;
$menuLineH: 1.5rem;
$scrollbarTrackSize: 10px;
$scrollbarTrackColorBg: rgba(#000, 0.4);
$btnStdH: 25px;
$btnToolbarH: $btnStdH;
// Paths
$dirImgs: '../images/'; // Relative to platform/css/ directory

View File

@@ -0,0 +1,7 @@
.s-stale {
@include s-stale();
.td {
@include s-stale();
}
}

View File

@@ -20,4 +20,21 @@ a.disabled {
.test {
@include test();
}
@include keyframes(pulse) {
0% { opacity: 0.2; }
100% { opacity: 1; }
}
@mixin pulse($dur: 500ms) {
@include animation-name(pulse);
@include animation-duration($dur);
@include animation-direction(alternate);
@include animation-iteration-count(infinite);
@include animation-timing-function(ease-in-out);
}
.pulse {
@include pulse(1000ms);
}

View File

@@ -1,23 +1,17 @@
.t-fixed-position {
&.l-fixed-position {
// @include test(red);
// @include test(red);
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: auto;
height: auto;
top: 0; right: 0; bottom: 0; left: 0;
width: auto; height: auto;
.l-grid-holder {
position: relative;
height: 100%;
width: 100%;
height: 100%; width: 100%;
.l-grid {
// @include test(orange);
// @include test(orange);
position: absolute;
height: 100%;
width: 100%;
height: 100%; width: 100%;
pointer-events: none;
z-index: 0;
}
@@ -41,13 +35,12 @@
.l-fixed-position-image,
.l-fixed-position-text {
@include box-sizing(border-box);
height: 100%;
width: 100%;
height: 100%; width: 100%;
}
.l-fixed-position-box {
}
.l-fixed-position-image {
background-size: cover;
background-repeat: no-repeat;
@@ -56,32 +49,39 @@
.l-fixed-position-text {
@include txtShdwSubtle();
border: 1px solid transparent;
border:1px solid transparent;
font-size: 0.8rem;
$p: $interiorMarginSm;
$p: 1px; //$interiorMarginSm;
line-height: 100%;
&.l-static-text {
// overflow: auto;
// overflow: auto;
padding: $p;
}
&.l-telemetry {
.l-elem {
@include absPosDefault($p);
//@include absPosDefault($p);
@include absPosDefault(0);
@include box-sizing(border-box);
padding: 2px;
width: 50%;
&.l-title {
right: auto;
left: $p;
}
&.l-value {
// @include test(blue);
// @include test(blue);
right: $p;
left: auto;
text-align: right;
&.telem-only {
// @include test(red);
// @include test(red);
left: $p;
width: auto;
}
.l-value-bg {
@include border-radius($smallCr);
padding: 0 4px;
}
}
}
}

View File

@@ -55,7 +55,7 @@
}
.object-header .type-icon {
color: $colorAlt1;
color: $colorKey;
margin-right: $interiorMargin;
}

View File

@@ -0,0 +1,52 @@
@mixin limit($c, $glyph) {
background: $c;
&:before {
//@include pulse(500ms);
color: lighten($c, 30%);
content: $glyph;
}
}
/*.s-limit-upr,
.s-limit-lwr {
$a: 0.5;
$l: 30%;
white-space: nowrap;
&:before {
display: inline-block;
font-family: symbolsfont;
font-size: 0.85em;
font-style: normal !important;
margin-right: $interiorMarginSm;
vertical-align: middle;
}
}
.s-limit-upr {
&.s-limit-yellow { @include limit($colorLimitYellow, "\0000ed"); }
&.s-limit-red { @include limit($colorLimitRed, "\0000eb"); }
}
.s-limit-lwr {
&.s-limit-yellow { @include limit($colorLimitYellow, "\0000ec"); }
&.s-limit-red { @include limit($colorLimitRed, "\0000ee"); }
}*/
[class*="s-limit"] {
$a: 0.5;
$l: 30%;
white-space: nowrap;
&:before {
display: inline-block;
font-family: symbolsfont;
font-size: 0.85em;
font-style: normal !important;
margin-right: $interiorMarginSm;
vertical-align: middle;
}
}
.s-limit-upr-red { @include limit($colorLimitRed, "\0000eb"); };
.s-limit-upr-yellow { @include limit($colorLimitYellow, "\0000ed"); };
.s-limit-lwr-yellow { @include limit($colorLimitYellow, "\0000ec"); };
.s-limit-lwr-red { @include limit($colorLimitRed, "\0000ee"); };

View File

@@ -1,6 +1,7 @@
@import "compass";
@import "compass/reset";
@import "compass/css3";
@import "compass/css3/animation";
@import "compass/css3/user-interface";
@import "compass/utilities";
@@ -14,7 +15,10 @@
@import "text";
@import "badges";
@import "icons";
@import "limits";
@import "data-status";
@import "lists/tabular";
@import "controls/breadcrumb";
@import "controls/buttons";
@import "controls/color-palette";
@import "controls/controls";

View File

@@ -46,7 +46,7 @@
rgba($c, $a) 25%, transparent 25%,
transparent 50%, rgba($c, $a) 50%,
rgba($c, $a) 75%, transparent 75%,
transparent 0
transparent 100%
));
background-repeat: repeat;
background-size: $d $d;
@@ -157,6 +157,14 @@
@include box-shadow(rgba($color, $sVal) 0 0 30px);
}
@mixin linearGlow($deg: 0, $c: red, $a: 0.4) {
@include background-image(linear-gradient($deg, rgba($c,0), rgba($c, $a) 100%));
}
@mixin subtleGrad($deg: 0, $c: red, $a0: 0.2, $a1: 0.3) {
@include background-image(linear-gradient($deg, rgba($c,$a0), rgba($c, $a1) 100%));
}
@mixin txtShdwSubtle($sVal: 0.1) {
@include text-shadow(rgba(black, $sVal) 0 1px 2px);
}
@@ -226,8 +234,6 @@
background-color: rgba($c, $a);
}
@mixin testObj($w: 2000px, $h: 1000px, $c: black, $a: 0.1) {
&:after {
@include box-sizing(border-box);
@@ -243,4 +249,9 @@
transform: scaleX(1) scaleY(1) scaleZ(1);
transform-origin: 50% 50% 0;
}
}
@mixin s-stale($a: 0.5) {
color: rgba($colorTelemFresh, $a) !important;
font-style: italic;
}

View File

@@ -0,0 +1,31 @@
.l-breadcrumb {
$c: darken($colorBodyFg, 15%);
$p: 4px;
font-size: 0.7rem;
line-height: 1em;
margin-bottom: $interiorMargin;
margin-left: -1 * $p;
.l-breadcrumb-item {
//@include test();
a {
@include box-sizing(border-box);
@include border-radius($basicCr*.75);
@include single-transition(background-color, 0.25s);
color: darken($colorBodyFg, 15%);
display: inline-block;
//margin-right: $interiorMargin;
padding: $p/2 $p;
.icon {
color: $colorItemTreeIcon;
margin-right: $interiorMargin;
}
&:hover {
background: lighten($colorBodyBg, 10%);
color: lighten($colorBodyFg, 10%);
.icon {
color: $colorItemTreeIconHover;
}
}
}
}
}

View File

@@ -82,11 +82,12 @@
padding: 0 ($interiorMargin * 2); // Moved to s-btn
text-decoration: none; // Moved to s-btn
&.create-btn {
$h: $ueBrowseViewBarH;
$h: $ueTopBarH - $interiorMargin; //$btnStdH * 1.5;;
$p: $p * 2.25;
height: $h;
line-height: $h;
font-size: 1.1em;
padding: 0 ($p * 1.5) 0 $p;
//font-size: 1.1em;
padding: 0 $p;
.menu {
margin-left: $p * -1;
}
@@ -202,7 +203,7 @@
.top-bar .buttons-main .t-btn,
.tool-bar .btn,
.tool-bar .t-btn {
$h: $ueEditToolBarButtonH;
$h: $btnToolbarH;
display: inline-block;
font-size: $h * $btnFontSizeToH;
height: $h;
@@ -340,7 +341,7 @@ label.checkbox.custom {
}
.top-bar .btn-menu {
$h: $ueTopBarH; // 35px
$h: $btnStdH; //$ueTopBarBtnH; // 35px
$p: 10px;
$badgeM: $interiorMargin;
$badgeD: $h - ($badgeM * 2);
@@ -386,7 +387,6 @@ label.checkbox.custom {
font-size: 1.1em;
span {
display: inline-block;
// margin-right: $interiorMargin;
}
}
}

View File

@@ -51,7 +51,9 @@
$prw: $w - $plw;
width: $w;
height: $h;
.contents { overflow: none; }
.contents {
@include absPosDefault($interiorMargin);
}
.pane {
@include box-sizing(border-box);
&.left {

View File

@@ -63,7 +63,7 @@
}
.browse-area .splitter {
top: $ueBrowseViewBarH + $interiorMargin;
top: $ueTopBarH + $interiorMargin;
}
.edit-area .splitter {

View File

@@ -1,75 +1,105 @@
.w1 {
background: $tabularColorHeaderBg;
padding-top: $tabularHeaderH;
.w1, .w2 {
position: relative;
height: 100%;
}
.w2 {
background: $tabularColorBodyBg;
overflow-y: auto;
}
.tabular {
@include box-sizing(border-box);
border-spacing: 0;
border-collapse: collapse;
color: #fff;
display: table;
font-size: 0.8em;
position: relative;
height: 100%;
width: 100%;
.tr {
display: table-row;
thead, .thead,
tbody tr, .tbody .tr {
display: table;
width: 100%;
table-layout: fixed;
}
thead, .thead {
width: calc(100% - 10px);
tr, .tr {
height: $tabularHeaderH;
}
&:before {
content: "";
display: block;
z-index: 0;
position: absolute;
width: 100%;
height: $tabularHeaderH;
background: rgba(#fff, 0.15);
}
}
tbody, .tbody {
@include absPosDefault(0);
top: $tabularHeaderH;
//display: table-row-group;
display: block;
//width: 100%;
overflow-y: scroll;
tr, .tr {
&:hover {
background: rgba(white, 0.1);
}
}
}
tr, .tr {
//display: table-row;
//width: 100%;
&:first-child .td {
border-top: none;
}
&:hover {
background: rgba(white, 0.1);
}
&.header {
display: table-header-group;
.th {
border: none;
color: transparent;
height: 0px;
line-height: 0;
padding: 0 $tabularTdPadLR;
white-space: nowrap;
vertical-align: middle; // This is crucial to hiding f**king 4px height injected by browser by default
&:first-child em {
border-left: none;
}
&.sort {
em:after {
display: inline-block;
font-family: symbolsfont;
margin-left: 5px;
}
&.asc em:after { content: '0'; }
&.desc em:after { content: '1'; }
}
em {
// background: rgba(green, 0.2);
border-left: 1px solid $tabularColorBorder;
color: $tabularColorHeaderFg;
cursor: pointer;
display: block;
font-style: normal;
font-weight: bold;
height: $tabularHeaderH;
line-height: $tabularHeaderH;
margin-left: - $tabularTdPadLR;
padding: 0 $tabularTdPadLR;
position: absolute;
top: 0;
vertical-align: middle;
&:hover {
color: lighten($tabularColorHeaderFg, 20%);
}
}
}
}
.th, .td {
th, .th, td, .td {
display: table-cell;
}
.td {
th, .th {
border: none;
border-left: 1px solid $tabularColorBorder;
color: $tabularColorHeaderFg;
padding: 0 $tabularTdPadLR;
white-space: nowrap;
vertical-align: middle; // This is crucial to hiding f**king 4px height injected by browser by default
&:first-child {
border-left: none;
}
&.sort {
.icon-sorting:before {
display: inline-block;
font-family: symbolsfont;
margin-left: 5px;
}
&.asc .icon-sorting:before {
content: '0';
}
&.desc .icon-sorting:before {
content: '1';
}
}
/* em {
//background: rgba(green, 0.2);
border-left: 1px solid $tabularColorBorder;
color: $tabularColorHeaderFg;
cursor: pointer;
display: block;
font-style: normal;
font-weight: bold;
height: $tabularHeaderH;
line-height: $tabularHeaderH;
margin-left: - $tabularTdPadLR;
padding: 0 $tabularTdPadLR;
position: absolute;
top: 0;
vertical-align: middle;
&:hover {
color: lighten($tabularColorHeaderFg, 20%);
}
}*/
}
td, .td {
border-top: 1px solid $tabularColorBorder;
padding: $tabularTdPadTB $tabularTdPadLR;
&.numeric {
@@ -77,4 +107,9 @@
}
}
}
&.filterable {
tbody, .tbody {
top: $tabularHeaderH * 2;
}
}
}

View File

@@ -1,5 +1,5 @@
$yBarW: 60px;
$yLabelW: auto; //10px;
$yLabelW: auto;
$xBarH: 32px;
$legendH: 24px;
$colorHash: rgba(white, 0.3);
@@ -38,7 +38,7 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa
.gl-plot-coords {
@include box-sizing(border-box);
@include border-radius($controlCr);
background: rgba($colorAlt1, 0.5);
background: black; //rgba($colorKey, 0.5);
color: lighten($colorBodyFg, 30%);
padding: 2px 5px;
position: absolute;
@@ -80,7 +80,7 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa
}
&.gl-plot-y-label,
&.l-plot-y-label {
&.l-plot-y-label {
$x: -50%;
$r: -90deg;
@include transform-origin(50%, 0);
@@ -129,22 +129,51 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa
height: $legendH;
overflow-x: hidden;
overflow-y: auto;
// .plot-legend-item {
// display: inline-block;
// margin-right: $interiorMarginLg;
// span {
// vertical-align: middle;
// }
// .plot-color-swatch {
// @include border-radius(2px);
// display: inline-block;
// height: $swatchD;
// width: $swatchD;
// margin-right: $interiorMarginSm;
// }
// }
}
/****************************** Limits and Out-of-Bounds data */
.l-limit-bar,
.l-oob-data {
position: absolute;
left: 0;
right: 0;
width: auto;
}
.l-limit-bar {
// Limits in plot display area
@mixin limitBg($c) {
background: rgba($c, 0.2);
}
height: auto;
z-index: 0;
&.s-limit-yellow { @include limitBg($colorLimitYellow); }
&.s-limit-red { @include limitBg($colorLimitRed); }
}
.l-oob-data {
$c: #7748d6;
$a: 0.5;
$h: 10px;
@include absPosDefault();
pointer-events: none;
height: $h;
z-index: 1;
&.l-oob-data-up {
top: 0;
bottom: auto;
@include linearGlow(0deg, $c, $a);
}
&.l-oob-data-dwn {
bottom: 0;
top: auto;
@include linearGlow(180deg, $c, $a);
}
}
}
.gl-plot-legend,
.legend {
.plot-legend-item,
@@ -160,11 +189,23 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa
display: inline-block;
height: $swatchD;
width: $swatchD;
margin-right: $interiorMarginSm;
//margin-right: $interiorMarginSm;
}
.title-label {
.title-label {}
}
}
.gl-plot-legend {
.plot-legend-item {
//@include test();
@include border-radius($smallCr);
color: #fff;
line-height: 1.5em;
padding: 0px $itemPadLR;
.plot-color-swatch {
border: 1px solid $colorBodyBg;
height: $swatchD + 1;
width: $swatchD + 1;
}
}
}
@@ -178,7 +219,6 @@ $plotDisplayArea: ($legendH + $interiorMargin, 0, $xBarH + $interiorMargin, $yBa
}
}
.gl-plot-tick,
.tick-label {
// @include test(red);

View File

@@ -89,11 +89,12 @@
}
.edit-area {
$tbH: $ueEditToolBarH;
$tbH: $btnToolbarH + $interiorMargin;
top: $bodyMargin + $ueTopBarEditH + ($interiorMargin);
.tool-bar {
bottom: auto;
height: $tbH;
line-height: $ueEditToolBarButtonH;
line-height: $btnToolbarH;
}
.work-area {
top: $tbH + $interiorMargin * 2;
@@ -181,19 +182,31 @@
position: absolute;
&.treeview {
.create-btn-holder {
bottom: auto; height: $ueBrowseViewBarH;
bottom: auto; top: 0;
height: $ueTopBarH;
.wrapper.menu-element {
position: absolute;
bottom: $interiorMargin;
}
}
.tree-holder {
overflow: auto;
top: $ueBrowseViewBarH + $interiorMargin;
top: $ueTopBarH + $interiorMargin;
}
}
&.items {
.object-browse-bar {
// bottom: auto;
.left.abs,
.right.abs {
top: auto;
}
.right.abs {
bottom: $interiorMargin;
}
}
.object-holder {
top: $ueBrowseViewBarH + $interiorMargin;
top: $ueTopBarH + $interiorMargin;
}
}
&.edit-main {

View File

@@ -1,6 +1,6 @@
.object-browse-bar {
height: $ueBrowseViewBarH;
line-height: $ueBrowseViewBarH;
height: $ueTopBarH;
//line-height: $ueTopBarBtnH;
.items-select {
.btn-menu {
margin-right: $interiorMargin * 3;

View File

@@ -1,19 +1,19 @@
.tool-bar {
border-bottom: 1px solid $colorInteriorBorder;
.l-control-group {
height: $ueEditToolBarButtonH;
height: $btnToolbarH;
}
input[type="text"] {
@include box-sizing(border-box);
font-size: .9em;
height: $ueEditToolBarButtonH;
height: $btnToolbarH;
margin-bottom: 1px;
position: relative;
&.sm {
width: $ueEditToolBarButtonH;
width: $btnToolbarH;
}
}
.input-labeled label {
font-size: $ueEditToolBarButtonH * $btnFontSizeToH;
font-size: $btnToolbarH * $btnFontSizeToH;
}
}

View File

@@ -1,13 +1,13 @@
.top-bar {
// $h: $ueTopBarH - 5px;
// background: rgba(#ff0000, 0.2);
line-height: $ueTopBarH;
// line-height: $ueTopBarBtnH;
&.browse,
&.edit {
border-bottom: 1px solid $colorInteriorBorder;
top: $bodyMargin; right: $bodyMargin; bottom: auto; left: $bodyMargin;
height: $ueTopBarH;
height: $ueTopBarEditH;
}
.action {