diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/bg/js/options-form.js | 48 | 
1 files changed, 21 insertions, 27 deletions
| diff --git a/ext/bg/js/options-form.js b/ext/bg/js/options-form.js index 6001d145..2a8a086b 100644 --- a/ext/bg/js/options-form.js +++ b/ext/bg/js/options-form.js @@ -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();          }      }); |