From 4fab433f61d9ef885e6c4945ae052e2897aa8a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kasper=20Rynning-T=C3=B8nnesen?= Date: Fri, 22 Mar 2019 18:01:56 +0100 Subject: [PATCH] Fix for issue #496 and #497 --- server/handlers/chat.js | 2 +- server/public/assets/js/chat.js | 33 ++++++++++++++++++++++++++------- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/server/handlers/chat.js b/server/handlers/chat.js index 3a55e954..4f76fe0e 100644 --- a/server/handlers/chat.js +++ b/server/handlers/chat.js @@ -384,7 +384,7 @@ function namechange(data, guid, socket, tried, callback) { function removename(guid, coll, socket) { //coll = coll.replace(/ /g,''); checkIfChatEnabled(coll, socket, function(enabled) { - if(enabled) return; + if(!enabled) return; db.collection("user_names").find({"guid": guid}, function(err, docs) { if(docs.length == 1) { var old_name = docs[0].name; diff --git a/server/public/assets/js/chat.js b/server/public/assets/js/chat.js index f3858fe8..90b189e1 100755 --- a/server/public/assets/js/chat.js +++ b/server/public/assets/js/chat.js @@ -79,7 +79,6 @@ var Chat = { var time = Helper.pad(_time.getHours()) + ":" + Helper.pad(_time.getMinutes()); color = Helper.hexToRgb(color.substring(0,6)); var color_temp = Helper.rgbToHsl([color.r, color.g, color.b], false); - document.querySelector("#" + add).insertAdjacentHTML("beforeend", "
  • " + time + " SystemSystem:
  • "); var in_text = document.createTextNode(help[x]); document.querySelector("#" + add).children[document.querySelector("#" + add).children.length - 1].appendChild(in_text); @@ -96,6 +95,22 @@ var Chat = { return; }, + createChatElement: function(allchat, channel, time, icon, color, from, message) { + var liElement = document.createElement("li"); + liElement.innerHTML += "" + time + " " + icon; + var nameElement = document.createElement("span"); + nameElement.innerText = from; + nameElement.style.color = color; + liElement.appendChild(nameElement); + if(allchat) { + liElement.title = channel; + liElement.innerHTML += " " + channel + ""; + } + var in_text = document.createTextNode(message); + liElement.appendChild(in_text); + return liElement; + }, + allchat: function(inp, time_sent, disable_blink) { if(inp.msg.substring(0,1) == ":" && !chat_active && !disable_blink) { Chat.all_received += 1; @@ -132,9 +147,9 @@ var Chat = { _time = new Date(time_sent); } var time = Helper.pad(_time.getHours()) + ":" + Helper.pad(_time.getMinutes()); - document.querySelector("#chatall").insertAdjacentHTML("beforeend", "
  • " + time + " " + icon_add + ""+inp.from+" " + Helper.decodeChannelName(inp.channel) + "
  • "); - var in_text = document.createTextNode(inp.msg); - document.querySelector("#chatall").children[document.querySelector("#chatall").children.length - 1].appendChild(in_text); + var element = Chat.createChatElement(true, Helper.decodeChannelName(inp.channel), time, icon_add, color_temp, inp.from, inp.msg); + //document.querySelector("#chatall").insertAdjacentHTML("beforeend", element); + document.querySelector("#chatall").appendChild(element); if(!userscroll) { programscroll = true; document.getElementById("chatall").scrollTop = document.getElementById("chatall").scrollHeight; @@ -176,9 +191,13 @@ var Chat = { _time = new Date(time_sent); } var time = Helper.pad(_time.getHours()) + ":" + Helper.pad(_time.getMinutes()); - document.querySelector("#chatchannel").insertAdjacentHTML("beforeend", "
  • " + time + " " + icon_add + ""+data.from+"
  • "); - var in_text = document.createTextNode(data.msg); - document.querySelector("#chatchannel").children[document.querySelector("#chatchannel").children.length - 1].appendChild(in_text); + //document.querySelector("#chatchannel").insertAdjacentHTML("beforeend", "
  • " + time + " " + icon_add + ""+data.from+"
  • "); + //var in_text = document.createTextNode(data.msg); + //document.querySelector("#chatchannel").children[document.querySelector("#chatchannel").children.length - 1].appendChild(in_text); + var element = Chat.createChatElement(false, null, time, icon_add, color_temp, data.from, data.msg); + //document.querySelector("#chatall").insertAdjacentHTML("beforeend", element); + document.querySelector("#chatchannel").appendChild(element); + if(!userscroll) { programscroll = true; document.getElementById("chatchannel").scrollTop = document.getElementById("chatchannel").scrollHeight;