aboutsummaryrefslogtreecommitdiff
path: root/ext/fg
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fg')
-rw-r--r--ext/fg/js/client.js6
-rw-r--r--ext/fg/js/frame.js10
-rw-r--r--ext/fg/js/popup.js2
-rw-r--r--ext/fg/js/util.js12
4 files changed, 17 insertions, 13 deletions
diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js
index daeabf99..717b5873 100644
--- a/ext/fg/js/client.js
+++ b/ext/fg/js/client.js
@@ -116,7 +116,7 @@ class Client {
return canAddDefinitions(definitions, ['term_kanji', 'term_kana']);
}).then(states => {
if (states !== null) {
- states.forEach((state, index) => this.popup.sendMessage('setActionState', {index, state, sequence }));
+ states.forEach((state, index) => this.popup.invokeApi('setActionState', {index, state, sequence}));
}
});
}
@@ -158,7 +158,7 @@ class Client {
const state = {[mode]: false};
addDefinition(this.definitions[index], mode).then(success => {
if (success) {
- this.popup.sendMessage('setActionState', {index, state, sequence: this.sequence});
+ this.popup.invokeApi('setActionState', {index, state, sequence: this.sequence});
} else {
alert('Note could not be added');
}
@@ -195,7 +195,7 @@ class Client {
return canAddDefinitions(definitions, ['kanji']);
}).then(states => {
if (states !== null) {
- states.forEach((state, index) => this.popup.sendMessage('setActionState', {index, state, sequence}));
+ states.forEach((state, index) => this.popup.invokeApi('setActionState', {index, state, sequence}));
}
});
});
diff --git a/ext/fg/js/frame.js b/ext/fg/js/frame.js
index 590646d5..8a99a405 100644
--- a/ext/fg/js/frame.js
+++ b/ext/fg/js/frame.js
@@ -17,11 +17,15 @@
*/
+function invokeApi(action, params, target) {
+ target.postMessage({action, params}, '*');
+}
+
function registerKanjiLinks() {
for (const link of Array.from(document.getElementsByClassName('kanji-link'))) {
link.addEventListener('click', e => {
e.preventDefault();
- window.parent.postMessage({action: 'displayKanji', params: e.target.innerHTML}, '*');
+ invokeApi('displayKanji', e.target.innerHTML, window.parent);
});
}
}
@@ -31,7 +35,7 @@ function registerAddNoteLinks() {
link.addEventListener('click', e => {
e.preventDefault();
const ds = e.currentTarget.dataset;
- window.parent.postMessage({action: 'addNote', params: {index: ds.index, mode: ds.mode}}, '*');
+ invokeApi('addNote', {index: ds.index, mode: ds.mode}, window.parent);
});
}
}
@@ -41,7 +45,7 @@ function registerAudioLinks() {
link.addEventListener('click', e => {
e.preventDefault();
const ds = e.currentTarget.dataset;
- window.parent.postMessage({action: 'playAudio', params: ds.index}, '*');
+ invokeApi('playAudio', ds.index, window.parent);
});
}
}
diff --git a/ext/fg/js/popup.js b/ext/fg/js/popup.js
index 930df18d..88b8e4e3 100644
--- a/ext/fg/js/popup.js
+++ b/ext/fg/js/popup.js
@@ -68,7 +68,7 @@ class Popup {
doc.close();
}
- sendMessage(action, params, callback) {
+ invokeApi(action, params) {
if (this.popup !== null) {
this.popup.contentWindow.postMessage({action, params}, '*');
}
diff --git a/ext/fg/js/util.js b/ext/fg/js/util.js
index 176765fc..c24ad885 100644
--- a/ext/fg/js/util.js
+++ b/ext/fg/js/util.js
@@ -17,28 +17,28 @@
*/
-function sendMessage(action, params) {
+function invokeApiBg(action, params) {
return new Promise((resolve, reject) => chrome.runtime.sendMessage({action, params}, resolve));
}
function findTerm(text) {
- return sendMessage('findTerm', {text});
+ return invokeApiBg('findTerm', {text});
}
function findKanji(text) {
- return sendMessage('findKanji', {text});
+ return invokeApiBg('findKanji', {text});
}
function renderText(data, template) {
- return sendMessage('renderText', {data, template});
+ return invokeApiBg('renderText', {data, template});
}
function canAddDefinitions(definitions, modes) {
- return sendMessage('canAddDefinitions', {definitions, modes});
+ return invokeApiBg('canAddDefinitions', {definitions, modes});
}
function addDefinition(definition, mode) {
- return sendMessage('addDefinition', {definition, mode});
+ return invokeApiBg('addDefinition', {definition, mode});
}
function textSourceFromPoint(point) {