js: Extract message_edit_history.js.

This commit is contained in:
Sharif Naas
2020-06-06 19:50:31 -07:00
committed by Tim Abbott
parent 4eaa62eaa6
commit b0a0ae215f
9 changed files with 74 additions and 68 deletions

View File

@@ -0,0 +1,67 @@
const render_message_edit_history = require('../templates/message_edit_history.hbs');
exports.fetch_and_render_message_history = function (message) {
channel.get({
url: "/json/messages/" + message.id + "/history",
data: {message_id: JSON.stringify(message.id)},
success: function (data) {
const content_edit_history = [];
let prev_timestamp;
for (const [index, msg] of data.message_history.entries()) {
// Format timestamp nicely for display
const timestamp = timerender.get_full_time(msg.timestamp);
const item = {
timestamp: moment(timestamp).format("h:mm A"),
display_date: moment(timestamp).format("MMMM D, YYYY"),
};
if (msg.user_id) {
const person = people.get_by_user_id(msg.user_id);
item.edited_by = person.full_name;
}
if (index === 0) {
item.posted_or_edited = "Posted by";
item.body_to_render = msg.rendered_content;
prev_timestamp = timestamp;
item.show_date_row = true;
} else if (msg.prev_topic && msg.prev_content) {
item.posted_or_edited = "Edited by";
item.body_to_render = msg.content_html_diff;
item.show_date_row = !moment(timestamp).isSame(prev_timestamp, 'day');
item.topic_edited = true;
item.prev_topic = msg.prev_topic;
item.new_topic = msg.topic;
} else if (msg.prev_topic) {
item.posted_or_edited = "Topic edited by";
item.topic_edited = true;
item.prev_topic = msg.prev_topic;
item.new_topic = msg.topic;
} else {
// just a content edit
item.posted_or_edited = "Edited by";
item.body_to_render = msg.content_html_diff;
item.show_date_row = !moment(timestamp).isSame(prev_timestamp, 'day');
}
content_edit_history.push(item);
}
$('#message-history').attr('data-message-id', message.id);
$('#message-history').html(render_message_edit_history({
edited_messages: content_edit_history,
}));
},
error: function (xhr) {
ui_report.error(i18n.t("Error fetching message edit history"), xhr,
$("#message-history-error"));
},
});
};
exports.show_history = function (message) {
$('#message-history').html('');
$('#message-edit-history').modal("show");
exports.fetch_and_render_message_history(message);
};
window.message_edit_history = exports;