diff options
author | SimonBrazell <simon@brazell.com.au> | 2020-08-28 09:17:36 +1000 |
---|---|---|
committer | SimonBrazell <simon@brazell.com.au> | 2020-08-28 09:17:36 +1000 |
commit | 67dc5fcc3b3ae35fb2aa9abbde24b35df8bf75a3 (patch) | |
tree | 9a16acb48bd16c1a12a9b6d9e7d1810c1a3b8f9d /pages | |
parent | Randomise Invidious instance if empty or https://invidio.us (diff) | |
download | libredirect-67dc5fcc3b3ae35fb2aa9abbde24b35df8bf75a3.zip |
Fixes #89 - autoplay reversed, improve instance selects (#90)
Diffstat (limited to 'pages')
-rw-r--r-- | pages/options/options.js | 46 |
1 files changed, 25 insertions, 21 deletions
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 = "<strong>" + list[i].substr(0, val.length) + "</strong>"; - b.innerHTML += list[i].substr(val.length); - b.innerHTML += "<input type='hidden' value='" + list[i] + "'>"; - 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 = "<strong>" + item.substr(0, val.length) + "</strong>"; + div.innerHTML += item.substr(val.length); + div.innerHTML += "<input type='hidden' value='" + item + "'>"; + 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); |