Fix: Message body was not being updated when user disabled nrr message (#14390)

pull/14388/head^2
Guilherme Gazzo 7 years ago committed by GitHub
parent 5b312f3992
commit 9b9dabb55b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 59
      app/ui-message/client/message.js

@ -70,7 +70,35 @@ async function renderPdfToCanvas(canvasId, pdfLink) {
canvas.style.display = 'block';
}
const renderBody = (msg, settings) => {
const isSystemMessage = MessageTypes.isSystemMessage(msg);
const messageType = MessageTypes.getType(msg) || {};
if (messageType.render) {
msg = messageType.render(msg);
} else if (messageType.template) {
// render template
} else if (messageType.message) {
msg = TAPi18n.__(messageType.message, { ... typeof messageType.data === 'function' && messageType.data(msg) });
} else if (msg.u && msg.u.username === settings.Chatops_Username) {
msg.html = msg.msg;
msg = callbacks.run('renderMentions', msg);
msg = msg.html;
} else {
msg = renderMessageBody(msg);
}
if (isSystemMessage) {
msg.html = Markdown.parse(msg.html);
}
return msg;
};
Template.message.helpers({
body() {
const { msg, settings } = this;
return Tracker.nonreactive(() => renderBody(msg, settings));
},
and(a, b) {
return a && b;
},
@ -200,9 +228,6 @@ Template.message.helpers({
return 'temp';
}
},
body() {
return Template.instance().body;
},
threadMessage() {
const { msg } = this;
return normalizeThreadMessage(msg);
@ -454,39 +479,13 @@ const findParentMessage = (() => {
};
})();
const renderBody = (msg, settings) => {
const isSystemMessage = MessageTypes.isSystemMessage(msg);
const messageType = MessageTypes.getType(msg) || {};
if (messageType.render) {
msg = messageType.render(msg);
} else if (messageType.template) {
// render template
} else if (messageType.message) {
msg = TAPi18n.__(messageType.message, { ... typeof messageType.data === 'function' && messageType.data(msg) });
} else if (msg.u && msg.u.username === settings.Chatops_Username) {
msg.html = msg.msg;
msg = callbacks.run('renderMentions', msg);
msg = msg.html;
} else {
msg = renderMessageBody(msg);
}
if (isSystemMessage) {
msg.html = Markdown.parse(msg.html);
}
return msg;
};
Template.message.onCreated(function() {
const { msg, settings, shouldCollapseReplies } = Template.currentData();
const { msg, shouldCollapseReplies } = Template.currentData();
this.wasEdited = msg.editedAt && !MessageTypes.isSystemMessage(msg);
if (shouldCollapseReplies && msg.tmid && !msg.threadMsg) {
findParentMessage(msg.tmid);
}
return this.body = Tracker.nonreactive(() => renderBody(msg, settings));
});
const hasTempClass = (node) => node.classList.contains('temp');

Loading…
Cancel
Save