Merge pull request #744 from matrix-org/luke/add-onclick-permalinks
Add onClick to permalinks to route within Riotpull/21833/head
						commit
						7fb9ce2b78
					
				|  | @ -25,7 +25,7 @@ var TextForEvent = require('../../../TextForEvent'); | |||
| import WithMatrixClient from '../../../wrappers/WithMatrixClient'; | ||||
| 
 | ||||
| var ContextualMenu = require('../../structures/ContextualMenu'); | ||||
| var dispatcher = require("../../../dispatcher"); | ||||
| import dis from '../../../dispatcher'; | ||||
| 
 | ||||
| var ObjectUtils = require('../../../ObjectUtils'); | ||||
| 
 | ||||
|  | @ -354,7 +354,7 @@ module.exports = WithMatrixClient(React.createClass({ | |||
| 
 | ||||
|     onSenderProfileClick: function(event) { | ||||
|         var mxEvent = this.props.mxEvent; | ||||
|         dispatcher.dispatch({ | ||||
|         dis.dispatch({ | ||||
|             action: 'insert_displayname', | ||||
|             displayname: (mxEvent.sender ? mxEvent.sender.name : mxEvent.getSender()).replace(' (IRC)', ''), | ||||
|         }); | ||||
|  | @ -370,6 +370,17 @@ module.exports = WithMatrixClient(React.createClass({ | |||
|         }); | ||||
|     }, | ||||
| 
 | ||||
|     onPermalinkClicked: function(e) { | ||||
|         // This allows the permalink to be opened in a new tab/window or copied as
 | ||||
|         // matrix.to, but also for it to enable routing within Riot when clicked.
 | ||||
|         e.preventDefault(); | ||||
|         dis.dispatch({ | ||||
|             action: 'view_room', | ||||
|             event_id: this.props.mxEvent.getId(), | ||||
|             room_id: this.props.mxEvent.getRoomId(), | ||||
|         }); | ||||
|     }, | ||||
| 
 | ||||
|     render: function() { | ||||
|         var MessageTimestamp = sdk.getComponent('messages.MessageTimestamp'); | ||||
|         var SenderProfile = sdk.getComponent('messages.SenderProfile'); | ||||
|  | @ -413,7 +424,10 @@ module.exports = WithMatrixClient(React.createClass({ | |||
|             mx_EventTile_bad: this.props.mxEvent.getContent().msgtype === 'm.bad.encrypted', | ||||
|             mx_EventTile_redacted: isRedacted, | ||||
|         }); | ||||
|         var permalink = "https://matrix.to/#/" + this.props.mxEvent.getRoomId() +"/"+ this.props.mxEvent.getId(); | ||||
| 
 | ||||
|         const permalink = "https://matrix.to/#/" + | ||||
|             this.props.mxEvent.getRoomId() + "/" + | ||||
|             this.props.mxEvent.getId(); | ||||
| 
 | ||||
|         var readAvatars = this.getReadAvatars(); | ||||
| 
 | ||||
|  | @ -498,13 +512,13 @@ module.exports = WithMatrixClient(React.createClass({ | |||
|             return ( | ||||
|                 <div className={classes}> | ||||
|                     <div className="mx_EventTile_roomName"> | ||||
|                         <a href={ permalink }> | ||||
|                         <a href={ permalink } onClick={this.onPermalinkClicked}> | ||||
|                             { room ? room.name : '' } | ||||
|                         </a> | ||||
|                     </div> | ||||
|                     <div className="mx_EventTile_senderDetails"> | ||||
|                         { avatar } | ||||
|                         <a href={ permalink }> | ||||
|                         <a href={ permalink } onClick={this.onPermalinkClicked}> | ||||
|                             { sender } | ||||
|                             { timestamp } | ||||
|                         </a> | ||||
|  | @ -532,7 +546,11 @@ module.exports = WithMatrixClient(React.createClass({ | |||
|                             tileShape={this.props.tileShape} | ||||
|                             onWidgetLoad={this.props.onWidgetLoad} /> | ||||
|                     </div> | ||||
|                     <a className="mx_EventTile_senderDetailsLink" href={ permalink }> | ||||
|                     <a | ||||
|                         className="mx_EventTile_senderDetailsLink" | ||||
|                         href={ permalink } | ||||
|                         onClick={this.onPermalinkClicked} | ||||
|                     > | ||||
|                         <div className="mx_EventTile_senderDetails"> | ||||
|                                 { sender } | ||||
|                                 { timestamp } | ||||
|  | @ -550,7 +568,7 @@ module.exports = WithMatrixClient(React.createClass({ | |||
|                     { avatar } | ||||
|                     { sender } | ||||
|                     <div className="mx_EventTile_line"> | ||||
|                         <a href={ permalink }> | ||||
|                         <a href={ permalink } onClick={this.onPermalinkClicked}> | ||||
|                             { timestamp } | ||||
|                         </a> | ||||
|                         { e2e } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Matthew Hodgson
						Matthew Hodgson