]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/html/static/settings.js
Improve settings.js code by using 'onEachLazy' directly instead of looping through...
[rust.git] / src / librustdoc / html / static / settings.js
index daed6e731343ebcf3afde8612229249563b8e3a9..bc14420232c4dd5736ca9c0bda1f920bf8739ec1 100644 (file)
     }
 
     function setEvents() {
-        var elems = {
-            toggles: Array.prototype.slice.call(document.getElementsByClassName("slider")),
-            selects: Array.prototype.slice.call(document.getElementsByClassName("select-wrapper")),
-        };
-        var i;
-
-        if (elems.toggles && elems.toggles.length > 0) {
-            for (i = 0; i < elems.toggles.length; ++i) {
-                var toggle = elems.toggles[i].previousElementSibling;
-                var settingId = toggle.id;
-                var settingValue = getSettingValue(settingId);
-                if (settingValue !== null) {
-                    toggle.checked = settingValue === "true";
-                }
-                toggle.onchange = function() {
-                    changeSetting(this.id, this.checked);
-                };
-                toggle.onkeyup = handleKey;
-                toggle.onkeyrelease = handleKey;
+        onEachLazy(document.getElementsByClassName("slider"), function(elem) {
+            var toggle = elem.previousElementSibling;
+            var settingId = toggle.id;
+            var settingValue = getSettingValue(settingId);
+            if (settingValue !== null) {
+                toggle.checked = settingValue === "true";
             }
-        }
-
-        if (elems.selects && elems.selects.length > 0) {
-            for (i = 0; i < elems.selects.length; ++i) {
-                var select = elems.selects[i].getElementsByTagName("select")[0];
-                var settingId = select.id;
-                var settingValue = getSettingValue(settingId);
-                if (settingValue !== null) {
-                    select.value = settingValue;
-                }
-                select.onchange = function() {
-                    changeSetting(this.id, this.value);
-                };
+            toggle.onchange = function() {
+                changeSetting(this.id, this.checked);
+            };
+            toggle.onkeyup = handleKey;
+            toggle.onkeyrelease = handleKey;
+        });
+        onEachLazy(document.getElementsByClassName("select-wrapper"), function(elem) {
+            var select = elem.getElementsByTagName("select")[0];
+            var settingId = select.id;
+            var settingValue = getSettingValue(settingId);
+            if (settingValue !== null) {
+                select.value = settingValue;
             }
-        }
+            select.onchange = function() {
+                changeSetting(this.id, this.value);
+            };
+        });
     }
 
     window.addEventListener("DOMContentLoaded", setEvents);