diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2014-10-08 11:05:01 +0200 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2014-10-08 11:08:39 +0200 |
commit | 9fd74021afb0a6d4551b21615f7094b1b0705f63 (patch) | |
tree | 5b7936ee1400875a1d31731a576d16d213cb5ad3 /web-ui/app/js/features/features.js | |
parent | 3edd9fcb2cd0ea1f05f0277c85430c9751878406 (diff) |
Added logout link to dispatcher (issue #55).
- Set DISPATCHER_LOGOUT_URL environment to logout url to show logout.
- Logout button currently lacks some design
Diffstat (limited to 'web-ui/app/js/features/features.js')
-rw-r--r-- | web-ui/app/js/features/features.js | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/web-ui/app/js/features/features.js b/web-ui/app/js/features/features.js index 9ca1d932..e008b5fc 100644 --- a/web-ui/app/js/features/features.js +++ b/web-ui/app/js/features/features.js @@ -18,29 +18,41 @@ 'use strict'; define([], function() { var cachedDisabledFeatures; + var cachedDispatcherFeatures; - function getFeatures() { - cachedDisabledFeatures = cachedDisabledFeatures || fetchDisabledFeatures(); + function getDisabledFeatures() { + cachedDisabledFeatures = cachedDisabledFeatures || fetchFeatures().disabled_features; return cachedDisabledFeatures; } - function fetchDisabledFeatures() { - var disabledFeatures; - $.ajax('/disabled_features', { + function getDispatcherFeatures() { + cachedDispatcherFeatures = cachedDispatcherFeatures || fetchFeatures().dispatcher_features; + return cachedDispatcherFeatures; + } + + function fetchFeatures() { + var features; + $.ajax('/features', { async: false, success: function (results){ - disabledFeatures = results; + features = results; }, error: function () { console.error('Could not load feature toggles'); } }); - return disabledFeatures; + return features; } return { - isEnabled: function(featureName) { - return ! _.contains(getFeatures(), featureName); + isEnabled: function (featureName) { + return ! _.contains(getDisabledFeatures(), featureName); + }, + isLogoutEnabled: function () { + return _.has(getDispatcherFeatures(), 'logout'); + }, + getLogoutUrl: function () { + return getDispatcherFeatures().logout; } }; }); |