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