dashboardjavacloudcoapiotiot-analyticsiot-platformiot-solutionskafkalwm2mmicroservicesmiddlewaremqttnettyplatformsnmpthingsboardvisualizationwebsocketswidgets
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
3.4 KiB
71 lines
3.4 KiB
<!--
|
|
|
|
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="{{ 'device.device-credentials' | translate }}">
|
|
<form name="theForm" ng-submit="vm.save()">
|
|
<md-toolbar>
|
|
<div class="md-toolbar-tools">
|
|
<h2 translate>device.device-credentials</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 ng-disabled="loading || vm.isReadOnly">
|
|
<md-input-container class="md-block">
|
|
<label translate>device.credentials-type</label>
|
|
<md-select ng-disabled="loading || vm.isReadOnly" ng-model="vm.deviceCredentials.credentialsType"
|
|
ng-change="vm.clear()">
|
|
<md-option ng-repeat="credentialsType in vm.credentialsTypes" value="{{credentialsType.value}}">
|
|
{{credentialsType.name}}
|
|
</md-option>
|
|
</md-select>
|
|
</md-input-container>
|
|
<md-input-container class="md-block" ng-if="vm.deviceCredentials.credentialsType === 'ACCESS_TOKEN'">
|
|
<label translate>device.access-token</label>
|
|
<input required name="accessToken" ng-model="vm.deviceCredentials.credentialsId"
|
|
md-maxlength="20" ng-pattern="/^.{1,20}$/">
|
|
<div ng-messages="theForm.accessToken.$error">
|
|
<div translate ng-message="required">device.access-token-required</div>
|
|
<div translate ng-message="pattern">device.access-token-invalid</div>
|
|
</div>
|
|
</md-input-container>
|
|
<md-input-container class="md-block" ng-if="vm.deviceCredentials.credentialsType === 'X509_CERTIFICATE'">
|
|
<label translate>device.rsa-key</label>
|
|
<textarea required name="rsaKey" ng-model="vm.deviceCredentials.credentialsValue"
|
|
cols="15" rows="5"></textarea>
|
|
<div ng-messages="theForm.rsaKey.$error">
|
|
<div translate ng-message="required">device.rsa-key-required</div>
|
|
</div>
|
|
</md-input-container>
|
|
</fieldset>
|
|
</div>
|
|
</md-dialog-content>
|
|
<md-dialog-actions layout="row">
|
|
<span flex></span>
|
|
<md-button ng-if="!vm.isReadOnly" ng-disabled="loading || theForm.$invalid || !theForm.$dirty || !vm.valid()" type="submit" class="md-raised md-primary">
|
|
{{ 'action.save' | translate }}
|
|
</md-button>
|
|
<md-button ng-disabled="loading" ng-click="vm.cancel()" style="margin-right:20px;">{{ (vm.isReadOnly ? 'action.close' : 'action.cancel') | translate }}</md-button>
|
|
</md-dialog-actions>
|
|
</form>
|
|
</md-dialog>
|