Move recent_subjects to stream_data.

This commit is contained in:
Vishnu Ks
2016-06-05 02:10:25 +05:30
committed by Tim Abbott
parent 760ff216ad
commit d30ea0bc44
8 changed files with 29 additions and 31 deletions

View File

@@ -22,11 +22,11 @@ set_global('feature_flags', {
set_global('page_params', {
email: 'bob@zulip.com'
});
set_global('recent_subjects', new global.Dict({fold_case: true}));
var stream_data = require('js/stream_data.js');
set_global('stream_data', {
get_name: stream_data.get_name
get_name: stream_data.get_name,
recent_subjects: new global.Dict({fold_case: true})
});
set_global('narrow', {});
@@ -243,7 +243,7 @@ set_global('narrow', {});
return 'office';
};
global.recent_subjects = new global.Dict.from({
global.stream_data.recent_subjects = new global.Dict.from({
'devel': [
{subject: 'REXX'}
],
@@ -311,7 +311,7 @@ set_global('narrow', {});
return;
};
global.recent_subjects = new global.Dict({fold_case: true});
global.stream_data.recent_subjects = new global.Dict({fold_case: true});
var suggestions = search.get_suggestions(query);
@@ -333,7 +333,7 @@ set_global('narrow', {});
return;
};
global.recent_subjects = new global.Dict({fold_case: true});
global.stream_data.recent_subjects = new global.Dict({fold_case: true});
var suggestions = search.get_suggestions(query);
@@ -371,7 +371,7 @@ set_global('narrow', {});
}
];
global.recent_subjects = new global.Dict.from({
global.stream_data.recent_subjects = new global.Dict.from({
office: [
{subject: 'team'},
{subject: 'ignore'},

View File

@@ -11,7 +11,8 @@ add_dependencies({
hashchange: 'js/hashchange'
});
set_global('recent_subjects', new global.Dict());
global.recent_subjects = new global.Dict();
set_global('unread', {});
set_global('message_store', {
recent_private_messages: new global.Array()
@@ -38,7 +39,7 @@ global.use_template('stream_privacy');
var topics = [
{subject: "coding"}
];
global.recent_subjects.set("devel", topics);
global.stream_data.recent_subjects.set("devel", topics);
global.unread.num_unread_for_subject = function () {
return 1;
};

View File

@@ -47,22 +47,20 @@ exports.process_message_for_recent_subjects = function process_message_for_recen
var stream = message.stream;
var canon_subject = stream_data.canonicalized_name(message.subject);
if (! recent_subjects.has(stream)) {
recent_subjects.set(stream, []);
if (! stream_data.recent_subjects.has(stream)) {
stream_data.recent_subjects.set(stream, []);
} else {
recent_subjects.set(stream,
_.filter(recent_subjects.get(stream), function (item) {
stream_data.recent_subjects.set(stream, _.filter(stream_data.recent_subjects.get(stream), function (item) {
var is_duplicate = (item.canon_subject.toLowerCase() === canon_subject.toLowerCase());
if (is_duplicate) {
current_timestamp = item.timestamp;
count = item.count;
}
return !is_duplicate;
}));
}
var recents = recent_subjects.get(stream);
var recents = stream_data.recent_subjects.get(stream);
if (remove_message !== undefined) {
count = count - 1;
@@ -81,7 +79,7 @@ exports.process_message_for_recent_subjects = function process_message_for_recen
return b.timestamp - a.timestamp;
});
recent_subjects.set(stream, recents);
stream_data.recent_subjects.set(stream, recents);
};
exports.process_message_for_recent_private_messages = function process_message_for_recent_private_messages(message, remove_message) {

View File

@@ -255,7 +255,7 @@ function get_topic_suggestions(query_operators) {
return [];
}
var topics = recent_subjects.get(stream);
var topics = stream_data.recent_subjects.get(stream);
stream = stream_data.get_name(stream);
@@ -263,7 +263,7 @@ function get_topic_suggestions(query_operators) {
return [];
}
// Be defensive here in case recent_subjects gets super huge, but
// Be defensive here in case stream_data.recent_subjects gets super huge, but
// still slice off enough topics to find matches.
topics = topics.slice(0, 300);

View File

@@ -12,6 +12,8 @@ exports.clear_subscriptions = function () {
stream_info = new Dict({fold_case: true});
subs_by_stream_id = new Dict();
};
exports.recent_subjects = new Dict({fold_case: true});
exports.clear_subscriptions();

View File

@@ -29,9 +29,9 @@ exports.build_stream_list = function () {
streams.sort(function (a, b) {
if (sort_recent) {
if (recent_subjects.has(b) && ! recent_subjects.has(a)) {
if (stream_data.recent_subjects.has(b) && ! stream_data.recent_subjects.has(a)) {
return 1;
} else if (! recent_subjects.has(b) && recent_subjects.has(a)) {
} else if (! stream_data.recent_subjects.has(b) && stream_data.recent_subjects.has(a)) {
return -1;
}
}
@@ -52,7 +52,7 @@ exports.build_stream_list = function () {
_.each(streams, function (stream) {
var li = $(stream_data.get_sub(stream).sidebar_li);
if (sort_recent) {
if (! recent_subjects.has(stream)) {
if (! stream_data.recent_subjects.has(stream)) {
li.addClass('inactive_stream');
} else {
li.removeClass('inactive_stream');
@@ -291,7 +291,7 @@ exports.remove_narrow_filter = function (name, type) {
};
exports._build_subject_list = function (stream, active_topic, max_subjects) {
var subjects = recent_subjects.get(stream) || [];
var subjects = stream_data.recent_subjects.get(stream) || [];
if (active_topic) {
active_topic = active_topic.toLowerCase();

View File

@@ -3,8 +3,6 @@ var home_msg_list = new message_list.MessageList('zhome',
);
var current_msg_list = home_msg_list;
var recent_subjects = new Dict({fold_case: true});
var queued_mark_as_read = [];
var queued_flag_timer;

View File

@@ -56,7 +56,6 @@ var globals =
+ ' home_msg_list current_msg_list'
+ ' respond_to_message'
+ ' process_loaded_for_unread'
+ ' recent_subjects'
;