mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-14 15:37:12 +03:00
Added text set option (userID)
This commit is contained in:
@@ -13,7 +13,7 @@ async function init() {
|
||||
for (let i = 0; i < optionsElements.length; i++) {
|
||||
switch (optionsElements[i].getAttribute("option-type")) {
|
||||
case "toggle":
|
||||
let option = optionsElements[i].getAttribute("toggle-sync-option");
|
||||
let option = optionsElements[i].getAttribute("sync-option");
|
||||
chrome.storage.sync.get([option], function(result) {
|
||||
let optionResult = result[option];
|
||||
if (optionResult != undefined) {
|
||||
@@ -27,7 +27,7 @@ async function init() {
|
||||
}
|
||||
|
||||
checkbox.addEventListener("click", () =>{
|
||||
optionToggled(option, reverse ? !checkbox.checked : checkbox.checked)
|
||||
setOptionValue(option, reverse ? !checkbox.checked : checkbox.checked)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -35,6 +35,11 @@ async function init() {
|
||||
});
|
||||
|
||||
checksLeft++;
|
||||
break;
|
||||
case "text-change":
|
||||
let button = optionsElements[i].querySelector(".text-change-trigger");
|
||||
button.addEventListener("click", () => activateTextChange(optionsElements[i]));
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -46,10 +51,35 @@ async function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when an option has been toggled.
|
||||
* Will trigger the textbox to appear to be able to change an option's text.
|
||||
*
|
||||
* @param {HTMLElement} element
|
||||
*/
|
||||
function optionToggled(option, value) {
|
||||
function activateTextChange(element) {
|
||||
let button = element.querySelector(".text-change-trigger");
|
||||
if (button.classList.contains("disabled")) return;
|
||||
|
||||
button.classList.add("disabled");
|
||||
|
||||
let textBox = element.querySelector(".option-text-box");
|
||||
let option = element.getAttribute("sync-option");
|
||||
|
||||
chrome.storage.sync.get([option], function(result) {
|
||||
textBox.value = result[option];
|
||||
|
||||
let setButton = element.querySelector(".text-change-set");
|
||||
setButton.addEventListener("click", () => setOptionValue(option, textBox.value));
|
||||
|
||||
element.querySelector(".option-hidden-hidden").classList.remove("hidden");
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when an option has been changed.
|
||||
*
|
||||
* @param {string} option
|
||||
* @param {*} value
|
||||
*/
|
||||
function setOptionValue(option, value) {
|
||||
chrome.storage.sync.set({[option]: value});
|
||||
}
|
||||
Reference in New Issue
Block a user