mirror of
https://github.com/zulip/zulip.git
synced 2025-11-15 19:31:58 +00:00
users: Avoid inserting into the DOM in a loop.
This fixes a major performance issue loading the administration page in large organizations.
This commit is contained in:
@@ -94,15 +94,26 @@ function populate_users(realm_people_data) {
|
||||
deactivated_users = _.sortBy(deactivated_users, 'full_name');
|
||||
bots = _.sortBy(bots, 'full_name');
|
||||
|
||||
var bots_table_html = "";
|
||||
_.each(bots, function (user) {
|
||||
bots_table.append(templates.render("admin_user_list", {user: user}));
|
||||
var bot_html = templates.render("admin_user_list", {user: user});
|
||||
bots_table_html = bots_table_html.concat(bot_html);
|
||||
});
|
||||
bots_table.append(bots_table_html);
|
||||
|
||||
var users_table_html = "";
|
||||
_.each(active_users, function (user) {
|
||||
users_table.append(templates.render("admin_user_list", {user: user}));
|
||||
var user_html = templates.render("admin_user_list", {user: user});
|
||||
users_table_html = users_table_html.concat(user_html);
|
||||
});
|
||||
users_table.append(users_table_html);
|
||||
|
||||
var deactivated_table_html = "";
|
||||
_.each(deactivated_users, function (user) {
|
||||
deactivated_users_table.append(templates.render("admin_user_list", {user: user}));
|
||||
var user_html = templates.render("admin_user_list", {user: user});
|
||||
deactivated_table_html = deactivated_table_html.concat(user_html);
|
||||
});
|
||||
deactivated_users_table.append(deactivated_table_html);
|
||||
loading.destroy_indicator($('#admin_page_users_loading_indicator'));
|
||||
loading.destroy_indicator($('#admin_page_bots_loading_indicator'));
|
||||
loading.destroy_indicator($('#admin_page_deactivated_users_loading_indicator'));
|
||||
|
||||
Reference in New Issue
Block a user