Display announcements differently

This commit is contained in:
Charles Gould 2017-01-04 19:37:41 -05:00
parent b21f118600
commit 12d95f7218
3 changed files with 22 additions and 4 deletions

View File

@ -185,8 +185,7 @@ public class LingoController implements ApplicationListener<AbstractSubProtocolE
} }
private void sendAnnouncement(String message) { private void sendAnnouncement(String message) {
final String source = "[Server]"; final ChatMessage payload = new ChatMessage(null, message);
final ChatMessage payload = new ChatMessage(source, message);
messagingTemplate.convertAndSend(StompTopics.CHAT, payload); messagingTemplate.convertAndSend(StompTopics.CHAT, payload);
} }

View File

@ -31,6 +31,10 @@ h1 {
padding: 10px 20px 10px 20px; padding: 10px 20px 10px 20px;
} }
.messageLog {
color: green;
}
#messageInput { #messageInput {
width: 100%; width: 100%;
height: 42px; height: 42px;

View File

@ -133,7 +133,7 @@ function addChatMessage(sender, body) {
usernameNode.appendChild(usernameTextNode); usernameNode.appendChild(usernameTextNode);
var messageTextNode = document.createTextNode(' ' + body); var messageTextNode = document.createTextNode(' ' + body);
var chatMessage = document.createElement('div'); var chatMessage = document.createElement('div');
chatMessage.setAttribute('class', 'list-group-item'); chatMessage.classList.add('list-group-item');
chatMessage.appendChild(usernameNode); chatMessage.appendChild(usernameNode);
chatMessage.appendChild(messageTextNode); chatMessage.appendChild(messageTextNode);
messageList.appendChild(chatMessage); messageList.appendChild(chatMessage);
@ -142,6 +142,19 @@ function addChatMessage(sender, body) {
messageList.scrollTop = messageList.scrollHeight; messageList.scrollTop = messageList.scrollHeight;
} }
function addChatAnnouncement(body) {
var messageList = document.getElementById('messageList');
var messageTextNode = document.createTextNode(body);
var chatMessage = document.createElement('div');
chatMessage.classList.add('list-group-item');
chatMessage.classList.add('messageLog');
chatMessage.appendChild(messageTextNode);
messageList.appendChild(chatMessage);
// Auto-scroll if necessary
messageList.scrollTop = messageList.scrollHeight;
}
function drawMyBoard() { function drawMyBoard() {
var x = 25, y = MARGIN_TOP; var x = 25, y = MARGIN_TOP;
drawUsername(x, y, myUsername); drawUsername(x, y, myUsername);
@ -311,7 +324,9 @@ function subscribeToChatMessages() {
var chatMessage = JSON.parse(message.body); var chatMessage = JSON.parse(message.body);
var messageSender = chatMessage.username; var messageSender = chatMessage.username;
var messageBody = chatMessage.message; var messageBody = chatMessage.message;
if (messageSender === myUsername) { if (messageSender === null) {
addChatAnnouncement(messageBody);
} else if (messageSender === myUsername) {
console.log('Ignoring message sent by myself') console.log('Ignoring message sent by myself')
} else { } else {
console.log('Message from ' + messageSender + ": " + messageBody); console.log('Message from ' + messageSender + ": " + messageBody);