1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

Merge pull request #469 from LeoLamCY/add-support-to-bold-selected-text-via-kb-shortcut

Add support to bold selected text via kb shortcut
This commit is contained in:
Sota Sugiura
2017-04-22 13:07:04 +09:00
committed by GitHub

View File

@@ -11,7 +11,7 @@ class MarkdownEditor extends React.Component {
this.escapeFromEditor = ['Control', 'w'] this.escapeFromEditor = ['Control', 'w']
this.supportMdWordBold = ['Control', ':'] this.supportMdSelectionBold = ['Control', ':']
this.state = { this.state = {
status: 'PREVIEW', status: 'PREVIEW',
@@ -169,12 +169,15 @@ class MarkdownEditor extends React.Component {
if (!this.state.isLocked && this.state.status === 'CODE' && this.escapeFromEditor.every(isNoteHandlerKey)) { if (!this.state.isLocked && this.state.status === 'CODE' && this.escapeFromEditor.every(isNoteHandlerKey)) {
document.activeElement.blur() document.activeElement.blur()
} }
if (this.supportMdWordBold.every(isNoteHandlerKey)) { if (this.supportMdSelectionBold.every(isNoteHandlerKey)) {
this.addMdBetweenWord('**') this.addMdAroundWord('**')
} }
} }
addMdBetweenWord (mdElement) { addMdAroundWord (mdElement) {
if (this.refs.code.editor.getSelection()) {
return this.addMdAroundSelection(mdElement)
}
const currentCaret = this.refs.code.editor.getCursor() const currentCaret = this.refs.code.editor.getCursor()
const word = this.refs.code.editor.findWordAt(currentCaret) const word = this.refs.code.editor.findWordAt(currentCaret)
const cmDoc = this.refs.code.editor.getDoc() const cmDoc = this.refs.code.editor.getDoc()
@@ -182,6 +185,10 @@ class MarkdownEditor extends React.Component {
cmDoc.replaceRange(mdElement, { line: word.head.line, ch: word.head.ch + mdElement.length }) 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) { handleKeyUp (e) {
const keyPressed = Object.assign(this.state.keyPressed, { const keyPressed = Object.assign(this.state.keyPressed, {
[e.key]: false [e.key]: false