Merge pull request #8470 from vvlladd28/bug/notification/preview-error
Fixed error when we review in send notification
This commit is contained in:
commit
dfa32952fc
@ -16,7 +16,6 @@
|
||||
|
||||
import {
|
||||
NotificationDeliveryMethod,
|
||||
NotificationDeliveryMethodTranslateMap,
|
||||
NotificationRequest,
|
||||
NotificationRequestPreview,
|
||||
NotificationTarget,
|
||||
@ -72,9 +71,6 @@ export class SentNotificationDialogComponent extends
|
||||
|
||||
notificationRequestForm: FormGroup;
|
||||
|
||||
notificationDeliveryMethods = Object.keys(NotificationDeliveryMethod) as NotificationDeliveryMethod[];
|
||||
notificationDeliveryMethodTranslateMap = NotificationDeliveryMethodTranslateMap;
|
||||
|
||||
selectedIndex = 0;
|
||||
preview: NotificationRequestPreview = null;
|
||||
|
||||
@ -84,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>,
|
||||
@ -130,6 +128,7 @@ export class SentNotificationDialogComponent extends
|
||||
} else {
|
||||
this.notificationRequestForm.get('templateId').disable({emitEvent: false});
|
||||
this.notificationRequestForm.get('template').enable({emitEvent: false});
|
||||
this.updateDeliveryMethodsDisableState();
|
||||
}
|
||||
});
|
||||
|
||||
@ -337,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
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ export abstract class TemplateConfiguration<T, R = any> extends DialogComponent<
|
||||
protected getNotificationTemplateValue(): NotificationTemplate {
|
||||
const template: NotificationTemplate = deepClone(this.templateNotificationForm.value);
|
||||
this.notificationDeliveryMethods.forEach(method => {
|
||||
if (template.configuration.deliveryMethodsTemplates[method].enabled) {
|
||||
if (template.configuration.deliveryMethodsTemplates[method]?.enabled) {
|
||||
Object.assign(template.configuration.deliveryMethodsTemplates[method], this.deliveryMethodFormsMap.get(method).value, {method});
|
||||
} else {
|
||||
delete template.configuration.deliveryMethodsTemplates[method];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user