Merge branch 'DEVELOP' of ssh://git.eclipse.org:29418/openk-usermodules/org.eclipse.openk-usermodules.gridFailureInformation.frontend into SI-727-stornieren
diff --git a/i18n/grid-failure.de.json b/i18n/grid-failure.de.json
index c67fc28..e9a9caa 100644
--- a/i18n/grid-failure.de.json
+++ b/i18n/grid-failure.de.json
@@ -21,7 +21,7 @@
     "Address": "Adresse",
     "StationAttributes": "Stationsattribute",
     "GridFailureILocation": "Störungsort",
-    "AssignedDistributionsGroup": "zugeordnete Verteilergruppen",
+    "Publication": "Veröffentlichung",
     "Version": "Version",
     "CreatedOn": "erstellt am",
     "CreatedFrom": "von User",
@@ -53,6 +53,6 @@
     "PublicationChannels": "Veröffentlichungskanäle",
     "DistributionGroups": "Verteilergruppen",
     "ChannelSaveBtn": "Kanäle speichern",
-	"AddStation": "Station hinzufügen"
+    "AddStation": "Station hinzufügen"
   }
 }
diff --git a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-list/distribution-group-list-column-definition.ts b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-list/distribution-group-list-column-definition.ts
index dc9335e..989c50a 100644
--- a/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-list/distribution-group-list-column-definition.ts
+++ b/projects/grid-failure-information-app/src/app/pages/distribution-group/distribution-group-list/distribution-group-list-column-definition.ts
@@ -17,12 +17,14 @@
     field: 'name',
     headerName: 'DistributionGroup.Name',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'distributionText',
     headerName: 'DistributionGroup.Text',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
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 923c949..8f7cd1a 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
@@ -14,7 +14,6 @@
 <div class="table-menu">
   <div class="table-menu-row table-menu-row-flow-right">
     <span>{{ 'DistributionGroupMember.Title' | translate }}</span>
-    <label for="search-text" class="col-sm-2 col-form-label search-contacts-label">{{ 'DistributionGroupMember.ContactSearch' | translate }}</label>
 
     <input
       #searchInput
@@ -24,6 +23,7 @@
       id="search-text"
       autocomplete="off"
       class="form-control"
+      placeholder="{{ 'DistributionGroupMember.ContactSearch' | translate }}"
       [ngbTypeahead]="sandbox.searchForContacts"
       [resultFormatter]="sandbox.formatter"
       [inputFormatter]="sandbox.formatter"
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html
index 3530425..f367686 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-details.component.html
@@ -532,7 +532,7 @@
         <!-- publication: publication-channels and distribution-groups -->
         <div *ngIf="gridFailureDetailsSandbox.checkForMaxVersion()">
           <app-expandable [showBodyInitially]="true" *visibleByRight="[RolesEnum.PUBLISHER]">
-            <label header>{{ 'GridFailure.AssignedDistributionsGroup' | translate }}</label>
+            <label header>{{ 'GridFailure.Publication' | translate }}</label>
             <div class="expandable-content" body>
               <div class="d-flex justify-content-between">
                 <h6>{{ 'GridFailure.PublicationChannels' | translate }}</h6>
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups-column-definition.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups-column-definition.ts
index 45e96db..652680a 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups-column-definition.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups-column-definition.ts
@@ -17,6 +17,7 @@
     field: 'name',
     headerName: 'DistributionGroup.Name',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -24,6 +25,7 @@
     headerName: 'DistributionGroup.Text',
     maxWidth: 900,
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.html b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.html
index ea8c61f..c4ba564 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.html
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.html
@@ -11,19 +11,17 @@
 * SPDX-License-Identifier: EPL-2.0
 ********************************************************************************/ -->
 <div class="card border-0">
-  <div class="d-flex mb-3 distribution-groups">
-    <h6 class="mr-auto">{{ 'GridFailure.DistributionGroups' | translate }}</h6>
-    <select type="text" [(ngModel)]="selectedGroup" class="form-control col-sm-3">
-      <option [value]="selectedGroup" disabled>{{ 'SelectOption' | translate }}</option>
-      <option *ngFor="let item of detailsSandbox.distributionGroups$ | async" [ngValue]="item">{{ item.name }}</option>
-    </select>
-    <button
-      type="button"
-      class="btn btn-success btn-sm assign-button"
-      (click)="detailsSandbox.createDistributionGroupAssignment(selectedGroup); clearSelectedGroup()"
-    >
-      {{ 'GridFailure.AssignGroupBtn' | translate }}
-    </button>
+  <div class="table-menu distribution-groups">
+    <div class="table-menu-row table-menu-row-flow-right">
+      <h6 class="mr-auto">{{ 'GridFailure.DistributionGroups' | translate }}</h6>
+      <select type="text" [(ngModel)]="selectedGroup" class="form-control col-sm-3">
+        <option [value]="selectedGroup" disabled>{{ 'SelectOption' | translate }}</option>
+        <option *ngFor="let item of detailsSandbox.distributionGroups$ | async" [ngValue]="item">{{ item.name }}</option>
+      </select>
+      <button type="button" class="btn btn-primary btn-sm" (click)="detailsSandbox.createDistributionGroupAssignment(selectedGroup); clearSelectedGroup()">
+        {{ 'GridFailure.AssignGroupBtn' | translate }}
+      </button>
+    </div>
   </div>
   <div class="distribution-group-table">
     <ag-grid-angular
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.scss b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.scss
index ff27166..8fdce50 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.scss
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/grid-failure-distribution-groups/grid-failure-distribution-groups.component.scss
@@ -13,13 +13,6 @@
 .distribution-group-table {
   height: 340px;
 }
