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