Chat: Basic send and receive messages.

This commit is contained in:
2015-05-27 01:23:31 +02:00
parent 58824eea58
commit a09af4b1fa
5 changed files with 272 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
function RunChat(divContainer, idBoard, hidIDMessage) {
divContainer = GetElement(divContainer);
hidIDMessage = GetElement(hidIDMessage);
var CreateMessageDOM = function (message) {
var divMessageRow = document.createElement("DIV");
divMessageRow.className = "messageRow";
var divMessage = document.createElement("DIV");
divMessage.className = "message";
divMessageRow.appendChild(divMessage);
var divUser = document.createElement("DIV");
divUser.className = "user";
divUser.innerHTML = escapeHTML(message.UserName);
divMessage.appendChild(divUser);
var text = message.Text;
var divText = document.createElement("DIV");
divText.className = "text";
divText.innerHTML = escapeHTML(text);
divMessage.appendChild(divText);
return divMessageRow;
};
var RequestChatData = function () {
var requestUrl = "ChatHandler?idBoard=" + idBoard + "&idMessage=" + hidIDMessage.value;
var ReciveChatData = function (responseText) {
recvMsgs = JSON.parse(responseText);
if (recvMsgs) {
var idMessage = parseInt(hidIDMessage.value);
for (var i = 0, n = recvMsgs.length; i < n; i++) {
var msg = recvMsgs[i];
if (idMessage < msg.IDMessage) {
hidIDMessage.value = msg.IDMessage;
idMessage = msg.IDMessage;
var elemMessage = CreateMessageDOM(msg);
divContainer.appendChild(elemMessage);
}
}
divContainer.scrollTop = divContainer.scrollHeight;
}
// Reset pool
window.setTimeout(function () {
RequestChatData();
}, 20);
};
var ErrorChatData = function () {
// Retry
window.setTimeout(function () {
RequestChatData();
}, 5000);
};
// Pool data
SendRequest(requestUrl, ReciveChatData, ErrorChatData);
};
RequestChatData();
}
function SendChat(txtText, idBoard) {
txtText = GetElement(txtText);
var data = {
"text": txtText.value,
"idBoard": idBoard,
"userName": "VAR"
};
txtText.value = "";
SendData("ChatHandler", data, null, null);
}