diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/bg/js/yomichan.js | 6 | ||||
-rw-r--r-- | ext/fg/js/api.js | 26 | ||||
-rw-r--r-- | ext/fg/js/client.js | 18 |
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) => { |