merge from ecomp a88f0072 - Modern UI

Issue-ID: VID-378
Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6
Signed-off-by: Ittay Stern <ittay.stern@att.com>
diff --git a/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts
new file mode 100644
index 0000000..ec7bb02
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts
@@ -0,0 +1,29 @@
+import {NgRedux} from "@angular-redux/store";
+import {AppState} from "../../store/reducers";
+import {Injectable} from "@angular/core";
+
+export enum Features {
+  FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST='FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST',
+  FLAG_1902_NEW_VIEW_EDIT='FLAG_1902_NEW_VIEW_EDIT',
+  FLAG_1902_VNF_GROUPING='FLAG_1902_VNF_GROUPING',
+  FLAG_VF_MODULE_RESUME_STATUS_CREATE = 'FLAG_VF_MODULE_RESUME_STATUS_CREATE',
+  DRAG_AND_DROP_OPERATION = 'DRAG_AND_DROP_OPERATION',
+  FLAG_1906_COMPONENT_INFO = 'FLAG_1906_COMPONENT_INFO',
+}
+
+@Injectable()
+export class FeatureFlagsService {
+
+  constructor(private store: NgRedux<AppState>){}
+
+  public getFlagState(flag: Features):boolean {
+    return FeatureFlagsService.getFlagState(flag, this.store);
+  }
+
+  /*static method for easy refactoring of code, so no injection of FeatureFlagsService is needed*/
+  public static getFlagState(flag: Features, store: NgRedux<AppState>):boolean {
+    return store.getState().global.flags[flag];
+  }
+
+
+}