import ImmutablePropTypes from 'react-immutable-proptypes'; import PureRenderMixin from 'react-addons-pure-render-mixin'; const StatusContent = React.createClass({ contextTypes: { router: React.PropTypes.object }, propTypes: { status: ImmutablePropTypes.map.isRequired }, mixins: [PureRenderMixin], componentDidMount () { const node = ReactDOM.findDOMNode(this); this.props.status.get('mentions').forEach(mention => { const links = node.querySelector(`a[href="${mention.get('url')}"]`); links.addEventListener('click', this.onLinkClick.bind(this, mention)); }); }, onLinkClick (mention, e) { if (e.button === 0) { e.preventDefault(); this.context.router.push(`/accounts/${mention.get('id')}`); } e.stopPropagation(); }, render () { const content = { __html: this.props.status.get('content') }; return
; }, }); export default StatusContent;