luci-base: ui.js: use standard indicator framework to display uci changes
authorJo-Philipp Wich <jo@mein.io>
Mon, 13 Apr 2020 10:31:54 +0000 (12:31 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 14 Apr 2020 15:10:06 +0000 (17:10 +0200)
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/ui.js

index 17e70e4f9d0094e6898a140a80dd9f3bc74aaf53..2e4e4ad1c491517c3b9fc1ee0f57f62fc0b582a0 100644 (file)
@@ -3800,26 +3800,13 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
                 * The number of changes to indicate.
                 */
                setIndicator: function(n) {
-                       var i = document.querySelector('.uci_change_indicator');
-                       if (i == null) {
-                               var poll = document.getElementById('xhr_poll_status');
-                               i = poll.parentNode.insertBefore(E('a', {
-                                       'href': '#',
-                                       'class': 'uci_change_indicator label notice',
-                                       'click': L.bind(this.displayChanges, this)
-                               }), poll);
-                       }
-
                        if (n > 0) {
-                               dom.content(i, [ _('Unsaved Changes'), ': ', n ]);
-                               i.classList.add('flash');
-                               i.style.display = '';
-                               document.dispatchEvent(new CustomEvent('uci-new-changes'));
+                               UI.prototype.showIndicator('uci-changes',
+                                       '%s: %d'.format(_('Unsaved Changes'), n),
+                                       L.bind(this.displayChanges, this));
                        }
                        else {
-                               i.classList.remove('flash');
-                               i.style.display = 'none';
-                               document.dispatchEvent(new CustomEvent('uci-clear-changes'));
+                               UI.prototype.hideIndicator('uci-changes');
                        }
                },