62 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.5 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.
 | 
						|
 | 
						|
-->
 | 
						|
<mat-form-field [formGroup]="selectRuleChainFormGroup" class="mat-block">
 | 
						|
  <mat-label>{{ labelText | translate }}</mat-label>
 | 
						|
  <input matInput type="text"
 | 
						|
         #ruleChainInput
 | 
						|
         formControlName="ruleChainId"
 | 
						|
         (focusin)="onFocus()"
 | 
						|
         [required]="required"
 | 
						|
         [matAutocomplete]="ruleChainAutocomplete">
 | 
						|
  <button *ngIf="selectRuleChainFormGroup.get('ruleChainId').value && !disabled"
 | 
						|
          type="button"
 | 
						|
          matSuffix mat-icon-button aria-label="Clear"
 | 
						|
          (click)="clear()">
 | 
						|
    <mat-icon class="material-icons">close</mat-icon>
 | 
						|
  </button>
 | 
						|
  <mat-autocomplete class="tb-autocomplete"
 | 
						|
                    #ruleChainAutocomplete="matAutocomplete"
 | 
						|
                    [displayWith]="displayRuleChainFn">
 | 
						|
    <mat-option *ngFor="let ruleChain of filteredRuleChains | async" [value]="ruleChain">
 | 
						|
      <span [innerHTML]="ruleChain.name | highlight:searchText"></span>
 | 
						|
    </mat-option>
 | 
						|
    <mat-option *ngIf="!(filteredRuleChains | async)?.length" [value]="null" class="tb-not-found">
 | 
						|
      <div class="tb-not-found-content" (click)="$event.stopPropagation()">
 | 
						|
        <div *ngIf="!textIsNotEmpty(searchText); else searchNotEmpty">
 | 
						|
          <span translate>rulechain.no-rulechains-text</span>
 | 
						|
        </div>
 | 
						|
        <ng-template #searchNotEmpty>
 | 
						|
          <span>
 | 
						|
              {{ translate.get('rulechain.no-rulechains-matching',
 | 
						|
            {entity: truncate.transform(searchText, true, 6, '...')}) | async }}
 | 
						|
          </span>
 | 
						|
        </ng-template>
 | 
						|
        <span>
 | 
						|
          <a translate (click)="createDefaultRuleChain($event, searchText)">rulechain.create-new-rulechain</a>
 | 
						|
        </span>
 | 
						|
      </div>
 | 
						|
    </mat-option>
 | 
						|
  </mat-autocomplete>
 | 
						|
  <mat-error *ngIf="selectRuleChainFormGroup.get('ruleChainId').hasError('required')">
 | 
						|
    {{ 'rulechain.rulechain-required' | translate }}
 | 
						|
  </mat-error>
 | 
						|
  <mat-hint>
 | 
						|
    <ng-content select="[tb-hint]"></ng-content>
 | 
						|
  </mat-hint>
 | 
						|
</mat-form-field>
 |