response by type

jh-changes
Shin'ya Ueoka 7 years ago
parent 30999e0c65
commit 68753b3660
  1. 5
      src/background/index.js
  2. 18
      src/content/index.js

@ -17,7 +17,10 @@ const keyPressHandle = (request, sender, sendResponse) => {
if (actions.isBackgroundAction(action[0])) { if (actions.isBackgroundAction(action[0])) {
doBackgroundAction(sender, action); doBackgroundAction(sender, action);
} else if (actions.isContentAction(action[0])) { } else if (actions.isContentAction(action[0])) {
sendResponse(action); sendResponse({
type: 'response.action',
action: action
});
} }
}; };

@ -7,7 +7,7 @@ import Follow from './follow';
let vvConsole = new ConsoleFrame(window); let vvConsole = new ConsoleFrame(window);
const invokeEvent = (action) => { const doAction = (action) => {
if (typeof action === 'undefined' || action === null) { if (typeof action === 'undefined' || action === null) {
return; return;
} }
@ -57,6 +57,18 @@ const invokeEvent = (action) => {
} }
} }
const handleResponse = (response) => {
if (!response) {
return;
}
switch(response.type) {
case 'response.action':
doAction(response.action);
break;
}
};
window.addEventListener("keypress", (e) => { window.addEventListener("keypress", (e) => {
if (e.target instanceof HTMLInputElement) { if (e.target instanceof HTMLInputElement) {
return; return;
@ -69,8 +81,8 @@ window.addEventListener("keypress", (e) => {
} }
browser.runtime.sendMessage(request) browser.runtime.sendMessage(request)
.then(invokeEvent, .then(handleResponse)
(err) => { .catch((err) => {
console.log(`Vim Vixen: ${err}`); console.log(`Vim Vixen: ${err}`);
}); });
}); });