X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Foperational-view%2FOperationalViewComponent.ts;h=22d40771abee7477fee81091e0a0ee561f5aaa5e;hb=b6ec442822013c3b21547e82150ee54d2f8b7b50;hp=edb972a96af41dcc3a85d755f6118eabebb8a530;hpb=0a34dfa32165036b380ec6ac493469b34007df0a;p=osm%2FNG-UI.git diff --git a/src/app/operational-view/OperationalViewComponent.ts b/src/app/operational-view/OperationalViewComponent.ts index edb972a..22d4077 100644 --- a/src/app/operational-view/OperationalViewComponent.ts +++ b/src/app/operational-view/OperationalViewComponent.ts @@ -20,7 +20,6 @@ /** * @file Page for Operational View Component */ -import { isNullOrUndefined } from 'util'; import { Component, Injector, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; @@ -36,7 +35,7 @@ import { RestService } from 'RestService'; import { Observable } from 'rxjs'; import { Subscription } from 'rxjs'; import { map } from 'rxjs/operators'; -import { SharedService } from 'SharedService'; +import { SharedService, isNullOrUndefined } from 'SharedService'; /** * Creating component * @Component takes OperationalViewComponent.html as template url @@ -229,27 +228,33 @@ export class OperationalViewComponent implements OnInit { const assignVCADetails: VCADETAILS[] = []; const setModels: SETMODELS[] = []; Object.keys(list.vcaStatus).forEach((key: string): void => { - const vcaApplication: VCAAPPLICATIONS[] = this.appData(list.vcaStatus[key].applications); - const vcaUnits: VCAUNITS[] = this.unitsData(vcaApplication); - const vcaMachines: MACHINES[] = this.machinesData(list.vcaStatus[key].machines); - const assignNSInstancesID: string = key; - list.vcaStatus[key].units = vcaUnits; - list.vcaStatus[key].applications = vcaApplication; - list.vcaStatus[key].machines = vcaMachines; - // eslint-disable-next-line no-self-assign - list.vcaStatus[key].relations = list.vcaStatus[key].relations; - // eslint-disable-next-line no-self-assign - list.vcaStatus[key].model = list.vcaStatus[key].model; - const getEachModelData: SETMODELS = this.assignVCAStatusOfEachModel(list.vcaStatus[key]); - setModels.push(getEachModelData); - list.vcaStatus[assignNSInstancesID].vca_id = key; - list.vcaStatus[assignNSInstancesID].vca_name = list.name; - list.vcaStatus[assignNSInstancesID].ns_id = list.id; - list.vcaStatus[assignNSInstancesID].isLiveloading = liveData; - list.vcaStatus[assignNSInstancesID].timeOutSeconds = timeOutSeconds; - list.vcaStatus[assignNSInstancesID].vcaStatusModels = setModels; - const getAssignedData: VCADETAILS = this.formVCADetails(list.vcaStatus[assignNSInstancesID]); - assignVCADetails.push(getAssignedData); + let vcaStatus = []; + vcaStatus = Object.values(list.vcaStatus[key]); + if (!isNullOrUndefined(vcaStatus)) { + vcaStatus.forEach((data): void => { + const vcaApplication: VCAAPPLICATIONS[] = this.appData(data.applications); + const vcaUnits: VCAUNITS[] = this.unitsData(vcaApplication); + const vcaMachines: MACHINES[] = this.machinesData(data.machines); + const assignNSInstancesID: string = key; + data.units = vcaUnits; + data.applications = vcaApplication; + data.machines = vcaMachines; + // eslint-disable-next-line no-self-assign + data.relations = data.relations; + // eslint-disable-next-line no-self-assign + data.model = data.model; + const getEachModelData: SETMODELS = this.assignVCAStatusOfEachModel(data); + setModels.push(getEachModelData); + list.vcaStatus[assignNSInstancesID].vca_id = key; + list.vcaStatus[assignNSInstancesID].vca_name = list.name; + list.vcaStatus[assignNSInstancesID].ns_id = list.id; + list.vcaStatus[assignNSInstancesID].isLiveloading = liveData; + list.vcaStatus[assignNSInstancesID].timeOutSeconds = timeOutSeconds; + list.vcaStatus[assignNSInstancesID].vcaStatusModels = setModels; + const getAssignedData: VCADETAILS = this.formVCADetails(list.vcaStatus[assignNSInstancesID]); + assignVCADetails.push(getAssignedData); + }); + } }); return assignVCADetails[0]; } @@ -259,22 +264,24 @@ export class OperationalViewComponent implements OnInit { public appData(applicationData: VCAAPPLICATIONS): VCAAPPLICATIONS[] { const vcaApplication: VCAAPPLICATIONS[] = []; Object.keys(applicationData).forEach((applicationKey: string): void => { - const charmSplitlist: string[] = applicationData[applicationKey].charm.split('/'); - const status: string = applicationData[applicationKey].status.status; - // eslint-disable-next-line deprecation/deprecation - const charm: string = charmSplitlist[1].substr(0, charmSplitlist[1].lastIndexOf('-')); - // eslint-disable-next-line deprecation/deprecation - const store: string = charmSplitlist[0].substr(0, charmSplitlist[0].lastIndexOf(':')); - applicationData[applicationKey].app_id = applicationKey; - applicationData[applicationKey].charm = charm; - applicationData[applicationKey].status = status; - applicationData[applicationKey].scale = Object.keys(applicationData[applicationKey].units).length; - applicationData[applicationKey].store = store; - applicationData[applicationKey].configs = !isNullOrUndefined(applicationData[applicationKey].configs) ? - applicationData[applicationKey].configs : null; - applicationData[applicationKey].actions = !isNullOrUndefined(applicationData[applicationKey].actions) ? - applicationData[applicationKey].actions : null; - vcaApplication.push(applicationData[applicationKey]); + if (!isNullOrUndefined(applicationData[applicationKey].charm)) { + const charmSplitlist: string[] = applicationData[applicationKey].charm.split('/'); + const status: string = applicationData[applicationKey].status.status; + // eslint-disable-next-line deprecation/deprecation + const charm: string = charmSplitlist[1].substr(0, charmSplitlist[1].lastIndexOf('-')); + // eslint-disable-next-line deprecation/deprecation + const store: string = charmSplitlist[0].substr(0, charmSplitlist[0].lastIndexOf(':')); + applicationData[applicationKey].app_id = applicationKey; + applicationData[applicationKey].charm = charm; + applicationData[applicationKey].status = status; + applicationData[applicationKey].scale = Object.keys(applicationData[applicationKey].units).length; + applicationData[applicationKey].store = store; + applicationData[applicationKey].configs = !isNullOrUndefined(applicationData[applicationKey].configs) ? + applicationData[applicationKey].configs : null; + applicationData[applicationKey].actions = !isNullOrUndefined(applicationData[applicationKey].actions) ? + applicationData[applicationKey].actions : null; + vcaApplication.push(applicationData[applicationKey]); + } }); return vcaApplication; }