mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-29 23:36:27 +00:00
Show conversations name
This commit is contained in:
parent
fa225319fc
commit
5e3bdad501
@ -30,3 +30,25 @@ function lang(stringName, stringParams){
|
|||||||
function openPage(pageURI, additionnalData){
|
function openPage(pageURI, additionnalData){
|
||||||
return ComunicWeb.common.page.openPage(pageURI, additionnalData);
|
return ComunicWeb.common.page.openPage(pageURI, additionnalData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns user ID (if logged in)
|
||||||
|
*
|
||||||
|
* @param Nothing
|
||||||
|
* @return {Integer} The ID of the user
|
||||||
|
*/
|
||||||
|
function userID(){
|
||||||
|
return ComunicWeb.user.userLogin.getUserID();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get multiple users informations
|
||||||
|
*
|
||||||
|
* @param {Array~Object} usersID User on which to make request (current to get connected user)
|
||||||
|
* @param {function} afterGetUserInfos What to do once users informations are available
|
||||||
|
* @param {Boolean} forceRequest Force the request to be made
|
||||||
|
* @return {Boolean} True for a success
|
||||||
|
*/
|
||||||
|
function getUsersInfos(usersID, afterGetUserInfos, forceRequest){
|
||||||
|
ComunicWeb.user.userInfos.getMultipleUsersInfos(usersID, afterGetUserInfos, forceRequest);
|
||||||
|
}
|
@ -26,7 +26,7 @@ ComunicWeb.components.conversations.list = {
|
|||||||
listBox.boxFooter.remove();
|
listBox.boxFooter.remove();
|
||||||
|
|
||||||
//Add the create button
|
//Add the create button
|
||||||
var createButton = createElem("button");
|
/*var createButton = createElem("button");
|
||||||
listBox.boxTools.insertBefore(createButton, listBox.boxTools.children[0]);
|
listBox.boxTools.insertBefore(createButton, listBox.boxTools.children[0]);
|
||||||
createButton.className = "btn btn-box-tool";
|
createButton.className = "btn btn-box-tool";
|
||||||
createButton.onclick = function(){
|
createButton.onclick = function(){
|
||||||
@ -36,10 +36,10 @@ ComunicWeb.components.conversations.list = {
|
|||||||
|
|
||||||
//Button icon
|
//Button icon
|
||||||
var createButtonIcon = createElem("i", createButton);
|
var createButtonIcon = createElem("i", createButton);
|
||||||
createButtonIcon.className = "fa fa-pencil";
|
createButtonIcon.className = "fa fa-pencil";*/
|
||||||
|
|
||||||
//Get and display conversations list
|
//Get and display conversations list
|
||||||
this.showConversationsList();
|
this.showConversationsList(listBox);
|
||||||
|
|
||||||
//Success
|
//Success
|
||||||
return true;
|
return true;
|
||||||
@ -186,18 +186,120 @@ ComunicWeb.components.conversations.list = {
|
|||||||
/**
|
/**
|
||||||
* Show the conversations list
|
* Show the conversations list
|
||||||
*
|
*
|
||||||
|
* @param {Object} listBox HTML elements about the listBox
|
||||||
* @return {Boolean} True for a success
|
* @return {Boolean} True for a success
|
||||||
*/
|
*/
|
||||||
showConversationsList: function(){
|
showConversationsList: function(listBox){
|
||||||
|
|
||||||
//Get and show the conversation list
|
//Get and show the conversation list
|
||||||
ComunicWeb.components.conversations.interface.getList(function(){
|
ComunicWeb.components.conversations.interface.getList(function(conversations){
|
||||||
|
|
||||||
console.log("OK --------------------");
|
//Add the "create a conversation button"
|
||||||
|
var createConversationButton = createElem("button", listBox.boxBody);
|
||||||
|
createConversationButton.style.width = "100%";
|
||||||
|
createConversationButton.style.marginBottom = "5px";
|
||||||
|
createConversationButton.className = "btn btn-default btn-flat";
|
||||||
|
createConversationButton.innerHTML = "Create a new conversation";
|
||||||
|
|
||||||
|
//Create a ul element that will contain conversation list
|
||||||
|
var ulElem = createElem("ul", listBox.boxBody);
|
||||||
|
ulElem.className = "nav nav-pills nav-stacked";
|
||||||
|
|
||||||
|
//Make create converstion button lives
|
||||||
|
createConversationButton.onclick = function(){
|
||||||
|
ComunicWeb.components.conversations.list.displayCreateForm(listBox);
|
||||||
|
};
|
||||||
|
|
||||||
|
//Process each conversation elements
|
||||||
|
for(i in conversations){
|
||||||
|
|
||||||
|
//Extract conversation informations
|
||||||
|
var conversationInfos = conversations[i];
|
||||||
|
|
||||||
|
//Create subElement
|
||||||
|
var liElem = createElem("li", ulElem);
|
||||||
|
|
||||||
|
//Display entry
|
||||||
|
ComunicWeb.components.conversations.list.showConversationEntry(conversationInfos, liElem);
|
||||||
|
}
|
||||||
|
|
||||||
}, true);
|
}, true);
|
||||||
|
|
||||||
//Success
|
//Success
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show a conversation entry
|
||||||
|
*
|
||||||
|
* @param {Object} conversationInfos Informations about the conversation
|
||||||
|
* @param {HTMLElement} entryTarget The target for the entry
|
||||||
|
* @return {Boolean} True for a success
|
||||||
|
*/
|
||||||
|
showConversationEntry: function(conversationInfos, entryTarget){
|
||||||
|
|
||||||
|
//Create link element
|
||||||
|
var linkElem = createElem("a", entryTarget);
|
||||||
|
|
||||||
|
console.log(conversationInfos); //DEBUG - temporary
|
||||||
|
|
||||||
|
//Create the conversation name element
|
||||||
|
var conversationNameElem = createElem("strong", linkElem);
|
||||||
|
|
||||||
|
//Check if the conversation has a name or not
|
||||||
|
if(conversationInfos.name)
|
||||||
|
conversationNameElem.innerHTML = conversationInfos.name;
|
||||||
|
else {
|
||||||
|
|
||||||
|
//Put conversation name field in a waiting state
|
||||||
|
conversationNameElem.style.fontSize = "90%";
|
||||||
|
conversationNameElem.innerHTML = "Loading...";
|
||||||
|
|
||||||
|
//Get informations about the first two members
|
||||||
|
var firstMembers = [];
|
||||||
|
|
||||||
|
//Retrieve IDs
|
||||||
|
for(o in conversationInfos.members){
|
||||||
|
//Limit number to 2
|
||||||
|
if(firstMembers.length < 2){
|
||||||
|
|
||||||
|
//Check this is a valid entry
|
||||||
|
if(conversationInfos.members[o]){
|
||||||
|
|
||||||
|
//Exclude current user ID
|
||||||
|
if(conversationInfos.members[o] != userID())
|
||||||
|
firstMembers.push(conversationInfos.members[o]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Get users informations
|
||||||
|
getUsersInfos(firstMembers, function(usersInfo){
|
||||||
|
//Prepare conversation name
|
||||||
|
var conversationName = "";
|
||||||
|
|
||||||
|
//Process users informations
|
||||||
|
for(i in usersInfo){
|
||||||
|
if(usersInfo[i].firstName)
|
||||||
|
|
||||||
|
//Add a coma if required
|
||||||
|
if(conversationName != "")
|
||||||
|
conversationName += ", ";
|
||||||
|
|
||||||
|
conversationName += usersInfo[i].firstName + " " + usersInfo[i].lastName;
|
||||||
|
}
|
||||||
|
|
||||||
|
//For converstions with many members
|
||||||
|
if(conversationInfos.members.length > 2)
|
||||||
|
conversationName += ", ...";
|
||||||
|
|
||||||
|
//Apply conversation name
|
||||||
|
conversationNameElem.innerHTML = conversationName;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Success
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
@ -43,7 +43,7 @@ ComunicWeb.user.userInfos = {
|
|||||||
/**
|
/**
|
||||||
* Get multiple users informations
|
* Get multiple users informations
|
||||||
*
|
*
|
||||||
* @param {String} usersID User on which to make request (current to get connected user)
|
* @param {Array~Object} usersID User on which to make request (current to get connected user)
|
||||||
* @param {function} afterGetUserInfos What to do once users informations are available
|
* @param {function} afterGetUserInfos What to do once users informations are available
|
||||||
* @param {Boolean} forceRequest Force the request to be made
|
* @param {Boolean} forceRequest Force the request to be made
|
||||||
* @return {Boolean} True for a success
|
* @return {Boolean} True for a success
|
||||||
|
Loading…
Reference in New Issue
Block a user