aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2016-11-06 18:09:12 -0800
committerAlex Yatskov <alex@foosoft.net>2016-11-06 18:09:12 -0800
commit20304b5460e54621511a98b9dba9236d4d192ac3 (patch)
treefd1b519df285b3e9da2b11cae1c63f6759a108ab
parent712cd6a9ab4e627e3c1504740ff853a6d12025f4 (diff)
WIP
-rw-r--r--ext/bg/js/options-form.js9
-rw-r--r--ext/bg/js/options.js2
-rw-r--r--ext/bg/js/templates.js21
-rw-r--r--tmpl/dictionary.html12
4 files changed, 27 insertions, 17 deletions
diff --git a/ext/bg/js/options-form.js b/ext/bg/js/options-form.js
index 98ec15a3..3ea850b7 100644
--- a/ext/bg/js/options-form.js
+++ b/ext/bg/js/options-form.js
@@ -154,17 +154,20 @@ function populateAnkiDeckAndModel(opts) {
});
}
-function populateDictionaries() {
+function populateDictionaries(opts) {
const container = $('.dictionaries');
container.empty();
yomichan().translator.dictionary.getInfo().then(rows => {
rows.forEach(row => {
+ const dictOpts = opts.dictionaries[row.dictionary] || {enableTerms: true, enableKanji: false};
const html = Handlebars.templates['dictionary.html']({
name: row.dictionary,
version: row.version,
hasTerms: row.hasTerms,
- hasKanji: row.hasKanji
+ hasKanji: row.hasKanji,
+ enableTerms: dictOpts.enableTerms,
+ enableKanji: dictOpts.enableKanji
});
container.append($(html));
@@ -276,7 +279,7 @@ $(document).ready(() => {
$('input, select').not('.anki-model').change(onOptionsChanged);
$('.anki-model').change(onAnkiModelChanged);
- populateDictionaries();
+ populateDictionaries(opts);
populateAnkiDeckAndModel(opts);
updateVisibility(opts);
});
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js
index 15288afc..28448b96 100644
--- a/ext/bg/js/options.js
+++ b/ext/bg/js/options.js
@@ -28,6 +28,8 @@ function sanitizeOptions(options) {
scanDelay: 15,
scanLength: 20,
+ dictionaries: {},
+
ankiMethod: 'disabled',
ankiUsername: '',
ankiPassword: '',
diff --git a/ext/bg/js/templates.js b/ext/bg/js/templates.js
index 7e78db3b..fe4d95ca 100644
--- a/ext/bg/js/templates.js
+++ b/ext/bg/js/templates.js
@@ -1,9 +1,9 @@
(function() {
var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
templates['dictionary.html'] = template({"1":function(container,depth0,helpers,partials,data) {
- return " <div class=\"checkbox\">\n <label><input type=\"checkbox\" class=\"dict-enable-terms\"> Enable term search</label>\n </div>\n";
+ return "disabled";
},"3":function(container,depth0,helpers,partials,data) {
- return " <div class=\"checkbox\">\n <label><input type=\"checkbox\" class=\"dict-enable-kanji\"> Enable Kanji search</label>\n </div>\n";
+ return "checked";
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
@@ -13,10 +13,19 @@ templates['dictionary.html'] = template({"1":function(container,depth0,helpers,p
+ alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper)))
+ " <small>v."
+ alias4(((helper = (helper = helpers.version || (depth0 != null ? depth0.version : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"version","hash":{},"data":data}) : helper)))
- + "</small></h4>\n </div>\n <div class=\"col-xs-4 text-right\">\n <button type=\"button\" class=\"dict-delete btn btn-danger\">Delete</button>\n </div>\n </div>\n\n"
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasTerms : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.hasKanji : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
- + "</div>\n";
+ + "</small></h4>\n </div>\n <div class=\"col-xs-4 text-right\">\n <button type=\"button\" class=\"dict-delete btn btn-danger\">Delete</button>\n </div>\n </div>\n\n <div class=\"checkbox "
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.hasTerms : depth0),{"name":"unless","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\">\n <label><input type=\"checkbox\" class=\"dict-enable-terms\" "
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.hasTerms : depth0),{"name":"unless","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + " "
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.enableTerms : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "> Enable term search</label>\n </div>\n <div class=\"checkbox "
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.hasKanji : depth0),{"name":"unless","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "\">\n <label><input type=\"checkbox\" class=\"dict-enable-kanji\" "
+ + ((stack1 = helpers.unless.call(alias1,(depth0 != null ? depth0.hasKanji : depth0),{"name":"unless","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + " "
+ + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.enableKanji : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + "> Enable Kanji search</label>\n </div>\n</div>\n";
},"useData":true});
templates['footer.html'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
var helper;
diff --git a/tmpl/dictionary.html b/tmpl/dictionary.html
index 21847722..77493d94 100644
--- a/tmpl/dictionary.html
+++ b/tmpl/dictionary.html
@@ -8,14 +8,10 @@
</div>
</div>
- {{#if hasTerms}}
- <div class="checkbox">
- <label><input type="checkbox" class="dict-enable-terms"> Enable term search</label>
+ <div class="checkbox {{#unless hasTerms}}disabled{{/unless}}">
+ <label><input type="checkbox" class="dict-enable-terms" {{#unless hasTerms}}disabled{{/unless}} {{#if enableTerms}}checked{{/if}}> Enable term search</label>
</div>
- {{/if}}
- {{#if hasKanji}}
- <div class="checkbox">
- <label><input type="checkbox" class="dict-enable-kanji"> Enable Kanji search</label>
+ <div class="checkbox {{#unless hasKanji}}disabled{{/unless}}">
+ <label><input type="checkbox" class="dict-enable-kanji" {{#unless hasKanji}}disabled{{/unless}} {{#if enableKanji}}checked{{/if}}> Enable Kanji search</label>
</div>
- {{/if}}
</div>