87 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!--
 | 
						|
 | 
						|
    Copyright © 2016-2023 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.
 | 
						|
 | 
						|
-->
 | 
						|
<section [formGroup]="deviceCredentialsFormGroup">
 | 
						|
  <mat-form-field class="mat-block" [fxShow]="credentialsTypes?.length > 1">
 | 
						|
    <mat-label translate>device.credentials-type</mat-label>
 | 
						|
    <mat-select formControlName="credentialsType">
 | 
						|
      <mat-option *ngFor="let credentialsType of credentialsTypes" [value]="credentialsType">
 | 
						|
        {{ credentialTypeNamesMap.get(credentialsType) }}
 | 
						|
      </mat-option>
 | 
						|
    </mat-select>
 | 
						|
  </mat-form-field>
 | 
						|
  <div [ngSwitch]="deviceCredentialsFormGroup.get('credentialsType').value">
 | 
						|
    <ng-template [ngSwitchCase]="deviceCredentialsType.ACCESS_TOKEN">
 | 
						|
      <mat-form-field class="mat-block">
 | 
						|
        <mat-label translate>device.access-token</mat-label>
 | 
						|
        <input matInput formControlName="credentialsId" required>
 | 
						|
        <button type="button"
 | 
						|
                matSuffix
 | 
						|
                mat-icon-button
 | 
						|
                aria-label="Generate"
 | 
						|
                matTooltip="{{ 'device.generate-access-token' | translate }}"
 | 
						|
                matTooltipPosition="above"
 | 
						|
                (click)="generate('credentialsId')"
 | 
						|
                *ngIf="!deviceCredentialsFormGroup.get('credentialsId').value">
 | 
						|
          <mat-icon>autorenew</mat-icon>
 | 
						|
        </button>
 | 
						|
        <tb-copy-button
 | 
						|
          matSuffix
 | 
						|
          inputAction
 | 
						|
          *ngIf="deviceCredentialsFormGroup.get('credentialsId').value"
 | 
						|
          [copyText]="deviceCredentialsFormGroup.get('credentialsId').value"
 | 
						|
          tooltipText="{{ 'device.copy-access-token' | translate }}"
 | 
						|
          tooltipPosition="above"
 | 
						|
          icon="content_copy">
 | 
						|
        </tb-copy-button>
 | 
						|
        <mat-error *ngIf="deviceCredentialsFormGroup.get('credentialsId').hasError('required')">
 | 
						|
          {{ 'device.access-token-required' | translate }}
 | 
						|
        </mat-error>
 | 
						|
        <mat-error *ngIf="deviceCredentialsFormGroup.get('credentialsId').hasError('pattern')">
 | 
						|
          {{ 'device.access-token-invalid' | translate }}
 | 
						|
        </mat-error>
 | 
						|
      </mat-form-field>
 | 
						|
    </ng-template>
 | 
						|
    <ng-template [ngSwitchCase]="deviceCredentialsType.X509_CERTIFICATE">
 | 
						|
      <mat-form-field class="mat-block">
 | 
						|
        <mat-label translate>device.certificate-pem-format</mat-label>
 | 
						|
        <textarea matInput formControlName="credentialsValue" cols="15" rows="5" required></textarea>
 | 
						|
        <tb-copy-button
 | 
						|
          matSuffix
 | 
						|
          inputAction
 | 
						|
          *ngIf="deviceCredentialsFormGroup.get('credentialsValue').value"
 | 
						|
          [copyText]="deviceCredentialsFormGroup.get('credentialsValue').value"
 | 
						|
          tooltipText="{{ 'device.copy-certificate' | translate }}"
 | 
						|
          tooltipPosition="above"
 | 
						|
          icon="content_copy">
 | 
						|
        </tb-copy-button>
 | 
						|
        <mat-error *ngIf="deviceCredentialsFormGroup.get('credentialsValue').hasError('required')">
 | 
						|
          {{ 'device.certificate-pem-format-required' | translate }}
 | 
						|
        </mat-error>
 | 
						|
      </mat-form-field>
 | 
						|
    </ng-template>
 | 
						|
    <ng-template [ngSwitchCase]="deviceCredentialsType.MQTT_BASIC">
 | 
						|
      <tb-device-credentials-mqtt-basic formControlName="credentialsValue">
 | 
						|
      </tb-device-credentials-mqtt-basic>
 | 
						|
    </ng-template>
 | 
						|
    <ng-template [ngSwitchCase]="deviceCredentialsType.LWM2M_CREDENTIALS">
 | 
						|
      <tb-device-credentials-lwm2m formControlName="credentialsValue">
 | 
						|
      </tb-device-credentials-lwm2m>
 | 
						|
    </ng-template>
 | 
						|
  </div>
 | 
						|
</section>
 |