committed by
GitHub
5 changed files with 861 additions and 1 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,105 @@ |
|||||
|
/** |
||||
|
* Copyright © 2016-2019 The Thingsboard Authors |
||||
|
* |
||||
|
* 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. |
||||
|
*/ |
||||
|
|
||||
|
.heat-map-widget { |
||||
|
position: relative; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
padding-top: 35px; |
||||
|
} |
||||
|
|
||||
|
.heat-map-info-panel { |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
right: 0; |
||||
|
z-index: 2; |
||||
|
background-color: rgba(0, 0, 0, .3); |
||||
|
border-bottom-left-radius: 5px; |
||||
|
|
||||
|
.md-button { |
||||
|
min-width: auto; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.heat-map-tooltip { |
||||
|
position: absolute; |
||||
|
top: 47px; |
||||
|
right: 0; |
||||
|
z-index: 2; |
||||
|
padding: 10px; |
||||
|
background-color: #fff; |
||||
|
border-top-left-radius: 10px; |
||||
|
border-bottom-left-radius: 10px; |
||||
|
transition: .3s ease-in-out; |
||||
|
|
||||
|
&-hidden { |
||||
|
transform: translateX(100%); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.heat-map-title { |
||||
|
padding: 10px; |
||||
|
} |
||||
|
|
||||
|
.heat-map-control-panel { |
||||
|
position: absolute; |
||||
|
bottom: 0; |
||||
|
z-index: 2; |
||||
|
box-sizing: border-box; |
||||
|
width: 100%; |
||||
|
padding-right: 70px; |
||||
|
padding-left: 20px; |
||||
|
background: rgba(0, 0, 0, .3); |
||||
|
|
||||
|
md-slider-container { |
||||
|
button { |
||||
|
max-width: none; |
||||
|
|
||||
|
ng-md-icon { |
||||
|
width: 36px; |
||||
|
height: 36px; |
||||
|
|
||||
|
svg { |
||||
|
width: inherit; |
||||
|
height: inherit; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.panel-timer { |
||||
|
max-width: none; |
||||
|
font-size: 20px; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.heat-map-container { |
||||
|
position: relative; |
||||
|
z-index: 1; |
||||
|
flex: 1; |
||||
|
width: 100%; |
||||
|
} |
||||
|
|
||||
|
#heat-map { |
||||
|
z-index: 1; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
|
||||
|
.pointsLayerMarkerIcon { |
||||
|
border-radius: 50%; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,53 @@ |
|||||
|
<!-- |
||||
|
|
||||
|
Copyright © 2016-2019 The Thingsboard Authors |
||||
|
|
||||
|
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. |
||||
|
|
||||
|
--> |
||||
|
<div class="heat-map-widget tracking-widget" layout="column" layout-align="center start"> |
||||
|
<div ng-show="vm.ctx.settings.showLabel"> |
||||
|
{{vm.trips[vm.activeTripIndex].settings.labelText}} |
||||
|
</div> |
||||
|
<div class="heat-map-control-panel" lang="row" layout-align="center start"> |
||||
|
<md-slider-container> |
||||
|
<md-slider ng-model="vm.index" min="{{vm.minTime}}" max="{{vm.maxTime}}" ng-change="vm.recalculateTrips()"></md-slider> |
||||
|
<md-button aria-label="Play" ng-click="vm.playMove(true)" ng-disabled="vm.isPlaying"> |
||||
|
<ng-md-icon icon="play_circle_outline"></ng-md-icon> |
||||
|
</md-button> |
||||
|
<md-select ng-model="vm.speed" aria-label="Speed selector"> |
||||
|
<md-option ng-value="speed" flex="1" ng-repeat="speed in vm.speeds track by $index">{{ speed}} |
||||
|
</md-option> |
||||
|
</md-select> |
||||
|
<md-button aria-label="Stop playing" ng-click="vm.stopPlay()"> |
||||
|
<ng-md-icon icon="pause_circle_outline"></ng-md-icon> |
||||
|
</md-button> |
||||
|
<div class="panel-timer">{{vm.trips[0].timeRange[vm.index].ts | date:'medium'}} |
||||
|
</div> |
||||
|
</md-slider-container> |
||||
|
</div> |
||||
|
<div class="heat-map-container" layout="column"> |
||||
|
<div flex id='heat-map'></div> |
||||
|
<div class="heat-map-info-panel" layout="row"> |
||||
|
<md-button aria-label="tooltip" ng-show="vm.staticSettings.displayTooltip" ng-click="vm.showHideTooltip()"> |
||||
|
<ng-md-icon icon="info"></ng-md-icon> |
||||
|
</md-button> |
||||
|
<!--<md-button aria-label="settings" ng-click="vm.openHideSettings()">--> |
||||
|
<!--<ng-md-icon icon="settings_applications"></ng-md-icon>--> |
||||
|
<!--</md-button>--> |
||||
|
</div> |
||||
|
<div class="heat-map-tooltip" class="heat-map-title" layout="column" ng-class="!vm.staticSettings.showTooltip ? 'heat-map-tooltip-hidden':''" ng-bind-html="vm.trips[vm.activeTripIndex].settings.tooltipText" |
||||
|
ng-style="{'background-color': vm.staticSettings.tooltipColor, 'opacity': vm.staticSettings.tooltipOpacity, 'color': vm.staticSettings.tooltipFontColor}"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
Loading…
Reference in new issue