From ff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 15:57:37 +0300 Subject: New Angular UI from 1806 Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666 Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- .../vnf-instance-details.service.ts | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 vid-webpack-master/src/app/components/vnf-popup/vnf-instance-details/vnf-instance-details.service.ts (limited to 'vid-webpack-master/src/app/components/vnf-popup/vnf-instance-details/vnf-instance-details.service.ts') diff --git a/vid-webpack-master/src/app/components/vnf-popup/vnf-instance-details/vnf-instance-details.service.ts b/vid-webpack-master/src/app/components/vnf-popup/vnf-instance-details/vnf-instance-details.service.ts new file mode 100644 index 000000000..677895e72 --- /dev/null +++ b/vid-webpack-master/src/app/components/vnf-popup/vnf-instance-details/vnf-instance-details.service.ts @@ -0,0 +1,64 @@ +import { Injectable } from '@angular/core'; +import { isNullOrUndefined } from "util"; +import { FormGroup } from '@angular/forms'; +@Injectable() +export class VnfInstanceDetailsService { + isUnique(serviceInstance : any, serviceId : string, name: string, isEqualToOriginalInstanceName : boolean) : boolean { + const service = serviceInstance[serviceId]; + let countInstanceName = 0; + let countVolumeGroupName = 0; + if(service){ + if(service.instanceName === name) return false; + if(service.vnfs){ + for(let key in service.vnfs){ + if(service.vnfs[key].instanceName === name) { + countInstanceName++; + if((isEqualToOriginalInstanceName && countInstanceName > 1) || (!isEqualToOriginalInstanceName)) return false; + } + if(service.vnfs[key].vfModules){ + for(let vfModule in service.vnfs[key].vfModules){ + if(service.vnfs[key].vfModules[vfModule]) { + for(let module in service.vnfs[key].vfModules[vfModule]){ + if(service.vnfs[key].vfModules[vfModule][module].instanceName === name ) { + countInstanceName++; + if((isEqualToOriginalInstanceName && countInstanceName > 1) || (!isEqualToOriginalInstanceName)) return false; + } + + if(service.vnfs[key].vfModules[vfModule][module].volumeGroupName === name ) { + countVolumeGroupName++; + if((isEqualToOriginalInstanceName && countVolumeGroupName > 1) || (!isEqualToOriginalInstanceName)) return false; + } + } + } + } + } + + } + } + } + return true; + } + + hasApiError(controlName: string, data: Array, form: FormGroup) { + if (!isNullOrUndefined(data)) { + if (!form.controls[controlName].disabled && data.length === 0) { + return true; + } + } + return false; + } + + hasInstanceNameError(form : FormGroup) : boolean { + if(!isNullOrUndefined(form) && !isNullOrUndefined(form.controls['instanceName'])){ + if (form.controls['instanceName'].touched && form.controls['instanceName'].errors && form.controls['instanceName'].errors.pattern) { + return true; + } + } + return false; + } + + hasUniqueError(isNotUniqueInstanceName) : boolean { + return isNotUniqueInstanceName; + } + +} -- cgit 1.2.3-korg