buddy list: Use user_ids in DOM list elements.

This commit is contained in:
Steve Howell
2016-11-17 14:16:29 -08:00
committed by Tim Abbott
parent 78474c8bee
commit aadfe133e2
8 changed files with 87 additions and 61 deletions

View File

@@ -206,7 +206,7 @@ exports.show_pm_list_sidebar = function () {
var current_stream_sidebar_elem;
var current_topic_sidebar_elem;
var current_user_sidebar_email;
var current_user_sidebar_user_id;
var current_user_sidebar_popover;
@@ -253,7 +253,7 @@ exports.hide_user_sidebar_popover = function () {
// and inject it here before calling destroy.
$('#user_presences').data("popover", current_user_sidebar_popover);
$('#user_presences').popover("destroy");
current_user_sidebar_email = undefined;
current_user_sidebar_user_id = undefined;
current_user_sidebar_popover = undefined;
}
};
@@ -397,11 +397,10 @@ exports.register_click_handlers = function () {
// use email of currently selected user, rather than some elem comparison,
// as the presence list may be redrawn with new elements.
var target = $(this).closest('li');
var email = target.find('a').attr('data-email');
var user_id = target.find('a').attr('data-user-id');
var name = target.find('a').attr('data-name');
var user_id = people.get_user_id(email);
if (current_user_sidebar_email === email) {
if (current_user_sidebar_user_id === user_id) {
// If the popover is already shown, clicking again should toggle it.
popovers.hide_all();
return;
@@ -421,7 +420,7 @@ exports.register_click_handlers = function () {
fixed: true
});
target.popover("show");
current_user_sidebar_email = email;
current_user_sidebar_user_id = user_id;
current_user_sidebar_popover = target.data('popover');
});