diff --git a/assets/js/common/ws.js b/assets/js/common/ws.js index 75553a09..7cc05614 100644 --- a/assets/js/common/ws.js +++ b/assets/js/common/ws.js @@ -190,6 +190,10 @@ class UserWebSocket { case "number_unread_conversations": SendEvent("newNumberUnreadConvs", msg.data) break; + + case "new_conv_message": + SendEvent("newConvMessage", msg.data); + break; default: console.error("WS Unspported kind of message!", msg); diff --git a/assets/js/components/conversations/service.js b/assets/js/components/conversations/service.js index 08d3f245..91d125fc 100644 --- a/assets/js/components/conversations/service.js +++ b/assets/js/components/conversations/service.js @@ -6,7 +6,7 @@ * @author Pierre HUBERT */ -ComunicWeb.components.conversations.service = { +const ConvService = { /** * @var {Object} __serviceCache The service cache @@ -130,6 +130,15 @@ ComunicWeb.components.conversations.service = { }, } +ComunicWeb.components.conversations.service = ConvService; + //Register service cache ComunicWeb.common.cacheManager.registerCacheCleaner("ComunicWeb.components.conversations.service.emptyCache"); +// Register to new messages +document.addEventListener("newConvMessage", (e) => { + const msg = e.detail; + + if(ConvService.__serviceCache.hasOwnProperty("conversation-" + msg.convID)) + ComunicWeb.components.conversations.chatWindows.addMessage(msg.convID, msg); +}) \ No newline at end of file