Merge branch 'vnext' of https://github.com/pazof/yavsc into vnext
* 'vnext' of https://github.com/pazof/yavsc: Formatting no yield return for arrays: Json serialyzer fails to do it. pro net private chat pv test succeeded switch pub chan<->private
This commit is contained in:
commit
73dfd48f20
3 changed files with 35 additions and 24 deletions
|
|
@ -24,7 +24,7 @@ namespace Yavsc.Controllers
|
|||
[HttpGet("users")]
|
||||
public IEnumerable<ChatUserInfo> GetUserList()
|
||||
{
|
||||
|
||||
List<ChatUserInfo> result = new List<ChatUserInfo>();
|
||||
var cxsQuery = dbContext.Connections?.Include(c=>c.Owner).GroupBy( c => c.ApplicationUserId );
|
||||
|
||||
// List<ChatUserInfo> result = new List<ChatUserInfo>();
|
||||
|
|
@ -37,12 +37,12 @@ namespace Yavsc.Controllers
|
|||
if (cxs.Count>0) {
|
||||
var user = cxs.First().Owner;
|
||||
|
||||
yield return new ChatUserInfo { UserName = user.UserName,
|
||||
result.Add(new ChatUserInfo { UserName = user.UserName,
|
||||
UserId = user.Id, Avatar = user.Avatar, Connections = cxs,
|
||||
Roles = ( userManager.GetRolesAsync(user) ).Result.ToArray() };
|
||||
Roles = ( userManager.GetRolesAsync(user) ).Result.ToArray() });
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,14 +16,20 @@
|
|||
color: black;
|
||||
font-family: monospace;
|
||||
font-style: bold;
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div class="container">
|
||||
<input type="hidden" id="displayname" />
|
||||
|
||||
<ul id="userlist" style="float:right;">
|
||||
<div style="float:right; background-color: grey; padding:1em; margin:1em;">
|
||||
<h3>Salons</h3>
|
||||
<ul><li id="pubChan">Public</li></ul>
|
||||
<h3>Utilisateurs</h3>
|
||||
<ul id="userlist" style="list-style-type:none;">
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<ul id="discussion">
|
||||
</ul>
|
||||
<div style="display: inline-block;">
|
||||
|
|
@ -52,42 +58,43 @@
|
|||
<script>
|
||||
|
||||
$(function () {
|
||||
|
||||
document.userList = [];
|
||||
var pvuis;
|
||||
|
||||
var setPrivate = function(li)
|
||||
{
|
||||
$("#sendmessagebox").addClass("hidden");
|
||||
$("#sendpvbox").removeClass("hidden");
|
||||
document.privateChatter = document.userList[$(li).data("usernum")];
|
||||
|
||||
$('#sendpvdest').html(document.privateChatter.UserName)
|
||||
pvuis = { CXs: $(li).data("cxids"), UserName: $(li).data("name")};
|
||||
$('#sendpvdest').html(pvuis.UserName)
|
||||
}
|
||||
var setPublic = function()
|
||||
{
|
||||
$("#sendmessagebox").removeClass("hidden");
|
||||
$("#sendpvbox").addClass("hidden");
|
||||
document.privateChatter = {};
|
||||
}
|
||||
$('#pubChan').css('cursor','pointer');
|
||||
$('#pubChan').click(setPublic);
|
||||
setPublic();
|
||||
|
||||
var getUsers = function() {
|
||||
console.log("Try and get user list ...");
|
||||
$('#userlist').empty();
|
||||
$('#to').empty();
|
||||
$.get("/api/chat/users").done(
|
||||
function(users) {
|
||||
$.each(users, function () {
|
||||
var user = this;
|
||||
console.log(user);
|
||||
var existent = $('#userlist li').filterByData("name",user.UserName);
|
||||
if (existent.length>0) existent.remove();
|
||||
var li = $('<li class="user">'+htmlEncode(user.UserName)+'</li>');
|
||||
var li = $('<li class="user"><img src="/Avatars/'+user.UserName+'.xs.png"> '+htmlEncode(user.UserName)+'</li>');
|
||||
|
||||
var cxids = [];
|
||||
$.each(user.Connections,function() {
|
||||
cxids.push(this.ConnectionId);
|
||||
});
|
||||
$(li).data("name",user.UserName);
|
||||
$(li).data("cxids",cxids);
|
||||
document.userList.push(user);
|
||||
$(li).data("usernum",document.userList.length-1);
|
||||
$(li).css('cursor','pointer');
|
||||
$(li).click(function(){
|
||||
setPrivate(this);
|
||||
|
|
@ -133,7 +140,7 @@
|
|||
ids.push(cxid);
|
||||
connected.data("cxids",ids);
|
||||
} else {
|
||||
var li = $('<li class="user">'+username+'</li>');
|
||||
var li = $('<li class="user"><img src="/Avatars/'+username+'.xs.png"> '+username+'</li>');
|
||||
li.data("name",username);
|
||||
li.data("cxids",[cxid]);
|
||||
li.appendTo('#userlist');
|
||||
|
|
@ -182,8 +189,8 @@ $('#discussion').append('<li class="notif"><i>' + htmlEncode(tag)
|
|||
$('#sendpv').click(function () {
|
||||
|
||||
// Call the Send method on the hub.
|
||||
$.each(document.privateChatter.Connections,function () {
|
||||
chat.server.sendPV( this.ConnectionId, $('#pv').val());
|
||||
$.each(pvuis.CXs,function () {
|
||||
chat.server.sendPV( this, $('#pv').val());
|
||||
});
|
||||
// Clear text box and reset focus for next comment.
|
||||
$('#pv').val('').focus();
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ Ceci est une grosse liste de fonctionnalités, existantes, ou à implémenter, o
|
|||
✔ Accès aux profiles des intervenants. @done (August 13th 2016, 0:57)
|
||||
✔ Demande de devis, spécifiant une date et un lieu, envers un pro (ou "BookQuery", ou "demande de rendez-vous"). @done (August 13th 2016, 0:57)
|
||||
✔ Notifications commande. @done (September 15th 2016, 15:00)
|
||||
✔ Rendu html du format Markdown-av (+audio&video). @done (October 6th 2016, 14:32)
|
||||
✔ Rendu Html du format Markdown-av (+audio&video). @done (October 6th 2016, 14:32)
|
||||
✔ Rendu Android, via WebKit WebView. @done (October 6th 2016, 14:32)
|
||||
✔ Salon public. @done (September 28th 2016, 17:58)
|
||||
✔ Saisie et soumission basique du devis. @done (October 30th 2016, 21:50)
|
||||
|
|
@ -49,16 +49,18 @@ Ceci est une grosse liste de fonctionnalités, existantes, ou à implémenter, o
|
|||
☐ Évaluation de la prestation.
|
||||
☐ Page d'accueil du mobile: Les alertes, et les derniers événements, donc, les derniers post, les
|
||||
dernières inscriptions de prestataire, les annonces corporate
|
||||
* La selection d'une star: pas de notation à afficher + idem chanteur
|
||||
* La sélection d'une star: pas de notation à afficher + idem chanteur,
|
||||
les critères : la date, les champs du formulaire de commande: le message, le lieu
|
||||
☐ depuis le mobile
|
||||
☐ depuis le Web
|
||||
* La selection d'un DJ: (rechercher dans / afficher) les samples + idem chanteur
|
||||
* La sélection d'un DJ: (rechercher dans / afficher) les samples + idem chanteur
|
||||
les critères : la date, les champs du formulaire de commande: le message, le lieu, la tendance musicale
|
||||
☐ depuis le mobile
|
||||
☐ depuis le Web
|
||||
* La selection d'un chanteur: (rechercher dans / afficher) les titres du répértoire
|
||||
* La sélection d'un chanteur: (rechercher dans / afficher) les titres du répertoire
|
||||
☐ depuis le mobile
|
||||
☐ depuis le Web
|
||||
* La selection d'une formation musicale: idem chanteur + (rechercher/afficher) la taille de la formation
|
||||
* La sélection d'une formation musicale: idem chanteur + (rechercher/afficher) la taille de la formation
|
||||
☐ depuis le mobile
|
||||
☐ depuis le Web
|
||||
|
||||
|
|
@ -125,9 +127,11 @@ Ceci est une grosse liste de fonctionnalités, existantes, ou à implémenter, o
|
|||
en l'enregistrant comme activité fille. Par ailleurs, l'utilisateur peut déclarer plusieurs activités,
|
||||
sous la forme d'une liste, dont le premier élément indique l'activité principale
|
||||
(pour laquelle un code APE doit correspondre).
|
||||
☐ Le streaming video, de pair à pair
|
||||
☐ Le streaming vidéo, de pair à pair
|
||||
☐ Le streaming vidéo public.
|
||||
|
||||
## Jalon 5
|
||||
|
||||
☐ Conciliation
|
||||
☐ Le réseau pro : on a des sous-traitants, on leur transmet des demandes de devis en tant que dépendance
|
||||
d'une demande en cours,cette dernière n'est validable qu'une fois seulement que tous les devis dont elle dépend sont validés.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue