From 9fd74021afb0a6d4551b21615f7094b1b0705f63 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 8 Oct 2014 11:05:01 +0200 Subject: Added logout link to dispatcher (issue #55). - Set DISPATCHER_LOGOUT_URL environment to logout url to show logout. - Logout button currently lacks some design --- web-ui/app/js/features/features.js | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'web-ui/app/js/features/features.js') 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; } }; }); -- cgit v1.2.3