diff options
author | Debanshu Kundu <debanshu.kundu@joshtechnologygroup.com> | 2017-01-12 21:17:29 +0530 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2017-01-12 10:47:29 -0500 |
commit | 739f32272ff4079b5638d6293a28ed8ffbbb926e (patch) | |
tree | 41003e0c12c7ca1bd517bac0d29dd6cd9a3d59bb /webapp/components | |
parent | 99493bc5fa11d8e50d46c19e2678ddb2c99c0bbb (diff) | |
download | chat-739f32272ff4079b5638d6293a28ed8ffbbb926e.tar.gz chat-739f32272ff4079b5638d6293a28ed8ffbbb926e.tar.bz2 chat-739f32272ff4079b5638d6293a28ed8ffbbb926e.zip |
PLT-135 Showing "(Edited)" indicator if a message has been edited. (#4923)
Diffstat (limited to 'webapp/components')
3 files changed, 33 insertions, 9 deletions
diff --git a/webapp/components/post_view/components/post_message_container.jsx b/webapp/components/post_view/components/post_message_container.jsx index 2d17e74c4..4e27cd29a 100644 --- a/webapp/components/post_view/components/post_message_container.jsx +++ b/webapp/components/post_view/components/post_message_container.jsx @@ -89,7 +89,7 @@ export default class PostMessageContainer extends React.Component { return ( <PostMessageView options={this.props.options} - message={this.props.post.message} + post={this.props.post} emojis={this.state.emojis} enableFormatting={this.state.enableFormatting} mentionKeys={this.state.mentionKeys} diff --git a/webapp/components/post_view/components/post_message_view.jsx b/webapp/components/post_view/components/post_message_view.jsx index 24f96a8d9..eff791aec 100644 --- a/webapp/components/post_view/components/post_message_view.jsx +++ b/webapp/components/post_view/components/post_message_view.jsx @@ -2,14 +2,16 @@ // See License.txt for license information. import React from 'react'; +import {FormattedMessage} from 'react-intl'; import * as TextFormatting from 'utils/text_formatting.jsx'; import * as Utils from 'utils/utils.jsx'; +import * as PostUtils from 'utils/post_utils.jsx'; export default class PostMessageView extends React.Component { static propTypes = { options: React.PropTypes.object.isRequired, - message: React.PropTypes.string.isRequired, + post: React.PropTypes.object.isRequired, emojis: React.PropTypes.object.isRequired, enableFormatting: React.PropTypes.bool.isRequired, mentionKeys: React.PropTypes.arrayOf(React.PropTypes.string).isRequired, @@ -23,7 +25,7 @@ export default class PostMessageView extends React.Component { return true; } - if (nextProps.message !== this.props.message) { + if (nextProps.post.message !== this.props.post.message) { return true; } @@ -47,9 +49,28 @@ export default class PostMessageView extends React.Component { return false; } + editedIndicator() { + return ( + PostUtils.isEdited(this.props.post) ? + <span className='edited'> + <FormattedMessage + id='post_message_view.edited' + defaultMessage='(edited)' + /> + </span> : + '' + ); + } + render() { if (!this.props.enableFormatting) { - return <span>{this.props.message}</span>; + return ( + <span> + {this.props.post.message} + + {this.editedIndicator()} + </span> + ); } const options = Object.assign({}, this.props.options, { @@ -62,10 +83,13 @@ export default class PostMessageView extends React.Component { }); return ( - <span - onClick={Utils.handleFormattedTextClick} - dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.message, options)}} - /> + <div> + <span + onClick={Utils.handleFormattedTextClick} + dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.post.message, options)}} + /> + {this.editedIndicator()} + </div> ); } } diff --git a/webapp/components/search_results_item.jsx b/webapp/components/search_results_item.jsx index 50e440b04..be62653c0 100644 --- a/webapp/components/search_results_item.jsx +++ b/webapp/components/search_results_item.jsx @@ -285,7 +285,7 @@ export default class SearchResultsItem extends React.Component { </li> {rhsControls} </ul> - <div className='search-item-snippet'> + <div className='search-item-snippet post__body'> {message} </div> </div> |