gPass/firefox_webextension/options.js

55 lines
1.5 KiB
JavaScript

var default_preferences = {"pbkdf2_level": 1000,
"account_url": "https://gpass-demo.soutade.fr/demo",
"always_disabled":false,
"popup_clipboard":false
};
function save() {
var account_url = document.getElementById('account_url').value;
var pbkdf2_level = document.getElementById('pbkdf2_level').value;
var always_disabled = document.getElementById('always_disabled').checked;
var popup_clipboard = document.getElementById('popup_clipboard').checked;
browser.storage.local.set({
"account_url":account_url,
"pbkdf2_level":pbkdf2_level,
"always_disabled": always_disabled,
"popup_clipboard": popup_clipboard,
})
.then(function ok() { alert("Saved"); },
function err() { alert("Cannot save your preferences");}
);
}
function restoreOption(preferences, pref)
{
var res;
if (!preferences.hasOwnProperty(pref))
res = default_preferences[pref];
else
res = preferences[pref];
var element = document.getElementById(pref);
if (element.type == 'checkbox')
element.checked = res;
else
element.value = res;
}
function restoreOptions()
{
browser.storage.local.get().then(
function(prefs)
{
restoreOption(prefs, 'account_url');
restoreOption(prefs, 'pbkdf2_level');
restoreOption(prefs, 'always_disabled');
restoreOption(prefs, 'popup_clipboard');
}
);
}
document.getElementById('save').addEventListener("click", save);
document.addEventListener("DOMContentLoaded", restoreOptions);