mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Show conversations name
This commit is contained in:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user