add create another one menu item to instantiationStatus page
[vid.git] / vid-webpack-master / src / app / instantiationStatus / instantiationStatus.component.service.ts
index 6848a99..4bfedd9 100644 (file)
@@ -12,6 +12,7 @@ import {updateDrawingBoardStatus} from "../shared/storeUtil/utils/global/global.
 import {Router, UrlTree} from "@angular/router";
 import {of} from "rxjs";
 import {MsoService} from "../shared/services/msoService/mso.service";
+import {ServiceAction} from "../shared/models/serviceInstanceActions";
 
 export let PENDING : string = "pending";
 export let INPROGRESS : string = "in_progress";
@@ -28,7 +29,8 @@ export class InstantiationStatusComponentService {
   constructor( private _aaiService: AaiService,
                private _msoService: MsoService,
                private _router : Router,
-               private _store: NgRedux<AppState>) {
+               private _store: NgRedux<AppState>,
+               private _featureFlagsService:FeatureFlagsService) {
   }
 
   generateServiceInfoDataMapping(arr: ServiceInfoModel[]) : { [serviceInstanceId: string]: ServiceInfoModel[]}{
@@ -69,7 +71,7 @@ export class InstantiationStatusComponentService {
   }
 
   open(item: ServiceInfoModel): void {
-    if (FeatureFlagsService.getFlagState(Features.FLAG_1902_VNF_GROUPING, this._store)) {
+    if (this._featureFlagsService.getFlagState(Features.FLAG_1902_VNF_GROUPING)) {
       this._aaiService.getServiceModelById(item['serviceModelId']).subscribe((result)=>{
         const serviceModel =  new ServiceModel(result);
 
@@ -91,7 +93,7 @@ export class InstantiationStatusComponentService {
   }
 
   navigateToNewViewOnlyOrOldEditView(item: ServiceInfoModel) {
-    if (FeatureFlagsService.getFlagState(Features.FLAG_1902_NEW_VIEW_EDIT, this._store)) {
+    if (this._featureFlagsService.getFlagState(Features.FLAG_1902_NEW_VIEW_EDIT)) {
       this.navigateToNewViewEdit(item, DrawingBoardModes.VIEW);
     }
     else {
@@ -175,6 +177,17 @@ export class InstantiationStatusComponentService {
       this.navigateToNewViewEdit(item, DrawingBoardModes.RETRY_EDIT);
   }
 
+  recreate(item: ServiceInfoModel): void {
+    this.navigateToNewViewEdit(item, DrawingBoardModes.RECREATE);
+  }
+
+  isRecreateEnabled(item: ServiceInfoModel): boolean {
+    return item.action === ServiceAction.INSTANTIATE;
+  }
+
+  isRecreateVisible(): boolean {
+    return this._featureFlagsService.getFlagState(Features.FLAG_2004_CREATE_ANOTHER_INSTANCE_FROM_TEMPLATE);
+  }
 }