refactor: Extract _render_group in MessageListView.

Tweaked by tabbott to use self._render_group for correctness.

This will make sense in an upcoming commit.
This commit is contained in:
Steve Howell
2019-02-23 13:57:25 +00:00
committed by Tim Abbott
parent b38ab9a142
commit b5b9c82f81

View File

@@ -590,6 +590,18 @@ MessageListView.prototype = {
return templates.render('single_message', msg_to_render);
},
_render_group: function (opts) {
var message_groups = opts.message_groups;
var use_match_properties = opts.use_match_properties;
var table_name = opts.table_name;
return $(templates.render('message_group', {
message_groups: message_groups,
use_match_properties: use_match_properties,
table_name: table_name,
}));
},
render: function (messages, where, messages_are_new) {
// This function processes messages into chunks with separators between them,
// and templates them to be inserted as table rows into the DOM.
@@ -662,11 +674,11 @@ MessageListView.prototype = {
if (message_actions.prepend_groups.length > 0) {
save_scroll_position();
rendered_groups = $(templates.render('message_group', {
rendered_groups = self._render_group({
message_groups: message_actions.prepend_groups,
use_match_properties: self.list.is_search(),
table_name: self.table_name,
}));
});
dom_messages = rendered_groups.find('.message_row');
new_dom_elements = new_dom_elements.concat(rendered_groups);
@@ -689,11 +701,11 @@ MessageListView.prototype = {
// Remove the top date_row, we'll re-add it after rendering
old_message_group.prev('.date_row').remove();
rendered_groups = $(templates.render('message_group', {
rendered_groups = self._render_group({
message_groups: [message_group],
use_match_properties: self.list.is_search(),
table_name: self.table_name,
}));
});
dom_messages = rendered_groups.find('.message_row');
// Not adding to new_dom_elements it is only used for autoscroll
@@ -740,11 +752,11 @@ MessageListView.prototype = {
// Remove the trailing bookend; it'll be re-added after we do our rendering
self.clear_trailing_bookend();
rendered_groups = $(templates.render('message_group', {
rendered_groups = self._render_group({
message_groups: message_actions.append_groups,
use_match_properties: self.list.is_search(),
table_name: self.table_name,
}));
});
dom_messages = rendered_groups.find('.message_row');
new_dom_elements = new_dom_elements.concat(rendered_groups);