summaryrefslogtreecommitdiffstats
path: root/web/react/components/post_right.jsx
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2015-08-14 09:28:24 -0400
committerJoram Wilander <jwawilander@gmail.com>2015-08-14 09:28:24 -0400
commitb9aef9f2a6b90663cb7ba4ff9e42560c145b631d (patch)
tree194e31d063e31009a15b994bbc34ad6497292e17 /web/react/components/post_right.jsx
parent92c4df5b109ac8b15f6384a5c027024696bbd4d8 (diff)
parent41e74860d8abc8e33648471249b127dd3f60fb88 (diff)
downloadchat-b9aef9f2a6b90663cb7ba4ff9e42560c145b631d.tar.gz
chat-b9aef9f2a6b90663cb7ba4ff9e42560c145b631d.tar.bz2
chat-b9aef9f2a6b90663cb7ba4ff9e42560c145b631d.zip
Merge pull request #360 from rgarmsen2295/mm-375d
MM-375 Adds text formatting features using a modified version of the marked js library
Diffstat (limited to 'web/react/components/post_right.jsx')
-rw-r--r--web/react/components/post_right.jsx31
1 files changed, 27 insertions, 4 deletions
diff --git a/web/react/components/post_right.jsx b/web/react/components/post_right.jsx
index ad8b54012..19e4cf67a 100644
--- a/web/react/components/post_right.jsx
+++ b/web/react/components/post_right.jsx
@@ -56,6 +56,7 @@ RhsHeaderPost = React.createClass({
RootPost = React.createClass({
render: function() {
+ var allowTextFormatting = config.AllowTextFormatting;
var post = this.props.post;
var message = utils.textToJsx(post.message);
var isOwner = UserStore.getCurrentId() == post.user_id;
@@ -76,6 +77,11 @@ RootPost = React.createClass({
channelName = (channel.type === 'D') ? "Private Message" : channel.display_name;
}
+ var messageHolder = <p>{message}</p>;
+ if (allowTextFormatting) {
+ messageHolder = <div>{message}</div>;
+ }
+
return (
<div className={"post post--root " + currentUserCss}>
<div className="post-right-channel__name">{ channelName }</div>
@@ -101,7 +107,7 @@ RootPost = React.createClass({
</li>
</ul>
<div className="post-body">
- <p>{message}</p>
+ {messageHolder}
{ post.filenames && post.filenames.length > 0 ?
<FileAttachmentList
filenames={post.filenames}
@@ -119,6 +125,7 @@ RootPost = React.createClass({
CommentPost = React.createClass({
render: function() {
+ var allowTextFormatting = config.AllowTextFormatting;
var post = this.props.post;
var commentClass = "post";
@@ -138,6 +145,11 @@ CommentPost = React.createClass({
var message = utils.textToJsx(post.message);
var timestamp = UserStore.getCurrentUser().update_at;
+ var messageHolder = <p>{message}</p>;
+ if (allowTextFormatting) {
+ messageHolder = <div>{message}</div>;
+ }
+
return (
<div className={commentClass + " " + currentUserCss}>
<div className="post-profile-img__container">
@@ -160,7 +172,7 @@ CommentPost = React.createClass({
</li>
</ul>
<div className="post-body">
- <p>{message}</p>
+ {messageHolder}
{ post.filenames && post.filenames.length > 0 ?
<FileAttachmentList
filenames={post.filenames}
@@ -273,11 +285,22 @@ module.exports = React.createClass({
root_post = post_list.posts[selected_post.root_id];
}
+ var rootPostKey = root_post.id
+ if (root_post.lastEditDate) {
+ rootPostKey += root_post.lastEditDate;
+ }
+
var posts_array = [];
for (var postId in post_list.posts) {
var cpost = post_list.posts[postId];
if (cpost.root_id == root_post.id) {
+ var cpostKey = cpost.id
+ if (cpost.lastEditDate) {
+ cpostKey += cpost.lastEditDate;
+ }
+
+ cpost.cpostKey = cpostKey;
posts_array.push(cpost);
}
}
@@ -300,10 +323,10 @@ module.exports = React.createClass({
<div className="sidebar-right__body">
<RhsHeaderPost fromSearch={this.props.fromSearch} isMentionSearch={this.props.isMentionSearch} />
<div className="post-right__scroll">
- <RootPost post={root_post} commentCount={posts_array.length}/>
+ <RootPost key={rootPostKey} post={root_post} commentCount={posts_array.length}/>
<div className="post-right-comments-container">
{ posts_array.map(function(cpost) {
- return <CommentPost ref={cpost.id} key={cpost.id} post={cpost} selected={ (cpost.id == selected_post.id) } />
+ return <CommentPost ref={cpost.id} key={cpost.cpostKey} post={cpost} selected={ (cpost.id == selected_post.id) } />
})}
</div>
<div className="post-create__container">