UI: Fixed incorrect updated allow delivery method disable state
This commit is contained in:
parent
cbaaee657a
commit
64ed2646cc
@ -16,7 +16,6 @@
|
||||
|
||||
import {
|
||||
NotificationDeliveryMethod,
|
||||
NotificationDeliveryMethodTranslateMap,
|
||||
NotificationRequest,
|
||||
NotificationRequestPreview,
|
||||
NotificationTarget,
|
||||
@ -81,6 +80,8 @@ export class SentNotificationDialogComponent extends
|
||||
|
||||
private authUser: AuthUser = getCurrentAuthUser(this.store);
|
||||
|
||||
private allowNotificationDeliveryMethods: Array<NotificationDeliveryMethod>;
|
||||
|
||||
constructor(protected store: Store<AppState>,
|
||||
protected router: Router,
|
||||
protected dialogRef: MatDialogRef<SentNotificationDialogComponent, NotificationRequest>,
|
||||
@ -127,6 +128,7 @@ export class SentNotificationDialogComponent extends
|
||||
} else {
|
||||
this.notificationRequestForm.get('templateId').disable({emitEvent: false});
|
||||
this.notificationRequestForm.get('template').enable({emitEvent: false});
|
||||
this.updateDeliveryMethodsDisableState();
|
||||
}
|
||||
});
|
||||
|
||||
@ -334,15 +336,20 @@ export class SentNotificationDialogComponent extends
|
||||
|
||||
refreshAllowDeliveryMethod() {
|
||||
this.notificationService.getAvailableDeliveryMethods({ignoreLoading: true}).subscribe(allowMethods => {
|
||||
this.notificationDeliveryMethods.forEach(method => {
|
||||
if (allowMethods.includes(method)) {
|
||||
this.getDeliveryMethodsTemplatesControl(method).enable({emitEvent: true});
|
||||
} else {
|
||||
this.getDeliveryMethodsTemplatesControl(method).disable({emitEvent: true});
|
||||
this.getDeliveryMethodsTemplatesControl(method).setValue(false, {emitEvent: true}); //used for notify again
|
||||
}
|
||||
});
|
||||
this.allowNotificationDeliveryMethods = allowMethods;
|
||||
this.updateDeliveryMethodsDisableState();
|
||||
this.showRefresh = (this.notificationDeliveryMethods.length !== allowMethods.length);
|
||||
});
|
||||
}
|
||||
|
||||
private updateDeliveryMethodsDisableState() {
|
||||
this.notificationDeliveryMethods.forEach(method => {
|
||||
if (this.allowNotificationDeliveryMethods.includes(method)) {
|
||||
this.getDeliveryMethodsTemplatesControl(method).enable({emitEvent: true});
|
||||
} else {
|
||||
this.getDeliveryMethodsTemplatesControl(method).disable({emitEvent: true});
|
||||
this.getDeliveryMethodsTemplatesControl(method).setValue(false, {emitEvent: true}); //used for notify again
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user