aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bg/js/templates.js12
-rw-r--r--ext/bg/js/yomichan.js37
-rw-r--r--ext/fg/img/add_vocab_kana.png (renamed from ext/fg/img/add_reading.png)bin286 -> 286 bytes
-rw-r--r--ext/fg/img/add_vocab_kanji.png (renamed from ext/fg/img/add_expression.png)bin733 -> 733 bytes
-rw-r--r--ext/fg/js/api.js8
-rw-r--r--ext/fg/js/client.js10
-rw-r--r--ext/manifest.json4
-rw-r--r--tmpl/kanji-list.html2
-rw-r--r--tmpl/term-list.html2
-rw-r--r--tmpl/term.html4
10 files changed, 41 insertions, 38 deletions
diff --git a/ext/bg/js/templates.js b/ext/bg/js/templates.js
index 857bbb9d..29e86c89 100644
--- a/ext/bg/js/templates.js
+++ b/ext/bg/js/templates.js
@@ -89,7 +89,7 @@ templates['kanji-list.html'] = template({"1":function(container,depth0,helpers,p
var stack1;
return ((stack1 = container.invokePartial(partials["header.html"],depth0,{"name":"header.html","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
- + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defs : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = container.invokePartial(partials["footer.html"],depth0,{"name":"footer.html","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
},"usePartial":true,"useData":true,"useDepths":true});
templates['term.html'] = template({"1":function(container,depth0,helpers,partials,data,blockParams,depths) {
@@ -101,17 +101,17 @@ templates['term.html'] = template({"1":function(container,depth0,helpers,partial
return " <div class=\"action-bar\">\n <a href=\"#\" title=\"Add term as expression\" class=\"action-link disabled\" data-sequence=\""
+ alias2(alias1((depths[1] != null ? depths[1].sequence : depths[1]), depth0))
- + "\" data-mode=\"vocabExp\" data-index=\""
+ + "\" data-mode=\"vocab_kanji\" data-index=\""
+ alias2(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : alias4),(typeof helper === alias5 ? helper.call(alias3,{"name":"index","hash":{},"data":data}) : helper)))
+ "\"><img src=\""
+ alias2(alias1((depths[1] != null ? depths[1].root : depths[1]), depth0))
- + "/img/add_expression.png\"></a>\n <a href=\"#\" title=\"Add term as reading\" class=\"action-link disabled\" data-sequence=\""
+ + "/img/add_vocab_kanji.png\"></a>\n <a href=\"#\" title=\"Add term as reading\" class=\"action-link disabled\" data-sequence=\""
+ alias2(alias1((depths[1] != null ? depths[1].sequence : depths[1]), depth0))
- + "\" data-mode=\"vocabReading\" data-index=\""
+ + "\" data-mode=\"vocab_kana\" data-index=\""
+ alias2(((helper = (helper = helpers.index || (data && data.index)) != null ? helper : alias4),(typeof helper === alias5 ? helper.call(alias3,{"name":"index","hash":{},"data":data}) : helper)))
+ "\"><img src=\""
+ alias2(alias1((depths[1] != null ? depths[1].root : depths[1]), depth0))
- + "/img/add_reading.png\"></a>\n </div>\n";
+ + "/img/add_vocab_kana.png\"></a>\n </div>\n";
},"4":function(container,depth0,helpers,partials,data) {
var stack1, helper, options, alias1=depth0 != null ? depth0 : {}, alias2=helpers.helperMissing, alias3="function", buffer =
" <div class=\"term-expression\"><ruby>";
@@ -191,7 +191,7 @@ templates['term-list.html'] = template({"1":function(container,depth0,helpers,pa
var stack1;
return ((stack1 = container.invokePartial(partials["header.html"],depth0,{"name":"header.html","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "")
- + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.defs : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ + ((stack1 = helpers.each.call(depth0 != null ? depth0 : {},(depth0 != null ? depth0.definitions : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0, blockParams, depths),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = container.invokePartial(partials["footer.html"],depth0,{"name":"footer.html","data":data,"helpers":helpers,"partials":partials,"decorators":container.decorators})) != null ? stack1 : "");
},"usePartial":true,"useData":true,"useDepths":true});
})(); \ No newline at end of file
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js
index f0cbdf79..03f9d082 100644
--- a/ext/bg/js/yomichan.js
+++ b/ext/bg/js/yomichan.js
@@ -99,6 +99,14 @@ class Yomichan {
this.notifyTabs('options', this.options);
}
+ notifyTabs(name, value) {
+ chrome.tabs.query({}, (tabs) => {
+ for (const tab of tabs) {
+ chrome.tabs.sendMessage(tab.id, {name, value}, () => null);
+ }
+ });
+ }
+
ankiInvoke(action, params, pool, callback) {
if (this.options.enableAnkiConnect) {
if (pool !== null && this.asyncPools.hasOwnProperty(pool)) {
@@ -165,26 +173,18 @@ class Yomichan {
}
for (const name in fields) {
- note.fields[name] = this.formatField(fields[name], definition, mode === 'vocabReading');
+ note.fields[name] = this.formatField(fields[name], definition, mode === 'vocab_kana');
}
return note;
}
- notifyTabs(name, value) {
- chrome.tabs.query({}, (tabs) => {
- for (const tab of tabs) {
- chrome.tabs.sendMessage(tab.id, {name, value}, () => null);
- }
- });
- }
-
- api_addNote({definition, mode, callback}) {
+ api_addDefinition({definition, mode, callback}) {
const note = this.formatNote(definition, mode);
this.ankiInvoke('addNote', {note}, null, callback);
}
- api_canAddNotes({definitions, modes, callback}) {
+ api_canAddDefinitions({definitions, modes, callback}) {
let notes = [];
for (const definition of definitions) {
for (const mode of modes) {
@@ -194,13 +194,16 @@ class Yomichan {
this.ankiInvoke('canAddNotes', {notes}, 'notes', (results) => {
const states = [];
- for (let resultBase = 0; resultBase < results.length; resultBase += modes.length) {
- const state = {};
- for (let modeOffset = 0; modeOffset < modes.length; ++modeOffset) {
- state[modes[modeOffset]] = results[resultBase + modeOffset];
- }
- states.push(state);
+ if (results !== null) {
+ for (let resultBase = 0; resultBase < results.length; resultBase += modes.length) {
+ const state = {};
+ for (let modeOffset = 0; modeOffset < modes.length; ++modeOffset) {
+ state[modes[modeOffset]] = results[resultBase + modeOffset];
+ }
+
+ states.push(state);
+ }
}
callback(states);
diff --git a/ext/fg/img/add_reading.png b/ext/fg/img/add_vocab_kana.png
index 41ff8335..41ff8335 100644
--- a/ext/fg/img/add_reading.png
+++ b/ext/fg/img/add_vocab_kana.png
Binary files differ
diff --git a/ext/fg/img/add_expression.png b/ext/fg/img/add_vocab_kanji.png
index 6332fefe..6332fefe 100644
--- a/ext/fg/img/add_expression.png
+++ b/ext/fg/img/add_vocab_kanji.png
Binary files differ
diff --git a/ext/fg/js/api.js b/ext/fg/js/api.js
index ecd8dd36..5d060311 100644
--- a/ext/fg/js/api.js
+++ b/ext/fg/js/api.js
@@ -41,10 +41,10 @@ function bgGetState(callback) {
bgSendMessage('getState', {}, callback);
}
-function bgCanAddNotes(definitions, modes, callback) {
- bgSendMessage('canAddNotes', {definitions, modes}, callback);
+function bgCanAddDefinitions(definitions, modes, callback) {
+ bgSendMessage('canAddDefinitions', {definitions, modes}, callback);
}
-function bgAddNote(definition, mode, callback) {
- bgSendMessage('addNote', {definition, mode}, callback);
+function bgAddDefinition(definition, mode, callback) {
+ bgSendMessage('addDefinition', {definition, mode}, callback);
}
diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js
index 31cc29cc..ec2ea630 100644
--- a/ext/fg/js/client.js
+++ b/ext/fg/js/client.js
@@ -106,13 +106,13 @@ class Client {
range.setLength(length);
bgRenderText(
- {defs: definitions, root: this.fgRoot, options: this.options, sequence},
+ {definitions, root: this.fgRoot, options: this.options, sequence},
'term-list.html',
(content) => {
this.definitions = definitions;
this.showPopup(range, content);
- bgCanAddNotes(definitions, ['vocabExp', 'vocabReading'], (states) => {
+ bgCanAddDefinitions(definitions, ['vocab_kanji', 'vocab_kana'], (states) => {
if (states !== null) {
states.forEach((state, index) => this.popup.sendMessage('setActionState', {index, state, sequence}));
}
@@ -158,7 +158,7 @@ class Client {
const state = {};
state[mode] = false;
- bgAddNote(this.definitions[index], mode, (success) => {
+ bgAddDefinition(this.definitions[index], mode, (success) => {
if (success) {
this.popup.sendMessage('setActionState', {index, state, sequence: this.sequence});
} else {
@@ -171,13 +171,13 @@ class Client {
bgFindKanji(kanji, (definitions) => {
const sequence = ++this.sequence;
bgRenderText(
- {defs: definitions, root: this.fgRoot, options: this.options, sequence},
+ {definitions, root: this.fgRoot, options: this.options, sequence},
'kanji-list.html',
(content) => {
this.definitions = definitions;
this.popup.setContent(content, definitions);
- bgCanAddNotes(definitions, ['kanji'], (states) => {
+ bgCanAddDefinitions(definitions, ['kanji'], (states) => {
if (states !== null) {
states.forEach((state, index) => this.popup.sendMessage('setActionState', {index, state, sequence}));
}
diff --git a/ext/manifest.json b/ext/manifest.json
index 3da98b9e..ee133e74 100644
--- a/ext/manifest.json
+++ b/ext/manifest.json
@@ -19,9 +19,9 @@
"permissions": ["storage"],
"web_accessible_resources": [
"fg/css/frame.css",
- "fg/img/add_expression.png",
"fg/img/add_kanji.png",
- "fg/img/add_reading.png",
+ "fg/img/add_vocab_kana.png",
+ "fg/img/add_vocab_kanji.png",
"fg/js/frame.js",
"fg/ttf/kanji-stroke-orders.ttf",
"fg/ttf/vl-gothic-regular.ttf"
diff --git a/tmpl/kanji-list.html b/tmpl/kanji-list.html
index b5d0b627..34349862 100644
--- a/tmpl/kanji-list.html
+++ b/tmpl/kanji-list.html
@@ -1,5 +1,5 @@
{{> header.html}}
-{{#each defs}}
+{{#each definitions}}
{{> kanji.html root=../root options=../options sequence=../sequence}}
{{/each}}
{{> footer.html}}
diff --git a/tmpl/term-list.html b/tmpl/term-list.html
index 5581b679..615534f6 100644
--- a/tmpl/term-list.html
+++ b/tmpl/term-list.html
@@ -1,5 +1,5 @@
{{> header.html}}
-{{#each defs}}
+{{#each definitions}}
{{> term.html root=../root options=../options sequence=../sequence}}
{{/each}}
{{> footer.html}}
diff --git a/tmpl/term.html b/tmpl/term.html
index 216ccf0a..3fb75c98 100644
--- a/tmpl/term.html
+++ b/tmpl/term.html
@@ -2,8 +2,8 @@
{{#with options}}
{{#if enableAnkiConnect}}
<div class="action-bar">
- <a href="#" title="Add term as expression" class="action-link disabled" data-sequence="{{../sequence}}" data-mode="vocabExp" data-index="{{@index}}"><img src="{{../root}}/img/add_expression.png"></a>
- <a href="#" title="Add term as reading" class="action-link disabled" data-sequence="{{../sequence}}" data-mode="vocabReading" data-index="{{@index}}"><img src="{{../root}}/img/add_reading.png"></a>
+ <a href="#" title="Add term as expression" class="action-link disabled" data-sequence="{{../sequence}}" data-mode="vocab_kanji" data-index="{{@index}}"><img src="{{../root}}/img/add_vocab_kanji.png"></a>
+ <a href="#" title="Add term as reading" class="action-link disabled" data-sequence="{{../sequence}}" data-mode="vocab_kana" data-index="{{@index}}"><img src="{{../root}}/img/add_vocab_kana.png"></a>
</div>
{{/if}}
{{/with}}