diff options
Diffstat (limited to 'ext/bg/js/options.js')
-rw-r--r-- | ext/bg/js/options.js | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js index 274f2e64..0720b9ac 100644 --- a/ext/bg/js/options.js +++ b/ext/bg/js/options.js @@ -54,7 +54,7 @@ function getFormData() { $('.dict-group').each((index, element) => { const dictionary = $(element); const title = dictionary.data('title'); - const priority = parseInt(dictionary.find('.dict-priority').val(), 10); + const priority = parseFloat(dictionary.find('.dict-priority').val()); const enabled = dictionary.find('.dict-enabled').prop('checked'); optionsNew.dictionaries[title] = {priority, enabled}; }); @@ -147,8 +147,8 @@ function populateDictionaries(options) { let dictCount = 0; return instDb().getDictionaries().then(rows => { rows.forEach(row => { - const dictOptions = options.dictionaries[row.title] || {enableTerms: false, enableKanji: false, priority: 0}; - const html = handlebarsRender('dictionary.html', { + const dictOptions = options.dictionaries[row.title]; + const dictHtml = handlebarsRender('dictionary.html', { title: row.title, version: row.version, revision: row.revision, @@ -156,13 +156,25 @@ function populateDictionaries(options) { enabled: dictOptions.enabled }); - dictGroups.append($(html)); + dictGroups.append($(dictHtml)); ++dictCount; }); updateVisibility(options); $('.dict-enabled, .dict-priority').change(onOptionsChanged); + $('.dict-priority-up').click(e => { + const dictGroup = $(e.target).closest('.dict-group'); + const dictPriority = dictGroup.find('.dict-priority'); + dictPriority.val(parseFloat(dictPriority.val()) + 0.5); + onOptionsChanged(e); + }); + $('.dict-priority-down').click(e => { + const dictGroup = $(e.target).closest('.dict-group'); + const dictPriority = dictGroup.find('.dict-priority'); + dictPriority.val(parseFloat(dictPriority.val()) - 0.5); + onOptionsChanged(e); + }); }).catch(showDictionaryError).then(() => { showDictionarySpinner(false); if (dictCount === 0) { |