separate content

This commit is contained in:
Shin'ya Ueoka 2017-10-08 15:04:55 +09:00
parent d886d7de29
commit 39fb540037
17 changed files with 24 additions and 24 deletions

View file

@ -0,0 +1,29 @@
import actions from 'content/actions';
const enable = (newTab) => {
return {
type: actions.FOLLOW_ENABLE,
newTab,
};
};
const disable = () => {
return {
type: actions.FOLLOW_DISABLE,
};
};
const keyPress = (key) => {
return {
type: actions.FOLLOW_KEY_PRESS,
key: key
};
};
const backspace = () => {
return {
type: actions.FOLLOW_BACKSPACE,
};
};
export { enable, disable, keyPress, backspace };

View file

@ -0,0 +1,20 @@
export default {
// User input
INPUT_KEY_PRESS: 'input.key,press',
INPUT_CLEAR_KEYS: 'input.clear.keys',
INPUT_SET_KEYMAPS: 'input.set,keymaps',
// Completion
COMPLETION_SET_ITEMS: 'completion.set.items',
COMPLETION_SELECT_NEXT: 'completions.select.next',
COMPLETION_SELECT_PREV: 'completions.select.prev',
// Settings
SETTING_SET_SETTINGS: 'setting.set.settings',
// Follow
FOLLOW_ENABLE: 'follow.enable',
FOLLOW_DISABLE: 'follow.disable',
FOLLOW_KEY_PRESS: 'follow.key.press',
FOLLOW_BACKSPACE: 'follow.backspace',
};

View file

@ -0,0 +1,23 @@
import actions from 'content/actions';
const asKeymapChars = (key, ctrl) => {
if (ctrl) {
return '<C-' + key.toUpperCase() + '>';
}
return key;
};
const keyPress = (key, ctrl) => {
return {
type: actions.INPUT_KEY_PRESS,
key: asKeymapChars(key, ctrl),
};
};
const clearKeys = () => {
return {
type: actions.INPUT_CLEAR_KEYS
};
};
export { keyPress, clearKeys };

View file

@ -0,0 +1,43 @@
import operations from 'shared/operations';
import messages from 'shared/messages';
import * as scrolls from 'content/scrolls';
import * as navigates from 'content/navigates';
import * as followActions from 'content/actions/follow';
const exec = (operation) => {
switch (operation.type) {
case operations.SCROLL_LINES:
return scrolls.scrollLines(window, operation.count);
case operations.SCROLL_PAGES:
return scrolls.scrollPages(window, operation.count);
case operations.SCROLL_TOP:
return scrolls.scrollTop(window);
case operations.SCROLL_BOTTOM:
return scrolls.scrollBottom(window);
case operations.SCROLL_HOME:
return scrolls.scrollLeft(window);
case operations.SCROLL_END:
return scrolls.scrollRight(window);
case operations.FOLLOW_START:
return followActions.enable(false);
case operations.NAVIGATE_HISTORY_PREV:
return navigates.historyPrev(window);
case operations.NAVIGATE_HISTORY_NEXT:
return navigates.historyNext(window);
case operations.NAVIGATE_LINK_PREV:
return navigates.linkPrev(window);
case operations.NAVIGATE_LINK_NEXT:
return navigates.linkNext(window);
case operations.NAVIGATE_PARENT:
return navigates.parent(window);
case operations.NAVIGATE_ROOT:
return navigates.root(window);
default:
browser.runtime.sendMessage({
type: messages.BACKGROUND_OPERATION,
operation,
});
}
};
export { exec };