2 Commits

Author SHA1 Message Date
2bbd11a7ed Fixed two way binding 2022-07-09 19:49:29 +03:00
be21eb3897 Chores 2022-07-09 14:16:55 +03:00
2 changed files with 22037 additions and 2098 deletions

24103
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -27,16 +27,21 @@ export default {
}, },
data () { data () {
return { return {
focused: false, focused: false
body: ''
} }
}, },
computed: { computed: {
valueModel: {
get () { return this.value },
set (value) {
this.$emit('input', value)
}
},
showPlaceholder () { showPlaceholder () {
return !this.body.replace(/^\s*\n/gm, '').length return !this.valueModel.replace(/^\s*\n/gm, '').length
}, },
computedBody () { computedBody () {
return highlight(this.body, { return highlight(this.valueModel, {
extractUrlsWithoutProtocol: this.extractUrlsWithoutProtocol extractUrlsWithoutProtocol: this.extractUrlsWithoutProtocol
}) })
} }
@@ -64,15 +69,14 @@ export default {
}, },
clear () { clear () {
this.$refs.mbody.innerText = '' this.$refs.mbody.innerText = ''
this.body = '' this.valueModel = ''
}, },
onKeyUp (e) { onKeyUp (e) {
let caretPosition = this.getCaretPos() let caretPosition = this.getCaretPos()
if (e.keyCode === 13) { // Enter key if (e.keyCode === 13) { // Enter key
caretPosition++ caretPosition++
} }
this.body = e.target.innerText this.valueModel = e.target.innerText
this.$emit('input', this.body)
this.$nextTick(() => { this.$nextTick(() => {
this.setCaretPos(caretPosition) this.setCaretPos(caretPosition)
}) })