summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/bg/js/yomichan.js6
-rw-r--r--ext/fg/js/api.js26
-rw-r--r--ext/fg/js/client.js18
3 files changed, 26 insertions, 24 deletions
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js
index e7e674ac..062e5e72 100644
--- a/ext/bg/js/yomichan.js
+++ b/ext/bg/js/yomichan.js
@@ -50,9 +50,9 @@ class Yomichan {
onMessage(request, sender, callback) {
const {action, params} = request, handlers = {
- canAddNotes: ({definitions}) => this.ankiInvoke('canAddNotes', definitions, callback),
- findKanji: ({text}) => callback(this.translator.findKanji(text)),
- findTerm: ({text}) => callback(this.translator.findTerm(text)),
+ canAddNotes: (definitions) => this.ankiInvoke('canAddNotes', definitions, callback),
+ findKanji: (text) => callback(this.translator.findKanji(text)),
+ findTerm: (text) => callback(this.translator.findTerm(text)),
getOptions: () => callback(this.options),
getState: () => callback(this.state),
renderText: ({data, template}) => callback(Handlebars.templates[template](data))
diff --git a/ext/fg/js/api.js b/ext/fg/js/api.js
index da5f6d5a..9026c8d3 100644
--- a/ext/fg/js/api.js
+++ b/ext/fg/js/api.js
@@ -21,30 +21,30 @@
// Background APIs
//
-function sendMessage(action, params, callback) {
+function bgSendMessage(action, params, callback) {
chrome.runtime.sendMessage({action: action, params: params}, callback);
}
-function findTerm(text, callback) {
- sendMessage('findTerm', {text: text}, callback);
+function bgFindTerm(text, callback) {
+ bgSendMessage('findTerm', text, callback);
}
-function findKanji(text, callback) {
- sendMessage('findKanji', {text: text}, callback);
+function bgFindKanji(text, callback) {
+ bgSendMessage('findKanji', text, callback);
}
-function renderText(data, template, callback) {
- sendMessage('renderText', {data: data, template: template}, callback);
+function bgRenderText(data, template, callback) {
+ bgSendMessage('renderText', {data: data, template: template}, callback);
}
-function getOptions(callback) {
- sendMessage('getOptions', null, callback);
+function bgGetOptions(callback) {
+ bgSendMessage('getOptions', null, callback);
}
-function getState(callback) {
- sendMessage('getState', null, callback);
+function bgGetState(callback) {
+ bgSendMessage('getState', null, callback);
}
-function canAddNotes(definitions, callback) {
- sendMessage('canAddNotes', {definitions: definitions}, callback);
+function bgCanAddNotes(definitions, callback) {
+ bgSendMessage('canAddNotes', definitions, callback);
}
diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js
index 11190869..e7300874 100644
--- a/ext/fg/js/client.js
+++ b/ext/fg/js/client.js
@@ -37,9 +37,9 @@ class Client {
window.addEventListener('scroll', (e) => this.hidePopup());
window.addEventListener('resize', (e) => this.hidePopup());
- getOptions((opts) => {
+ bgGetOptions((opts) => {
this.setOptions(opts);
- getState((state) => this.setEnabled(state === 'enabled'));
+ bgGetState((state) => this.setEnabled(state === 'enabled'));
});
}
@@ -101,19 +101,21 @@ class Client {
}
range.setLength(this.options.scanLength);
- findTerm(range.text(), ({definitions, length}) => {
+ bgFindTerm(range.text(), ({definitions, length}) => {
if (length === 0) {
this.hidePopup();
} else {
range.setLength(length);
- renderText(
+ bgRenderText(
{defs: definitions, root: this.fgRoot, options: this.options},
'term-list.html',
(content) => {
this.definitions = definitions;
this.showPopup(range, content);
- canAddNotes(definitions, (states) => {
- states.forEach((state, index) => this.popup.sendMessage('setActionState', {index: index, state: state}));
+ bgCanAddNotes(definitions, (states) => {
+ if (states !== null) {
+ states.forEach((state, index) => this.popup.sendMessage('setActionState', {index: index, state: state}));
+ }
});
}
);
@@ -129,8 +131,8 @@ class Client {
}
actionDisplayKanji(kanji) {
- findKanji(kanji, (definitions) => {
- renderText(
+ bgFindKanji(kanji, (definitions) => {
+ bgRenderText(
{defs: definitions, root: this.fgRoot, options: this.options},
'kanji-list.html',
(content) => {