X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fapp%2Finstances%2Fns-primitive%2FNSPrimitiveComponent.ts;h=ab026dcc33f3fc51a6f18f3e7583446dd9738498;hb=54d693cd96cfc4d212fec2b4ff37f10969bcb74e;hp=4b9616bdce32664dd9484d096773f72a5b8cf3e5;hpb=6e96d1b1802239cc92d2e2606219c028217fdfcb;p=osm%2FNG-UI.git diff --git a/src/app/instances/ns-primitive/NSPrimitiveComponent.ts b/src/app/instances/ns-primitive/NSPrimitiveComponent.ts index 4b9616b..ab026dc 100644 --- a/src/app/instances/ns-primitive/NSPrimitiveComponent.ts +++ b/src/app/instances/ns-primitive/NSPrimitiveComponent.ts @@ -115,6 +115,10 @@ export class NSPrimitiveComponent implements OnInit { this.activeModal = this.injector.get(NgbActiveModal); this.formBuilder = this.injector.get(FormBuilder); this.primitiveTypeList = [ + { + title: this.translateService.instant('NSPRIMITIVE'), + value: 'NS_Primitive' + }, { title: this.translateService.instant('VNFPRIMITIVE'), value: 'VNF_Primitive' @@ -124,7 +128,6 @@ export class NSPrimitiveComponent implements OnInit { value: 'VDU_Primitive' } ]; - this.primitiveType = 'VNF_Primitive'; } /** @@ -137,9 +140,6 @@ export class NSPrimitiveComponent implements OnInit { this.nsdId = event.identifier; } }); - if (!isNullOrUndefined(this.params.nsConfig)) { - this.primitiveTypeList.push({ title: this.translateService.instant('NSPRIMITIVE'), value: 'NS_Primitive' }); - } this.initializeForm(); } @@ -225,10 +225,11 @@ export class NSPrimitiveComponent implements OnInit { this.primitiveParameter = []; this.initializeForm(); if (data.value === 'NS_Primitive') { - this.primitiveList = !isNullOrUndefined(this.params.nsConfig['config-primitive']) ? - this.params.nsConfig['config-primitive'] : []; + this.getNSInfo(this.params.name); this.getFormControl('vnf_member_index').setValidators([]); + this.getFormControl('vnf_member_index').updateValueAndValidity(); this.getFormControl('vdu_id').setValidators([]); + this.getFormControl('vdu_id').updateValueAndValidity(); } } /** Member index change event */ @@ -307,6 +308,23 @@ export class NSPrimitiveComponent implements OnInit { this.restService.handleError(error, 'get'); }); } + /** Get primivitive actions from NSD data */ + private getNSInfo(nsdRef: string): void { + this.primitiveList = []; + this.primitiveParameter = []; + this.getFormControl('primitive').setValue(null); + const apiUrl: string = environment.NSDESCRIPTORS_URL + '?short-name=' + nsdRef; + this.isLoadingResults = true; + this.restService.getResource(apiUrl) + .subscribe((nsdInfo: {}) => { + this.primitiveList = !isNullOrUndefined(nsdInfo[0]['ns-configuration']['config-primitive']) ? + nsdInfo[0]['ns-configuration']['config-primitive'] : []; + this.isLoadingResults = false; + }, (error: ERRORDATA) => { + this.isLoadingResults = false; + this.restService.handleError(error, 'get'); + }); + } /** Used to get the AbstractControl of controlName passed @private */ private getFormControl(controlName: string): AbstractControl { return this.primitiveForm.controls[controlName];