Browse Source

UI: Fixed incorrect updated allow delivery method disable state

pull/8470/head
Vladyslav Prykhodko 3 years ago
parent
commit
64ed2646cc
  1. 25
      ui-ngx/src/app/modules/home/pages/notification/sent/sent-notification-dialog.componet.ts

25
ui-ngx/src/app/modules/home/pages/notification/sent/sent-notification-dialog.componet.ts

@ -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…
Cancel
Save