Show proper options

This commit is contained in:
Alex Yatskov 2016-05-28 14:18:43 -07:00
parent 281b8018a6
commit 5f8cd06533

View File

@ -21,21 +21,6 @@ function yomichan() {
return chrome.extension.getBackgroundPage().yomichan;
}
function optionsToForm(opts) {
$('#scan-length').val(opts.scanLength);
$('#activate-on-startup').prop('checked', opts.activateOnStartup);
$('#load-enamdict').prop('checked', opts.loadEnamDict);
$('#select-matched-text').prop('checked', opts.selectMatchedText);
$('#enable-anki-connect').prop('checked', opts.enableAnkiConnect);
if (opts.enableAnkiConnect) {
$('#anki-vocab-deck').val(opts.ankiVocabDeck);
$('#anki-vocab-model').val(opts.ankiVocabModel);
$('#anki-kanji-deck').val(opts.ankiKanjiDeck);
$('#anki-kanji-model').val(opts.ankiKanjiModel);
}
}
function formToOptions(section, callback) {
loadOptions((optsOld) => {
const optsNew = $.extend({}, optsOld);
@ -60,7 +45,7 @@ function formToOptions(section, callback) {
});
}
function populateAnkiDeckAndModel() {
function populateAnkiDeckAndModel(opts) {
const yomi = yomichan();
const ankiDeck = $('.anki-deck');
@ -69,15 +54,20 @@ function populateAnkiDeckAndModel() {
if (names !== null) {
names.forEach((name) => ankiDeck.append($('<option/>', {value: name, text: name})));
}
}});
const ankiModel = $('.anki-model');
ankiModel.find('option').remove();
yomi.api_getModelNames({callback: (names) => {
if (names !== null) {
names.forEach((name) => ankiModel.append($('<option/>', {value: name, text: name})));
ankiModel.trigger('change');
}
const ankiModel = $('.anki-model');
ankiModel.find('option').remove();
yomi.api_getModelNames({callback: (names) => {
if (names !== null) {
names.forEach((name) => ankiModel.append($('<option/>', {value: name, text: name})));
$('#anki-vocab-deck').val(opts.ankiVocabDeck);
$('#anki-vocab-model').val(opts.ankiVocabModel);
$('#anki-kanji-deck').val(opts.ankiKanjiDeck);
$('#anki-kanji-model').val(opts.ankiKanjiModel);
ankiModel.trigger('change');
}
}});
}});
}
@ -112,7 +102,7 @@ function onOptionsGeneralChanged(e) {
saveOptions(optsNew, () => {
yomichan().setOptions(optsNew);
if (!optsOld.enableAnkiConnect && optsNew.enableAnkiConnect) {
populateAnkiDeckAndModel();
populateAnkiDeckAndModel(optsNew);
}
});
});
@ -128,7 +118,11 @@ function onOptionsAnkiChanged(e) {
$(document).ready(() => {
loadOptions((opts) => {
optionsToForm(opts);
$('#scan-length').val(opts.scanLength);
$('#activate-on-startup').prop('checked', opts.activateOnStartup);
$('#load-enamdict').prop('checked', opts.loadEnamDict);
$('#select-matched-text').prop('checked', opts.selectMatchedText);
$('#enable-anki-connect').prop('checked', opts.enableAnkiConnect);
$('.options-general input').change(onOptionsGeneralChanged);
$('.options-anki input, .options-anki select').change(onOptionsAnkiChanged);
@ -142,7 +136,7 @@ $(document).ready(() => {
});
if (opts.enableAnkiConnect) {
populateAnkiDeckAndModel();
populateAnkiDeckAndModel(opts);
$('.options-anki').show();
}
});