76 lines
4.0 KiB
HTML
76 lines
4.0 KiB
HTML
<!--
|
|
|
|
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.
|
|
|
|
-->
|
|
<md-dialog aria-label="{{ 'dashboard.assign-dashboard-to-customer' | translate }}">
|
|
<form name="theForm" ng-submit="vm.assign()">
|
|
<md-toolbar>
|
|
<div class="md-toolbar-tools">
|
|
<h2 translate>dashboard.assign-dashboard-to-customer</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="!loading" ng-show="loading"></md-progress-linear>
|
|
<span style="min-height: 5px;" flex="" ng-show="!loading"></span>
|
|
<md-dialog-content>
|
|
<div class="md-dialog-content">
|
|
<fieldset>
|
|
<span translate>dashboard.assign-to-customer-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="customer-search" autofocus ng-model="vm.searchText"
|
|
ng-change="vm.searchCustomerTextUpdated()"
|
|
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()">customer.no-customers-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="customer in vm.theCustomers" md-on-demand
|
|
class="repeated-item" flex>
|
|
<md-checkbox ng-click="vm.toggleCustomerSelection($event, customer)"
|
|
aria-label="{{ 'item.selected' | translate }}"
|
|
ng-checked="vm.isCustomerSelected(customer)"></md-checkbox>
|
|
<span> {{ customer.title }} </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="loading || vm.customers.selection==null" type="submit" class="md-raised md-primary">
|
|
{{ 'action.assign' | translate }}
|
|
</md-button>
|
|
<md-button ng-disabled="loading" ng-click="vm.cancel()" style="margin-right:20px;">{{ 'action.cancel' |
|
|
translate }}
|
|
</md-button>
|
|
</md-dialog-actions>
|
|
</form>
|
|
</md-dialog> |