diff --git a/ext/bg/js/options-form.js b/ext/bg/js/options-form.js index ceee9e3f..f66a678c 100644 --- a/ext/bg/js/options-form.js +++ b/ext/bg/js/options-form.js @@ -65,29 +65,19 @@ function modelIdToMarkers(id) { }[id]; } -function getBasicOptions() { +function getFormValues() { return loadOptions().then(optsOld => { const optsNew = $.extend({}, optsOld); optsNew.activateOnStartup = $('#activate-on-startup').prop('checked'); - optsNew.showAdvancedOptions = $('#show-advanced-options').prop('checked'); optsNew.enableAudioPlayback = $('#enable-audio-playback').prop('checked'); + optsNew.showAdvancedOptions = $('#show-advanced-options').prop('checked'); + optsNew.holdShiftToScan = $('#hold-shift-to-scan').prop('checked'); optsNew.selectMatchedText = $('#select-matched-text').prop('checked'); optsNew.scanDelay = parseInt($('#scan-delay').val(), 10); optsNew.scanLength = parseInt($('#scan-length').val(), 10); - return { - optsNew: sanitizeOptions(optsNew), - optsOld: sanitizeOptions(optsOld) - }; - }); -} - -function getAnkiOptions() { - return loadOptions().then(optsOld => { - const optsNew = $.extend({}, optsOld); - optsNew.ankiMethod = $('#anki-method').val(); optsNew.ankiUsername = $('#anki-username').val(); optsNew.ankiPassword = $('#anki-password').val(); @@ -110,15 +100,15 @@ function getAnkiOptions() { function updateVisibility(opts) { switch (opts.ankiMethod) { case 'ankiweb': - $('#options-anki-general').show(); - $('#options-anki-login').show(); + $('#anki-general').show(); + $('.anki-login').show(); break; case 'ankiconnect': - $('#options-anki-general').show(); - $('#options-anki-login').hide(); + $('#anki-general').show(); + $('.anki-login').hide(); break; default: - $('#options-anki-general').hide(); + $('#anki-general').hide(); break; } @@ -135,7 +125,7 @@ function populateAnkiDeckAndModel(opts) { const ankiSpinner = $('#ankiSpinner'); ankiSpinner.show(); - const ankiFormat = $('#options-anki-format'); + const ankiFormat = $('#anki-format'); ankiFormat.hide(); const ankiDeck = $('.anki-deck'); @@ -168,6 +158,9 @@ function populateAnkiDeckAndModel(opts) { } function populateAnkiFields(element, opts) { + const table = element.closest('.tab-pane').find('.anki-fields'); + table.find('tbody').remove(); + const modelName = element.val(); if (modelName === null) { return Promise.resolve(); @@ -178,9 +171,6 @@ function populateAnkiFields(element, opts) { const markers = modelIdToMarkers(modelId); return anki().getModelFieldNames(modelName).then(names => { - const table = element.closest('.tab-pane').find('.anki-fields'); - table.find('tbody').remove(); - const tbody = $(''); names.forEach(name => { const button = $('