2017-04-23 18:04:55 +03:00
|
|
|
<!--
|
|
|
|
|
|
|
|
|
|
Copyright © 2016-2017 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.
|
|
|
|
|
|
|
|
|
|
-->
|
2017-12-29 15:24:31 +02:00
|
|
|
<div class="tb-absolute-fill tb-entities-table tb-data-table timeseriesWidget" layout="column">
|
|
|
|
|
<div flex class="tb-absolute-fill" layout="column">
|
|
|
|
|
<md-toolbar class="md-table-toolbar md-default" ng-show="vm.query.search !== null">
|
|
|
|
|
<div class="md-toolbar-tools">
|
|
|
|
|
<md-button class="md-icon-button" aria-label="{{ 'action.search' | translate }}">
|
|
|
|
|
<md-icon aria-label="{{ 'action.search' | translate }}" class="material-icons">search</md-icon>
|
|
|
|
|
<md-tooltip md-direction="{{vm.ctx.dashboard.isWidgetExpanded ? 'bottom' : 'top'}}">
|
|
|
|
|
{{'entity.search' | translate}}
|
|
|
|
|
</md-tooltip>
|
|
|
|
|
</md-button>
|
|
|
|
|
<md-input-container flex>
|
|
|
|
|
<label> </label>
|
|
|
|
|
<input ng-model="vm.query.search" placeholder="{{'widget.search-data' | translate}}" md-autofocus/>
|
|
|
|
|
</md-input-container>
|
|
|
|
|
<md-button class="md-icon-button" aria-label="Close" ng-click="vm.exitFilterMode()">
|
|
|
|
|
<md-icon aria-label="Close" class="material-icons">close</md-icon>
|
|
|
|
|
<md-tooltip md-direction="{{vm.ctx.dashboard.isWidgetExpanded ? 'bottom' : 'top'}}">
|
|
|
|
|
{{ 'action.close' | translate }}
|
|
|
|
|
</md-tooltip>
|
|
|
|
|
</md-button>
|
|
|
|
|
</div>
|
|
|
|
|
</md-toolbar>
|
2017-04-23 18:04:55 +03:00
|
|
|
|
2017-12-29 15:24:31 +02:00
|
|
|
<md-tabs flex md-selected="vm.sourceIndex" ng-class="{'tb-headless': vm.sources.length === 1}"
|
|
|
|
|
id="tabs" md-border-bottom flex>
|
|
|
|
|
<md-tab ng-repeat="source in vm.sources" label="{{ source.datasource.name }}">
|
2018-01-05 14:42:29 +02:00
|
|
|
<md-table-container class="tb-absolute-fill layout-column">
|
2017-12-29 15:24:31 +02:00
|
|
|
<table md-table>
|
|
|
|
|
<thead md-head md-order="source.query.order" md-on-reorder="vm.onReorder(source)">
|
|
|
|
|
<tr md-row>
|
|
|
|
|
<th ng-show="vm.showTimestamp"
|
|
|
|
|
md-column md-order-by="0"
|
|
|
|
|
>
|
|
|
|
|
<span>Timestamp</span>
|
|
|
|
|
</th>
|
|
|
|
|
<th md-column
|
|
|
|
|
md-order-by="{{ h.index }}"
|
|
|
|
|
ng-repeat="h in source.ts.header"
|
|
|
|
|
>
|
|
|
|
|
<span>{{ h.dataKey.label }}</span>
|
|
|
|
|
</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
|
|
|
|
|
<tbody md-body>
|
|
|
|
|
<tr md-row ng-repeat="row in source.ts.data track by $index">
|
|
|
|
|
<td ng-show="$index > 0 || ($index === 0 && vm.showTimestamp)"
|
|
|
|
|
md-cell
|
|
|
|
|
ng-repeat="d in row track by $index"
|
|
|
|
|
ng-style="vm.cellStyle(source, $index, d)"
|
|
|
|
|
ng-bind-html="vm.cellContent(source, $index, row, d)"
|
|
|
|
|
></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</table>
|
2018-01-05 14:42:29 +02:00
|
|
|
<md-divider></md-divider>
|
|
|
|
|
<span ng-show="!vm.sources[vm.sourceIndex].data.length"
|
|
|
|
|
layout-align="center center"
|
|
|
|
|
class="no-data-found" translate>widget.no-data-found</span>
|
2017-12-29 15:24:31 +02:00
|
|
|
</md-table-container>
|
|
|
|
|
</md-tab>
|
|
|
|
|
</md-tabs>
|
2018-01-05 14:42:29 +02:00
|
|
|
<md-table-pagination ng-if="vm.displayPagination"
|
|
|
|
|
md-limit="vm.sources[vm.sourceIndex].query.limit"
|
|
|
|
|
md-limit-options="vm.limitOptions"
|
|
|
|
|
md-page="vm.sources[vm.sourceIndex].query.page"
|
|
|
|
|
md-total="{{vm.sources[vm.sourceIndex].data.length}}"
|
|
|
|
|
md-on-paginate="vm.onPaginate(vm.sources[vm.sourceIndex])"
|
|
|
|
|
md-page-select>
|
|
|
|
|
</md-table-pagination>
|
2017-12-29 15:24:31 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|