Skip to content

Commit 502daf1

Browse files
committed
Keep device keyboard opened after sending message
1 parent ed9f680 commit 502daf1

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/ChatWindow/Room.vue

Lines changed: 15 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,12 @@ export default {
418419
}
419420
})
420421
422+
if (detectMobile()) {
423+
this.$refs['roomTextarea'].addEventListener('blur', e => {
424+
this.preventMobileKeyboadFromClosing()
425+
})
426+
}
427+
421428
this.$refs.scrollContainer.addEventListener('scroll', e => {
422429
this.hideOptions = true
423430
setTimeout(() => {
@@ -650,6 +657,12 @@ export default {
650657
isMessageEmpty() {
651658
return !this.file && !this.message.trim()
652659
},
660+
preventMobileKeyboadFromClosing() {
661+
if (this.keepMobileKeyboardOpen) {
662+
this.keepMobileKeyboardOpen = false
663+
this.$refs['roomTextarea'].focus()
664+
}
665+
},
653666
sendMessage() {
654667
if (!this.file && !this.message.trim()) return
655668
@@ -716,6 +729,7 @@ export default {
716729
element.scrollTo({ top: element.scrollHeight, behavior: 'smooth' })
717730
},
718731
onChangeInput() {
732+
this.keepMobileKeyboardOpen = true
719733
this.resizeTextarea()
720734
this.$emit('typing-message', this.message)
721735
},

0 commit comments

Comments
 (0)