Correctly update user list and search filtering on user updates
This commit is contained in:
parent
b1e9a7ffda
commit
c583d6edf9
@ -768,6 +768,9 @@ kbd {
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#chat .channel .chat {
|
||||
right: 180px;
|
||||
}
|
||||
|
||||
@ -791,18 +794,6 @@ kbd {
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
#chat .lobby .chat,
|
||||
#chat .special .chat,
|
||||
#chat .query .chat {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
#chat .lobby .sidebar,
|
||||
#chat .special .sidebar,
|
||||
#chat .query .sidebar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#chat .show-more {
|
||||
display: none;
|
||||
padding: 10px;
|
||||
@ -1180,6 +1171,10 @@ kbd {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#chat .names-filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#chat .names .user {
|
||||
display: block;
|
||||
line-height: 1.6;
|
||||
|
@ -1,5 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = function(count) {
|
||||
return count + " " + (count === 1 ? "user" : "users");
|
||||
};
|
@ -258,8 +258,11 @@ $(function() {
|
||||
|
||||
function renderChannel(data) {
|
||||
renderChannelMessages(data);
|
||||
|
||||
if (data.type === "channel") {
|
||||
renderChannelUsers(data);
|
||||
}
|
||||
}
|
||||
|
||||
function renderChannelMessages(data) {
|
||||
var documentFragment = buildChannelMessages(data.id, data.messages);
|
||||
@ -318,7 +321,19 @@ $(function() {
|
||||
return (oldSortOrder[a] || Number.MAX_VALUE) - (oldSortOrder[b] || Number.MAX_VALUE);
|
||||
});
|
||||
|
||||
users.html(templates.user(data)).data("nicks", nicks);
|
||||
const search = users
|
||||
.find(".search")
|
||||
.attr("placeholder", nicks.length + " " + (nicks.length === 1 ? "user" : "users"));
|
||||
|
||||
users
|
||||
.find(".names-original")
|
||||
.html(templates.user(data))
|
||||
.data("nicks", nicks);
|
||||
|
||||
// Refresh user search
|
||||
if (search.val().length) {
|
||||
search.trigger("input");
|
||||
}
|
||||
}
|
||||
|
||||
function renderNetworks(data) {
|
||||
|
@ -19,8 +19,16 @@
|
||||
</div>
|
||||
<div class="messages"></div>
|
||||
</div>
|
||||
{{#equal type "channel"}}
|
||||
<aside class="sidebar">
|
||||
<div class="users"></div>
|
||||
<div class="users">
|
||||
<div class="count">
|
||||
<input type="search" class="search" aria-label="Search among the user list">
|
||||
</div>
|
||||
<div class="names names-filtered"></div>
|
||||
<div class="names names-original"></div>
|
||||
</div>
|
||||
</aside>
|
||||
{{/equal}}
|
||||
</div>
|
||||
{{/each}}
|
||||
|
@ -1,12 +1,5 @@
|
||||
{{#if users.length}}
|
||||
<div class="count">
|
||||
<input class="search" placeholder="{{users users.length}}" aria-label="Search among the user list">
|
||||
</div>
|
||||
<div class="names names-filtered"></div>
|
||||
{{/if}}
|
||||
<div class="names names-original">
|
||||
{{#diff "reset"}}{{/diff}}
|
||||
{{#each users}}
|
||||
{{#diff "reset"}}{{/diff}}
|
||||
{{#each users}}
|
||||
{{#diff mode}}
|
||||
{{#unless @first}}
|
||||
</div>
|
||||
@ -14,6 +7,5 @@
|
||||
<div class="user-mode {{modes mode}}">
|
||||
{{/diff}}
|
||||
<span role="button" class="user {{colorClass name}}" data-name="{{name}}">{{mode}}{{name}}</span>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user