diff options
Diffstat (limited to 'qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js')
-rw-r--r-- | qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js index 86bbaa46ba..f31fd1aa1f 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js @@ -18,15 +18,35 @@ * under the License. * */ -define(function () { +define(["qpid/management/UserPreferences"], function (UserPreferences) { var updateList = new Array(); - setInterval(function() { - for(var i = 0; i < updateList.length; i++) { - var obj = updateList[i]; - obj.update(); - } - }, 5000); // TODO: Should make this configurable + function invokeUpdates() + { + for(var i = 0; i < updateList.length; i++) + { + var obj = updateList[i]; + obj.update(); + } + } + + var updatePeriod = UserPreferences.updatePeriod ? UserPreferences.updatePeriod: 5; + + var timer = setInterval(invokeUpdates, updatePeriod * 1000); + + var updateIntervalListener = { + onPreferencesChange: function(preferences) + { + if (preferences.updatePeriod && preferences.updatePeriod != updatePeriod) + { + updatePeriod = preferences.updatePeriod; + clearInterval(timer); + timer = setInterval(invokeUpdates, updatePeriod * 1000); + } + } + }; + + UserPreferences.addListener(updateIntervalListener); return { add: function(obj) { |