blob: e6cbb4f17866c1bf1e1a36351dabcb75329d4884 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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)
}
}
}
}
|