Skip to content

Commit

Permalink
Final tweaks to featureFlagFramework.js
Browse files Browse the repository at this point in the history
  • Loading branch information
Adamsimsy committed Jul 26, 2020
1 parent 8716286 commit ec8d74c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@
<title>@ViewData["Title"] - FeatureFlagFramework.Example.Aspnetcore</title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
<script src="~/js/FeatureFlagFramework.js" data-endpoint="/flags.json" asp-append-version="true"></script>
<script>
featureFlagFramework.initialize('/flags.json');
</script>
</head>
<body>
<header>
Expand Down Expand Up @@ -46,6 +42,7 @@
</footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/FeatureFlagFramework.js" data-endpoint="/flags.json" asp-append-version="true"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@RenderSection("Scripts", required: false)
</body>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"features": [
{
"name": "example-feature-flag",
"enabled": false
"enabled": true
}
]
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var featureFlagFramework = {
evaluate: function (name, defaultValue) {
if (featureFlagFramework.initialized === false) {
featureFlagFramework.initializeWithoutEndpoint() //TODO lazy load flags correctly.
featureFlagFramework.attemptInitializeWithDataAttribute() //TODO lazy load flags correctly.

if (featureFlagFramework.toggleCollection === null) {
return defaultValue;
Expand Down Expand Up @@ -43,10 +43,12 @@
sleep:function (ms) {
return new Promise(resolve => setTimeout(resolve, ms));
},
initializeWithoutEndpoint: function () {
featureFlagFramework.initializeWithEndpoint(featureFlagFramework.endpoint);
attemptInitializeWithDataAttribute: function () {
featureFlagFramework.getEndpointFromDataAttribute();
featureFlagFramework.initialize(featureFlagFramework.endpoint);
},
initialize: function(url) {
initialize: function (url) {
//TODO: Store flags for configured timespan in browser to improve performance instead of requesting json with every page load.
featureFlagFramework.getJson(url,
function (err, data) {
if (err !== null) {
Expand All @@ -58,10 +60,11 @@
});
},
getEndpointFromDataAttribute: function () {
var this_js_script = $('script[src*=FeatureFlagFramework]');
featureFlagFramework.endpoint = this_js_script.attr('data-endpoint');
var this_js_script = $('script[src*=FeatureFlagFramework]'); //TODO avoid needing JQuery
featureFlagFramework.endpoint = this_js_script.attr('data-endpoint'); //TODO add console logs if not able to get data attribute.
},
endpoint : null,
initialized : false,
toggleCollection : null
}
}
featureFlagFramework.attemptInitializeWithDataAttribute();

0 comments on commit ec8d74c

Please sign in to comment.