summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js
diff options
context:
space:
mode:
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.js34
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) {