Export message_store.get() for getting message objects.

(imported from commit d7d20bf3aab62a1b407709b1c0bf947b3ad8bee8)
This commit is contained in:
Tim Abbott
2014-01-31 16:02:57 -05:00
parent f26af47fb6
commit 0b12681558
3 changed files with 14 additions and 10 deletions

View File

@@ -1,13 +1,17 @@
var message_store = (function () {
var exports = {};
exports.msg_metadata_cache = {};
var msg_metadata_cache = {};
var load_more_enabled = true;
// If the browser hasn't scrolled away from the top of the page
// since the last time that we ran load_more_messages(), we do
// not load_more_messages().
exports.get = function get(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) {
@@ -82,7 +86,7 @@ function set_topic_edit_properties(message) {
}
function add_message_metadata(message) {
var cached_msg = exports.msg_metadata_cache[message.id];
var cached_msg = exports.get(message.id);
if (cached_msg !== undefined) {
// Copy the match subject and content over if they exist on
// the new message
@@ -150,7 +154,7 @@ function add_message_metadata(message) {
});
alert_words.process_message(message);
exports.msg_metadata_cache[message.id] = message;
msg_metadata_cache[message.id] = message;
return message;
}
@@ -560,9 +564,9 @@ $(function () {
if (furthest_read === old_id) {
furthest_read = new_id;
}
if (exports.msg_metadata_cache[old_id]) {
exports.msg_metadata_cache[new_id] = exports.msg_metadata_cache[old_id];
delete exports.msg_metadata_cache[old_id];
if (msg_metadata_cache[old_id]) {
msg_metadata_cache[new_id] = msg_metadata_cache[old_id];
delete msg_metadata_cache[old_id];
}
// This handler cannot be in the MessageList constructor, which is the logical place

View File

@@ -316,7 +316,7 @@ exports.by = function (operator, operand, opts) {
exports.by_subject = function (target_id, opts) {
// don't use current_msg_list as it won't work for muted messages or for out-of-narrow links
var original = message_store.msg_metadata_cache[target_id];
var original = message_store.get(target_id);
if (original.type !== 'stream') {
// Only stream messages have subjects, but the
// user wants us to narrow in some way.
@@ -335,7 +335,7 @@ exports.by_subject = function (target_id, opts) {
exports.by_recipient = function (target_id, opts) {
opts = _.defaults({}, opts, {then_select_id: target_id});
// don't use current_msg_list as it won't work for muted messages or for out-of-narrow links
var message = message_store.msg_metadata_cache[target_id];
var message = message_store.get(target_id);
unread.mark_message_as_read(message);
switch (message.type) {
case 'private':
@@ -360,7 +360,7 @@ exports.by_id = function (target_id, opts) {
exports.by_conversation_and_time = function (target_id, opts) {
var args = [["near", target_id]];
var original = message_store.msg_metadata_cache[target_id];
var original = message_store.get(target_id);
opts = _.defaults({}, opts, {then_select_id: target_id});
if (original.type !== 'stream') {

View File

@@ -123,7 +123,7 @@ function get_events_success(events) {
break;
case 'read':
var msgs_to_update = _.map(event.messages, function (message_id) {
return message_store.msg_metadata_cache[message_id];
return message_store.get(message_id);
});
unread.mark_messages_as_read(msgs_to_update, {from: "server"});
break;