mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-26 05:49:22 +00:00
Handle server messages
This commit is contained in:
parent
e5f91e6ab2
commit
538112d767
@ -128,3 +128,9 @@
|
|||||||
#conversationsElem .direct-chat-msg.open .dropdown-menu {
|
#conversationsElem .direct-chat-msg.open .dropdown-menu {
|
||||||
margin-top: -20px;
|
margin-top: -20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#conversationsElem .direct-chat-msg .server_message {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 90%;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
@ -689,7 +689,7 @@ const ConvChatWindow = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Send the message throught the interface
|
//Send the message throught the interface
|
||||||
ComunicWeb.components.conversations.interface.sendMessage({
|
ConversationsInterface.sendMessage({
|
||||||
conversationID: convInfos.infos.ID,
|
conversationID: convInfos.infos.ID,
|
||||||
message: form.inputText.value,
|
message: form.inputText.value,
|
||||||
image: form.inputImage,
|
image: form.inputImage,
|
||||||
@ -831,7 +831,18 @@ const ConvChatWindow = {
|
|||||||
* @return {object} Information about the created message element
|
* @return {object} Information about the created message element
|
||||||
*/
|
*/
|
||||||
_get_message_element: function(conversationInfo, message){
|
_get_message_element: function(conversationInfo, message){
|
||||||
|
if (message.user_id != null && message.user_id > 0)
|
||||||
|
return this._get_user_message(conversationInfo, message);
|
||||||
|
|
||||||
|
else
|
||||||
|
return this._get_server_message(conversationInfo, message);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Object} conversationInfo
|
||||||
|
* @param {ConversationMessage} message
|
||||||
|
*/
|
||||||
|
_get_user_message: (conversationInfo, message) => {
|
||||||
//Check if it is the current user who sent the message
|
//Check if it is the current user who sent the message
|
||||||
var userIsPoster = message.user_id == userID();
|
var userIsPoster = message.user_id == userID();
|
||||||
|
|
||||||
@ -840,7 +851,7 @@ const ConvChatWindow = {
|
|||||||
type: "div",
|
type: "div",
|
||||||
class: "direct-chat-msg " + (userIsPoster ? "right" : "")
|
class: "direct-chat-msg " + (userIsPoster ? "right" : "")
|
||||||
});
|
});
|
||||||
messageContainer.setAttribute("data-chatwin-msg-id", message.ID)
|
messageContainer.setAttribute("data-chatwin-msg-id", message.id)
|
||||||
|
|
||||||
//Display message header
|
//Display message header
|
||||||
var messageHeader = createElem2({
|
var messageHeader = createElem2({
|
||||||
@ -1020,7 +1031,7 @@ const ConvChatWindow = {
|
|||||||
messageTargetElem.style.display = "none";
|
messageTargetElem.style.display = "none";
|
||||||
|
|
||||||
//Execute the request
|
//Execute the request
|
||||||
ComunicWeb.components.conversations.interface.DeleteSingleMessage(
|
ConversationsInterface.DeleteSingleMessage(
|
||||||
message.ID,
|
message.ID,
|
||||||
function(result){
|
function(result){
|
||||||
if(!result){
|
if(!result){
|
||||||
@ -1048,6 +1059,55 @@ const ConvChatWindow = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply a server message
|
||||||
|
*
|
||||||
|
* @param {Object} convInfo Information about the conversation
|
||||||
|
* @param {ConversationMessage} message The message
|
||||||
|
*/
|
||||||
|
_get_server_message: (convInfo, message) => {
|
||||||
|
|
||||||
|
//Create message element
|
||||||
|
const messageContainer = createElem2({
|
||||||
|
type: "div",
|
||||||
|
class: "direct-chat-msg "
|
||||||
|
});
|
||||||
|
messageContainer.setAttribute("data-chatwin-msg-id", message.id);
|
||||||
|
|
||||||
|
//Add message
|
||||||
|
let messageTargetElem = createElem2({
|
||||||
|
appendTo: messageContainer,
|
||||||
|
type: "div",
|
||||||
|
class: "server_message",
|
||||||
|
});
|
||||||
|
|
||||||
|
(async () => {
|
||||||
|
try {
|
||||||
|
|
||||||
|
let ids = ConversationsUtils.getUsersIDForMessage(message)
|
||||||
|
let users = await getUsers(ids);
|
||||||
|
let msg = ConversationsUtils.getServerMessage(message, users);
|
||||||
|
|
||||||
|
messageTargetElem.innerHTML = msg
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
console.error(e);
|
||||||
|
notify(tr("Failed to load a server message!"))
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
return {
|
||||||
|
userID: null,
|
||||||
|
rootElem: messageContainer,
|
||||||
|
userNameElem: document.createElement("span"),
|
||||||
|
dateElem: document.createElement("span"),
|
||||||
|
time_sent: message.time_sent,
|
||||||
|
messageTargetElem: messageTargetElem,
|
||||||
|
accountImage: document.createElement("span")
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make a conversation message "follow" another conversation message from the
|
* Make a conversation message "follow" another conversation message from the
|
||||||
* same user
|
* same user
|
||||||
@ -1120,9 +1180,9 @@ const ConvChatWindow = {
|
|||||||
scrollDetectionLocked = true;
|
scrollDetectionLocked = true;
|
||||||
|
|
||||||
//Fetch older messages
|
//Fetch older messages
|
||||||
ComunicWeb.components.conversations.interface.getOlderMessages(
|
ConversationsInterface.getOlderMessages(
|
||||||
conversationID,
|
conversationID,
|
||||||
ComunicWeb.components.conversations.service.getOldestMessageID(conversationID),
|
ConvService.getOldestMessageID(conversationID),
|
||||||
10,
|
10,
|
||||||
function(result){
|
function(result){
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user