mirror of
https://github.com/zulip/zulip.git
synced 2025-11-01 20:44:04 +00:00
Use Dict[user_id] in people.filter_by_search_terms.
The function people.filter_by_search_terms() used to return a JS object with emails as keys to represent a set of users. Now we return a Zulip Dict() object with user_ids as keys.
This commit is contained in:
@@ -174,22 +174,22 @@ initialize();
|
||||
var search_term = 'a';
|
||||
var users = people.get_rest_of_realm();
|
||||
var filtered_people = people.filter_people_by_search_terms(users, [search_term]);
|
||||
assert.equal(filtered_people["ashton@example.com"], true);
|
||||
assert.equal(filtered_people["athens@example.com"], true);
|
||||
assert.equal(_.keys(filtered_people).length, 2);
|
||||
assert(!_.has(filtered_people, 'charles@example.com'));
|
||||
assert.equal(filtered_people.num_items(), 2);
|
||||
assert(filtered_people.has(ashton.user_id));
|
||||
assert(filtered_people.has(maria.user_id));
|
||||
assert(!filtered_people.has(charles.user_id));
|
||||
|
||||
filtered_people = people.filter_people_by_search_terms(users, []);
|
||||
assert(_.isEmpty(filtered_people));
|
||||
assert.equal(filtered_people.num_items(), 0);
|
||||
|
||||
filtered_people = people.filter_people_by_search_terms(users, ['ltorv']);
|
||||
assert.equal(_.keys(filtered_people).length, 1);
|
||||
assert(_.has(filtered_people, 'ltorvalds@example.com'));
|
||||
assert.equal(filtered_people.num_items(), 1);
|
||||
assert(filtered_people.has(linus.user_id));
|
||||
|
||||
filtered_people = people.filter_people_by_search_terms(users, ['ch di', 'maria']);
|
||||
assert.equal(_.keys(filtered_people).length, 2);
|
||||
assert(_.has(filtered_people, 'charles@example.com'));
|
||||
assert(_.has(filtered_people, 'athens@example.com'));
|
||||
assert.equal(filtered_people.num_items(), 2);
|
||||
assert(filtered_people.has(charles.user_id));
|
||||
assert(filtered_people.has(maria.user_id));
|
||||
|
||||
}());
|
||||
|
||||
|
||||
@@ -250,11 +250,8 @@ function filter_user_ids(user_ids) {
|
||||
return people.get_person_from_user_id(user_id);
|
||||
});
|
||||
|
||||
var email_dict = people.filter_people_by_search_terms(persons, search_terms);
|
||||
user_ids = _.map(_.keys(email_dict), function (email) {
|
||||
return people.get_user_id(email);
|
||||
});
|
||||
return user_ids;
|
||||
var user_id_dict = people.filter_people_by_search_terms(persons, search_terms);
|
||||
return user_id_dict.keys();
|
||||
}
|
||||
|
||||
function filter_and_sort(users) {
|
||||
|
||||
@@ -202,7 +202,7 @@ exports.incr_recipient_count = function (email) {
|
||||
};
|
||||
|
||||
exports.filter_people_by_search_terms = function (users, search_terms) {
|
||||
var filtered_users = {};
|
||||
var filtered_users = new Dict();
|
||||
|
||||
var matchers = _.map(search_terms, function (search_term) {
|
||||
var termlets = search_term.toLowerCase().split(/\s+/);
|
||||
@@ -249,7 +249,7 @@ exports.filter_people_by_search_terms = function (users, search_terms) {
|
||||
});
|
||||
|
||||
if (match) {
|
||||
filtered_users[email] = true;
|
||||
filtered_users.set(person.user_id, true);
|
||||
}
|
||||
});
|
||||
return filtered_users;
|
||||
|
||||
@@ -939,8 +939,7 @@ $(function () {
|
||||
user_labels.each(function () {
|
||||
var elem = $(this);
|
||||
var user_id = elem.attr('data-user-id');
|
||||
var user = people.get_person_from_user_id(user_id);
|
||||
var user_checked = filtered_users.hasOwnProperty(user.email);
|
||||
var user_checked = filtered_users.has(user_id);
|
||||
var display = user_checked ? "block" : "none";
|
||||
elem.css({display: display});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user