diff --git a/src/web-chatview/chatview-qt.css b/src/web-chatview/chatview-qt.css index 1c5e4e803f8e86e4bc9ad24d1fabaa950468e649..b87a380a9d62da81b06d07f2fc89006e5df8cdd4 100644 --- a/src/web-chatview/chatview-qt.css +++ b/src/web-chatview/chatview-qt.css @@ -53,11 +53,37 @@ body { } .internal_mes_wrapper { - margin: 0; + margin: 0px 0 0 0; } .message_wrapper { - padding: 0.5em 1em 0.5em 1em; + padding: 1em; +} + +.sender_image { + margin: 10px; +} + +.message_out + .message_out .message_wrapper { + border-top-right-radius: 10px; +} + +.message_in + .message_in .message_wrapper { + border-top-left-radius: 10px; +} + +.message_in + .message_in .sender_image { + visibility: hidden; +} + +.message_out + .message_out .sender_image { + visibility: hidden; +} + +.message_text { + hyphens: auto; + word-break: break-word; + word-wrap: break-word; } .sender_image { @@ -213,10 +239,6 @@ pre { padding: 7px; } -#message { - margin: 0 16px 2px 16px; -} - #nav-contactid-alias { font-weight: 500; font-size: 1em; diff --git a/src/web-chatview/chatview.css b/src/web-chatview/chatview.css index b5cfe594ebd0241b72db970f901f6ff1e314acc7..e362134e6e16b06ed1e0803e481b2e7d06f03c11 100644 --- a/src/web-chatview/chatview.css +++ b/src/web-chatview/chatview.css @@ -351,6 +351,7 @@ body { flex: 1; background-color: transparent; overflow-y: hidden; + vertical-align:middle; color: var(--text-color); width: 100%; min-height: 50px; diff --git a/src/web-chatview/chatview.js b/src/web-chatview/chatview.js index 43cc4139164bdcbe6c79b377e8b331ae949fe94c..34d74a45766bd9da05f6f0cc1d507c8263ed5ec3 100644 --- a/src/web-chatview/chatview.js +++ b/src/web-chatview/chatview.js @@ -1022,14 +1022,14 @@ function fileInteraction(message_id, message_direction) { const internal_mes_wrapper = document.createElement("div") internal_mes_wrapper.setAttribute("class", "internal_mes_wrapper") - if(use_qt) { - var tbl = buildMsgTable(message_direction) - var msg_cell = tbl.querySelector(".msg_cell") - msg_cell.appendChild(message_wrapper) - internal_mes_wrapper.appendChild(tbl) - } else { + // if(use_qt) { + // var tbl = buildMsgTable(message_direction) + // var msg_cell = tbl.querySelector(".msg_cell") + // msg_cell.appendChild(message_wrapper) + // internal_mes_wrapper.appendChild(tbl) + // } else { internal_mes_wrapper.appendChild(message_wrapper) - } + // } return internal_mes_wrapper } @@ -1135,9 +1135,6 @@ function updateFileInteraction(message_div, message_object, forceTypeToFile = fa message_div.insertBefore(new_wrapper, message_div.querySelector(".menu_interaction")) message_div.querySelector("img").id = message_id message_div.querySelector("img").msg_obj = message_object - if (use_qt) { - addSenderImage(message_div, message_object["type"], message_object["sender_contact_method"]) - } return } @@ -1149,12 +1146,7 @@ function updateFileInteraction(message_div, message_object, forceTypeToFile = fa } var errorHandler = function () { - var wrapper - if (use_qt) { - wrapper = message_div.querySelector(".msg_cell") - } else { - wrapper = message_div.querySelector(".internal_mes_wrapper") - } + var wrapper = message_div.querySelector(".internal_mes_wrapper") var wrapper_audio_video = message_div.querySelector(".message_type_audio_video_transfer") wrapper_audio_video.parentNode.classList.remove("no-audio-overlay") wrapper_audio_video.parentNode.removeChild(wrapper_audio_video) @@ -1194,11 +1186,7 @@ function updateFileInteraction(message_div, message_object, forceTypeToFile = fa const audio_video_wrapper = document.createElement("div") audio_video_wrapper.setAttribute("class", "message_type_audio_video_transfer") audio_video_wrapper.appendChild(new_wrapper) - if (use_qt) { - message_div.querySelector(".msg_cell").appendChild(audio_video_wrapper) - } else { - message_div.querySelector(".internal_mes_wrapper").insertBefore(audio_video_wrapper, message_div.querySelector(".timestamp")) - } + message_div.querySelector(".internal_mes_wrapper").insertBefore(audio_video_wrapper, message_div.querySelector(".timestamp")) audio_video_wrapper.parentNode.classList.add("no-audio-overlay") return } @@ -1211,12 +1199,7 @@ function updateFileInteraction(message_div, message_object, forceTypeToFile = fa } var errorHandler = function () { - var wrapper - if (use_qt) { - wrapper = message_div.querySelector(".msg_cell") - } else { - wrapper = message_div.querySelector(".internal_mes_wrapper") - } + var wrapper = message_div.querySelector(".internal_mes_wrapper") var wrapper_audio_video = message_div.querySelector(".message_type_audio_video_transfer") wrapper_audio_video.parentNode.classList.remove("no-audio-overlay") wrapper_audio_video.parentNode.removeChild(wrapper_audio_video) @@ -1261,11 +1244,7 @@ function updateFileInteraction(message_div, message_object, forceTypeToFile = fa audio_video_wrapper.setAttribute("class", "message_type_audio_video_transfer") audio_video_wrapper.appendChild(new_wrapper) - if (use_qt) { - message_div.querySelector(".msg_cell").appendChild(audio_video_wrapper) - } else { - message_div.querySelector(".internal_mes_wrapper").insertBefore(audio_video_wrapper, message_div.querySelector(".timestamp")) - } + message_div.querySelector(".internal_mes_wrapper").insertBefore(audio_video_wrapper, message_div.querySelector(".timestamp")) audio_video_wrapper.parentNode.classList.add("no-video-overlay") return } @@ -1452,14 +1431,14 @@ function mediaInteraction(message_id, message_direction, link, ytid, errorHandle const internal_mes_wrapper = document.createElement("div") internal_mes_wrapper.setAttribute("class", "internal_mes_wrapper") - if(use_qt) { - var tbl = buildMsgTable(message_direction) - var msg_cell = tbl.querySelector(".msg_cell") - msg_cell.appendChild(media_wrapper) - internal_mes_wrapper.appendChild(tbl) - } else { + //if(use_qt) { + // var tbl = buildMsgTable(message_direction) + // var msg_cell = tbl.querySelector(".msg_cell") + // msg_cell.appendChild(media_wrapper) + // internal_mes_wrapper.appendChild(tbl) + //} else { internal_mes_wrapper.appendChild(media_wrapper) - } + //} return internal_mes_wrapper } @@ -1481,14 +1460,14 @@ function textInteraction(message_id, message_direction, htmlText) { const internal_mes_wrapper = document.createElement("div") internal_mes_wrapper.setAttribute("class", "internal_mes_wrapper") - if(use_qt) { - var tbl = buildMsgTable(message_direction) - var msg_cell = tbl.querySelector(".msg_cell") - msg_cell.appendChild(message_wrapper) - internal_mes_wrapper.appendChild(tbl) - } else { + //if(use_qt) { + // var tbl = buildMsgTable(message_direction) + // var msg_cell = tbl.querySelector(".msg_cell") + // msg_cell.appendChild(message_wrapper) + // internal_mes_wrapper.appendChild(tbl) + //} else { internal_mes_wrapper.appendChild(message_wrapper) - } + //} return internal_mes_wrapper } @@ -1621,11 +1600,7 @@ function removeInteraction(interaction_id) { var timestamp = interaction.querySelector(".timestamp") var previousTimeStamp = interaction.previousSibling.querySelector(".timestamp") if (timestamp && !previousTimeStamp) { - if (use_qt) { - interaction.previousSibling.querySelector(".timestamp_cell").appendChild(timestamp) - } else { - interaction.previousSibling.querySelector(".internal_mes_wrapper").appendChild(timestamp) - } + interaction.previousSibling.querySelector(".internal_mes_wrapper").appendChild(timestamp) } } @@ -1661,7 +1636,7 @@ function buildNewMessage(message_object) { message_div.setAttribute("class", classes.join(" ")) // Build message for each types. - if(!use_qt) { + // if(!use_qt) { // Add sender images if necessary (like if the interaction doesn't take the whole width) const need_sender = (message_type === "data_transfer" || message_type === "text") if (need_sender) { @@ -1669,15 +1644,12 @@ function buildNewMessage(message_object) { message_sender_image.setAttribute("class", `sender_image sender_image_${message_sender_contact_method}`) message_div.appendChild(message_sender_image) } - } + // } // Build main content if (message_type === "data_transfer") { if (isImage(message_text) && delivery_status === "finished" && displayLinksEnabled) { var errorHandler = function () { - if (use_qt) { - return - } var wrapper = message_div.querySelector(".internal_mes_wrapper") var message_wrapper = message_div.querySelector(".message_wrapper") if (message_wrapper) { @@ -1796,13 +1768,7 @@ function addOrUpdateMessage(message_object, new_message, insert_after = true, me message_div.querySelector(".message_wrapper").appendChild(date_elt) } else if (insert_after || !timestamp || timestamp.className !== date_elt.className || timestamp.innerHTML !== date_elt.innerHTML) { - if (use_qt) { - message_div.querySelector(".timestamp_cell").appendChild(date_elt) - if (message_direction === "out") - message_div.querySelector(".timestamp_cell").setAttribute("class", "timestamp_cell_out") - } else { - message_div.querySelector(".internal_mes_wrapper").appendChild(date_elt) - } + message_div.querySelector(".internal_mes_wrapper").appendChild(date_elt) } var isGenerated = message_type === "call" || message_type === "contact" @@ -2258,14 +2224,6 @@ function setSenderImage(set_sender_image_object) invite_style.id = invite_sender_image_id invite_style.innerHTML = "." + invite_sender_image_id + " {content: url(data:image/png;base64," + sender_image + ");height: 48px; width: 48px;}" document.head.appendChild(invite_style) - - if (use_qt) { - var typing_indicator_container_div = document.getElementById("typing_indicator_container") - var sender_image_span = typing_indicator_container_div.querySelector(".sender_image_cell") - if (sender_image_span) { - sender_image_span.childNodes[0].setAttribute("class", "sender_image " + sender_image_id) - } - } } /** @@ -2273,68 +2231,36 @@ function setSenderImage(set_sender_image_object) */ /* exported showTypingIndicator */ function showTypingIndicator(contactUri, isTyping) { + var message_div = messages.lastChild.querySelector("#message_typing") - if (use_qt) { - var typing_indicator_container_div = document.getElementById("typing_indicator_container") - - if (isTyping === 0) { - typing_indicator_container_div.style.display = "none"; - } else if (typing_indicator_container_div.style.display !== "block") { - typing_indicator_container_div.style.display = "block"; - var message_div = typing_indicator_container_div.querySelector("#message_typing") - - if (!message_div){ - message_div = buildNewMessage({ - "id":"typing", - "type":"text", - "text":"", - "direction":"in", - "delivery_status":"", - "sender_contact_method": contactUri - }) - message_div.classList.add("single_message") - let msg_text = message_div.querySelector(".message_text") - msg_text.innerHTML = " \ - <div class=\"typing-indicator\"> \ - <span></span> \ - <span></span> \ - <span></span> \ - </div>" - typing_indicator_container_div.appendChild(message_div) - } + if (isTyping === 0) { + if (message_div) { + message_div.parentNode.removeChild(message_div) } - } else { - var message_div = messages.lastChild.querySelector("#message_typing") + } else if (!message_div) { + message_div = buildNewMessage({ + "id":"typing", + "type":"text", + "text":"", + "direction":"in", + "delivery_status":"", + "sender_contact_method": contactUri + }) - if (isTyping === 0) { - if (message_div) { - message_div.parentNode.removeChild(message_div) - } - } else if (!message_div) { - message_div = buildNewMessage({ - "id":"typing", - "type":"text", - "text":"", - "direction":"in", - "delivery_status":"", - "sender_contact_method": contactUri - }) - - var previousMessage = messages.lastChild.lastChild - messages.lastChild.appendChild(message_div) - computeSequencing(previousMessage, message_div, null, true) - if (previousMessage) { - previousMessage.classList.remove("last_message") - } - message_div.classList.add("last_message") - let msg_text = message_div.querySelector(".message_text") - msg_text.innerHTML = " \ - <div class=\"typing-indicator\"> \ - <span></span> \ - <span></span> \ - <span></span> \ - </div>" + var previousMessage = messages.lastChild.lastChild + messages.lastChild.appendChild(message_div) + computeSequencing(previousMessage, message_div, null, true) + if (previousMessage) { + previousMessage.classList.remove("last_message") } + message_div.classList.add("last_message") + let msg_text = message_div.querySelector(".message_text") + msg_text.innerHTML = " \ + <div class=\"typing-indicator\"> \ + <span></span> \ + <span></span> \ + <span></span> \ + </div>" } updateMesPos() }