From 1f554c8e20594ccd8c69acaa25928051691d619e Mon Sep 17 00:00:00 2001 From: btzr-io Date: Sat, 28 Jul 2018 17:48:54 -0600 Subject: [PATCH] fix context menu --- .../common/form-components/form-field.jsx | 11 ++----- src/renderer/component/viewers/codeViewer.jsx | 15 ++++++++-- src/renderer/util/contextMenu.js | 29 +++++++++++++++++-- src/renderer/util/getMediaType.js | 4 +-- 4 files changed, 44 insertions(+), 15 deletions(-) diff --git a/src/renderer/component/common/form-components/form-field.jsx b/src/renderer/component/common/form-components/form-field.jsx index 0cac65160..32fa4d9d2 100644 --- a/src/renderer/component/common/form-components/form-field.jsx +++ b/src/renderer/component/common/form-components/form-field.jsx @@ -6,7 +6,7 @@ import MarkdownPreview from 'component/common/markdown-preview'; import SimpleMDE from 'react-simplemde-editor'; import 'simplemde/dist/simplemde.min.css'; import Toggle from 'react-toggle'; -import { openEditorMenu } from 'util/contextMenu'; +import { openEditorMenu, stopContextMenu } from 'util/contextMenu'; type Props = { name: string, @@ -55,15 +55,10 @@ export class FormField extends React.PureComponent { ); } else if (type === 'markdown') { - const stopContextMenu = event => { - event.preventDefault(); - event.stopPropagation(); - }; const handleEvents = { - contextmenu(codeMirror, event) { - openEditorMenu(event, codeMirror); - }, + contextmenu: openEditorMenu, }; + input = (
{ componentDidMount() { const { theme, contentType } = this.props; + // Init CodeMirror this.codeMirror = CodeMirror.fromTextArea(this.textarea.current, { + // Auto detect syntax with file contentType mode: contentType, + // Adaptive theme theme: theme === 'dark' ? 'dark' : 'default', - readOnly: 'nocursor', + // Hide the cursor + readOnly: true, + // Styled text selection + styleSelectedText: true, + // Additional config opts dragDrop: false, lineNumbers: true, lineWrapping: true, - styleSelectedText: true, }); + // Add events + this.codeMirror.on('contextmenu', openSnippetMenu); } render() { const { value } = this.props; return ( -
+