added viewMode shortcuts (#486)

added viewMode shortcuts
This commit is contained in:
Philip Molares 2020-08-26 21:42:05 +02:00 committed by GitHub
parent 058b6ab97a
commit 8a9c2c923d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 1 deletions

View file

@ -13,6 +13,7 @@ import { DocumentRenderPane } from './document-renderer-pane/document-render-pan
import { EditorPane } from './editor-pane/editor-pane'
import { editorTestContent } from './editorTestContent'
import { DualScrollState, ScrollState } from './scroll/scroll-props'
import { shortcutHandler } from './shortcut/shortcut'
import { Splitter } from './splitter/splitter'
import { YAMLMetaData } from './yaml-metadata/yaml-metadata'
@ -64,6 +65,13 @@ export const Editor: React.FC = () => {
updateDocumentTitle()
}, [updateDocumentTitle])
useEffect(() => {
document.addEventListener('keyup', shortcutHandler, false)
return () => {
document.removeEventListener('keyup', shortcutHandler, false)
}
}, [])
useEffect(() => {
setFirstDraw(false)
}, [])
@ -101,7 +109,7 @@ export const Editor: React.FC = () => {
content={markdownContent}
scrollState={scrollState.editorScrollState}
onScroll={onEditorScroll}
onMakeScrollSource={() => scrollSource.current = ScrollSource.EDITOR}
onMakeScrollSource={() => (scrollSource.current = ScrollSource.EDITOR)}
/>
}
showRight={editorMode === EditorMode.PREVIEW || (editorMode === EditorMode.BOTH)}

View file

@ -0,0 +1,19 @@
import { setEditorMode } from '../../../redux/editor/methods'
import { EditorMode } from '../app-bar/editor-view-mode'
import { isMac } from '../utils'
export const shortcutHandler = (event: KeyboardEvent): void => {
const modifierKey = isMac ? event.metaKey : event.ctrlKey
if (modifierKey && event.altKey && event.key === 'b') {
setEditorMode(EditorMode.BOTH)
}
if (modifierKey && event.altKey && event.key === 'v') {
setEditorMode(EditorMode.PREVIEW)
}
if (modifierKey && event.altKey && event.key === 'e') {
setEditorMode(EditorMode.EDITOR)
}
}