From 6c09a08a7d26f2bff4adecd1ea844f7f89570865 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Thu, 6 Apr 2017 14:08:59 +0100 Subject: [PATCH] Click emote sender -> insert display name into composer Also, fix the imports TextualBody. --- src/components/views/messages/TextualBody.js | 42 ++++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/src/components/views/messages/TextualBody.js b/src/components/views/messages/TextualBody.js index a625e63062..9aebb30f54 100644 --- a/src/components/views/messages/TextualBody.js +++ b/src/components/views/messages/TextualBody.js @@ -16,17 +16,18 @@ limitations under the License. 'use strict'; -var React = require('react'); -var ReactDOM = require('react-dom'); -var highlight = require('highlight.js'); -var HtmlUtils = require('../../../HtmlUtils'); -var linkify = require('linkifyjs'); -var linkifyElement = require('linkifyjs/element'); -var linkifyMatrix = require('../../../linkify-matrix'); -var sdk = require('../../../index'); -var ScalarAuthClient = require("../../../ScalarAuthClient"); -var Modal = require("../../../Modal"); -var SdkConfig = require('../../../SdkConfig'); +import React from 'react'; +import ReactDOM from 'react-dom'; +import highlight from 'highlight.js'; +import * as HtmlUtils from '../../../HtmlUtils'; +import * as linkify from 'linkifyjs'; +import linkifyElement from 'linkifyjs/element'; +import linkifyMatrix from '../../../linkify-matrix'; +import sdk from '../../../index'; +import ScalarAuthClient from '../../../ScalarAuthClient'; +import Modal from '../../../Modal'; +import SdkConfig from '../../../SdkConfig'; +import dis from '../../../dispatcher'; linkifyMatrix(linkify); @@ -187,6 +188,15 @@ module.exports = React.createClass({ this.forceUpdate(); }, + onEmoteSenderClick: function(event) { + const mxEvent = this.props.mxEvent; + const name = mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender(); + dis.dispatch({ + action: 'insert_displayname', + displayname: name.replace(' (IRC)', ''), + }); + }, + getEventTileOps: function() { var self = this; return { @@ -273,7 +283,15 @@ module.exports = React.createClass({ const name = mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender(); return ( - * {name} { body } + *  + + {name} + +   + { body } { widgets } );