mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 21:43:21 +00:00
Move narrowed_msg_list to message_list.js.
This commit is contained in:
@@ -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
|
// We don't handle unread counts since local messages must be sent by us
|
||||||
|
|
||||||
home_msg_list.view.rerender_messages([message]);
|
home_msg_list.view.rerender_messages([message]);
|
||||||
if (current_msg_list === narrowed_msg_list) {
|
if (current_msg_list === message_list.narrowed) {
|
||||||
narrowed_msg_list.view.rerender_messages([message]);
|
message_list.narrowed.view.rerender_messages([message]);
|
||||||
}
|
}
|
||||||
stream_list.update_streams_sidebar();
|
stream_list.update_streams_sidebar();
|
||||||
stream_list.update_private_messages();
|
stream_list.update_private_messages();
|
||||||
@@ -262,8 +262,8 @@ exports.process_from_server = function process_from_server(messages) {
|
|||||||
|
|
||||||
if (updated) {
|
if (updated) {
|
||||||
home_msg_list.view.rerender_messages(msgs_to_rerender);
|
home_msg_list.view.rerender_messages(msgs_to_rerender);
|
||||||
if (current_msg_list === narrowed_msg_list) {
|
if (current_msg_list === message_list.narrowed) {
|
||||||
narrowed_msg_list.view.rerender_messages(msgs_to_rerender);
|
message_list.narrowed.view.rerender_messages(msgs_to_rerender);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_.each(locally_processed_ids, function (id) {
|
_.each(locally_processed_ids, function (id) {
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ var message_list = (function () {
|
|||||||
|
|
||||||
var exports = {};
|
var exports = {};
|
||||||
|
|
||||||
|
exports.narrowed = undefined;
|
||||||
|
|
||||||
exports.MessageList = function (table_name, filter, opts) {
|
exports.MessageList = function (table_name, filter, opts) {
|
||||||
_.extend(this, {
|
_.extend(this, {
|
||||||
collapse_messages: true,
|
collapse_messages: true,
|
||||||
@@ -76,14 +78,14 @@ exports.MessageList.prototype = {
|
|||||||
self.append(bottom_messages, opts);
|
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
|
// If adding some new messages to the message tables caused
|
||||||
// our current narrow to no longer be empty, hide the empty
|
// our current narrow to no longer be empty, hide the empty
|
||||||
// feed placeholder text.
|
// feed placeholder text.
|
||||||
narrow.hide_empty_narrow_message();
|
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) {
|
(self.selected_id() === -1) && !opts.delay_render) {
|
||||||
// And also select the newly arrived message.
|
// And also select the newly arrived message.
|
||||||
self.select_id(self.selected_id(), {then_scroll: true, use_closest: true});
|
self.select_id(self.selected_id(), {then_scroll: true, use_closest: true});
|
||||||
|
|||||||
@@ -342,14 +342,14 @@ exports.update_messages = function update_messages(events) {
|
|||||||
if (topic_edited) {
|
if (topic_edited) {
|
||||||
if (!changed_narrow) {
|
if (!changed_narrow) {
|
||||||
home_msg_list.rerender();
|
home_msg_list.rerender();
|
||||||
if (current_msg_list === narrowed_msg_list) {
|
if (current_msg_list === message_list.narrowed) {
|
||||||
narrowed_msg_list.rerender();
|
message_list.narrowed.rerender();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
home_msg_list.view.rerender_messages(msgs_to_rerender);
|
home_msg_list.view.rerender_messages(msgs_to_rerender);
|
||||||
if (current_msg_list === narrowed_msg_list) {
|
if (current_msg_list === message_list.narrowed) {
|
||||||
narrowed_msg_list.view.rerender_messages(msgs_to_rerender);
|
message_list.narrowed.view.rerender_messages(msgs_to_rerender);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
unread.update_unread_counts();
|
unread.update_unread_counts();
|
||||||
@@ -367,11 +367,11 @@ exports.insert_new_messages = function insert_new_messages(messages) {
|
|||||||
|
|
||||||
if (narrow.active()) {
|
if (narrow.active()) {
|
||||||
if (narrow.filter().can_apply_locally()) {
|
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);
|
notifications.possibly_notify_new_messages_outside_viewport(messages);
|
||||||
} else {
|
} else {
|
||||||
// if we cannot apply locally, we have to wait for this callback to happen to notify
|
// 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 {
|
} else {
|
||||||
notifications.possibly_notify_new_messages_outside_viewport(messages);
|
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) {
|
function process_result(messages, opts) {
|
||||||
$('#get_old_messages_error').hide();
|
$('#get_old_messages_error').hide();
|
||||||
|
|
||||||
if ((messages.length === 0) && (current_msg_list === narrowed_msg_list) &&
|
if ((messages.length === 0) && (current_msg_list === message_list.narrowed) &&
|
||||||
narrowed_msg_list.empty()) {
|
message_list.narrowed.empty()) {
|
||||||
// Even after trying to load more messages, we have no
|
// Even after trying to load more messages, we have no
|
||||||
// messages to display in this narrow.
|
// messages to display in this narrow.
|
||||||
narrow.show_empty_narrow_message();
|
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
|
// 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
|
// 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.
|
// 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) {
|
if (msg_list !== undefined) {
|
||||||
msg_list.change_message_id(old_id, new_id);
|
msg_list.change_message_id(old_id, new_id);
|
||||||
|
|
||||||
|
|||||||
@@ -256,14 +256,14 @@ exports.activate = function (raw_operators, opts) {
|
|||||||
$("body").addClass("narrowed_view");
|
$("body").addClass("narrowed_view");
|
||||||
$("#zfilt").addClass("focused_table");
|
$("#zfilt").addClass("focused_table");
|
||||||
$("#zhome").removeClass("focused_table");
|
$("#zhome").removeClass("focused_table");
|
||||||
narrowed_msg_list = msg_list;
|
message_list.narrowed = msg_list;
|
||||||
current_msg_list = narrowed_msg_list;
|
current_msg_list = message_list.narrowed;
|
||||||
|
|
||||||
function maybe_select_closest() {
|
function maybe_select_closest() {
|
||||||
if (! narrowed_msg_list.empty()) {
|
if (! message_list.narrowed.empty()) {
|
||||||
if (opts.select_first_unread) {
|
if (opts.select_first_unread) {
|
||||||
then_select_id = narrowed_msg_list.last().id;
|
then_select_id = message_list.narrowed.last().id;
|
||||||
var first_unread = _.find(narrowed_msg_list.all_messages(), unread.message_unread);
|
var first_unread = _.find(message_list.narrowed.all_messages(), unread.message_unread);
|
||||||
if (first_unread) {
|
if (first_unread) {
|
||||||
then_select_id = first_unread.id;
|
then_select_id = first_unread.id;
|
||||||
}
|
}
|
||||||
@@ -271,12 +271,12 @@ exports.activate = function (raw_operators, opts) {
|
|||||||
|
|
||||||
var preserve_pre_narrowing_screen_position =
|
var preserve_pre_narrowing_screen_position =
|
||||||
!opts.select_first_unread &&
|
!opts.select_first_unread &&
|
||||||
(narrowed_msg_list.get(then_select_id) !== undefined) &&
|
(message_list.narrowed.get(then_select_id) !== undefined) &&
|
||||||
(then_select_offset !== undefined);
|
(then_select_offset !== undefined);
|
||||||
|
|
||||||
var then_scroll = !preserve_pre_narrowing_screen_position;
|
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,
|
use_closest: true,
|
||||||
force_rerender: 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
|
// the message we want anyway or if the filter can't be applied
|
||||||
// locally.
|
// locally.
|
||||||
if (message_list.all.get(then_select_id) !== undefined && current_filter.can_apply_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({
|
message_store.load_old_messages({
|
||||||
anchor: then_select_id.toFixed(),
|
anchor: then_select_id.toFixed(),
|
||||||
num_before: 50,
|
num_before: 50,
|
||||||
num_after: 50,
|
num_after: 50,
|
||||||
msg_list: narrowed_msg_list,
|
msg_list: message_list.narrowed,
|
||||||
use_first_unread_anchor: opts.first_unread_from_server,
|
use_first_unread_anchor: opts.first_unread_from_server,
|
||||||
cont: function (messages) {
|
cont: function (messages) {
|
||||||
ui.hide_loading_more_messages_indicator();
|
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,
|
filter: current_filter,
|
||||||
trigger: opts.trigger}));
|
trigger: opts.trigger}));
|
||||||
msg_list.initial_core_time = new Date();
|
msg_list.initial_core_time = new Date();
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ function preserve_state(send_after_reload, save_pointer, save_narrow, save_compo
|
|||||||
} else {
|
} else {
|
||||||
url += "+offset=" + home_msg_list.pre_narrow_offset;
|
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) {
|
if (narrow_pointer !== -1) {
|
||||||
url += "+narrow_pointer=" + narrow_pointer;
|
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) {
|
if (narrow_row.length > 0) {
|
||||||
url += "+narrow_offset=" + narrow_row.offset().top;
|
url += "+narrow_offset=" + narrow_row.offset().top;
|
||||||
}
|
}
|
||||||
@@ -157,7 +157,7 @@ function cleanup_before_reload() {
|
|||||||
// Empty the large collections
|
// Empty the large collections
|
||||||
clear_message_list(message_list.all);
|
clear_message_list(message_list.all);
|
||||||
clear_message_list(home_msg_list);
|
clear_message_list(home_msg_list);
|
||||||
clear_message_list(narrowed_msg_list);
|
clear_message_list(message_list.narrowed);
|
||||||
message_store.clear();
|
message_store.clear();
|
||||||
|
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ function need_skinny_mode() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function update_message_in_all_views(message_id, callback) {
|
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) {
|
if (list === undefined) {
|
||||||
return;
|
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 it was loaded when narrowed), or only in the message_list.all
|
||||||
// (if received from the server while in a different narrow)
|
// (if received from the server while in a different narrow)
|
||||||
var message;
|
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) {
|
if (msg_list !== undefined && message === undefined) {
|
||||||
message = msg_list.get(message_id);
|
message = msg_list.get(message_id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.
|
// Don't do anything if the message is already read.
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (current_msg_list === narrowed_msg_list) {
|
if (current_msg_list === message_list.narrowed) {
|
||||||
unread.messages_read_in_narrow = true;
|
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);
|
unread.process_read_message(message, options);
|
||||||
home_msg_list.show_message_as_read(message, options);
|
home_msg_list.show_message_as_read(message, options);
|
||||||
message_list.all.show_message_as_read(message, options);
|
message_list.all.show_message_as_read(message, options);
|
||||||
if (narrowed_msg_list) {
|
if (message_list.narrowed) {
|
||||||
narrowed_msg_list.show_message_as_read(message, options);
|
message_list.narrowed.show_message_as_read(message, options);
|
||||||
}
|
}
|
||||||
notifications.close_notification(message);
|
notifications.close_notification(message);
|
||||||
processed = true;
|
processed = true;
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
var home_msg_list = new message_list.MessageList('zhome',
|
var home_msg_list = new message_list.MessageList('zhome',
|
||||||
new Filter([{operator: "in", operand: "home"}]), {muting_enabled: true}
|
new Filter([{operator: "in", operand: "home"}]), {muting_enabled: true}
|
||||||
);
|
);
|
||||||
var narrowed_msg_list;
|
|
||||||
var current_msg_list = home_msg_list;
|
var current_msg_list = home_msg_list;
|
||||||
|
|
||||||
var recent_subjects = new Dict({fold_case: true});
|
var recent_subjects = new Dict({fold_case: true});
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ var globals =
|
|||||||
+ ' localstorage'
|
+ ' localstorage'
|
||||||
|
|
||||||
// zulip.js
|
// 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'
|
+ ' respond_to_message recenter_view last_viewport_movement_direction'
|
||||||
+ ' scroll_to_selected get_private_message_recipient'
|
+ ' scroll_to_selected get_private_message_recipient'
|
||||||
+ ' process_loaded_for_unread'
|
+ ' process_loaded_for_unread'
|
||||||
|
|||||||
Reference in New Issue
Block a user