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

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
This commit is contained in:
Leo Lam
2017-04-21 23:32:57 -04:00
parent 2d7a37c872
commit 50fc15feea

View File

@@ -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