Slight refactor of options.js

This commit is contained in:
Said Achmiz 2019-01-31 10:46:49 -05:00
parent e160c680d2
commit a1aba3746e

View File

@ -1,32 +1,7 @@
/*******************/
/* EVENT LISTENERS */
/*******************/
/**********/
/* EVENTS */
/**********/
document.querySelectorAll("button").forEach(button => {
button.addActivateEvent((event) => {
event.target.blur();
if (button.classList.contains("save-button"))
saveChanges();
else
resetChanges();
});
});
document.querySelectorAll("textarea").forEach(textarea => {
textarea.addEventListener("input", (event) => {
setButtonsActive(true);
});
});
document.querySelector("input[type='checkbox']").addEventListener("change", (event) => {
modeSelectorInputReceived();
});
document.querySelectorAll(".mode-select-container span").forEach(span => {
span.addActivateEvent((event) => {
modeSelectorInputReceived();
});
});
function modeSelectorInputReceived() {
toggleModeSelectorState();
window.currentMode = (window.currentMode == "whitelist") ? "blacklist" : "whitelist";
@ -91,5 +66,34 @@ function initialize() {
let divToFocus = (result.mode == "whitelist") ? "#exclusionPatterns" : "#matchingPatterns";
document.querySelector(`${divToFocus} textarea`).focus();
});
// Listeners for Reset and Save buttons.
document.querySelectorAll("button").forEach(button => {
button.addActivateEvent((event) => {
event.target.blur();
if (button.classList.contains("save-button"))
saveChanges();
else
resetChanges();
});
});
// Listeners to activate Reset/Save buttons when textareas get input.
document.querySelectorAll("textarea").forEach(textarea => {
textarea.addEventListener("input", (event) => {
setButtonsActive(true);
});
});
// Listeners for mode select switch.
document.querySelector("input[type='checkbox']").addEventListener("change", (event) => {
modeSelectorInputReceived();
});
document.querySelectorAll(".mode-select-container span").forEach(span => {
span.addActivateEvent((event) => {
modeSelectorInputReceived();
});
});
}
initialize();