diff --git a/src/javascript/settings.js b/src/javascript/settings.js index f046a11..9f2e1b1 100644 --- a/src/javascript/settings.js +++ b/src/javascript/settings.js @@ -1,11 +1,28 @@ +import { getGlobalStorageProvider } from "./settings/storageProvider"; import { onReady } from "./utils/helpers"; -onReady(() => { - -}); - -function saveOptions() { +const OPTION_SELECTOR = '.extension-option' +function storeOptions() { + document.querySelectorAll(OPTION_SELECTOR).forEach(optionElement => { + getGlobalStorageProvider().setData(optionElement.id, optionElement.check); + }); } -document.getElementById('save').addEventListener('click', saveOptions) \ No newline at end of file +function restoreOptions() { + document.querySelectorAll(OPTION_SELECTOR).forEach(optionElement => { + let defaultValue = optionElement.dataset.defaultValue === 'true' ? true : false; + + getGlobalStorageProvider().getData(optionElement.id, defaultValue, value => { + optionElement.checked = value; + }); + }); +} + +onReady(() => { + // register Store Button + document.getElementById('saveBtn').addEventListener('click', storeOptions); + + // try restore options + restoreOptions(); +}); \ No newline at end of file