diff --git a/frontend_tests/node_tests/templates.js b/frontend_tests/node_tests/templates.js index 9a35a42109..05928ca117 100644 --- a/frontend_tests/node_tests/templates.js +++ b/frontend_tests/node_tests/templates.js @@ -688,7 +688,7 @@ function render(template_name, args) { global.write_test_output("message_edit_history.handlebars", html); var edited_message = $(html).find("div.messagebox-content"); assert.equal(edited_message.text().trim(), - "1468132659\n Let's go to dinner!\n Edited by Alice"); + "1468132659\n Let's go to dinner!\n Edited by Alice"); }()); (function message_reaction() { diff --git a/static/js/message_edit.js b/static/js/message_edit.js index 9c350c43c6..79353aa3eb 100644 --- a/static/js/message_edit.js +++ b/static/js/message_edit.js @@ -434,6 +434,7 @@ exports.show_history = function (message) { success: function (data) { // For now, we ignore topic edits var content_edit_history = []; + var prev_timestamp; _.each(data.message_history, function (msg, index) { if (index !== 0 && !msg.prev_content) { // Skip topic edits @@ -441,13 +442,20 @@ exports.show_history = function (message) { } // Format timestamp nicely for display - var item = {timestamp: moment(timerender.get_full_time(msg.timestamp)).format("h:mm A")}; + var timestamp = timerender.get_full_time(msg.timestamp); + var item = { + timestamp: moment(timestamp).format("h:mm A"), + display_date: moment(timestamp).format("MMMM D, YYYY"), + }; 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 { item.posted_or_edited = "Edited by"; item.body_to_render = msg.content_html_diff; + item.show_date_row = !moment(timestamp).isSame(prev_timestamp, 'day'); } if (msg.user_id) { var person = people.get_person_from_user_id(msg.user_id); diff --git a/static/templates/message_edit_history.handlebars b/static/templates/message_edit_history.handlebars index ec58bc34b6..79604f85d0 100644 --- a/static/templates/message_edit_history.handlebars +++ b/static/templates/message_edit_history.handlebars @@ -1,15 +1,17 @@ {{! Client-side Mustache template for viewing message edit history.}} -
{{t 'Earliest' }}
{{#each edited_messages}} -
-
-
-
{{ timestamp }}
-
{{{ body_to_render }}}
-
{{ posted_or_edited }} {{ edited_by }}
+ {{#if show_date_row}} +
{{ display_date }}
+ {{/if}} +
+
+
+
{{ timestamp }}
+
{{{ body_to_render }}}
+
{{ posted_or_edited }} {{ edited_by }}
+
-
-
+
{{/each}}