-.select-distribution-group {
-  margin-left: 10px;
-  margin-bottom: 5px;
-}
-.assign-button {
-  margin-left: 10px;
-}
 .distribution-groups {
-  margin-top: 15px;
+  margin-top: 20px;
 }
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/station-list-column-definition.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/station-list-column-definition.ts
index abd6b5d..f628506 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/station-list-column-definition.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-details/station-list-column-definition.ts
@@ -18,6 +18,7 @@
     colId: 'stationName',
     headerName: 'GridFailure.StationDescription',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
     valueGetter: params => params.data.failureStationSearchString,
   },
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts
index ba4e28b..56e49ea 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-column-definition.ts
@@ -13,7 +13,6 @@
 import { DateTimeCellRendererComponent } from '@grid-failure-information-app/shared/components/cell-renderer/date-time-cell-renderer/date-time-cell-renderer.component';
 import { IconCellRendererComponent } from '@grid-failure-information-app/shared/components/cell-renderer/icon-cell-renderer/icon-cell-renderer.component';
 import { dateTimeComparator } from '@grid-failure-information-app/shared/utility';
-import { GridFailureSandbox } from '@grid-failure-information-app/pages/grid-failure/grid-failure-list/grid-failure.sandbox';
 
 export const GRID_FAILURE_COLDEF = [
   {
@@ -22,6 +21,7 @@
     headerName: 'GridFailure.FailureClassification',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'responsibility',
@@ -29,6 +29,7 @@
     headerName: 'GridFailure.Responsibility',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'description',
@@ -37,6 +38,7 @@
     maxWidth: 300,
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'statusIntern',
@@ -44,6 +46,7 @@
     headerName: 'GridFailure.StatusIntern',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'statusExtern',
@@ -51,6 +54,7 @@
     headerName: 'GridFailure.StatusExtern',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'publicationStatus',
@@ -58,6 +62,7 @@
     headerName: 'GridFailure.PublicationStatus',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'branch',
@@ -65,6 +70,7 @@
     headerName: 'GridFailure.Branch',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'voltageLevel',
@@ -72,6 +78,7 @@
     headerName: 'GridFailure.VoltageLevel',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'pressureLevel',
@@ -79,12 +86,14 @@
     headerName: 'GridFailure.PressureLevel',
     sortable: true,
     filter: 'setFilterComponent',
+    suppressMovable: true,
   },
   {
     field: 'failureBegin',
     colId: 'failureBegin',
     headerName: 'GridFailure.FailureBegin',
     sortable: true,
+    suppressMovable: true,
     filter: 'agDateColumnFilter',
     filterParams: {
       comparator: dateTimeComparator,
@@ -97,6 +106,7 @@
     colId: 'failureEndPlanned',
     headerName: 'GridFailure.FailureEndPlanned',
     sortable: true,
+    suppressMovable: true,
     filter: 'agDateColumnFilter',
     filterParams: {
       comparator: dateTimeComparator,
@@ -109,6 +119,7 @@
     colId: 'failureEndResupplied',
     headerName: 'GridFailure.FailureEndResupplied',
     sortable: true,
+    suppressMovable: true,
     filter: 'agDateColumnFilter',
     filterParams: {
       comparator: dateTimeComparator,
@@ -121,6 +132,7 @@
     colId: 'expectedReasonText',
     headerName: 'GridFailure.ExpectedReason',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -128,6 +140,7 @@
     colId: 'internalRemark',
     headerName: 'GridFailure.InternalRemark',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -135,6 +148,7 @@
     colId: 'postcode',
     headerName: 'GridFailure.Postcode',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -142,6 +156,7 @@
     colId: 'city',
     headerName: 'GridFailure.City',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -149,6 +164,7 @@
     colId: 'district',
     headerName: 'GridFailure.District',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -156,6 +172,7 @@
     colId: 'street',
     headerName: 'GridFailure.Street',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -163,6 +180,7 @@
     colId: 'housenumber',
     headerName: 'GridFailure.Housenumber',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -170,6 +188,7 @@
     colId: 'radius',
     headerName: 'GridFailure.RadiusInM',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -177,8 +196,8 @@
     colId: 'stationDescription',
     headerName: 'GridFailure.StationDescription',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
-    // valueGetter: params => params.context.sandbox.stationsValueGetter(params.data.stationIds.value),
     valueSeparator: ', ',
   },
   {
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-for-condensation-column-definition.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-for-condensation-column-definition.ts
index ee92edc..4c05387 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-for-condensation-column-definition.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure-list-for-condensation-column-definition.ts
@@ -19,12 +19,14 @@
     field: 'failureClassification',
     headerName: 'GridFailure.FailureClassification',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'responsibility',
     headerName: 'GridFailure.Responsibility',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
@@ -33,42 +35,49 @@
     headerName: 'GridFailure.Description',
     maxWidth: 300,
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'statusIntern',
     headerName: 'GridFailure.StatusIntern',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'statusExtern',
     headerName: 'GridFailure.StatusExtern',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'branch',
     headerName: 'GridFailure.Branch',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'voltageLevel',
     headerName: 'GridFailure.VoltageLevel',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'pressureLevel',
     headerName: 'GridFailure.PressureLevel',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'failureBegin',
     headerName: 'GridFailure.FailureBegin',
     sortable: true,
+    suppressMovable: true,
     filter: 'agDateColumnFilter',
     filterParams: {
       comparator: dateTimeComparator,
@@ -80,6 +89,7 @@
     field: 'failureEndPlanned',
     headerName: 'GridFailure.FailureEndPlanned',
     sortable: true,
+    suppressMovable: true,
     filter: 'agDateColumnFilter',
     filterParams: {
       comparator: dateTimeComparator,
@@ -91,6 +101,7 @@
     field: 'failureEndResupplied',
     headerName: 'GridFailure.FailureEndResupplied',
     sortable: true,
+    suppressMovable: true,
     filter: 'agDateColumnFilter',
     filterParams: {
       comparator: dateTimeComparator,
@@ -102,54 +113,63 @@
     field: 'expectedReasonText',
     headerName: 'GridFailure.ExpectedReason',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'internalRemark',
     headerName: 'GridFailure.InternalRemark',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'postcode',
     headerName: 'GridFailure.Postcode',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'city',
     headerName: 'GridFailure.City',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'district',
     headerName: 'GridFailure.District',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'street',
     headerName: 'GridFailure.Street',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'housenumber',
     headerName: 'GridFailure.Housenumber',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'stationDescription',
     headerName: 'GridFailure.StationDescription',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
     field: 'radius',
     headerName: 'GridFailure.RadiusInM',
     sortable: true,
+    suppressMovable: true,
     filter: 'setFilterComponent',
   },
   {
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.spec.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.spec.ts
index 1a03ea2..20b76e8 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.spec.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.spec.ts
@@ -19,6 +19,13 @@
 import { GridFailure } from '@grid-failure-information-app/shared/models/grid-failure.model';
 import { FailureStation } from '@grid-failure-information-app/shared/models';
 
+const FailureStations = [
+  new FailureStation({ id: '1', stationId: '10', stationName: 'stationName1' }),
+  new FailureStation({ id: '2', stationId: '20', stationName: 'stationName2' }),
+  new FailureStation({ id: '3', stationId: '30', stationName: 'stationName3' }),
+  new FailureStation({ id: '4', stationId: '40', stationName: 'stationName4' }),
+];
+
 describe('GridFailureSandbox', () => {
   let service: GridFailureSandbox;
   let appState: Store<State>;
@@ -32,12 +39,6 @@
     spyOn(appState, 'dispatch').and.callFake(() => {});
 
     service = new GridFailureSandbox(appState, router, actionsSubject);
-    service.failureStations$ = of([
-      new FailureStation({ id: '1', stationId: '10', stationName: 'stationName1' }),
-      new FailureStation({ id: '2', stationId: '20', stationName: 'stationName2' }),
-      new FailureStation({ id: '3', stationId: '30', stationName: 'stationName3' }),
-      new FailureStation({ id: '4', stationId: '40', stationName: 'stationName4' }),
-    ]);
   });
 
   it('should create GridFailureSandbox service', () => {
@@ -102,9 +103,9 @@
     expect(service.filteredGridFailureMapList[0]).toBe(girdFailure);
   });
 
-  it('should return comma seperated stationnames with id after calling stationsValueGetter(..)', () => {
+  it('should return comma seperated stationnames with id after calling _getStationDescription(..)', () => {
     const stationIds: string[] = ['1', '2'];
-    const stationnames = service.stationsValueGetter(stationIds);
+    const stationnames = (service as any)._getStationDescription(stationIds, FailureStations);
     expect(stationnames).toBeDefined();
     expect(stationnames).toContain(',');
     const stations = stationnames.split(',');
@@ -112,15 +113,15 @@
     expect(stations[0]).toContain('stationName1 (10)');
   });
 
-  it('should return empty string after calling stationValueGetter(..) with unknown station ids ', () => {
+  it('should return empty string after calling _getStationDescription(..) with unknown station ids ', () => {
     const stationIds: string[] = ['0'];
-    const stationnames = service.stationsValueGetter(stationIds);
+    const stationnames = (service as any)._getStationDescription(stationIds, FailureStations);
     expect(stationnames).toBeDefined();
     expect(stationnames).toBe('');
   });
 
-  it('should return empty string after calling stationValueGetter(NULL) ', () => {
-    const stationnames = service.stationsValueGetter(null);
+  it('should return empty string after calling _getStationDescription(NULL) ', () => {
+    const stationnames = (service as any)._getStationDescription(null, FailureStations);
     expect(stationnames).toBeDefined();
     expect(stationnames).toBe('');
   });
diff --git a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.ts b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.ts
index 2d7f374..a44b273 100644
--- a/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.ts
+++ b/projects/grid-failure-information-app/src/app/pages/grid-failure/grid-failure-list/grid-failure.sandbox.ts
@@ -14,7 +14,7 @@
 import { Store, ActionsSubject } from '@ngrx/store';
 import { SetValueAction, ResetAction, MarkAsTouchedAction } from 'ngrx-forms';
 import * as store from '@grid-failure-information-app/shared/store';
-import { Observable } from 'rxjs';
+import { Observable, combineLatest } from 'rxjs';
 import * as gridFailureActions from '@grid-failure-information-app/shared/store/actions/grid-failures.action';
 import { Router } from '@angular/router';
 import { GridFailure } from '@grid-failure-information-app/shared/models/grid-failure.model';
@@ -119,28 +119,36 @@
       .subscribe((condensedGridFailures: GridFailure[]) => {
         this.condensationList = condensedGridFailures;
       });
-    this.actionsSubject
-      .pipe(
+
+    combineLatest(
+      this.actionsSubject.pipe(
+        ofType(gridFailureActions.loadStationsSuccess.type),
+        map(action => action['payload'])
+      ),
+      this.actionsSubject.pipe(
         ofType(gridFailureActions.loadGridFailuresSuccess),
         map((action: { payload: GridFailure[] }) => action.payload)
       )
-      .subscribe((gridFailures: GridFailure[]) => {
-        this.overviewGridFailureList = gridFailures;
-      });
+    ).subscribe(([stations, gridFailures]) => {
+      if (gridFailures && gridFailures.length) {
+        this.overviewGridFailureList = gridFailures.map(gf => {
+          gf.stationDescription = gf.stationIds.hasOwnProperty('value') ? this._getStationDescription((gf.stationIds as any).value, stations) : '';
+          return gf;
+        }) as any;
+      }
+    });
   }
 
-  public stationsValueGetter(stationIds: string[]): string {
+  private _getStationDescription(stationIds: string[], stations: FailureStation[]): string {
     let ret: string = '';
     if (!!stationIds && stationIds.length > 0) {
-      this.failureStations$.pipe(take(1)).subscribe((stations: FailureStation[]) => {
-        stationIds.forEach(item => {
-          const failureStation: FailureStation = stations.find(s => s.id === item) as any;
-          if (!!failureStation && !!failureStation.stationName) {
-            ret += `${failureStation.stationName} (${failureStation.stationId}), `;
-          }
-        });
-        ret = ret.substr(0, ret.lastIndexOf(', '));
+      stationIds.forEach(item => {
+        const failureStation: FailureStation = stations.find(s => s.id === item) as any;
+        if (!!failureStation && !!failureStation.stationName) {
+          ret += `${failureStation.stationName} (${failureStation.stationId}), `;
+        }
       });
+      ret = ret.substr(0, ret.lastIndexOf(', '));
     }
     return ret;
   }
diff --git a/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts b/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts
index 9c60d4f..08d85f8 100644
--- a/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts
+++ b/projects/grid-failure-information-app/src/app/shared/filters/ag-grid/set-filter/set-filter.component.ts
@@ -81,7 +81,7 @@
       if (isNaN(nodeValue)) {
         passed = itemKey === 'null' ? !nodeValue || nodeValue === '' : !!nodeValue && nodeValue.includes(itemKey);
       } else {
-        // is numeric or null
+        // is numeric or null
         if (!nodeValue) {
           passed = nodeValue === null && itemKey === 'null';
         } else {