diff options
Diffstat (limited to 'vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts')
-rw-r--r-- | vid-webpack-master/src/app/shared/services/featureFlag/feature-flags.service.ts | 29 |
1 files changed, 29 insertions, 0 deletions
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 000000000..ec7bb0214 --- /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]; + } + + +} |