BugFixing: Distribution groups
diff --git a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-members/distribution-group-members.component.html b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-members/distribution-group-members.component.html
index 74b691f..afd54c9 100644
--- a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-members/distribution-group-members.component.html
+++ b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-members/distribution-group-members.component.html
@@ -46,7 +46,7 @@
     [columnDefs]="columnDefinition"
     [rowSelection]="'single'"
     [frameworkComponents]="frameworkComponents"
-    [rowData]="sandbox.disableMemberButton ? [] : (sandbox.distributionGroupMember$ | async)"
+    [rowData]="sandbox.distributionGroupMember$ | async"
     [overlayNoRowsTemplate]="noRowsTemplate"
     (gridReady)="onGridReady($event)"
   >
diff --git a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts
index 6b9a4dc..ac2e7da 100644
--- a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts
+++ b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group.sandbox.ts
@@ -40,7 +40,7 @@
   public distributionGroupLoading$: Observable<boolean> = this.appState$.select(store.getDistributionGroupsLoading);
   public distributionGroupDetailsFormState$: Observable<FormGroupState<DistributionGroup>> = this.appState$.select(store.getDistributionGroupsDetails);
   public currentFormState: FormGroupState<DistributionGroup>;
-  public distributionGroupMember$: Observable<DistributionGroupMember[]> = this.appState$.select(store.getDistributionGroupMembersData);
+  public distributionGroupMember$: Observable<DistributionGroupMember[]> = this.appState$.select(store.getDistributionGroupMembersData).pipe();
   public distributionGroupMemberLoading$: Observable<boolean> = this.appState$.select(store.getDistributionGroupMembersLoading);
   public disableMemberButton: boolean = false;
   public distributionGroupTextPlaceholder: DistributionGroupTextPlaceholder;
@@ -68,6 +68,7 @@
   }
 
   public createDistributionGroup(): void {
+    this.appState$.dispatch(distributionGroupActions.resetDistributionGroupMembers());
     this._clear();
     this.appState$.dispatch(new MarkAsTouchedAction(distributionGroupFormReducer.FORM_ID));
     this.selectedTemplate = DistributionPublicationStatusEnum.PUBLISH;
@@ -116,11 +117,7 @@
     if (this.currentFormState.isValid) {
       this.changeEmailTemplate(this.selectedTemplate, this.selectedTemplate);
       let distributionGroup = new DistributionGroup(this.currentFormState.value);
-      this.appState$.dispatch(
-        distributionGroupActions.saveDistributionGroup({
-          payload: distributionGroup,
-        })
-      );
+
       // update: id exists
       if (distributionGroup && distributionGroup.id) {
         this.selectedDistributionGroup = distributionGroup;
@@ -128,6 +125,7 @@
       this.actionsSubject
         .pipe(
           ofType(distributionGroupActions.saveDistributionGroupSuccess),
+          take(1),
           map(action => action.payload),
           takeUntil(this._endSubscriptions$)
         )
@@ -140,6 +138,12 @@
           this.oldSelectedTemplate = DistributionPublicationStatusEnum.PUBLISH;
           this._clear();
         });
+
+      this.appState$.dispatch(
+        distributionGroupActions.saveDistributionGroup({
+          payload: distributionGroup,
+        })
+      );
     } else {
       this._utilService.displayNotification('MandatoryFieldError', 'alert');
     }
diff --git a/projects/grid-failure-information-app/src/app/shared/store/actions/distribution-groups.action.ts b/projects/grid-failure-information-app/src/app/shared/store/actions/distribution-groups.action.ts
index 2db2250..d3cd360 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/actions/distribution-groups.action.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/actions/distribution-groups.action.ts
@@ -35,6 +35,8 @@
   '[DistributionGroupMembers] Load Success',
   props<{ payload: Array<DistributionGroupMember> }>()
 );
+
+export const resetDistributionGroupMembers = createAction('[DistributionGroupMembers] Reset Success');
 export const loadDistributionGroupMembersFail = createAction('[DistributionGroupMembers] Load Fail', props<{ payload: string }>());
 
 export const deleteDistributionGroupMember = createAction('[DistributionGroupMember] Delete', props<{ groupId: string; memberId: string }>());
diff --git a/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.ts b/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.ts
index 5f25208..b0624d4 100644
--- a/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.ts
+++ b/projects/grid-failure-information-app/src/app/shared/store/reducers/distribution-groups/distribution-group-members.reducer.ts
@@ -39,6 +39,16 @@
       data: [],
     };
   }),
+  on(distributionGroupActions.resetDistributionGroupMembers, (state: any, action: any) => {
+    return {
+      ...state,
+      loading: false,
+      loaded: true,
+      failed: false,
+      data: [],
+    };
+  }),
+
   on(distributionGroupActions.loadDistributionGroupMembersSuccess, (state: any, action: any) => {
     return {
       ...state,