Improve settings.js code by using 'onEachLazy' directly instead of looping through DOM iterators
This commit is contained in:
parent
704050da23
commit
589588ce7b
1 changed files with 22 additions and 33 deletions
|
|
@ -30,41 +30,30 @@
|
|||
}
|
||||
|
||||
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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue