77 lines
4.1 KiB
HTML
77 lines
4.1 KiB
HTML
<!--
|
|
|
|
Copyright © 2016-2020 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.
|
|
|
|
-->
|
|
<md-dialog aria-label="{{ 'edge.assign-to-edge' | translate }}">
|
|
<form name="theForm" ng-submit="vm.assign()">
|
|
<md-toolbar>
|
|
<div class="md-toolbar-tools">
|
|
<h2 translate>entity-view.assign-entity-view-to-edge</h2>
|
|
<span flex></span>
|
|
<md-button class="md-icon-button" ng-click="vm.cancel()">
|
|
<ng-md-icon icon="close" aria-label="{{ 'dialog.close' | translate }}"></ng-md-icon>
|
|
</md-button>
|
|
</div>
|
|
</md-toolbar>
|
|
<md-progress-linear class="md-warn" md-mode="indeterminate" ng-disabled="!$root.loading" ng-show="$root.loading"></md-progress-linear>
|
|
<span style="min-height: 5px;" flex="" ng-show="!$root.loading"></span>
|
|
<md-dialog-content>
|
|
<div class="md-dialog-content">
|
|
<fieldset>
|
|
<span translate>entity-view.assign-entity-view-to-edge-text</span>
|
|
<md-input-container class="md-block" style='margin-bottom: 0px;'>
|
|
<label> </label>
|
|
<md-icon aria-label="{{ 'action.search' | translate }}" class="material-icons">
|
|
search
|
|
</md-icon>
|
|
<input id="entity-view-search" autofocus ng-model="vm.searchText"
|
|
ng-change="vm.searchEntityViewTextUpdated()"
|
|
placeholder="{{ 'common.enter-search' | translate }}"/>
|
|
</md-input-container>
|
|
<div style='min-height: 150px;'>
|
|
<span translate layout-align="center center"
|
|
style="text-transform: uppercase; display: flex; height: 150px;"
|
|
class="md-subhead"
|
|
ng-show="vm.noData()">entity-view.no-entity-views-text</span>
|
|
<md-virtual-repeat-container ng-show="vm.hasData()"
|
|
tb-scope-element="repeatContainer" md-top-index="vm.topIndex" flex
|
|
style='min-height: 150px; width: 100%;'>
|
|
<md-list>
|
|
<md-list-item md-virtual-repeat="entityView in vm.theEntityViews" md-on-demand
|
|
class="repeated-item" flex>
|
|
<md-checkbox ng-click="vm.toggleEntityViewSelection($event, entityView)"
|
|
aria-label="{{ 'item.selected' | translate }}"
|
|
ng-checked="entityView.selected"></md-checkbox>
|
|
<span> {{ entityView.name }} </span>
|
|
</md-list-item>
|
|
</md-list>
|
|
</md-virtual-repeat-container>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</md-dialog-content>
|
|
<md-dialog-actions layout="row">
|
|
<span flex></span>
|
|
<md-button ng-disabled="$root.loading || vm.entityViews.selectedCount == 0" type="submit"
|
|
class="md-raised md-primary">
|
|
{{ 'action.assign' | translate }}
|
|
</md-button>
|
|
<md-button ng-disabled="$root.loading" ng-click="vm.cancel()" style="margin-right:20px;">{{ 'action.cancel' |
|
|
translate }}
|
|
</md-button>
|
|
</md-dialog-actions>
|
|
</form>
|
|
</md-dialog> |