diff --git a/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts b/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts index 18a79fdb51..687bd003ea 100644 --- a/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts +++ b/ui-ngx/src/app/shared/components/entity/entity-autocomplete.component.ts @@ -342,12 +342,9 @@ export class EntityAutocompleteComponent implements ControlValueAccessor, OnInit map((data) => { if (data) { if (this.excludeEntityIds && this.excludeEntityIds.length) { + const excludeEntityIdsSet = new Set(this.excludeEntityIds); const entities: Array> = []; - data.forEach((entity) => { - if (this.excludeEntityIds.indexOf(entity.id.id) === -1) { - entities.push(entity); - } - }); + data.forEach(entity => !excludeEntityIdsSet.has(entity.id.id) && entities.push(entity)); return entities; } else { return data; diff --git a/ui-ngx/src/app/shared/components/entity/entity-subtype-autocomplete.component.html b/ui-ngx/src/app/shared/components/entity/entity-subtype-autocomplete.component.html index ff2be0d53e..bc03a7f61b 100644 --- a/ui-ngx/src/app/shared/components/entity/entity-subtype-autocomplete.component.html +++ b/ui-ngx/src/app/shared/components/entity/entity-subtype-autocomplete.component.html @@ -15,7 +15,7 @@ limitations under the License. --> - + {{ entitySubtypeText | translate }} ; + + @Input() + appearance: MatFormFieldAppearance = 'legacy'; + @ViewChild('subTypeInput', {static: true}) subTypeInput: ElementRef; selectEntitySubtypeText: string; @@ -238,9 +245,14 @@ export class EntitySubTypeAutocompleteComponent implements ControlValueAccessor, break; } if (subTypesObservable) { + const excludeSubTypesSet = new Set(this.excludeSubTypes); this.subTypes = subTypesObservable.pipe( catchError(() => of([] as Array)), - map(subTypes => subTypes.map(subType => subType.type)), + map(subTypes => { + const filteredSubTypes: Array = []; + subTypes.forEach(subType => !excludeSubTypesSet.has(subType.type) && filteredSubTypes.push(subType.type)); + return filteredSubTypes; + }), publishReplay(1), refCount() );