Merge branch 'AD/bug-fix/delete-recipient' of github.com:ArtemDzhereleiko/thingsboard into AD/bug-fix/delete-recipient

This commit is contained in:
Vladyslav_Prykhodko 2024-08-19 18:28:41 +03:00
commit 521c2ec484
2 changed files with 10 additions and 0 deletions

View File

@ -104,6 +104,7 @@
</ng-template>
<ng-template #recipientsList>
<tb-entity-list
syncedIdListPropagator
required
formControlName="targets"
labelText="{{ 'notification.recipients' | translate }}"

View File

@ -45,6 +45,7 @@ import { MatAutocomplete } from '@angular/material/autocomplete';
import { MatChipGrid } from '@angular/material/chips';
import { coerceBooleanProperty } from '@angular/cdk/coercion';
import { SubscriptSizing } from '@angular/material/form-field';
import { coerceBoolean } from '@shared/decorators/coercion';
@Component({
selector: 'tb-entity-list',
@ -106,6 +107,10 @@ export class EntityListComponent implements ControlValueAccessor, OnInit, AfterV
@Input()
hint: string;
@Input()
@coerceBoolean()
syncedIdListPropagator = false;
@ViewChild('entityInput') entityInput: ElementRef<HTMLInputElement>;
@ViewChild('entityAutocomplete') matAutocomplete: MatAutocomplete;
@ViewChild('chipList', {static: true}) chipList: MatChipGrid;
@ -189,6 +194,10 @@ export class EntityListComponent implements ControlValueAccessor, OnInit, AfterV
(entities) => {
this.entities = entities;
this.entityListFormGroup.get('entities').setValue(this.entities);
if (this.syncedIdListPropagator && this.modelValue.length !== entities.length) {
this.modelValue = entities.map(entity => entity.id.id);
this.propagateChange(this.modelValue);
}
}
);
} else {