Skip to content

Commit 589588c

Browse files
Improve settings.js code by using 'onEachLazy' directly instead of looping through DOM iterators
1 parent 704050d commit 589588c

File tree

1 file changed

+22
-33
lines changed

1 file changed

+22
-33
lines changed

Diff for: src/librustdoc/html/static/settings.js

+22-33
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,30 @@
3030
}
3131

3232
function setEvents() {
33-
var elems = {
34-
toggles: Array.prototype.slice.call(document.getElementsByClassName("slider")),
35-
selects: Array.prototype.slice.call(document.getElementsByClassName("select-wrapper")),
36-
};
37-
var i;
38-
39-
if (elems.toggles && elems.toggles.length > 0) {
40-
for (i = 0; i < elems.toggles.length; ++i) {
41-
var toggle = elems.toggles[i].previousElementSibling;
42-
var settingId = toggle.id;
43-
var settingValue = getSettingValue(settingId);
44-
if (settingValue !== null) {
45-
toggle.checked = settingValue === "true";
46-
}
47-
toggle.onchange = function() {
48-
changeSetting(this.id, this.checked);
49-
};
50-
toggle.onkeyup = handleKey;
51-
toggle.onkeyrelease = handleKey;
33+
onEachLazy(document.getElementsByClassName("slider"), function(elem) {
34+
var toggle = elem.previousElementSibling;
35+
var settingId = toggle.id;
36+
var settingValue = getSettingValue(settingId);
37+
if (settingValue !== null) {
38+
toggle.checked = settingValue === "true";
5239
}
53-
}
54-
55-
if (elems.selects && elems.selects.length > 0) {
56-
for (i = 0; i < elems.selects.length; ++i) {
57-
var select = elems.selects[i].getElementsByTagName("select")[0];
58-
var settingId = select.id;
59-
var settingValue = getSettingValue(settingId);
60-
if (settingValue !== null) {
61-
select.value = settingValue;
62-
}
63-
select.onchange = function() {
64-
changeSetting(this.id, this.value);
65-
};
40+
toggle.onchange = function() {
41+
changeSetting(this.id, this.checked);
42+
};
43+
toggle.onkeyup = handleKey;
44+
toggle.onkeyrelease = handleKey;
45+
});
46+
onEachLazy(document.getElementsByClassName("select-wrapper"), function(elem) {
47+
var select = elem.getElementsByTagName("select")[0];
48+
var settingId = select.id;
49+
var settingValue = getSettingValue(settingId);
50+
if (settingValue !== null) {
51+
select.value = settingValue;
6652
}
67-
}
53+
select.onchange = function() {
54+
changeSetting(this.id, this.value);
55+
};
56+
});
6857
}
6958

7059
window.addEventListener("DOMContentLoaded", setEvents);

0 commit comments

Comments
 (0)