summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2018-08-29 17:01:32 +0300
committerIttay Stern <ittay.stern@att.com>2019-02-18 18:35:30 +0200
commit6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 (patch)
tree936005c364dc5a7264d6304d4777c3d83494db22 /vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts
parent67d99f816cc583643c35193197594cf78d8ce60a (diff)
merge from ecomp a88f0072 - Modern UI
Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts')
-rw-r--r--vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts b/vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts
new file mode 100644
index 000000000..e6cbb4f17
--- /dev/null
+++ b/vid-webpack-master/src/app/featureFlag/directive/basic/basic.featureFlag.directive.ts
@@ -0,0 +1,29 @@
+import {AfterContentChecked, Directive, ElementRef, Input} from '@angular/core';
+import {FeatureFlagService} from "../../service/featureFlag.service";
+import * as _ from 'lodash';
+
+/************************************************************************
+ Feature Flag Directive
+ Example:
+ <div featureFlag [flagName]='"<flag name>"'></div>
+ ************************************************************************/
+@Directive({
+ selector: '[featureFlag]'
+})
+export class BasicFeatureFlagDirective implements AfterContentChecked {
+ @Input() flagName: string;
+ element: ElementRef;
+
+ constructor(el: ElementRef, private _featureToggleService: FeatureFlagService) {
+ this.element = el;
+ }
+
+ ngAfterContentChecked(): void {
+ if (!_.isNil(this.element)) {
+ const isFeatureOn: boolean = this._featureToggleService.isFeatureOn(this.flagName);
+ if(!isFeatureOn){
+ this._featureToggleService.hideElement(this.element)
+ }
+ }
+ }
+}