Improved messaging

This commit is contained in:
Alex Yatskov 2016-03-24 20:56:47 -07:00
parent ac012b26b3
commit 059b2eb4f2
3 changed files with 29 additions and 10 deletions

View File

@ -17,6 +17,10 @@
*/ */
function findTerm(text, callback) { function sendMessage(action, data, callback) {
window.chrome.runtime.sendMessage({action: 'define', text: text}, callback); window.chrome.runtime.sendMessage({action: action, data: data}, callback);
}
function findTerm(text, callback) {
sendMessage('findTerm', {term: text}, callback);
} }

View File

@ -53,4 +53,7 @@ function onMouseDown(e) {
}); });
} }
(() => {
window.addEventListener('mousedown', onMouseDown, false); window.addEventListener('mousedown', onMouseDown, false);
})();

View File

@ -17,11 +17,22 @@
*/ */
function onFindTerm({term}) {
return window.trans.findTerm(term);
}
function onMessage(request, sender, callback) { function onMessage(request, sender, callback) {
switch (request.action.toLowerCase()) { const {action, data} = request;
case 'define':
callback(window.trans.findTerm(request.text)); const handler = {
break; findTerm: onFindTerm
}[action];
if (handler !== null) {
const result = handler(data);
if (callback !== null) {
callback(result);
}
} }
} }
@ -33,7 +44,8 @@ function onMessage(request, sender, callback) {
kanjidic: 'jp/data/kanjidic.json' kanjidic: 'jp/data/kanjidic.json'
}; };
window.trans = new Translator(res, function() { window.trans = new Translator(
chrome.runtime.onMessage.addListener(onMessage); res,
}); () => chrome.runtime.onMessage.addListener(onMessage)
);
})(); })();