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>
<ng-template #recipientsList> <ng-template #recipientsList>
<tb-entity-list <tb-entity-list
syncedIdListPropagator
required required
formControlName="targets" formControlName="targets"
labelText="{{ 'notification.recipients' | translate }}" labelText="{{ 'notification.recipients' | translate }}"

View File

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