From 1b3ad568a5ea30bbd81f40df5be94ac6905b1906 Mon Sep 17 00:00:00 2001 From: JeremyCarlsten Date: Thu, 13 Apr 2017 19:19:42 +0100 Subject: [PATCH 1/2] adding a code based feature flag to the demo, updating readme --- README.md | 10 ++++++++++ demo/data/flags.json | 6 ++++++ demo/index.html | 1 + demo/scripts/directives.js | 19 +++++++++++++++++++ 4 files changed, 36 insertions(+) diff --git a/README.md b/README.md index 4273da2..4e21517 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,16 @@ If you need to *hide* elements when a flag is enabled, add the `feature-flag-hid ``` +### Toggling CodeBlocks + +The featureFlags.isOn method allows simple toggling of elements based on feature flags, e.g: + +```javascript + if(featureFlags.isOn('code')) { + alert("Hello!"); + } +``` + ### Running the demo Running the demo is easy assuming you have Gulp installed: diff --git a/demo/data/flags.json b/demo/data/flags.json index 5af3935..cbaf14c 100644 --- a/demo/data/flags.json +++ b/demo/data/flags.json @@ -22,5 +22,11 @@ "active": false, "name": "Settings", "description": "Configure the user's settings and preferences for the app." + }, + { + "key": "code", + "active": true, + "name": "Code", + "description": "Code based flag" } ] diff --git a/demo/index.html b/demo/index.html index 41ba1d8..f5a278b 100644 --- a/demo/index.html +++ b/demo/index.html @@ -19,6 +19,7 @@

My App

+
diff --git a/demo/scripts/directives.js b/demo/scripts/directives.js index c7fe4cf..ebae5a6 100644 --- a/demo/scripts/directives.js +++ b/demo/scripts/directives.js @@ -31,6 +31,25 @@ angular.module('my-app') replace: true }; }) + .directive('code', function(featureFlags) { + return { + restrict: 'E', + scope: {}, + template: '
', + replace: true, + controllerAs: 'codeCtrl', + controller: function(){ + var self = this; + + self.alert = function(){ + if(featureFlags.isOn('code')) { + alert("Hello!"); + } + }; + + } + }; + }) .run(function(featureFlags, $http) { featureFlags.set($http.get('../data/flags.json')); }); From e514e24debb3e63c95b0bcd021dfb33f96e25ea9 Mon Sep 17 00:00:00 2001 From: JeremyCarlsten Date: Thu, 13 Apr 2017 19:38:17 +0100 Subject: [PATCH 2/2] Fixing linting errors --- demo/scripts/directives.js | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/demo/scripts/directives.js b/demo/scripts/directives.js index ebae5a6..06a5cd9 100644 --- a/demo/scripts/directives.js +++ b/demo/scripts/directives.js @@ -32,24 +32,22 @@ angular.module('my-app') }; }) .directive('code', function(featureFlags) { - return { - restrict: 'E', - scope: {}, - template: '
', - replace: true, - controllerAs: 'codeCtrl', - controller: function(){ - var self = this; - - self.alert = function(){ - if(featureFlags.isOn('code')) { - alert("Hello!"); - } - }; - - } - }; - }) + return { + restrict: 'E', + scope: {}, + template: '
', + replace: true, + controllerAs: 'codeCtrl', + controller: function() { + var self = this; + self.alert = function() { + if (featureFlags.isOn('code')) { + console.log('Hello!'); + } + }; + } + }; + }) .run(function(featureFlags, $http) { featureFlags.set($http.get('../data/flags.json')); });