Options loading and saving

This commit is contained in:
Alex Yatskov 2016-04-04 21:59:30 -07:00
parent 074b1dc5f6
commit e5a3904cf7
3 changed files with 44 additions and 21 deletions

42
ext/bg/options-form.js Normal file
View File

@ -0,0 +1,42 @@
/*
* Copyright (C) 2016 Alex Yatskov <alex@foosoft.net>
* Author: Alex Yatskov <alex@foosoft.net>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
$('#saveOptions').click(() => {
saveOptions(sanitizeOptions(formToOptions()))
});
$('#resetOptions').click(() => {
if (confirm('Reset options to defaults?')) {
optionsToForm(sanitizeOptions({}));
}
});
function optionsToForm(opts) {
$('#scanLength').val(opts.scanLength);
}
function formToOptions() {
return {
scanLength: $('#scanLength').val()
};
}
$(document).ready(() => {
loadOptions((opts) => optionsToForm(sanitizeOptions(opts)));
});

View File

@ -27,27 +27,7 @@
<script src="lib/jquery-2.2.2.min.js"></script> <script src="lib/jquery-2.2.2.min.js"></script>
<script src="lib/bootstrap-3.3.6-dist/js/bootstrap.min.js"></script> <script src="lib/bootstrap-3.3.6-dist/js/bootstrap.min.js"></script>
<script src="options.js"></script> <script src="options.js"></script>
<script src="options-form.js"></script>
<script>
$('#saveOptions').click(() => saveOptions(sanitizeOptions(formToOptions())));
$('#resetOptions').click(() => {
if (confirm('Reset options to defaults?')) {
optionsToForm(sanitizeOptions({}));
}
});
function optionsToForm(opts) {
$('#scanLength').val(opts.scanLength);
}
function formToOptions() {
return {
scanLength: $('#scanLength').val()
};
}
loadOptions((opts) => optionsToForm(sanitizeOptions(opts)));
</script>
</div> </div>
</body> </body>
</html> </html>

View File

@ -7,6 +7,7 @@
"browser_action": {"default_icon": "icon.png"}, "browser_action": {"default_icon": "icon.png"},
"background": {"page": "bg/background.html"}, "background": {"page": "bg/background.html"},
"options_page": "bg/options.html", "options_page": "bg/options.html",
"permissions": [ "storage" ],
"content_scripts": [{ "content_scripts": [{
"matches": ["*://*/*"], "matches": ["*://*/*"],