From 67dc5fcc3b3ae35fb2aa9abbde24b35df8bf75a3 Mon Sep 17 00:00:00 2001 From: SimonBrazell Date: Fri, 28 Aug 2020 09:17:36 +1000 Subject: Fixes #89 - autoplay reversed, improve instance selects (#90) --- pages/options/options.js | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) (limited to 'pages/options') diff --git a/pages/options/options.js b/pages/options/options.js index d6fc731b..89ef315f 100644 --- a/pages/options/options.js +++ b/pages/options/options.js @@ -142,7 +142,7 @@ browser.storage.sync.get( invidiousVolume.value = result.invidiousVolume; invidiousPlayerStyle.value = result.invidiousPlayerStyle || ""; invidiousSubtitles.value = result.invidiousSubtitles || ""; - invidiousAutoplay.checked = !result.invidiousAutoplay; + invidiousAutoplay.checked = result.invidiousAutoplay; } ); @@ -338,7 +338,7 @@ let invidiousSubtitlesChange = debounce(() => { invidiousSubtitles.addEventListener("input", invidiousSubtitlesChange); invidiousAutoplay.addEventListener("change", (event) => { - browser.storage.sync.set({ invidiousAutoplay: !event.target.checked }); + browser.storage.sync.set({ invidiousAutoplay: event.target.checked }); }); theme.addEventListener("change", (event) => { @@ -364,7 +364,7 @@ theme.addEventListener("change", (event) => { function autocomplete(input, list) { let currentFocus; input.addEventListener("focus", (e) => { - showOptions(e); + showOptions(e, true); }); input.addEventListener("input", (e) => { const val = e.target.value; @@ -390,31 +390,35 @@ function autocomplete(input, list) { } } }); - function showOptions(e) { - let a, - b, + function showOptions(event, showAll = false) { + let div, i, - val = e.target.value; + val = event.target.value; closeAllLists(); - a = document.createElement("div"); - a.setAttribute("id", e.target.id + "autocomplete-list"); - a.setAttribute("class", "autocomplete-items"); - e.target.parentNode.appendChild(a); + div = document.createElement("div"); + div.setAttribute("id", event.target.id + "autocomplete-list"); + div.setAttribute("class", "autocomplete-items"); + event.target.parentNode.appendChild(div); for (i = 0; i < list.length; i++) { if (list[i].toLowerCase().indexOf(val.toLowerCase()) > -1) { - b = document.createElement("div"); - b.innerHTML = "" + list[i].substr(0, val.length) + ""; - b.innerHTML += list[i].substr(val.length); - b.innerHTML += ""; - b.addEventListener("click", function (e) { - input.value = e.target.getElementsByTagName("input")[0].value; - input.dispatchEvent(new Event("input")); - closeAllLists(); - }); - a.appendChild(b); + div.appendChild(getItem(list[i], val)); + } else if (showAll) { + div.appendChild(getItem(list[i], val)); } } } + function getItem(item, val) { + let div = document.createElement("div"); + div.innerHTML = "" + item.substr(0, val.length) + ""; + div.innerHTML += item.substr(val.length); + div.innerHTML += ""; + div.addEventListener("click", function (e) { + input.value = e.target.getElementsByTagName("input")[0].value; + input.dispatchEvent(new Event("input")); + closeAllLists(); + }); + return div; + } function addActive(x) { if (!x) return false; removeActive(x); -- cgit 1.4.1