2015-05-13 23:42:35 +00:00
|
|
|
<!--
|
|
|
|
Open MCT Web, Copyright (c) 2014-2015, United States Government
|
|
|
|
as represented by the Administrator of the National Aeronautics and Space
|
|
|
|
Administration. All rights reserved.
|
|
|
|
|
|
|
|
Open MCT Web 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 Web 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.
|
|
|
|
-->
|
2015-05-06 17:21:29 +00:00
|
|
|
<span ng-controller="PlotController as plot"
|
2015-11-12 16:57:02 +00:00
|
|
|
class="abs holder holder-plot">
|
2015-06-19 20:34:21 +00:00
|
|
|
<div class="gl-plot"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-style="{ height: 100 / plot.getSubPlots().length + '%'}"
|
|
|
|
ng-repeat="subplot in plot.getSubPlots()">
|
|
|
|
<div class="gl-plot-legend">
|
2015-06-19 20:34:21 +00:00
|
|
|
<!-- ng-class is temporarily hard-coded in next element -->
|
2015-05-06 17:21:29 +00:00
|
|
|
<span
|
2015-06-19 20:34:21 +00:00
|
|
|
class='plot-legend-item'
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-repeat="telemetryObject in subplot.getTelemetryObjects()"
|
2016-01-12 23:54:56 +00:00
|
|
|
ng-class="plot.getLegendClass(telemetryObject)">
|
2015-05-06 17:21:29 +00:00
|
|
|
<span class='plot-color-swatch'
|
|
|
|
ng-style="{ 'background-color': plot.getColor($index) }">
|
2014-12-11 02:29:18 +00:00
|
|
|
</span>
|
2015-05-06 17:21:29 +00:00
|
|
|
<span class='title-label'>{{telemetryObject.getModel().name}}</span>
|
|
|
|
</span>
|
|
|
|
</div>
|
2016-01-12 23:54:56 +00:00
|
|
|
<div class="gl-plot-coords"
|
|
|
|
ng-if="subplot.isHovering() && subplot.getHoverCoordinates()">
|
2015-05-06 17:21:29 +00:00
|
|
|
{{subplot.getHoverCoordinates()}}
|
|
|
|
</div>
|
|
|
|
<div class="gl-plot-axis-area gl-plot-y">
|
|
|
|
<div class="gl-plot-label gl-plot-y-label">
|
|
|
|
{{axes[1].active.name}}
|
|
|
|
</div>
|
|
|
|
<div ng-repeat="tick in subplot.getRangeTicks()"
|
|
|
|
class="gl-plot-tick gl-plot-y-tick-label"
|
|
|
|
ng-style="{ bottom: (100 * $index / (subplot.getRangeTicks().length - 1)) + '%' }">
|
2016-01-15 21:14:33 +00:00
|
|
|
{{tick.label | reverse}}
|
2015-05-06 17:21:29 +00:00
|
|
|
</div>
|
|
|
|
<div class="gl-plot-y-options gl-plot-local-controls"
|
2016-01-12 23:54:56 +00:00
|
|
|
ng-if="axes[1].options.length > 1">
|
2015-05-06 17:21:29 +00:00
|
|
|
<div class='form-control shell select'>
|
2015-11-20 02:50:10 +00:00
|
|
|
<select class="form-control input shell"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-model="axes[1].active"
|
|
|
|
ng-options="option.name for option in axes[1].options">
|
|
|
|
</select>
|
2014-12-11 02:55:47 +00:00
|
|
|
</div>
|
2014-12-11 02:29:18 +00:00
|
|
|
</div>
|
2015-05-06 17:21:29 +00:00
|
|
|
</div>
|
|
|
|
<div class="gl-plot-display-area"
|
2016-01-12 23:54:56 +00:00
|
|
|
ng-mouseenter="subplot.isHovering(true);"
|
2016-01-13 21:54:00 +00:00
|
|
|
ng-mouseleave="subplot.isHovering(false)"
|
|
|
|
ng-class="{ loading: plot.isRequestPending() }">
|
2015-06-19 20:34:21 +00:00
|
|
|
<!-- Out-of-bounds data indicators -->
|
|
|
|
<!-- ng-show is temporarily hard-coded in next element -->
|
2015-06-16 00:37:22 +00:00
|
|
|
<div ng-show="false" class="l-oob-data l-oob-data-up"></div>
|
|
|
|
<div ng-show="false" class="l-oob-data l-oob-data-dwn"></div>
|
2015-05-06 17:21:29 +00:00
|
|
|
<div class="gl-plot-hash hash-v"
|
|
|
|
ng-repeat="tick in subplot.getDomainTicks()"
|
|
|
|
ng-style="{ left: (100 * $index / (subplot.getDomainTicks().length - 1)) + '%', height: '100%' }"
|
|
|
|
ng-show="$index > 0 && $index < (subplot.getDomainTicks().length - 1)">
|
|
|
|
</div>
|
|
|
|
<div class="gl-plot-hash hash-h"
|
|
|
|
ng-repeat="tick in subplot.getRangeTicks()"
|
|
|
|
ng-style="{ bottom: (100 * $index / (subplot.getRangeTicks().length - 1)) + '%', width: '100%' }"
|
|
|
|
ng-show="$index > 0 && $index < (subplot.getRangeTicks().length - 1)">
|
|
|
|
</div>
|
|
|
|
<mct-chart draw="subplot.getDrawingObject()"
|
2015-07-17 16:13:20 +00:00
|
|
|
ng-if="subplot.getTelemetryObjects().length > 0"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-mousemove="subplot.hover($event)"
|
2015-06-29 19:08:16 +00:00
|
|
|
mct-drag="subplot.continueDrag($event)"
|
|
|
|
mct-drag-down="subplot.startDrag($event)"
|
|
|
|
mct-drag-up="subplot.endDrag($event); plot.update()">
|
2015-05-06 17:21:29 +00:00
|
|
|
</mct-chart>
|
|
|
|
<!-- TODO: Move into correct position; make part of group; infer from set of actions -->
|
2016-01-12 23:54:56 +00:00
|
|
|
<div class="l-local-controls gl-plot-local-controls t-plot-display-controls"
|
|
|
|
ng-if="$first">
|
2015-09-03 01:02:58 +00:00
|
|
|
<a class="s-btn"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-click="plot.stepBackPanZoom()"
|
|
|
|
ng-show="plot.isZoomed()"
|
|
|
|
title="Restore previous pan/zoom">
|
|
|
|
<span class="ui-symbol icon"><</span>
|
|
|
|
</a>
|
2015-09-03 01:02:58 +00:00
|
|
|
<a class="s-btn"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-click="plot.unzoom()"
|
|
|
|
ng-show="plot.isZoomed()"
|
|
|
|
title="Reset pan/zoom">
|
|
|
|
<span class="ui-symbol icon">I</span>
|
|
|
|
</a>
|
2015-09-24 22:38:52 +00:00
|
|
|
<div class="menu-element s-menu-btn menus-to-left"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-if="plot.getModeOptions().length > 1"
|
|
|
|
ng-controller="ClickAwayController as toggle">
|
|
|
|
<span class="l-click-area" ng-click="toggle.toggle()"></span>
|
|
|
|
<span class="ui-symbol icon type-icon">{{plot.getMode().glyph}}</span>
|
|
|
|
<span>{{plot.getMode().name}}</span>
|
2015-09-03 01:02:58 +00:00
|
|
|
<div class="menu" ng-show="toggle.isActive()">
|
2015-05-06 17:21:29 +00:00
|
|
|
<ul>
|
|
|
|
<li ng-repeat="option in plot.getModeOptions()">
|
|
|
|
<a href="" ng-click="plot.setMode(option); toggle.setState(false)">
|
|
|
|
<span class="ui-symbol type-icon icon">
|
|
|
|
{{option.glyph}}
|
|
|
|
</span>
|
|
|
|
{{option.name}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
2014-12-11 02:55:47 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2014-12-01 17:41:39 +00:00
|
|
|
</div>
|
2015-05-06 17:21:29 +00:00
|
|
|
</div>
|
|
|
|
<div ng-if="$last" class="gl-plot-axis-area gl-plot-x">
|
|
|
|
<div ng-repeat="tick in subplot.getDomainTicks()"
|
|
|
|
class="gl-plot-tick gl-plot-x-tick-label"
|
|
|
|
ng-show="$index > 0 && $index < (subplot.getDomainTicks().length - 1)"
|
|
|
|
ng-style="{ left: (100 * $index / (subplot.getDomainTicks().length - 1)) + '%' }">
|
2016-01-15 21:09:05 +00:00
|
|
|
{{tick.label | reverse}}
|
2015-05-06 17:21:29 +00:00
|
|
|
</div>
|
|
|
|
<div class="gl-plot-label gl-plot-x-label">
|
|
|
|
{{axes[0].active.name}}
|
|
|
|
</div>
|
|
|
|
<div class="gl-plot-x-options gl-plot-local-controls"
|
2016-01-12 23:54:56 +00:00
|
|
|
ng-if="axes[0].options.length > 1">
|
2015-05-06 17:21:29 +00:00
|
|
|
<div class='form-control shell select'>
|
2015-11-20 02:50:10 +00:00
|
|
|
<select class="form-control input shell"
|
2015-05-06 17:21:29 +00:00
|
|
|
ng-model="axes[0].active"
|
|
|
|
ng-options="option.name for option in axes[0].options">
|
|
|
|
</select>
|
|
|
|
</div>
|
2014-12-11 02:55:47 +00:00
|
|
|
</div>
|
2015-05-06 17:21:29 +00:00
|
|
|
|
2015-01-29 17:05:40 +00:00
|
|
|
</div>
|
2015-05-06 17:21:29 +00:00
|
|
|
</div>
|
|
|
|
</span>
|