Skip to content

Commit d325484

Browse files
authored
Merge pull request #102 from natsumework/master
#7 Keep device keyboard opened after sending message
2 parents ed9f680 + 72bc908 commit d325484

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/ChatWindow/Room.vue

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,8 @@ export default {
400400
newMessages: [],
401401
recorderStream: {},
402402
recorder: {},
403-
recordedChunks: []
403+
recordedChunks: [],
404+
keepMobileKeyboardOpen: false,
404405
}
405406
},
406407
@@ -418,6 +419,15 @@ export default {
418419
}
419420
})
420421
422+
if (detectMobile()) {
423+
this.$refs['roomTextarea'].addEventListener('blur', e => {
424+
setTimeout(() => this.keepMobileKeyboardOpen = false, 0)
425+
})
426+
this.$refs['roomTextarea'].addEventListener('click', e => {
427+
this.keepMobileKeyboardOpen = true
428+
})
429+
}
430+
421431
this.$refs.scrollContainer.addEventListener('scroll', e => {
422432
this.hideOptions = true
423433
setTimeout(() => {
@@ -628,6 +638,7 @@ export default {
628638
this.imageDimensions = null
629639
this.imageFile = null
630640
this.emojiOpened = false
641+
this.preventMobileKeyboardFromClosing()
631642
setTimeout(() => this.focusTextarea(disableMobileFocus), 0)
632643
},
633644
resetImageFile() {
@@ -650,6 +661,11 @@ export default {
650661
isMessageEmpty() {
651662
return !this.file && !this.message.trim()
652663
},
664+
preventMobileKeyboardFromClosing() {
665+
if (this.keepMobileKeyboardOpen) {
666+
this.$refs['roomTextarea'].focus()
667+
}
668+
},
653669
sendMessage() {
654670
if (!this.file && !this.message.trim()) return
655671
@@ -716,6 +732,7 @@ export default {
716732
element.scrollTo({ top: element.scrollHeight, behavior: 'smooth' })
717733
},
718734
onChangeInput() {
735+
this.keepMobileKeyboardOpen = true
719736
this.resizeTextarea()
720737
this.$emit('typing-message', this.message)
721738
},

0 commit comments

Comments
 (0)