summaryrefslogtreecommitdiffstats
path: root/web/react
diff options
context:
space:
mode:
authorhmhealey <harrisonmhealey@gmail.com>2015-10-22 09:47:28 -0400
committerhmhealey <harrisonmhealey@gmail.com>2015-10-22 09:47:28 -0400
commit25e018ece082a8136024b6d0a6c9db46cb113db1 (patch)
tree6871b6589f5a4e93a588af3564a25df0a7e4725b /web/react
parent74402df462a0efa0b015792ee8c77a16dc72bedb (diff)
downloadchat-25e018ece082a8136024b6d0a6c9db46cb113db1.tar.gz
chat-25e018ece082a8136024b6d0a6c9db46cb113db1.tar.bz2
chat-25e018ece082a8136024b6d0a6c9db46cb113db1.zip
Changed markdown renderer to only parse emoticons twice
Diffstat (limited to 'web/react')
-rw-r--r--web/react/utils/markdown.jsx7
-rw-r--r--web/react/utils/text_formatting.jsx9
2 files changed, 15 insertions, 1 deletions
diff --git a/web/react/utils/markdown.jsx b/web/react/utils/markdown.jsx
index 1b699bc98..7a4e70054 100644
--- a/web/react/utils/markdown.jsx
+++ b/web/react/utils/markdown.jsx
@@ -11,6 +11,7 @@ export class MattermostMarkdownRenderer extends marked.Renderer {
super(options);
this.heading = this.heading.bind(this);
+ this.paragraph = this.paragraph.bind(this);
this.text = this.text.bind(this);
this.formattingOptions = formattingOptions;
@@ -53,7 +54,11 @@ export class MattermostMarkdownRenderer extends marked.Renderer {
}
paragraph(text) {
- let outText = TextFormatting.doFormatText(text, this.options);
+ let outText = text;
+
+ if (!('emoticons' in this.options) || this.options.emoticon) {
+ outText = TextFormatting.doFormatEmoticons(text);
+ }
if (this.formattingOptions.singleline) {
return `<p class="markdown__paragraph-inline">${outText}</p>`;
diff --git a/web/react/utils/text_formatting.jsx b/web/react/utils/text_formatting.jsx
index d79aeed68..5c2e68f1e 100644
--- a/web/react/utils/text_formatting.jsx
+++ b/web/react/utils/text_formatting.jsx
@@ -69,6 +69,15 @@ export function doFormatText(text, options) {
return output;
}
+export function doFormatEmoticons(text) {
+ const tokens = new Map();
+
+ let output = Emoticons.handleEmoticons(text, tokens);
+ output = replaceTokens(output, tokens);
+
+ return output;
+}
+
export function sanitizeHtml(text) {
let output = text;