Move message_range to a function on the message list.

(imported from commit c78710a3ccddb15352086b450fb6986e1251f364)
This commit is contained in:
Tim Abbott
2014-01-31 16:06:07 -05:00
parent 0b12681558
commit 7e6bb801e2
3 changed files with 15 additions and 16 deletions

View File

@@ -501,6 +501,19 @@ MessageList.prototype = {
return this._items; return this._items;
}, },
// Returns messages from the given message list in the specified range, inclusive
message_range: function MessageList_message_range(start, end) {
if (start === -1) {
blueslip.error("message_range given a start of -1");
}
var compare = function (a, b) { return a.id < b; };
var start_idx = util.lower_bound(this._items, start, compare);
var end_idx = util.lower_bound(this._items, end, compare);
return this._items.slice(start_idx, end_idx + 1);
},
get_row: function (id) { get_row: function (id) {
return this.view.get_row(id); return this.view.get_row(id);
}, },

View File

@@ -12,20 +12,6 @@ exports.get = function get(message_id) {
return msg_metadata_cache[message_id]; return msg_metadata_cache[message_id];
}; };
// Returns messages from the given message list in the specified range, inclusive
exports.message_range = function message_range(msg_list, start, end) {
if (start === -1) {
blueslip.error("message_range given a start of -1");
}
var all = msg_list.all();
var compare = function (a, b) { return a.id < b; };
var start_idx = util.lower_bound(all, start, compare);
var end_idx = util.lower_bound(all, end, compare);
return all.slice(start_idx, end_idx + 1);
};
exports.process_message_for_recent_subjects = function process_message_for_recent_subjects(message, remove_message) { exports.process_message_for_recent_subjects = function process_message_for_recent_subjects(message, remove_message) {
var current_timestamp = 0; var current_timestamp = 0;
var count = 0; var count = 0;

View File

@@ -356,9 +356,9 @@ function main() {
// Mark messages between old pointer and new pointer as read // Mark messages between old pointer and new pointer as read
var messages; var messages;
if (event.id < event.previously_selected) { if (event.id < event.previously_selected) {
messages = message_store.message_range(event.msg_list, event.id, event.previously_selected); messages = event.msg_list.message_range(event.id, event.previously_selected);
} else { } else {
messages = message_store.message_range(event.msg_list, event.previously_selected, event.id); messages = event.msg_list.message_range(event.previously_selected, event.id);
} }
unread.mark_messages_as_read(messages, {from: 'pointer'}); unread.mark_messages_as_read(messages, {from: 'pointer'});
} }