mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Merge pull request #676 from hmhealey/mm1900b
MM-1900 Removed textToJsx
This commit is contained in:
@@ -8,6 +8,7 @@ const SocketStore = require('../stores/socket_store.jsx');
|
||||
const NavbarSearchBox = require('./search_bar.jsx');
|
||||
const AsyncClient = require('../utils/async_client.jsx');
|
||||
const Client = require('../utils/client.jsx');
|
||||
const TextFormatting = require('../utils/text_formatting.jsx');
|
||||
const Utils = require('../utils/utils.jsx');
|
||||
const MessageWrapper = require('./message_wrapper.jsx');
|
||||
const PopoverListMembers = require('./popover_list_members.jsx');
|
||||
@@ -107,7 +108,6 @@ export default class ChannelHeader extends React.Component {
|
||||
}
|
||||
|
||||
const channel = this.state.channel;
|
||||
const description = Utils.textToJsx(channel.description, {singleline: true, noMentionHighlight: true});
|
||||
const popoverContent = React.renderToString(<MessageWrapper message={channel.description}/>);
|
||||
let channelTitle = channel.display_name;
|
||||
const currentId = UserStore.getCurrentId();
|
||||
@@ -326,9 +326,9 @@ export default class ChannelHeader extends React.Component {
|
||||
data-toggle='popover'
|
||||
data-content={popoverContent}
|
||||
className='description'
|
||||
>
|
||||
{description}
|
||||
</div>
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(channel.description, {singleline: true, mentionHighlight: false})}}
|
||||
/>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
var Utils = require('../utils/utils.jsx');
|
||||
var TextFormatting = require('../utils/text_formatting.jsx');
|
||||
|
||||
export default class MessageWrapper extends React.Component {
|
||||
constructor(props) {
|
||||
@@ -10,10 +10,7 @@ export default class MessageWrapper extends React.Component {
|
||||
}
|
||||
render() {
|
||||
if (this.props.message) {
|
||||
var inner = Utils.textToJsx(this.props.message, this.props.options);
|
||||
return (
|
||||
<div>{inner}</div>
|
||||
);
|
||||
return <div dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.message, this.props.options)}}/>;
|
||||
}
|
||||
|
||||
return <div/>;
|
||||
@@ -21,8 +18,7 @@ export default class MessageWrapper extends React.Component {
|
||||
}
|
||||
|
||||
MessageWrapper.defaultProps = {
|
||||
message: null,
|
||||
options: null
|
||||
message: ''
|
||||
};
|
||||
MessageWrapper.propTypes = {
|
||||
message: React.PropTypes.string,
|
||||
|
||||
@@ -332,7 +332,7 @@ export default class Navbar extends React.Component {
|
||||
popoverContent = React.renderToString(
|
||||
<MessageWrapper
|
||||
message={channel.description}
|
||||
options={{singleline: true, noMentionHighlight: true}}
|
||||
options={{singleline: true, mentionHighlight: false}}
|
||||
/>
|
||||
);
|
||||
isAdmin = this.state.member.roles.indexOf('admin') > -1;
|
||||
|
||||
@@ -5,6 +5,7 @@ const FileAttachmentList = require('./file_attachment_list.jsx');
|
||||
const UserStore = require('../stores/user_store.jsx');
|
||||
const Utils = require('../utils/utils.jsx');
|
||||
const Constants = require('../utils/constants.jsx');
|
||||
const TextFormatting = require('../utils/text_formatting.jsx');
|
||||
const twemoji = require('twemoji');
|
||||
|
||||
export default class PostBody extends React.Component {
|
||||
@@ -33,7 +34,6 @@ export default class PostBody extends React.Component {
|
||||
const post = this.props.post;
|
||||
const filenames = this.props.post.filenames;
|
||||
const parentPost = this.props.parentPost;
|
||||
const inner = Utils.textToJsx(this.state.message);
|
||||
|
||||
let comment = '';
|
||||
let postClass = '';
|
||||
@@ -135,7 +135,11 @@ export default class PostBody extends React.Component {
|
||||
key={`${post.id}_message`}
|
||||
className={postClass}
|
||||
>
|
||||
{loading}<span>{inner}</span>
|
||||
{loading}
|
||||
<span
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.state.message)}}
|
||||
/>
|
||||
</p>
|
||||
{fileAttachmentHolder}
|
||||
{embed}
|
||||
|
||||
@@ -12,6 +12,7 @@ var FileAttachmentList = require('./file_attachment_list.jsx');
|
||||
var Client = require('../utils/client.jsx');
|
||||
var AsyncClient = require('../utils/async_client.jsx');
|
||||
var ActionTypes = Constants.ActionTypes;
|
||||
var TextFormatting = require('../utils/text_formatting.jsx');
|
||||
var twemoji = require('twemoji');
|
||||
|
||||
export default class RhsComment extends React.Component {
|
||||
@@ -84,7 +85,6 @@ export default class RhsComment extends React.Component {
|
||||
type = 'Comment';
|
||||
}
|
||||
|
||||
var message = Utils.textToJsx(post.message);
|
||||
var timestamp = UserStore.getCurrentUser().update_at;
|
||||
|
||||
var loading;
|
||||
@@ -202,7 +202,13 @@ export default class RhsComment extends React.Component {
|
||||
</li>
|
||||
</ul>
|
||||
<div className='post-body'>
|
||||
<p className={postClass}>{loading}{message}</p>
|
||||
<p className={postClass}>
|
||||
{loading}
|
||||
<span
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||
/>
|
||||
</p>
|
||||
{fileAttachment}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
var ChannelStore = require('../stores/channel_store.jsx');
|
||||
var UserProfile = require('./user_profile.jsx');
|
||||
var UserStore = require('../stores/user_store.jsx');
|
||||
var TextFormatting = require('../utils/text_formatting.jsx');
|
||||
var utils = require('../utils/utils.jsx');
|
||||
var FileAttachmentList = require('./file_attachment_list.jsx');
|
||||
var twemoji = require('twemoji');
|
||||
@@ -35,7 +36,6 @@ export default class RhsRootPost extends React.Component {
|
||||
}
|
||||
render() {
|
||||
var post = this.props.post;
|
||||
var message = utils.textToJsx(post.message);
|
||||
var isOwner = UserStore.getCurrentId() === post.user_id;
|
||||
var timestamp = UserStore.getProfile(post.user_id).update_at;
|
||||
var channel = ChannelStore.get(post.channel_id);
|
||||
@@ -140,7 +140,10 @@ export default class RhsRootPost extends React.Component {
|
||||
</li>
|
||||
</ul>
|
||||
<div className='post-body'>
|
||||
<p>{message}</p>
|
||||
<p
|
||||
onClick={TextFormatting.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(post.message)}}
|
||||
/>
|
||||
{fileAttachment}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -10,6 +10,7 @@ var client = require('../utils/client.jsx');
|
||||
var AsyncClient = require('../utils/async_client.jsx');
|
||||
var AppDispatcher = require('../dispatcher/app_dispatcher.jsx');
|
||||
var Constants = require('../utils/constants.jsx');
|
||||
var TextFormatting = require('../utils/text_formatting.jsx');
|
||||
var ActionTypes = Constants.ActionTypes;
|
||||
|
||||
export default class SearchResultsItem extends React.Component {
|
||||
@@ -56,7 +57,6 @@ export default class SearchResultsItem extends React.Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
var message = utils.textToJsx(this.props.post.message, {searchTerm: this.props.term, noMentionHighlight: !this.props.isMentionSearch});
|
||||
var channelName = '';
|
||||
var channel = ChannelStore.get(this.props.post.channel_id);
|
||||
var timestamp = UserStore.getCurrentUser().update_at;
|
||||
@@ -68,6 +68,11 @@ export default class SearchResultsItem extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
const formattingOptions = {
|
||||
searchTerm: this.props.term,
|
||||
mentionHighlight: this.props.isMentionSearch
|
||||
};
|
||||
|
||||
return (
|
||||
<div
|
||||
className='search-item-container post'
|
||||
@@ -91,7 +96,12 @@ export default class SearchResultsItem extends React.Component {
|
||||
</time>
|
||||
</li>
|
||||
</ul>
|
||||
<div className='search-item-snippet'><span>{message}</span></div>
|
||||
<div className='search-item-snippet'>
|
||||
<span
|
||||
onClick={this.handleClick}
|
||||
dangerouslySetInnerHTML={{__html: TextFormatting.formatText(this.props.post.message, formattingOptions)}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -102,4 +112,4 @@ SearchResultsItem.propTypes = {
|
||||
post: React.PropTypes.object,
|
||||
isMentionSearch: React.PropTypes.bool,
|
||||
term: React.PropTypes.string
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user