GNM-1123: FE Webservice getNetworkControlsFromSingleGridmeasures aufrufen
GNM-1119: Feld "Netzführung / Netzservice / Genehmiger" zu Autocomplete-Feld machen
diff --git a/package.json b/package.json
index 317e3d5..4327418 100644
--- a/package.json
+++ b/package.json
@@ -72,4 +72,4 @@
"tslint": "5.9.1",
"typescript": "2.5.3"
}
-}
+}
\ No newline at end of file
diff --git a/src/app/common/globals.ts b/src/app/common/globals.ts
index e3db557..d781c0f 100644
--- a/src/app/common/globals.ts
+++ b/src/app/common/globals.ts
@@ -21,6 +21,7 @@
static BRANCHESNAME = 'BRANCHES';
static BRANCHLEVELSNAME = 'BRANCHLEVELS';
static RESPONSIBILITIESNAME = 'RESPONSIBILITIES';
+ static NETWORKCONTROLSNAME = 'NETWORKCONTROLS';
static TERRITORY = 'TERRITORY';
static USER_SETTINGS = 'USER_SETTINGS';
static FILTERING_SEARCH_TEXT = 'FILTERING_SEARCH_TEXT';
diff --git a/src/app/common/session-context.ts b/src/app/common/session-context.ts
index d319ff1..6a9b862 100644
--- a/src/app/common/session-context.ts
+++ b/src/app/common/session-context.ts
@@ -182,6 +182,15 @@
return JSON.parse(responsibilities);
}
+ setNetworkControlsFromSingleGridmeasures(networkControls: string[]): void {
+ localStorage.setItem(Globals.NETWORKCONTROLSNAME, JSON.stringify(networkControls));
+ }
+
+ getNetworkControlsFromSingleGridmeasures(): string[] {
+ const networkControls = localStorage.getItem(Globals.NETWORKCONTROLSNAME);
+ return JSON.parse(networkControls);
+ }
+
setStatuses(statuses: Status[]): void {
localStorage.setItem(Globals.STATUSES, JSON.stringify(statuses));
}
diff --git a/src/app/model/grid-measure.ts b/src/app/model/grid-measure.ts
index 814a85e..76d5596 100644
--- a/src/app/model/grid-measure.ts
+++ b/src/app/model/grid-measure.ts
@@ -27,8 +27,8 @@
statusId?: number;
switchingObject?: string;
costCenter?: string;
- responsibleOnSiteName?: string;
- responsibleOnSiteDepartment?: string;
+ responsibleOnSiteName?: string; // TODO: gehört hier nicht rein, ist ein Attribut der SGM
+ responsibleOnSiteDepartment?: string; // TODO: gehört hier nicht rein, ist ein Attribut der SGM
approvalBy?: string;
areaOfSwitching?: string;
appointmentRepetition?: string;
diff --git a/src/app/model/single-grid-measure.ts b/src/app/model/single-grid-measure.ts
index 69ccd0f..854f2bd 100644
--- a/src/app/model/single-grid-measure.ts
+++ b/src/app/model/single-grid-measure.ts
@@ -26,4 +26,8 @@
delete?: boolean;
listSteps?: Array<Step>;
listStepsDeleted?: Array<Step>;
+ // TODO: ist ein Attribut der SGM und so wird es Ina auch im backend implementieren
+ // responsibleOnSiteName?: string;
+ // responsibleOnSiteDepartment?: string;
+ NetworkControls?: string;
}
diff --git a/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.html b/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.html
index 4917586..77c007d 100644
--- a/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.html
+++ b/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.html
@@ -84,7 +84,7 @@
[(ngModel)]="gridMeasureDetail.responsibleOnSiteName" class="form-control" autocomplete="off" />
<datalist id="responsibleOnSiteNameList">
<option value=""></option>
- <option *ngFor="let responsibleOnSiteNameString of responsibleOnSiteNameList" value="{{ responsibleOnSiteNameString}}">{{responsibleOnSiteNameString}}</option>
+ <option *ngFor="let responsibleOnSiteNameString of responsibleOnSiteNameList" value="{{ responsibleOnSiteNameString }}">{{responsibleOnSiteNameString}}</option>
</datalist>
</div>
@@ -98,8 +98,13 @@
</datalist>
</div>
<div class="col-md-4">
- <label class="form-field-label">Netzführung / Netzservice / Genehmiger</label>
- <input maxlength="256" [required]="false" type="text" class="form-control" autocomplete="off" />
+ <label class="form-field-label" for="NetworkControls">Netzführung / Netzservice / Genehmiger</label>
+ <input maxlength="256" [required]="false" type="text" list="NetworkControlsList" name="NetworkControls" id="NetworkControls"
+ [(ngModel)]="singleGridMeasure.NetworkControls" class="form-control" autocomplete="off" />
+ <datalist id="NetworkControlsList">
+ <option value=""></option>
+ <option *ngFor="let NetworkControlsString of NetworkControlsList" value="{{ NetworkControlsString }}">{{getNetworkControlsString}}</option>
+ </datalist>
</div>
</div>
diff --git a/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.ts b/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.ts
index faeccd5..ec4fe56 100644
--- a/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.ts
+++ b/src/app/pages/single-grid-measure-detail-tab/single-grid-measure-detail-tab.component.ts
@@ -55,6 +55,7 @@
subscription: Subscription;
inactiveFields: Array<string> = [];
responsibleOnSiteNameList: string[];
+ NetworkControlsList: string[];
responsibleOnSiteDepartmentList: string[];
@ViewChild('singleGridMeasureDetailFormCotainer') singleGridMeasureDetailFormContainer: ElementRef;
@@ -65,6 +66,7 @@
public sessionContext: SessionContext) { }
ngOnInit() {
+ this.NetworkControlsList = this.sessionContext.getNetworkControlsFromSingleGridmeasures();
this.responsibleOnSiteNameList = this.sessionContext.getResponsiblesOnSiteFromGridmeasures();
this.responsibleOnSiteDepartmentList = ['Abteilung1', 'Abteilung2'];
diff --git a/src/app/services/base-data.service.ts b/src/app/services/base-data.service.ts
index c0f7e52..1ffc7be 100644
--- a/src/app/services/base-data.service.ts
+++ b/src/app/services/base-data.service.ts
@@ -32,6 +32,12 @@
private sessionContext: SessionContext) {
}
+ public getNetworkControlsFromSingleGridmeasures(): Observable<string[]> {
+ return this.baseHttpService.callService(
+ new HttpCallInfo(Globals.GRID_MEASURES_SERVICE_NAME, HttpMethodEn.get, '/getNetworkControlsFromSingelGridmeasures', null),
+ this.sessionContext);
+ }
+
public getResponsiblesOnSiteFromGridmeasures(): Observable<string[]> {
return this.baseHttpService.callService(
new HttpCallInfo(Globals.GRID_MEASURES_SERVICE_NAME, HttpMethodEn.get, '/getResponsiblesOnSiteFromGridmeasures', null),
diff --git a/src/app/services/jobs/base-data-loader.service.spec.ts b/src/app/services/jobs/base-data-loader.service.spec.ts
index 3e0c0d3..855fc6f 100644
--- a/src/app/services/jobs/base-data-loader.service.spec.ts
+++ b/src/app/services/jobs/base-data-loader.service.spec.ts
@@ -36,12 +36,14 @@
public costCenters: CostCenter[];
public emailAddresses: string[];
public responsibleOnSiteNameList: string[];
+ public NetworkControlsNameList: string[];
public areaOfSwitchingList: string[];
public statusError;
public branchError;
public costCenterError;
public departmentError;
public responsibleOnSiteNameError;
+ public NetworkControlsNameError;
public emailAddressesError;
public areaOfSwitchingError;
@@ -59,6 +61,13 @@
return newService;
}
+ getNetworkControlsFromSingleGridmeasures() {
+ const newService = new MockDataService();
+ newService.content = this.NetworkControlsNameList;
+ newService.error = this.NetworkControlsNameError;
+ return newService;
+ }
+
getTerritories() {
const newService = new MockDataService();
newService.content = this.areaOfSwitchingList;
@@ -162,6 +171,7 @@
mockDataService.costCenters = [{ id: 1, name: 'cc1' }, { id: 2, name: 'cc2' }];
mockDataService.emailAddresses = ['testpreconfmail@test.de', 'testpreconfmail2@test.de'];
mockDataService.responsibleOnSiteNameList = ['harald', 'simon'];
+ mockDataService.NetworkControlsNameList = ['test', 'mich'];
mockDataService.areaOfSwitchingList = JSON.parse(JSON.stringify(TERRITORY));
mockUserService.userList = USERS;
mockBackendSettings.backendSettings = [{ reminderPeriod: 48 }];
@@ -247,6 +257,9 @@
expect(sessionContext.getResponsiblesOnSiteFromGridmeasures().length).toBe(2);
expect(sessionContext.getResponsiblesOnSiteFromGridmeasures()[0]).toBe('harald');
+ expect(sessionContext.getNetworkControlsFromSingleGridmeasures().length).toBe(2);
+ expect(sessionContext.getNetworkControlsFromSingleGridmeasures()[0]).toBe('test');
+
expect(sessionContext.getTerritories().length).toBe(3);
expect(sessionContext.getTerritories()[0].name).toBe('h1');
@@ -256,6 +269,7 @@
expect(sessionContext.getBackendsettings()[0].reminderPeriod).toBe(48);
expect(roleAccessHelper.getRoleAccessDefinitions().editRoles.length > 0).toBeTruthy();
+
}));
it('should log to the console if errors occur while loading', fakeAsync(() => {
diff --git a/src/app/services/jobs/base-data-loader.service.ts b/src/app/services/jobs/base-data-loader.service.ts
index e07ebb6..0b47c65 100644
--- a/src/app/services/jobs/base-data-loader.service.ts
+++ b/src/app/services/jobs/base-data-loader.service.ts
@@ -56,6 +56,12 @@
console.log(error);
});
+ this.baseDataService.getNetworkControlsFromSingleGridmeasures()
+ .subscribe(res => this.sessionContext.setNetworkControlsFromSingleGridmeasures(res),
+ error => {
+ console.log(error);
+ });
+
this.baseDataService.getResponsiblesOnSiteFromGridmeasures()
.subscribe(res => this.sessionContext.setResponsiblesOnSiteFromGridmeasures(res),
error => {