From 50fc15feea70ac5e92fbaa4fae35efd9521424c4 Mon Sep 17 00:00:00 2001 From: Leo Lam Date: Fri, 21 Apr 2017 23:32:57 -0400 Subject: [PATCH 1/2] add support to bold selected text via kb shortcut to improve upon #301 ctrl + : to bold a single word under caret or bold selected text if some text is selected (highlighted) #463 --- browser/components/MarkdownEditor.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index 6e8267fd..1367b154 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -11,7 +11,7 @@ class MarkdownEditor extends React.Component { this.escapeFromEditor = ['Control', 'w'] - this.supportMdWordBold = ['Control', ':'] + this.supportMdSelectionBold = ['Control', ':'] this.state = { status: 'PREVIEW', @@ -169,12 +169,14 @@ class MarkdownEditor extends React.Component { if (!this.state.isLocked && this.state.status === 'CODE' && this.escapeFromEditor.every(isNoteHandlerKey)) { document.activeElement.blur() } - if (this.supportMdWordBold.every(isNoteHandlerKey)) { - this.addMdBetweenWord('**') + if (this.supportMdSelectionBold.every(isNoteHandlerKey)) { + this.addMdAroundWord('**') } } - addMdBetweenWord (mdElement) { + addMdAroundWord (mdElement) { + if (this.refs.code.editor.getSelection()) + return this.addMdAroundSelection(mdElement) const currentCaret = this.refs.code.editor.getCursor() const word = this.refs.code.editor.findWordAt(currentCaret) const cmDoc = this.refs.code.editor.getDoc() @@ -182,6 +184,10 @@ class MarkdownEditor extends React.Component { cmDoc.replaceRange(mdElement, { line: word.head.line, ch: word.head.ch + mdElement.length }) } + addMdAroundSelection (mdElement) { + this.refs.code.editor.replaceSelection(`${mdElement}${this.refs.code.editor.getSelection()}${mdElement}`) + } + handleKeyUp (e) { const keyPressed = Object.assign(this.state.keyPressed, { [e.key]: false From ffef239aa77383244b30cba1bf5b3ce15857ccb4 Mon Sep 17 00:00:00 2001 From: Leo Lam Date: Fri, 21 Apr 2017 23:40:52 -0400 Subject: [PATCH 2/2] fix minor build error --- browser/components/MarkdownEditor.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/browser/components/MarkdownEditor.js b/browser/components/MarkdownEditor.js index 1367b154..78904226 100644 --- a/browser/components/MarkdownEditor.js +++ b/browser/components/MarkdownEditor.js @@ -175,8 +175,9 @@ class MarkdownEditor extends React.Component { } addMdAroundWord (mdElement) { - if (this.refs.code.editor.getSelection()) + if (this.refs.code.editor.getSelection()) { return this.addMdAroundSelection(mdElement) + } const currentCaret = this.refs.code.editor.getCursor() const word = this.refs.code.editor.findWordAt(currentCaret) const cmDoc = this.refs.code.editor.getDoc()