-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathoptions.js
1 lines (1 loc) · 1.9 KB
/
options.js
1
function getOptions(t){var e={"rating-bar":!0,"toolbar-stats":!0,"home-page-shortcuts":!0,"home-page-shortcuts-competitors":!0,"home-page-shortcuts-trendalerts":!0,"home-page-shortcuts-mostviewed":!0,"home-page-shortcuts-channelaudit":!0,"home-page-shortcuts-achievements":!0,"video-manager-shortcuts":!0,"video-manager-shortcuts-competitors":!0,"video-manager-shortcuts-trendalerts":!0,"video-manager-shortcuts-mostviewed":!0,"video-manager-shortcuts-channelaudit":!0,"video-manager-shortcuts-achievements":!0};chrome.storage.sync.get("vidiq_options",function(o){var n;try{n=JSON.parse(o.vidiq_options)}catch(t){n=null}if(n){for(var s in e)void 0===n[0][s]&&(n[0][s]=e[s]);chrome.storage.sync.set({vidiq_options:JSON.stringify(n)})}else chrome.storage.sync.set({vidiq_options:JSON.stringify([e])}),n=[e];t(n[0])})}function updateCheckbox(t,e){document.getElementById(t).checked=e}function updateSetting(t,e){getOptions(function(o){o[t]=JSON.parse(e),"home-page-shortcuts"!==t&&"video-manager-shortcuts"!==t||(o[t+"-competitors"]=e,updateCheckbox(t+"-competitors",e),o[t+"-trendalerts"]=e,updateCheckbox(t+"-trendalerts",e),o[t+"-mostviewed"]=e,updateCheckbox(t+"-mostviewed",e),o[t+"-channelaudit"]=e,updateCheckbox(t+"-channelaudit",e),o[t+"-achievements"]=e,updateCheckbox(t+"-achievements",e));var n=JSON.stringify([o]);chrome.storage.sync.set({vidiq_options:n})})}function loadSettings(){getOptions(function(t){Object.keys(t).forEach(function(e){document.getElementById(e).checked=t[e]})})}function translate(){document.title=chrome.i18n.getMessage("vidIQVisionOptions"),document.querySelectorAll("[data-i18n]").forEach(function(t){var e=t.getAttribute("data-i18n");t.textContent=chrome.i18n.getMessage(e)})}document.addEventListener("DOMContentLoaded",function(){translate(),loadSettings();for(var t=document.getElementsByTagName("input"),e=0;e<t.length;e++)t[e].addEventListener("click",function(){updateSetting(this.id,this.checked)})});