108 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!--
 | 
						|
 | 
						|
    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="tb-details-buttons">
 | 
						|
  <button mat-raised-button color="primary"
 | 
						|
          [disabled]="(isLoading$ | async)"
 | 
						|
          (click)="onEntityAction($event, 'makePublic')"
 | 
						|
          [fxShow]="!isEdit && deviceScope === 'tenant' && !isAssignedToCustomer(entity) && !entity?.customerIsPublic">
 | 
						|
    {{'device.make-public' | translate }}
 | 
						|
  </button>
 | 
						|
  <button mat-raised-button color="primary"
 | 
						|
          [disabled]="(isLoading$ | async)"
 | 
						|
          (click)="onEntityAction($event, 'assignToCustomer')"
 | 
						|
          [fxShow]="!isEdit && deviceScope === 'tenant' && !isAssignedToCustomer(entity)">
 | 
						|
    {{'device.assign-to-customer' | translate }}
 | 
						|
  </button>
 | 
						|
  <button mat-raised-button color="primary"
 | 
						|
          [disabled]="(isLoading$ | async)"
 | 
						|
          (click)="onEntityAction($event, 'unassignFromCustomer')"
 | 
						|
          [fxShow]="!isEdit && (deviceScope === 'customer' || deviceScope === 'tenant') && isAssignedToCustomer(entity)">
 | 
						|
    {{ (entity?.customerIsPublic ? 'device.make-private' : 'device.unassign-from-customer') | translate }}
 | 
						|
  </button>
 | 
						|
  <button mat-raised-button color="primary"
 | 
						|
          [disabled]="(isLoading$ | async)"
 | 
						|
          (click)="onEntityAction($event, 'manageCredentials')"
 | 
						|
          [fxShow]="!isEdit">
 | 
						|
    {{ (deviceScope === 'customer_user' ? 'device.view-credentials' : 'device.manage-credentials') | translate }}
 | 
						|
  </button>
 | 
						|
  <button mat-raised-button color="primary"
 | 
						|
          [disabled]="(isLoading$ | async)"
 | 
						|
          (click)="onEntityAction($event, 'delete')"
 | 
						|
          [fxShow]="!hideDelete() && !isEdit">
 | 
						|
    {{'device.delete' | translate }}
 | 
						|
  </button>
 | 
						|
  <div fxLayout="row">
 | 
						|
    <button mat-raised-button
 | 
						|
            ngxClipboard
 | 
						|
            (cbOnSuccess)="onDeviceIdCopied($event)"
 | 
						|
            [cbContent]="entity?.id?.id"
 | 
						|
            [fxShow]="!isEdit">
 | 
						|
      <mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
 | 
						|
      <span translate>device.copyId</span>
 | 
						|
    </button>
 | 
						|
    <button mat-raised-button
 | 
						|
            (click)="copyAccessToken($event)"
 | 
						|
            [fxShow]="!isEdit">
 | 
						|
      <mat-icon svgIcon="mdi:clipboard-arrow-left"></mat-icon>
 | 
						|
      <span translate>device.copyAccessToken</span>
 | 
						|
    </button>
 | 
						|
  </div>
 | 
						|
</div>
 | 
						|
<div class="mat-padding" fxLayout="column">
 | 
						|
  <mat-form-field class="mat-block"
 | 
						|
                  [fxShow]="!isEdit && isAssignedToCustomer(entity)
 | 
						|
                              && !entity?.customerIsPublic && deviceScope === 'tenant'">
 | 
						|
    <mat-label translate>device.assignedToCustomer</mat-label>
 | 
						|
    <input matInput disabled [ngModel]="entity?.customerTitle">
 | 
						|
  </mat-form-field>
 | 
						|
  <div class="tb-small" style="padding-bottom: 10px; padding-left: 2px;"
 | 
						|
       [fxShow]="!isEdit && entity?.customerIsPublic && (deviceScope === 'customer' || deviceScope === 'tenant')">
 | 
						|
    {{ 'device.device-public' | translate }}
 | 
						|
  </div>
 | 
						|
  <form #entityNgForm="ngForm" [formGroup]="entityForm">
 | 
						|
    <fieldset [disabled]="(isLoading$ | async) || !isEdit">
 | 
						|
      <mat-form-field class="mat-block">
 | 
						|
        <mat-label translate>device.name</mat-label>
 | 
						|
        <input matInput formControlName="name" required>
 | 
						|
        <mat-error *ngIf="entityForm.get('name').hasError('required')">
 | 
						|
          {{ 'device.name-required' | translate }}
 | 
						|
        </mat-error>
 | 
						|
      </mat-form-field>
 | 
						|
      <tb-entity-subtype-autocomplete
 | 
						|
        formControlName="type"
 | 
						|
        [required]="true"
 | 
						|
        [entityType]="entityType.DEVICE"
 | 
						|
      >
 | 
						|
      </tb-entity-subtype-autocomplete>
 | 
						|
      <mat-form-field class="mat-block">
 | 
						|
        <mat-label translate>device.label</mat-label>
 | 
						|
        <input matInput formControlName="label">
 | 
						|
      </mat-form-field>
 | 
						|
      <div formGroupName="additionalInfo" fxLayout="column">
 | 
						|
        <mat-checkbox fxFlex formControlName="gateway" style="padding-bottom: 16px;">
 | 
						|
          {{ 'device.is-gateway' | translate }}
 | 
						|
        </mat-checkbox>
 | 
						|
        <mat-form-field class="mat-block">
 | 
						|
          <mat-label translate>device.description</mat-label>
 | 
						|
          <textarea matInput formControlName="description" rows="2"></textarea>
 | 
						|
        </mat-form-field>
 | 
						|
      </div>
 | 
						|
    </fieldset>
 | 
						|
  </form>
 | 
						|
</div>
 |