UI: Refactoring no text option for extension

This commit is contained in:
Artem Dzhereleiko 2024-12-09 10:36:51 +02:00
parent 48c8160e1f
commit 845f209996
2 changed files with 18 additions and 9 deletions

View File

@ -41,17 +41,24 @@
<mat-option *ngFor="let resource of filteredResources$ | async" [value]="resource">
<span [innerHTML]="resource.title | highlight:searchText"></span>
</mat-option>
<mat-option *ngIf="!(filteredResources$ | async)?.length" [value]="null">
<div (click)="$event.stopPropagation()">
<div *ngIf="!textIsNotEmpty(searchText); else searchNotEmpty">
<span>{{ 'js-func.no-js-module-text' | translate }}</span>
</div>
<ng-template #searchNotEmpty>
<ng-container *ngIf="subType !== ResourceSubType.EXTENSION; else extensionNoText">
<mat-option *ngIf="!(filteredResources$ | async)?.length" [value]="null">
<div (click)="$event.stopPropagation()">
<div *ngIf="!textIsNotEmpty(searchText); else searchNotEmpty">
<span>{{ 'js-func.no-js-module-text' | translate }}</span>
</div>
<ng-template #searchNotEmpty>
<span>
{{ translate.get('js-func.no-js-module-matching', {module: searchText}) | async }}
</span>
</ng-template>
</div>
</mat-option>
</ng-template>
</div>
</mat-option>
</ng-container>
<ng-template #extensionNoText>
<mat-option *ngIf="!(filteredResources$ | async)?.length" [value]="searchText">
{{ searchText }}
</mat-option>
</ng-template>
</mat-autocomplete>
</mat-form-field>

View File

@ -79,6 +79,8 @@ export class ResourceAutocompleteComponent implements ControlValueAccessor, OnIn
@Input()
subType = ResourceSubType.EXTENSION;
ResourceSubType = ResourceSubType;
resourceFormGroup = this.fb.group({
resource: this.fb.control<string|ResourceInfo>(null)
});