diff --git a/static/js/echo.js b/static/js/echo.js index 312f12891a..62ef8747de 100644 --- a/static/js/echo.js +++ b/static/js/echo.js @@ -195,8 +195,8 @@ exports.edit_locally = function edit_locally(message, raw_content, new_topic) { // We don't handle unread counts since local messages must be sent by us home_msg_list.view.rerender_messages([message]); - if (current_msg_list === narrowed_msg_list) { - narrowed_msg_list.view.rerender_messages([message]); + if (current_msg_list === message_list.narrowed) { + message_list.narrowed.view.rerender_messages([message]); } stream_list.update_streams_sidebar(); stream_list.update_private_messages(); @@ -262,8 +262,8 @@ exports.process_from_server = function process_from_server(messages) { if (updated) { home_msg_list.view.rerender_messages(msgs_to_rerender); - if (current_msg_list === narrowed_msg_list) { - narrowed_msg_list.view.rerender_messages(msgs_to_rerender); + if (current_msg_list === message_list.narrowed) { + message_list.narrowed.view.rerender_messages(msgs_to_rerender); } } else { _.each(locally_processed_ids, function (id) { diff --git a/static/js/message_list.js b/static/js/message_list.js index 809641174e..f309bb4916 100644 --- a/static/js/message_list.js +++ b/static/js/message_list.js @@ -3,6 +3,8 @@ var message_list = (function () { var exports = {}; +exports.narrowed = undefined; + exports.MessageList = function (table_name, filter, opts) { _.extend(this, { collapse_messages: true, @@ -76,14 +78,14 @@ exports.MessageList.prototype = { self.append(bottom_messages, opts); } - if ((self === narrowed_msg_list) && !self.empty()) { + if ((self === exports.narrowed) && !self.empty()) { // If adding some new messages to the message tables caused // our current narrow to no longer be empty, hide the empty // feed placeholder text. narrow.hide_empty_narrow_message(); } - if ((self === narrowed_msg_list) && !self.empty() && + if ((self === exports.narrowed) && !self.empty() && (self.selected_id() === -1) && !opts.delay_render) { // And also select the newly arrived message. self.select_id(self.selected_id(), {then_scroll: true, use_closest: true}); diff --git a/static/js/message_store.js b/static/js/message_store.js index 0c79754bd2..6736635444 100644 --- a/static/js/message_store.js +++ b/static/js/message_store.js @@ -342,14 +342,14 @@ exports.update_messages = function update_messages(events) { if (topic_edited) { if (!changed_narrow) { home_msg_list.rerender(); - if (current_msg_list === narrowed_msg_list) { - narrowed_msg_list.rerender(); + if (current_msg_list === message_list.narrowed) { + message_list.narrowed.rerender(); } } } else { home_msg_list.view.rerender_messages(msgs_to_rerender); - if (current_msg_list === narrowed_msg_list) { - narrowed_msg_list.view.rerender_messages(msgs_to_rerender); + if (current_msg_list === message_list.narrowed) { + message_list.narrowed.view.rerender_messages(msgs_to_rerender); } } unread.update_unread_counts(); @@ -367,11 +367,11 @@ exports.insert_new_messages = function insert_new_messages(messages) { if (narrow.active()) { if (narrow.filter().can_apply_locally()) { - exports.add_messages(messages, narrowed_msg_list, {messages_are_new: true}); + exports.add_messages(messages, message_list.narrowed, {messages_are_new: true}); notifications.possibly_notify_new_messages_outside_viewport(messages); } else { // if we cannot apply locally, we have to wait for this callback to happen to notify - maybe_add_narrowed_messages(messages, narrowed_msg_list, true); + maybe_add_narrowed_messages(messages, message_list.narrowed, true); } } else { notifications.possibly_notify_new_messages_outside_viewport(messages); @@ -411,8 +411,8 @@ exports.insert_new_messages = function insert_new_messages(messages) { function process_result(messages, opts) { $('#get_old_messages_error').hide(); - if ((messages.length === 0) && (current_msg_list === narrowed_msg_list) && - narrowed_msg_list.empty()) { + if ((messages.length === 0) && (current_msg_list === message_list.narrowed) && + message_list.narrowed.empty()) { // Even after trying to load more messages, we have no // messages to display in this narrow. narrow.show_empty_narrow_message(); @@ -632,7 +632,7 @@ util.execute_early(function () { // created, but due to the closure, the old list is not garbage collected. This also leads // to the old list receiving the change id events, and throwing errors as it does not // have the messages that you would expect in its internal data structures. - _.each([message_list.all, home_msg_list, narrowed_msg_list], function (msg_list) { + _.each([message_list.all, home_msg_list, message_list.narrowed], function (msg_list) { if (msg_list !== undefined) { msg_list.change_message_id(old_id, new_id); diff --git a/static/js/narrow.js b/static/js/narrow.js index fbd6981001..46c4aa349b 100644 --- a/static/js/narrow.js +++ b/static/js/narrow.js @@ -256,14 +256,14 @@ exports.activate = function (raw_operators, opts) { $("body").addClass("narrowed_view"); $("#zfilt").addClass("focused_table"); $("#zhome").removeClass("focused_table"); - narrowed_msg_list = msg_list; - current_msg_list = narrowed_msg_list; + message_list.narrowed = msg_list; + current_msg_list = message_list.narrowed; function maybe_select_closest() { - if (! narrowed_msg_list.empty()) { + if (! message_list.narrowed.empty()) { if (opts.select_first_unread) { - then_select_id = narrowed_msg_list.last().id; - var first_unread = _.find(narrowed_msg_list.all_messages(), unread.message_unread); + then_select_id = message_list.narrowed.last().id; + var first_unread = _.find(message_list.narrowed.all_messages(), unread.message_unread); if (first_unread) { then_select_id = first_unread.id; } @@ -271,12 +271,12 @@ exports.activate = function (raw_operators, opts) { var preserve_pre_narrowing_screen_position = !opts.select_first_unread && - (narrowed_msg_list.get(then_select_id) !== undefined) && + (message_list.narrowed.get(then_select_id) !== undefined) && (then_select_offset !== undefined); var then_scroll = !preserve_pre_narrowing_screen_position; - narrowed_msg_list.select_id(then_select_id, {then_scroll: then_scroll, + message_list.narrowed.select_id(then_select_id, {then_scroll: then_scroll, use_closest: true, force_rerender: true }); @@ -294,15 +294,15 @@ exports.activate = function (raw_operators, opts) { // the message we want anyway or if the filter can't be applied // locally. if (message_list.all.get(then_select_id) !== undefined && current_filter.can_apply_locally()) { - message_store.add_messages(message_list.all.all_messages(), narrowed_msg_list, {delay_render: true}); + message_store.add_messages(message_list.all.all_messages(), message_list.narrowed, {delay_render: true}); } - var defer_selecting_closest = narrowed_msg_list.empty(); + var defer_selecting_closest = message_list.narrowed.empty(); message_store.load_old_messages({ anchor: then_select_id.toFixed(), num_before: 50, num_after: 50, - msg_list: narrowed_msg_list, + msg_list: message_list.narrowed, use_first_unread_anchor: opts.first_unread_from_server, cont: function (messages) { ui.hide_loading_more_messages_indicator(); @@ -342,7 +342,7 @@ exports.activate = function (raw_operators, opts) { } } - $(document).trigger($.Event('narrow_activated.zulip', {msg_list: narrowed_msg_list, + $(document).trigger($.Event('narrow_activated.zulip', {msg_list: message_list.narrowed, filter: current_filter, trigger: opts.trigger})); msg_list.initial_core_time = new Date(); diff --git a/static/js/reload.js b/static/js/reload.js index 027af0bd65..55f9ef62ec 100644 --- a/static/js/reload.js +++ b/static/js/reload.js @@ -51,11 +51,11 @@ function preserve_state(send_after_reload, save_pointer, save_narrow, save_compo } else { url += "+offset=" + home_msg_list.pre_narrow_offset; - var narrow_pointer = narrowed_msg_list.selected_id(); + var narrow_pointer = message_list.narrowed.selected_id(); if (narrow_pointer !== -1) { url += "+narrow_pointer=" + narrow_pointer; } - var narrow_row = narrowed_msg_list.selected_row(); + var narrow_row = message_list.narrowed.selected_row(); if (narrow_row.length > 0) { url += "+narrow_offset=" + narrow_row.offset().top; } @@ -157,7 +157,7 @@ function cleanup_before_reload() { // Empty the large collections clear_message_list(message_list.all); clear_message_list(home_msg_list); - clear_message_list(narrowed_msg_list); + clear_message_list(message_list.narrowed); message_store.clear(); } catch (ex) { diff --git a/static/js/ui.js b/static/js/ui.js index 62ce51c4dd..7f69644dde 100644 --- a/static/js/ui.js +++ b/static/js/ui.js @@ -176,7 +176,7 @@ function need_skinny_mode() { } function update_message_in_all_views(message_id, callback) { - _.each([message_list.all, home_msg_list, narrowed_msg_list], function (list) { + _.each([message_list.all, home_msg_list, message_list.narrowed], function (list) { if (list === undefined) { return; } @@ -195,7 +195,7 @@ exports.find_message = function (message_id) { // (if it was loaded when narrowed), or only in the message_list.all // (if received from the server while in a different narrow) var message; - _.each([message_list.all, home_msg_list, narrowed_msg_list], function (msg_list) { + _.each([message_list.all, home_msg_list, message_list.narrowed], function (msg_list) { if (msg_list !== undefined && message === undefined) { message = msg_list.get(message_id); } diff --git a/static/js/unread.js b/static/js/unread.js index 10fd6ec5cc..f2866dfef2 100644 --- a/static/js/unread.js +++ b/static/js/unread.js @@ -222,7 +222,7 @@ exports.mark_messages_as_read = function mark_messages_as_read (messages, option // Don't do anything if the message is already read. return; } - if (current_msg_list === narrowed_msg_list) { + if (current_msg_list === message_list.narrowed) { unread.messages_read_in_narrow = true; } @@ -236,8 +236,8 @@ exports.mark_messages_as_read = function mark_messages_as_read (messages, option unread.process_read_message(message, options); home_msg_list.show_message_as_read(message, options); message_list.all.show_message_as_read(message, options); - if (narrowed_msg_list) { - narrowed_msg_list.show_message_as_read(message, options); + if (message_list.narrowed) { + message_list.narrowed.show_message_as_read(message, options); } notifications.close_notification(message); processed = true; diff --git a/static/js/zulip.js b/static/js/zulip.js index 3681876966..9f2cd7ba6f 100644 --- a/static/js/zulip.js +++ b/static/js/zulip.js @@ -1,7 +1,6 @@ var home_msg_list = new message_list.MessageList('zhome', new Filter([{operator: "in", operand: "home"}]), {muting_enabled: true} ); -var narrowed_msg_list; var current_msg_list = home_msg_list; var recent_subjects = new Dict({fold_case: true}); diff --git a/tools/jslint/check-all.js b/tools/jslint/check-all.js index 2320335f14..84b4be5572 100644 --- a/tools/jslint/check-all.js +++ b/tools/jslint/check-all.js @@ -53,7 +53,7 @@ var globals = + ' localstorage' // zulip.js - + ' home_msg_list narrowed_msg_list current_msg_list' + + ' home_msg_list current_msg_list' + ' respond_to_message recenter_view last_viewport_movement_direction' + ' scroll_to_selected get_private_message_recipient' + ' process_loaded_for_unread'