luci-base: luci.js: use standard indicator framework for poll status
authorJo-Philipp Wich <jo@mein.io>
Mon, 13 Apr 2020 10:41:26 +0000 (12:41 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 14 Apr 2020 15:06:34 +0000 (17:06 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/luci.js

index 1ed213ebb684e669967328cb5d60d81a95bace2e..11ca2fdfcacfb8452ddf98e503c8e6f53b501e82 100644 (file)
 
                        Object.assign(this.env, env);
 
-                       document.addEventListener('poll-start', function(ev) {
-                               document.querySelectorAll('[id^="xhr_poll_status"]').forEach(function(e) {
-                                       e.style.display = (e.id == 'xhr_poll_status_off') ? 'none' : '';
-                               });
-                       });
-
-                       document.addEventListener('poll-stop', function(ev) {
-                               document.querySelectorAll('[id^="xhr_poll_status"]').forEach(function(e) {
-                                       e.style.display = (e.id == 'xhr_poll_status_on') ? 'none' : '';
-                               });
-                       });
-
                        var domReady = new Promise(function(resolveFn, rejectFn) {
                                document.addEventListener('DOMContentLoaded', resolveFn);
                        });
                                L.notifySessionExpiry();
                        });
 
+                       document.addEventListener('poll-start', function(ev) {
+                               uiClass.showIndicator('poll-status', _('Refreshing'), function(ev) {
+                                       Request.poll.active() ? Request.poll.stop() : Request.poll.start();
+                               });
+                       });
+
+                       document.addEventListener('poll-stop', function(ev) {
+                               uiClass.showIndicator('poll-status', _('Paused'), null, 'inactive');
+                       });
+
                        return Promise.all([
                                this.probeSystemFeatures(),
                                this.probePreloadClasses()