/***************************************************************************** * Open MCT, Copyright (c) 2014-2016, United States Government * as represented by the Administrator of the National Aeronautics and Space * Administration. All rights reserved. * * Open MCT is licensed under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * * Open MCT includes source code licensed under additional open source * licenses. See the Open Source Licenses file (LICENSES.md) included with * this source code distribution or the Licensing information page available * at runtime from the About dialog for additional information. *****************************************************************************/ .abs.holder-plot { $btnExportH: $btnFrameH; // Fend off the scrollbar when less than min-height; right: $interiorMargin; .s-button.t-export { @include trans-prop-nice(opacity, $dur: 50ms); opacity: 0; } .gl-plot { @include trans-prop-nice(top, $dur: 150ms, $delay: 50ms); top: 0; } &:hover { .s-button.t-export { @include trans-prop-nice(opacity, 150ms, 100ms); opacity: 1; } .gl-plot { @include trans-prop-nice(top, $dur: 150ms); top: $btnExportH + $interiorMargin; } } &.hide-l-btn-set { .s-button.t-export { @include trans-prop-nice(opacity, 0ms, 0ms); opacity: 0; } .gl-plot { @include trans-prop-nice(top, $dur: 0ms); top: 0; } } } .gl-plot { color: $colorPlotFg; font-size: 0.7rem; position: absolute; width: 100%; height: 100%; min-height: $plotMinH; .gl-plot-local-controls { @include trans-prop-nice(opacity, 150ms); opacity: 0; pointer-events: none; } .gl-plot-display-area, .gl-plot-axis-area { &:hover .gl-plot-local-controls { opacity: 1; pointer-events: inherit; } } .gl-plot-axis-area { //@include test(); position: absolute; &.gl-plot-x { top: auto; right: 0; bottom: $interiorMargin; left: $plotYBarW; height: $plotXBarH; width: auto; overflow: hidden; } &.gl-plot-y { top: $plotLegendH + $interiorMargin; right: auto; bottom: nth($plotDisplayArea, 3); left: 0; width: $plotYBarW; } } .gl-plot-coords { box-sizing: border-box; border-radius: $controlCr; background: black; color: lighten($colorBodyFg, 30%); padding: 2px 5px; position: absolute; top: nth($plotDisplayArea,1) + $interiorMarginLg; right: auto; bottom: auto; left: nth($plotDisplayArea,4) + $interiorMarginLg; z-index: 10; &:empty { display: none; } } .gl-plot-display-area { @if $colorPlotBg != none { background-color: $colorPlotBg; } position: absolute; top: nth($plotDisplayArea, 1); right: nth($plotDisplayArea, 2); bottom: nth($plotDisplayArea, 3); left: nth($plotDisplayArea, 4); cursor: crosshair; border: 1px solid $colorPlotAreaBorder; } .gl-plot-label, .l-plot-label { color: $colorPlotLabelFg; position: absolute; text-align: center; &.gl-plot-x-label, &.l-plot-x-label { top: auto; right: 0; bottom: 0; left: 0; height: auto; } &.gl-plot-y-label, &.l-plot-y-label { $x: -50%; $r: -90deg; @include transform-origin(50% 0); @include transform(translateX($x) rotate($r)); display: inline-block; margin-left: $interiorMargin; // Kick off the left edge left: 0; top: 50%; white-space: nowrap; } } .gl-plot-x-options, .gl-plot-y-options { $h: 24px; position: absolute; height: $h; min-height: $h; z-index: 2; } .gl-plot-x-options { @include transform(translateX(-50%)); bottom: 0; left: 50%; } .gl-plot-y-options { @include transform(translateY(-50%)); min-width: 150px; // Need this due to enclosure of .select top: 50%; left: $plotYLabelW + $interiorMargin * 2; } .t-plot-display-controls { position: absolute; top: $interiorMargin; right: $interiorMargin; } .gl-plot-hash { position: absolute; border: 0 $colorPlotHash $stylePlotHash; &.hash-v { border-right-width: 1px; height: 100%; } &.hash-h { border-bottom-width: 1px; width: 100%; } } .gl-plot-legend { position: absolute; top: 0; right: 0; bottom: auto; left: 0; height: $plotLegendH; overflow-x: hidden; overflow-y: auto; } /****************************** 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($colorLimitYellowBg); } &.s-limit-red { @include limitBg($colorLimitRedBg); } } .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, .legend-item { display: inline-block; margin-right: $interiorMarginLg; margin-bottom: $interiorMarginSm; span { vertical-align: middle; } .plot-color-swatch, .color-swatch { border-radius: 2px; display: inline-block; height: $plotSwatchD; width: $plotSwatchD; } } } .gl-plot-legend { .plot-legend-item { border-radius: $smallCr; line-height: 1.5em; padding: 0px $itemPadLR; .plot-color-swatch { border: 1px solid $colorBodyBg; height: $plotSwatchD + 1; width: $plotSwatchD + 1; } } } .tick { position: absolute; border: 0 $colorPlotHash solid; &.tick-x { border-right-width: 1px; height: 100%; // Assumption is that the tick will be in a holder that will set it's height; } } .gl-plot-tick, .tick-label { direction: rtl; unicode-bidi:bidi-override; font-size: 0.7rem; position: absolute; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; &.gl-plot-x-tick-label, &.tick-label-x { right: auto; bottom: auto; left: auto; height: auto; width: 20%; margin-left: -10%; text-align: center; } &.gl-plot-y-tick-label, &.tick-label-y { top: auto; height: 1em; width: auto; margin-bottom: -0.5em; text-align: right; } } .gl-plot-tick { &.gl-plot-x-tick-label { top: $interiorMargin; } &.gl-plot-y-tick-label { right: $interiorMargin; left: $interiorMargin; } } .tick-label { &.tick-label-x { top: 0; } &.tick-label-y { right: 0; left: 0; } }