Fix nick autocomplete

Fixes #1119.
This commit is contained in:
Pavel Djundik 2017-04-27 21:32:58 +03:00
parent 7e72120c41
commit f7b7248ff7

View File

@ -300,8 +300,9 @@ $(function() {
var nicks = chan.find(".users").data("nicks"); var nicks = chan.find(".users").data("nicks");
if (nicks) { if (nicks) {
var find = nicks.indexOf(data.msg.from); var find = nicks.indexOf(data.msg.from);
if (find !== -1 && typeof move === "function") { if (find !== -1) {
move(nicks, find, 0); nicks.splice(find, 1);
nicks.unshift(data.msg.from);
} }
} }
} }
@ -389,9 +390,9 @@ $(function() {
.attr("placeholder", nicks.length + " " + (nicks.length === 1 ? "user" : "users")); .attr("placeholder", nicks.length + " " + (nicks.length === 1 ? "user" : "users"));
users users
.data("nicks", nicks)
.find(".names-original") .find(".names-original")
.html(templates.user(data)) .html(templates.user(data));
.data("nicks", nicks);
// Refresh user search // Refresh user search
if (search.val().length) { if (search.val().length) {
@ -1380,7 +1381,13 @@ $(function() {
} }
function completeNicks(word) { function completeNicks(word) {
const users = chat.find(".active").find(".names-original"); const users = chat.find(".active .users");
// Lobbies and private chats do not have an user list
if (!users.length) {
return [];
}
const words = users.data("nicks"); const words = users.data("nicks");
return $.grep( return $.grep(
@ -1534,17 +1541,6 @@ $(function() {
$("#nick-value").text(nick); $("#nick-value").text(nick);
} }
function move(array, old_index, new_index) {
if (new_index >= array.length) {
var k = new_index - array.length;
while ((k--) + 1) {
this.push(undefined);
}
}
array.splice(new_index, 0, array.splice(old_index, 1)[0]);
return array;
}
function toggleNotificationMarkers(newState) { function toggleNotificationMarkers(newState) {
// Toggles the favicon to red when there are unread notifications // Toggles the favicon to red when there are unread notifications
if (favicon.data("toggled") !== newState) { if (favicon.data("toggled") !== newState) {