luci-base: cbi.js: fix dropdown and browser initialization
authorJo-Philipp Wich <jo@mein.io>
Tue, 10 Sep 2019 15:37:42 +0000 (17:37 +0200)
committerJo-Philipp Wich <jo@mein.io>
Tue, 10 Sep 2019 15:37:42 +0000 (17:37 +0200)
We need to query the dropdowns before initializing dynamic lists but
after initializing combo boxes.

Also fix a copy-paste error from a previous commit.

Fixes: 010102c2c ("luci-base: cbi.js: find dropdown and browser instances early")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/cbi.js

index 0de7bcb9cac52462aad520089056d13d756822b2..4055ea1a5652b454fc7a2a5b01d0e8071439cd4f 100644 (file)
@@ -736,9 +736,7 @@ function cbi_d_update() {
 }
 
 function cbi_init() {
-       var dropdowns = document.querySelectorAll('.cbi-dropdown'),
-           browsers = document.querySelectorAll('[data-browser]'),
-           nodes;
+       var dropdowns, browsers, nodes;
 
        nodes = document.querySelectorAll('[data-strings]');
 
@@ -787,6 +785,9 @@ function cbi_init() {
                                  node.getAttribute('data-manual'));
        }
 
+       dropdowns = document.querySelectorAll('.cbi-dropdown');
+       browsers = document.querySelectorAll('[data-browser]');
+
        nodes = document.querySelectorAll('[data-dynlist]');
 
        for (var i = 0, node; (node = nodes[i]) !== undefined; i++) {
@@ -811,7 +812,7 @@ function cbi_init() {
        }
 
        dropdowns.forEach(cbi_dropdown_init);
-       browsers.querySelectorAll('[data-browser]').forEach(cbi_browser_init);
+       browsers.forEach(cbi_browser_init);
 
        document.querySelectorAll('.cbi-tooltip:not(:empty)').forEach(function(s) {
                s.parentNode.classList.add('cbi-tooltip-container');