mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-10-29 17:24:52 +00:00 
			
		
		
		
	Display the list of conversations
This commit is contained in:
		| @@ -49,6 +49,115 @@ ComunicWeb.pages.conversations.listPane = { | ||||
| 			class: "conv-list-loading-msg", | ||||
| 			innerHTML: "Loading, please wait..." | ||||
| 		}); | ||||
|  | ||||
| 		//Load the list of conversations | ||||
| 		ComunicWeb.components.conversations.interface.getList(function(result){ | ||||
|  | ||||
| 			//Check for errors | ||||
| 			if(result.error){ | ||||
| 				loadingMsg.innerHTML = "An error occured !"; | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			//Remove loading message | ||||
| 			loadingMsg.remove(); | ||||
|  | ||||
| 			//Display the list of conversations | ||||
| 			ComunicWeb.pages.conversations.listPane._display_list(boxBody, result); | ||||
| 		}); | ||||
| 	}, | ||||
|  | ||||
|  | ||||
| 	/** | ||||
| 	 * Display the list of conversations | ||||
| 	 *  | ||||
| 	 * @param {HTMLElement} target The target for the list | ||||
| 	 * @param {Object} list The list of conversations | ||||
| 	 */ | ||||
| 	_display_list: function(target, list){ | ||||
|  | ||||
| 		//Create the conversations container | ||||
| 		var conversationsContainer = createElem2({ | ||||
| 			appendTo: target, | ||||
| 			type: "ul",  | ||||
| 			class: "nav nav-pills nav-stacked" | ||||
| 		}); | ||||
|  | ||||
| 		//Process the list of conversations | ||||
| 		for (const num in list) { | ||||
| 			if (list.hasOwnProperty(num)) { | ||||
| 				const conversation = list[num]; | ||||
| 				 | ||||
| 				//Display conversation element | ||||
| 				this._display_entry(conversationsContainer, conversation); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 	}, | ||||
|  | ||||
| 	/** | ||||
| 	 * Display a single conversation entry | ||||
| 	 *  | ||||
| 	 * @param {HTMLElement} target The target for the conversation | ||||
| 	 * @param {Object} info Information about the conversation to display | ||||
| 	 */ | ||||
| 	_display_entry: function(target, info){ | ||||
|  | ||||
| 		//Create conversation container element | ||||
| 		var convContainer = createElem2({ | ||||
| 			appendTo: target, | ||||
| 			type: "li" | ||||
| 		}); | ||||
|  | ||||
| 		//Create conversation link element | ||||
| 		var convLink = createElem2({ | ||||
| 			appendTo: convContainer, | ||||
| 			type: "a" | ||||
| 		}); | ||||
|  | ||||
| 		//Add conversation last activity on the rigth | ||||
| 		var lastActivityContainer = createElem2({ | ||||
| 			appendTo: convLink, | ||||
| 			type: "small", | ||||
| 			class: "pull-right last-activity", | ||||
| 			innerHTML: "<i class='fa fa-clock-o'></i> " | ||||
| 		}); | ||||
|  | ||||
| 		//Add last activity | ||||
| 		createElem2({ | ||||
| 			appendTo: lastActivityContainer, | ||||
| 			type: "span", | ||||
| 			innerHTML: ComunicWeb.common.date.timeDiffToStr(info.last_active) | ||||
| 		}); | ||||
|  | ||||
| 		//Add conversation name | ||||
| 		var conversationName = createElem2({ | ||||
| 			appendTo: convLink, | ||||
| 			type: "strong", | ||||
| 			innerHTML: "Loading..." | ||||
| 		}); | ||||
| 		ComunicWeb.components.conversations.utils.getName(info, function(name){ | ||||
| 			conversationName.innerHTML = name; | ||||
| 		}); | ||||
|  | ||||
| 		//Append the number of members of the conversation | ||||
| 		var membersNumberContainer = createElem2({ | ||||
| 			appendTo: convLink, | ||||
| 			type: "p", | ||||
| 			class: "number-members-conversation" | ||||
| 		}); | ||||
|  | ||||
| 		var membersNumberContainerSmall = createElem2({ | ||||
| 			appendTo: membersNumberContainer, | ||||
| 			type: "small", | ||||
| 			innerHTML: "<i class='fa fa-users'></i> " | ||||
| 		}); | ||||
| 		createElem2({ | ||||
| 			appendTo: membersNumberContainerSmall, | ||||
| 			type: "span", | ||||
| 			innerHTML: (info.members.length === 1 ? "1 member" : info.members.length + " members") | ||||
| 		}); | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Pierre
					Pierre