Factor out avatar click leads to view_user
							parent
							
								
									6b2aa43b71
								
							
						
					
					
						commit
						d8bc4d9a6f
					
				|  | @ -19,6 +19,7 @@ limitations under the License. | |||
| var React = require('react'); | ||||
| var Avatar = require('../../../Avatar'); | ||||
| var sdk = require("../../../index"); | ||||
| const dispatcher = require("../../../dispatcher"); | ||||
| 
 | ||||
| module.exports = React.createClass({ | ||||
|     displayName: 'MemberAvatar', | ||||
|  | @ -27,14 +28,17 @@ module.exports = React.createClass({ | |||
|         member: React.PropTypes.object.isRequired, | ||||
|         width: React.PropTypes.number, | ||||
|         height: React.PropTypes.number, | ||||
|         resizeMethod: React.PropTypes.string | ||||
|         resizeMethod: React.PropTypes.string, | ||||
|         // Whether the onClick of the avatar should dispatch 'view_user'
 | ||||
|         viewUserOnClick: React.PropTypes.boolean | ||||
|     }, | ||||
| 
 | ||||
|     getDefaultProps: function() { | ||||
|         return { | ||||
|             width: 40, | ||||
|             height: 40, | ||||
|             resizeMethod: 'crop' | ||||
|             resizeMethod: 'crop', | ||||
|             viewUserOnClick: false | ||||
|         } | ||||
|     }, | ||||
| 
 | ||||
|  | @ -65,9 +69,19 @@ module.exports = React.createClass({ | |||
| 
 | ||||
|         var {member, ...otherProps} = this.props; | ||||
| 
 | ||||
|         var onClick = null; | ||||
|         if (this.props.viewUserOnClick) { | ||||
|             onClick = () => { | ||||
|                 dispatcher.dispatch({ | ||||
|                     action: 'view_user', | ||||
|                     member: this.props.member, | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         return ( | ||||
|             <BaseAvatar {...otherProps} name={this.state.name} title={this.state.title} | ||||
|                 idName={member.userId} url={this.state.imageUrl} /> | ||||
|                 idName={member.userId} url={this.state.imageUrl} onClick={onClick}/> | ||||
|         ); | ||||
|     } | ||||
| }); | ||||
|  |  | |||
|  | @ -15,7 +15,6 @@ limitations under the License. | |||
| */ | ||||
| import React from 'react'; | ||||
| const MemberAvatar = require('../avatars/MemberAvatar.js'); | ||||
| const dispatcher = require("../../../dispatcher"); | ||||
| 
 | ||||
| module.exports = React.createClass({ | ||||
|     displayName: 'MemberEventListSummary', | ||||
|  | @ -122,19 +121,12 @@ module.exports = React.createClass({ | |||
| 
 | ||||
|     _renderAvatars: function(events) { | ||||
|         let avatars = events.slice(0, this.props.avatarsMaxLength).map((e) => { | ||||
|             let onClickAvatar = () => { | ||||
|                 dispatcher.dispatch({ | ||||
|                     action: 'view_user', | ||||
|                     member: e.sender, | ||||
|                 }); | ||||
|             }; | ||||
|             return ( | ||||
|                 <MemberAvatar | ||||
|                     key={e.getId()} | ||||
|                     member={e.sender} | ||||
|                     width={14} | ||||
|                     height={14} | ||||
|                     onClick={onClickAvatar} | ||||
|                 /> | ||||
|             ); | ||||
|         }); | ||||
|  |  | |||
|  | @ -348,13 +348,6 @@ module.exports = React.createClass({ | |||
|         </span>; | ||||
|     }, | ||||
| 
 | ||||
|     onMemberAvatarClick: function(event) { | ||||
|         dispatcher.dispatch({ | ||||
|             action: 'view_user', | ||||
|             member: this.props.mxEvent.sender, | ||||
|         }); | ||||
|     }, | ||||
| 
 | ||||
|     onSenderProfileClick: function(event) { | ||||
|         var mxEvent = this.props.mxEvent; | ||||
|         dispatcher.dispatch({ | ||||
|  | @ -443,7 +436,7 @@ module.exports = React.createClass({ | |||
|                     <div className="mx_EventTile_avatar"> | ||||
|                         <MemberAvatar member={this.props.mxEvent.sender} | ||||
|                             width={avatarSize} height={avatarSize} | ||||
|                             onClick={ this.onMemberAvatarClick } | ||||
|                             viewUserOnClick={true} | ||||
|                         /> | ||||
|                     </div> | ||||
|             ); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Luke Barnard
						Luke Barnard