mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-10-29 17:24:52 +00:00 
			
		
		
		
	Improved connection between big and small conversation windows
This commit is contained in:
		
							
								
								
									
										3
									
								
								assets/custom_ts/Utils.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								assets/custom_ts/Utils.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -24,7 +24,8 @@ declare interface CreateElem2Args { | ||||
| 	innerHTMLprefix ?: string, | ||||
| 	disabled ?: boolean, | ||||
| 	children ?: HTMLElement[], | ||||
| 	onclick ?: Function | ||||
| 	onclick ?: Function, | ||||
| 	ondblclick ?: Function | ||||
| } | ||||
|  | ||||
| declare function createElem(nodeType : string, appendTo : string) : HTMLElement; | ||||
|   | ||||
| @@ -145,11 +145,16 @@ function log(message){ | ||||
|  * Open a conversation specified by its ID | ||||
|  *  | ||||
|  * @param {number} id The ID of the conversation to open | ||||
|  * @param {bool} fullscreen Specify whether the conversation has to | ||||
|  * appear in full screen or not | ||||
|  */ | ||||
| function openConversation(id){ | ||||
|     ComunicWeb.components.conversations.manager.addConversation({ | ||||
|         conversationID: id | ||||
|     }); | ||||
| function openConversation(id, fullscreen = false){ | ||||
|     if(!fullscreen) | ||||
|         ComunicWeb.components.conversations.manager.addConversation({ | ||||
|             conversationID: id | ||||
|         }); | ||||
|     else | ||||
|         openPage("conversations/" + id); | ||||
| } | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -45,6 +45,7 @@ function createElem(nodeType, appendTo){ | ||||
|  * @info {boolean} disabled Set whether the field should be disabled or not (input only) | ||||
|  * @info {HTMLElement[]} children Children for the new object | ||||
|  * @info {Function} onclick | ||||
|  * @info {Function} ondblclick | ||||
|  * @return {HTMLElement} The newly created element | ||||
|  */ | ||||
| function createElem2(infos){ | ||||
| @@ -132,6 +133,9 @@ function createElem2(infos){ | ||||
|  | ||||
| 	if(infos.onclick) | ||||
| 		newElem.addEventListener("click", infos.onclick); | ||||
| 	 | ||||
| 	if(infos.ondblclick) | ||||
| 		newElem.addEventListener("dblclick", infos.ondblclick); | ||||
|  | ||||
| 	//Return newly created element | ||||
| 	return newElem; | ||||
|   | ||||
| @@ -386,24 +386,32 @@ ComunicWeb.components.conversations.chatWindows = { | ||||
| 	 * Change the name of the converation at the top of the windows | ||||
| 	 *  | ||||
| 	 * @param {String} newName The new name for the conversation window | ||||
| 	 * @param {Ojbect} infos Informations about the conversation window | ||||
| 	 * @param {Ojbect} info Information about the conversation window | ||||
| 	 * @return {Boolean} True for a success | ||||
| 	 */ | ||||
| 	changeName: function(newName, infos){ | ||||
| 	changeName: function(newName, info){ | ||||
|  | ||||
| 		//Reduce new name | ||||
| 		if(newName.length > 18) | ||||
| 			newName = newName.slice(0, 17) + "..."; | ||||
|  | ||||
| 		//Empty name field | ||||
| 		emptyElem(infos.boxTitle); | ||||
| 		emptyElem(info.boxTitle); | ||||
| 		 | ||||
| 		//Create conversation icon  | ||||
| 		var conversationIcon = createElem("i", infos.boxTitle); | ||||
| 		conversationIcon.className = "fa fa-comments"; | ||||
| 		createElem2({ | ||||
| 			type: "i", | ||||
| 			appendTo: info.boxTitle, | ||||
| 			class: "fa fa-comments", | ||||
| 			ondblclick: () => { | ||||
| 				openConversation(info.conversationID, true); | ||||
| 				info.closeFunction(); | ||||
| 			} | ||||
| 		}); | ||||
| 		 | ||||
|  | ||||
| 		//Add conversation title | ||||
| 		var conversationTitle = createElem("span", infos.boxTitle); | ||||
| 		var conversationTitle = createElem("span", info.boxTitle); | ||||
| 		conversationTitle.innerHTML = " " + newName; | ||||
|  | ||||
| 		//Success | ||||
|   | ||||
| @@ -153,7 +153,7 @@ ComunicWeb.components.conversations.service = { | ||||
| 			for(i in result){ | ||||
|  | ||||
| 				//Check if new entries are available | ||||
| 				if(result[i].length === 0) | ||||
| 				if(result[i].length === 0 || !this.__serviceCache[i]) | ||||
| 					continue; //Nothing to be done | ||||
| 				 | ||||
| 				//Extract conversation ID | ||||
|   | ||||
| @@ -63,6 +63,15 @@ ComunicWeb.pages.conversations.conversation = { | ||||
| 			class: "box-header" | ||||
| 		}); | ||||
|  | ||||
| 		// Box icon | ||||
| 		createElem2({ | ||||
| 			appendTo: boxHeader, | ||||
| 			type: "span", | ||||
| 			class: "box-title", | ||||
| 			innerHTML: "<i class='fa fa-comments'></i> ", | ||||
| 			ondblclick: () => openConversation(convID, false) | ||||
| 		}); | ||||
|  | ||||
| 		//Box title | ||||
| 		var boxTitle = createElem2({ | ||||
| 			appendTo: boxHeader, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user