1 import {Injectable} from "@angular/core";
2 import {IframeService} from "../../utils/iframe.service";
3 import {NgRedux} from "@angular-redux/store";
4 import {AppState} from "../../store/reducers";
5 import {ServicePopupService} from "./genericFormServices/service/service.popup.service";
6 import {ActivatedRoute} from "@angular/router";
7 import {AaiService} from "../../services/aaiService/aai.service";
8 import {ITreeNode} from "angular-tree-component/dist/defs/api";
9 import {UUIDData} from "./generic-form-popup.component";
10 import {FormPopupDetails} from "../../models/formControlModels/formPopupDetails.model";
11 import {Subject} from "rxjs";
12 import {deleteAllServiceInstances} from "../../storeUtil/utils/service/service.actions";
15 export class GenericFormPopupService {
16 constructor(private _iframeService : IframeService,
17 private _store: NgRedux<AppState>,
18 private _servicePopupService : ServicePopupService,
19 public _activatedRoute : ActivatedRoute,
20 private _aaiService : AaiService){
23 getGenericFormDetails(uuidData : UUIDData, node : ITreeNode, isUpdateMode : boolean) : FormPopupDetails {
24 switch (uuidData.type){
26 return uuidData.popupService.getGenericFormPopupDetails(
27 uuidData['serviceId'],
28 uuidData['networkId'],
29 uuidData['networkStoreKey'],
36 return uuidData.popupService.getGenericFormPopupDetails(
37 uuidData['serviceId'],
38 uuidData['vnfStoreKey'],
39 uuidData['vFModuleStoreKey'],
46 return uuidData.popupService.getGenericFormPopupDetails(
47 uuidData['serviceId'],
48 uuidData['modelName'],
49 uuidData['vnfStoreKey'],
56 return uuidData.popupService.getGenericFormPopupDetails(
57 uuidData['serviceId'],
58 uuidData['modelName'],
59 uuidData['vnfGroupStoreKey'],
66 uuidData['bulkSize'] = this._store.getState().service.serviceInstance[uuidData['serviceId']].bulkSize || 1;
67 return uuidData.popupService.getGenericFormPopupDetails(
68 uuidData['serviceId'],
79 initReduxOnCreateNewService() : Promise<string> {
80 return new Promise((resolve, reject) => {
83 .subscribe(params => {
84 this._store.dispatch(deleteAllServiceInstances());
85 this._aaiService.getServiceModelById(params.serviceModelId).subscribe(()=>{
86 resolve(params.serviceModelId);
92 refreshModalCheckForGeneralErrorTrigger : Subject<boolean> = new Subject<boolean>();