gPass/firefox_webextension/options.js

55 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-04-17 20:39:53 +02:00
var default_preferences = {"pbkdf2_level": 1000,
2021-03-02 14:56:26 +01:00
"account_url": "https://gpass-demo.soutade.fr/demo",
"always_disabled":false,
"popup_clipboard":false
};
2017-04-17 20:39:53 +02:00
function save() {
var account_url = document.getElementById('account_url').value;
2021-03-02 14:56:26 +01:00
var pbkdf2_level = document.getElementById('pbkdf2_level').value;
var always_disabled = document.getElementById('always_disabled').checked;
var popup_clipboard = document.getElementById('popup_clipboard').checked;
2017-04-17 20:39:53 +02:00
browser.storage.local.set({
"account_url":account_url,
2021-03-02 14:56:26 +01:00
"pbkdf2_level":pbkdf2_level,
"always_disabled": always_disabled,
"popup_clipboard": popup_clipboard,
2017-04-17 20:39:53 +02:00
})
.then(function ok() { alert("Saved"); },
function err() { alert("Cannot save your preferences");}
);
}
2021-03-02 14:56:26 +01:00
function restoreOption(preferences, pref)
2017-04-17 20:39:53 +02:00
{
2021-03-02 14:56:26 +01:00
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;
}
2017-04-17 20:39:53 +02:00
2021-03-02 14:56:26 +01:00
function restoreOptions()
{
2017-04-17 20:39:53 +02:00
browser.storage.local.get().then(
function(prefs)
{
2021-03-02 14:56:26 +01:00
restoreOption(prefs, 'account_url');
restoreOption(prefs, 'pbkdf2_level');
restoreOption(prefs, 'always_disabled');
restoreOption(prefs, 'popup_clipboard');
2017-04-17 20:39:53 +02:00
}
);
}
document.getElementById('save').addEventListener("click", save);
document.addEventListener("DOMContentLoaded", restoreOptions);