fix options loading and storing code
This commit is contained in:
parent
974b103409
commit
200b8f6b75
@ -80,7 +80,7 @@ function updateVisibility(options) {
|
||||
}
|
||||
|
||||
$(document).ready(() => {
|
||||
Handlebars.partials = Handlebars.templates;
|
||||
handlebarsRegister();
|
||||
|
||||
optionsLoad().then(options => {
|
||||
$('#audio-playback-buttons').prop('checked', options.general.audioPlayback);
|
||||
@ -148,7 +148,7 @@ function populateDictionaries(options) {
|
||||
return instDb().getDictionaries().then(rows => {
|
||||
rows.forEach(row => {
|
||||
const dictOptions = options.dictionaries[row.title] || {enableTerms: false, enableKanji: false, priority: 0};
|
||||
const html = Handlebars.templates['dictionary.html']({
|
||||
const html = handlebarsRender('dictionary.html', {
|
||||
title: row.title,
|
||||
version: row.version,
|
||||
revision: row.revision,
|
||||
|
@ -195,10 +195,24 @@ function optionsLoad() {
|
||||
resolve(0);
|
||||
}
|
||||
}).then(bytes => {
|
||||
const storage = bytes === 0 ? chrome.storage.local : chrome.storage.sync;
|
||||
return new Promise((resolve, reject) => {
|
||||
storage.get(null, options => resolve(optionsVersion(options)));
|
||||
});
|
||||
if (bytes === 0) {
|
||||
return new Promise((resolve, reject) => {
|
||||
chrome.storage.local.get(null, store => {
|
||||
let options = {};
|
||||
try {
|
||||
options = JSON.parse(store.options);
|
||||
} catch (e) {
|
||||
// NOP
|
||||
}
|
||||
|
||||
resolve(optionsVersion(options));
|
||||
});
|
||||
});
|
||||
} else {
|
||||
return new Promise((resolve, reject) => {
|
||||
chrome.storage.sync.get(null, options => resolve(optionsVersion(options)));
|
||||
});
|
||||
}
|
||||
}).then(options => {
|
||||
if (chrome.storage.sync) {
|
||||
chrome.storage.sync.clear();
|
||||
@ -210,7 +224,7 @@ function optionsLoad() {
|
||||
|
||||
function optionsSave(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
chrome.storage.local.set(options, resolve);
|
||||
chrome.storage.local.set({options: JSON.stringify(options)}, resolve);
|
||||
}).then(() => {
|
||||
instYomi().optionsSet(options);
|
||||
fgOptionsSet(options);
|
||||
|
@ -29,9 +29,8 @@
|
||||
</p>
|
||||
<script src="/mixed/lib/jquery-3.1.1.min.js"></script>
|
||||
<script src="/mixed/lib/bootstrap-toggle/bootstrap-toggle.min.js"></script>
|
||||
<script src="/bg/js/gecko.js"></script>
|
||||
<script src="/mixed/lib/handlebars.min.js"></script>
|
||||
<script src="/bg/js/util.js"></script>
|
||||
<script src="/bg/js/options.js"></script>
|
||||
<script src="/bg/js/popup.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in New Issue
Block a user