support history navigation
This commit is contained in:
parent
eec7973060
commit
1afbde6e19
4 changed files with 23 additions and 2 deletions
|
@ -15,6 +15,8 @@ const DEFAULT_KEYMAP = [
|
||||||
{ keys: [{ code: KeyboardEvent.DOM_VK_L }], action: [ actions.TABS_NEXT, 1 ]},
|
{ keys: [{ code: KeyboardEvent.DOM_VK_L }], action: [ actions.TABS_NEXT, 1 ]},
|
||||||
{ keys: [{ code: KeyboardEvent.DOM_VK_F }], action: [ actions.FOLLOW_START, false ]},
|
{ keys: [{ code: KeyboardEvent.DOM_VK_F }], action: [ actions.FOLLOW_START, false ]},
|
||||||
{ keys: [{ code: KeyboardEvent.DOM_VK_F, shift: true }], action: [ actions.FOLLOW_START, true ]},
|
{ keys: [{ code: KeyboardEvent.DOM_VK_F, shift: true }], action: [ actions.FOLLOW_START, true ]},
|
||||||
|
{ keys: [{ code: KeyboardEvent.DOM_VK_H, shift: true }], action: [ actions.HISTORY_PREV ]},
|
||||||
|
{ keys: [{ code: KeyboardEvent.DOM_VK_L, shift: true }], action: [ actions.HISTORY_NEXT ]},
|
||||||
]
|
]
|
||||||
|
|
||||||
export default class KeyQueue {
|
export default class KeyQueue {
|
||||||
|
|
8
src/content/histories.js
Normal file
8
src/content/histories.js
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
const prev = (win) => {
|
||||||
|
win.history.back()
|
||||||
|
};
|
||||||
|
const next = (win) => {
|
||||||
|
win.history.forward()
|
||||||
|
};
|
||||||
|
|
||||||
|
export { prev, next };
|
|
@ -1,7 +1,8 @@
|
||||||
import * as scrolls from './scrolls';
|
import * as scrolls from './scrolls';
|
||||||
|
import * as histories from './histories';
|
||||||
|
import * as actions from '../shared/actions';
|
||||||
import FooterLine from './footer-line';
|
import FooterLine from './footer-line';
|
||||||
import Follow from './follow';
|
import Follow from './follow';
|
||||||
import * as actions from '../shared/actions';
|
|
||||||
|
|
||||||
var footer = null;
|
var footer = null;
|
||||||
|
|
||||||
|
@ -56,6 +57,12 @@ const invokeEvent = (action) => {
|
||||||
case actions.FOLLOW_START:
|
case actions.FOLLOW_START:
|
||||||
new Follow(window.document, action[1] || false);
|
new Follow(window.document, action[1] || false);
|
||||||
break;
|
break;
|
||||||
|
case actions.HISTORY_PREV:
|
||||||
|
histories.prev(window);
|
||||||
|
break;
|
||||||
|
case actions.HISTORY_NEXT:
|
||||||
|
histories.next(window);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,8 @@ export const SCROLL_DOWN = 'scroll.down';
|
||||||
export const SCROLL_TOP = 'scroll.top';
|
export const SCROLL_TOP = 'scroll.top';
|
||||||
export const SCROLL_BOTTOM = 'scroll.bottom';
|
export const SCROLL_BOTTOM = 'scroll.bottom';
|
||||||
export const FOLLOW_START = 'follow.start';
|
export const FOLLOW_START = 'follow.start';
|
||||||
|
export const HISTORY_PREV = 'history.prev';
|
||||||
|
export const HISTORY_NEXT = 'history.next';
|
||||||
|
|
||||||
const BACKGROUND_ACTION_SET = new Set([
|
const BACKGROUND_ACTION_SET = new Set([
|
||||||
TABS_CLOSE,
|
TABS_CLOSE,
|
||||||
|
@ -24,7 +26,9 @@ const CONTENT_ACTION_SET = new Set([
|
||||||
SCROLL_DOWN,
|
SCROLL_DOWN,
|
||||||
SCROLL_TOP,
|
SCROLL_TOP,
|
||||||
SCROLL_BOTTOM,
|
SCROLL_BOTTOM,
|
||||||
FOLLOW_START
|
FOLLOW_START,
|
||||||
|
HISTORY_PREV,
|
||||||
|
HISTORY_NEXT
|
||||||
]);
|
]);
|
||||||
|
|
||||||
export const isBackgroundAction = (action) => {
|
export const isBackgroundAction = (action) => {
|
||||||
|
|
Reference in a new issue