From 6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Wed, 29 Aug 2018 17:01:32 +0300 Subject: merge from ecomp a88f0072 - Modern UI Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern --- .../vlanTagging/form-async/form-async.component.ts | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 vid-webpack-master/src/app/vlanTagging/form-async/form-async.component.ts (limited to 'vid-webpack-master/src/app/vlanTagging/form-async/form-async.component.ts') diff --git a/vid-webpack-master/src/app/vlanTagging/form-async/form-async.component.ts b/vid-webpack-master/src/app/vlanTagging/form-async/form-async.component.ts new file mode 100644 index 000000000..623a4f42f --- /dev/null +++ b/vid-webpack-master/src/app/vlanTagging/form-async/form-async.component.ts @@ -0,0 +1,102 @@ +import {Component, Input, OnInit, ViewChild} from '@angular/core'; +import {NgRedux, select} from '@angular-redux/store'; +import {Observable} from "rxjs"; +import {AppState} from "../../shared/store/reducers"; +import { + loadAicZones, + loadCategoryParameters, + loadLcpTenant, + loadProductFamiliesAction +} from '../../shared/services/aaiService/aai.actions'; +import {LcpRegionsAndTenants} from "../../shared/models/lcpRegionsAndTenants"; +import {NgForm} from "@angular/forms"; +import {SelectOption} from "../../shared/models/selectOption"; +import {VNFModel} from "../../shared/models/vnfModel"; +import {Tenant} from "../../shared/models/tenant"; +import {FormAsyncService} from "./form-async.service"; +import {AaiService} from "../../shared/services/aaiService/aai.service"; + +@Component({ + selector: "formasync", + templateUrl: "form-async.template.html", + styleUrls: ["form-async.style.scss"], + +}) + +export class Formasync implements OnInit { + + constructor(private store: NgRedux, private _formAsyncService: FormAsyncService) { } + + @ViewChild('form') form: NgForm; + @Input() + set params(params: any) { + if (params) { + this.paramsInfo = params; + } + } + @Input() + set model(model: VNFModel) { + if (model) { + this.isEcompGeneratedNaming = model.isEcompGeneratedNaming; + } + }; + + @select(['service', 'productFamilies']) + readonly productFamilies: Observable; + + @select(['service', 'lcpRegionsAndTenants']) + readonly lcpRegionsAndTenants: Observable; + + @select(['service', 'lcpRegionsAndTenants', 'lcpRegionList']) + readonly lcpRegions: Observable; + + @select(['service', 'aicZones']) + readonly aicZones: Observable; + + @select(['service', 'categoryParameters', 'platformList']) + readonly platformList: Observable; + + @select(['service', 'categoryParameters', 'lineOfBusinessList']) + readonly lineOfBusinessList: Observable; + + rollbackOnFailure = [ + new SelectOption({id: 'true', name: 'Rollback'}), + new SelectOption({id: 'false', name: 'Don\'t Rollback'}) + ]; + tenants: Tenant[] = []; + + serviceInstance: any = { + cloudOwner: null, + rollback:'true' + }; + + isEcompGeneratedNaming: boolean = true; + paramsInfo : any; + + onLcpSelect(newValue: string) { + let value: LcpRegionsAndTenants = undefined; + this.lcpRegionsAndTenants.subscribe(data => value = data); + this.tenants = value.lcpRegionsTenantsMap[newValue]; + this.serviceInstance.tenantId = undefined; + } + + + + onTenantSelect(newValue: string) { + this.serviceInstance.cloudOwner = this._formAsyncService.onTenantSelect(this.tenants, newValue); + } + + ngOnInit() { + this.store.dispatch(loadProductFamiliesAction()); + this.store.dispatch(loadLcpTenant(this.paramsInfo['globalCustomerId'], this.paramsInfo['serviceType'])); + this.store.dispatch(loadAicZones()); + this.store.dispatch(loadCategoryParameters()); + } + + public formatCloudOwnerTrailer(cloudOwner: string):string { + return AaiService.formatCloudOwnerTrailer(cloudOwner); + } +} + + + -- cgit 1.2.3-korg