always better

This commit is contained in:
Paul Schneider 2016-12-14 11:23:58 +01:00
commit 14ee4dca29
10 changed files with 102 additions and 28 deletions

View file

@ -52,14 +52,18 @@
var getUsers = function() {
$('#userlist').empty();
$('#to').empty();
chat.server.getUserList().done(
$.get("/api/chat/users").done(
function(users) {
$.each(users, function () {
var user = this;
document.userList[user.UserId]=user;
$('#userlist').append('<li class="user">' + htmlEncode(user.UserName) + '</li>');
$('#to').append('<option value="'+user.UserId+'">'+user.UserName+'</option>');
var li = $('<li class="user">'+htmlEncode(user.UserName)+'</li>');
var cxids = [];
$.each(user.Connections,function() {
cxids.push(this.ConnectionId);
});
li.data("name",user.UserName);
li.data("cxids",cxids);
li.appendTo('#userlist');
});
}
@ -80,11 +84,35 @@
$('#discussion').append('<li class="pv"><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
};
var onUserConnected = function (cxid, username) {
$('#userlist').append('<li class="user">'+username+'</li>')
};
$.fn.filterByData = function(prop, val) {
return this.filter(
function() { return $(this).data(prop)==val; }
);
}
var onUserDisconnected = function (cxid, username) {
$('#userlist li[data-uid='+cxid+']').remove();
$('#userlist li').filter (function() {
var nids = $(this).data("cxids").filter(function() {
return $(this) !== cxid
});
if (nids.Length==0) $(this).remove();
else $(this).data("cxids",nids)
});
};
var onUserConnected = function (cxid, username) {
var connected = $('#userlist li').filterByData("name",username);
if (connected.length>0) {
console.log(connected);
var ids = connected.data("cxids");
console.log(ids);
ids.push(cxid);
connected.data("cxids",ids);
} else {
var li = $('<li class="user">'+username+'</li>');
li.data("name",username);
li.data("cxids",[cxid]);
li.appendTo('#userlist');
}
};
chat.client.notify = function (tag, message, data) {
if (data) {

View file

@ -45,11 +45,10 @@
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a asp-controller="Home" asp-action="Index" class="navbar-link">@SR["Home"]</a></li>
<li><a asp-controller="Blogspot" asp-action="Index" class="navbar-link">@SR["Blogs"]</a></li>
<li><a asp-controller="Home" asp-action="About" class="navbar-link">@SR["About"] @SiteSettings.Value.Title</a> </li>
<li><a asp-controller="Home" asp-action="Chat" class="navbar-link">@SR["Chat"]</a></li>
<li><a asp-controller="Home" asp-action="Contact" class="navbar-link">@SR["Contact"]</a></li>
<li><a asp-controller="Home" asp-action="About" class="navbar-link">@SR["About"] @SiteSettings.Value.Title</a> </li>
</ul>
@await Html.PartialAsync("_LoginPartial")
</div>