From 2e71dd3ea8d15ce5e785e04942b49acf8410d7e2 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Tue, 20 Aug 2019 13:51:06 +0200 Subject: [PATCH] cleanup, move code out of big switch statement --- .../views/rooms/SendMessageComposer.js | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/components/views/rooms/SendMessageComposer.js b/src/components/views/rooms/SendMessageComposer.js index 259e32682a..167615c891 100644 --- a/src/components/views/rooms/SendMessageComposer.js +++ b/src/components/views/rooms/SendMessageComposer.js @@ -129,29 +129,36 @@ export default class SendMessageComposer extends React.Component { case 'focus_composer': this._editorRef.focus(); break; - case 'insert_mention': { - const userId = payload.user_id; - const member = this.props.room.getMember(userId); - const displayName = member ? - member.rawDisplayName : payload.user_id; - const userPillPart = this.model.partCreator.userPill(displayName, userId); - this.model.insertPartsAt([userPillPart], this._editorRef.getCaret()); + case 'insert_mention': + this._insertMention(payload.user_id); break; - } - case 'quote': { - const {partCreator} = this.model; - const quoteParts = parseEvent(payload.event, partCreator, { isQuotedMessage: true }); - // add two newlines - quoteParts.push(partCreator.newline()); - quoteParts.push(partCreator.newline()); - this.model.insertPartsAt(quoteParts, {offset: 0}); - // refocus on composer, as we just clicked "Quote" - this._editorRef.focus(); + case 'quote': + this._insertQuotedMessage(payload.event); break; - } } }; + _insertMention(userId) { + const member = this.props.room.getMember(userId); + const displayName = member ? + member.rawDisplayName : userId; + const userPillPart = this.model.partCreator.userPill(displayName, userId); + this.model.insertPartsAt([userPillPart], this._editorRef.getCaret()); + // refocus on composer, as we just clicked "Mention" + this._editorRef.focus(); + } + + _insertQuotedMessage(event) { + const {partCreator} = this.model; + const quoteParts = parseEvent(event, partCreator, { isQuotedMessage: true }); + // add two newlines + quoteParts.push(partCreator.newline()); + quoteParts.push(partCreator.newline()); + this.model.insertPartsAt(quoteParts, {offset: 0}); + // refocus on composer, as we just clicked "Quote" + this._editorRef.focus(); + } + render() { return (