mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-03 19:54:14 +00:00 
			
		
		
		
	Improved conversation messages bubbles
This commit is contained in:
		@@ -74,3 +74,8 @@
 | 
				
			|||||||
#conversationsElem .direct-chat-text .emoji {
 | 
					#conversationsElem .direct-chat-text .emoji {
 | 
				
			||||||
	height: 1em;
 | 
						height: 1em;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#conversationsElem .direct-chat-text.not-first-message::before, 
 | 
				
			||||||
 | 
					#conversationsElem .direct-chat-text.not-first-message::after {
 | 
				
			||||||
 | 
						display: none;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -705,8 +705,27 @@ ComunicWeb.components.conversations.chatWindows = {
 | 
				
			|||||||
		//Check if it is the current user who sent the message
 | 
							//Check if it is the current user who sent the message
 | 
				
			||||||
		var userIsPoster = messageInfos.ID_user == userID();
 | 
							var userIsPoster = messageInfos.ID_user == userID();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check if this is the first message of the conversation or not
 | 
				
			||||||
 | 
							if(!convInfos.lastMessage){
 | 
				
			||||||
 | 
								//Initialize last message object
 | 
				
			||||||
 | 
								convInfos.lastMessage = {
 | 
				
			||||||
 | 
									userID: 0,
 | 
				
			||||||
 | 
									messageContainer: false,
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check if message poster is the same as the last message
 | 
				
			||||||
 | 
							if(convInfos.lastMessage.userID == messageInfos.ID_user){
 | 
				
			||||||
 | 
								//Skip message container creation & user avatar rendering...
 | 
				
			||||||
 | 
								var messageContainer = convInfos.lastMessage.messageContainer;
 | 
				
			||||||
 | 
								var firstMessageFromUser = false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								//Initialize user & message informations elements
 | 
				
			||||||
 | 
								var firstMessageFromUser = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Create message element
 | 
								//Create message element
 | 
				
			||||||
		var messageElem = createElem2({
 | 
								var messageContainer = createElem2({
 | 
				
			||||||
				appendTo: convInfos.box.messagesArea,
 | 
									appendTo: convInfos.box.messagesArea,
 | 
				
			||||||
				type: "div",
 | 
									type: "div",
 | 
				
			||||||
				class: "direct-chat-msg " + (userIsPoster ? "right" : "")
 | 
									class: "direct-chat-msg " + (userIsPoster ? "right" : "")
 | 
				
			||||||
@@ -714,7 +733,7 @@ ComunicWeb.components.conversations.chatWindows = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			//Display message header
 | 
								//Display message header
 | 
				
			||||||
			var messageHeader = createElem2({
 | 
								var messageHeader = createElem2({
 | 
				
			||||||
			appendTo: messageElem,
 | 
									appendTo: messageContainer,
 | 
				
			||||||
				type: "div",
 | 
									type: "div",
 | 
				
			||||||
				class: "direct-chat-info clearfix"
 | 
									class: "direct-chat-info clearfix"
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
@@ -733,18 +752,37 @@ ComunicWeb.components.conversations.chatWindows = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			//Add user account image
 | 
								//Add user account image
 | 
				
			||||||
			var userAccountImage = createElem2({
 | 
								var userAccountImage = createElem2({
 | 
				
			||||||
			appendTo: messageElem,
 | 
									appendTo: messageContainer,
 | 
				
			||||||
				type: "img",
 | 
									type: "img",
 | 
				
			||||||
				class: "direct-chat-img",
 | 
									class: "direct-chat-img",
 | 
				
			||||||
				src: ComunicWeb.__config.assetsURL + "img/defaultAvatar.png",
 | 
									src: ComunicWeb.__config.assetsURL + "img/defaultAvatar.png",
 | 
				
			||||||
				alt: "User account image",
 | 
									alt: "User account image",
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//Load user informations
 | 
				
			||||||
 | 
								if(convInfos.membersInfos["user-" + messageInfos.ID_user]){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									//Get informations
 | 
				
			||||||
 | 
									var userInfos = convInfos.membersInfos["user-" + messageInfos.ID_user];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									//Replace poster name
 | 
				
			||||||
 | 
									usernameElem.innerHTML = userInfos.firstName + " " + userInfos.lastName;
 | 
				
			||||||
 | 
									userAccountImage.src = userInfos.accountImage;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//Update conversation informations
 | 
				
			||||||
 | 
								convInfos.lastMessage = {
 | 
				
			||||||
 | 
									userID: messageInfos.ID_user,
 | 
				
			||||||
 | 
									messageContainer: messageContainer,
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Add message
 | 
							//Add message
 | 
				
			||||||
		var messageTargetElem = createElem2({
 | 
							var messageTargetElem = createElem2({
 | 
				
			||||||
			appendTo: messageElem,
 | 
								appendTo: messageContainer,
 | 
				
			||||||
			type: "div",
 | 
								type: "div",
 | 
				
			||||||
			class: "direct-chat-text",
 | 
								class: "direct-chat-text " + (!firstMessageFromUser ? "not-first-message" : ""),
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Add text message
 | 
							//Add text message
 | 
				
			||||||
@@ -764,23 +802,12 @@ ComunicWeb.components.conversations.chatWindows = {
 | 
				
			|||||||
			});
 | 
								});
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Load user informations
 | 
					 | 
				
			||||||
		if(convInfos.membersInfos["user-" + messageInfos.ID_user]){
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			//Get informations
 | 
					 | 
				
			||||||
			var userInfos = convInfos.membersInfos["user-" + messageInfos.ID_user];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			//Replace poster name
 | 
					 | 
				
			||||||
			usernameElem.innerHTML = userInfos.firstName + " " + userInfos.lastName;
 | 
					 | 
				
			||||||
			userAccountImage.src = userInfos.accountImage;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		//Parse emojies in text message
 | 
							//Parse emojies in text message
 | 
				
			||||||
		ComunicWeb.components.emoji.parser.parse({
 | 
							ComunicWeb.components.emoji.parser.parse({
 | 
				
			||||||
			element: textMessage,
 | 
								element: textMessage,
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Enable (again) slimscrool
 | 
							//Enable slimscrool
 | 
				
			||||||
		$(convInfos.box.messagesArea).slimscroll({
 | 
							$(convInfos.box.messagesArea).slimscroll({
 | 
				
			||||||
			height: "250px",
 | 
								height: "250px",
 | 
				
			||||||
		});
 | 
							});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -138,7 +138,7 @@ ComunicWeb.components.conversations.service = {
 | 
				
			|||||||
	 * @return {Boolean} True for a success
 | 
						 * @return {Boolean} True for a success
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	callback: function(result){
 | 
						callback: function(result){
 | 
				
			||||||
		console.log(result);
 | 
							
 | 
				
			||||||
		//Check for errors
 | 
							//Check for errors
 | 
				
			||||||
		if(result.error){
 | 
							if(result.error){
 | 
				
			||||||
			ComunicWeb.debug.logMessage("Conversations Service : Couldn't update conversations !");
 | 
								ComunicWeb.debug.logMessage("Conversations Service : Couldn't update conversations !");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user