Skip to content

Commit 1b3ad56

Browse files
adding a code based feature flag to the demo, updating readme
1 parent 6a0f8dc commit 1b3ad56

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-0
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,16 @@ If you need to *hide* elements when a flag is enabled, add the `feature-flag-hid
9898
</div>
9999
```
100100

101+
### Toggling CodeBlocks
102+
103+
The featureFlags.isOn method allows simple toggling of elements based on feature flags, e.g:
104+
105+
```javascript
106+
if(featureFlags.isOn('code')) {
107+
alert("Hello!");
108+
}
109+
```
110+
101111
### Running the demo
102112

103113
Running the demo is easy assuming you have Gulp installed:

demo/data/flags.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,11 @@
2222
"active": false,
2323
"name": "Settings",
2424
"description": "Configure the user's settings and preferences for the app."
25+
},
26+
{
27+
"key": "code",
28+
"active": true,
29+
"name": "Code",
30+
"description": "Code based flag"
2531
}
2632
]

demo/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ <h1>My App</h1>
1919
<div messaging feature-flag="messages"></div>
2020
<div user-profile feature-flag="userProfile"></div>
2121
<div settings feature-flag="settings"></div>
22+
<code></code>
2223
</div>
2324
<div class="flagContainer" feature-flag-overrides></div>
2425
</body>

demo/scripts/directives.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,25 @@ angular.module('my-app')
3131
replace: true
3232
};
3333
})
34+
.directive('code', function(featureFlags) {
35+
return {
36+
restrict: 'E',
37+
scope: {},
38+
template: '<div class="panel"><button ng-click="codeCtrl.alert()">Click Me!</button></div>',
39+
replace: true,
40+
controllerAs: 'codeCtrl',
41+
controller: function(){
42+
var self = this;
43+
44+
self.alert = function(){
45+
if(featureFlags.isOn('code')) {
46+
alert("Hello!");
47+
}
48+
};
49+
50+
}
51+
};
52+
})
3453
.run(function(featureFlags, $http) {
3554
featureFlags.set($http.get('../data/flags.json'));
3655
});

0 commit comments

Comments
 (0)