-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdev_chat.js
More file actions
46 lines (39 loc) · 1.46 KB
/
dev_chat.js
File metadata and controls
46 lines (39 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var chatWindow = document.getElementsByClassName("chat-window")[0];
var inputBox = document.getElementsByClassName("message-input")[0];
jQuery('#username-modal').modal('show');
$userModal = jQuery('#username-modal')
$modalSubmit = $userModal.find('.submit-button')
$ipField = $userModal.find('#ip')
$username = $userModal.find('#username')
jQuery($modalSubmit).on('click', function(event){
var username = $username.val();
var ip = $ipField.val();
$userModal.modal('hide')
jQuery('#submit-message').on('click', sendMessage)
var client = new Faye.Client('http://' + ip + ':8000/');
client.publish('/activity', {username: username})
var sendMessage = function(){
var inputMessage = inputBox.value;
client.publish('/messages', {
text: inputMessage,
username: username
});
inputBox.value = '';
}
jQuery(inputBox).on("keyup", function(event){
if(event.keyCode === 13){
sendMessage();
}
})
client.subscribe('/messages', function(message) {
var currentMessages = chatWindow.innerHTML;
var appendedMessage = message.username + ': ' + message.text + "<br/>" + currentMessages;
chatWindow.innerHTML = appendedMessage;
console.log('Got a message: ' + message.text + '\n\tFrom: ' + username);
});
client.subscribe('/activity', function(payload) {
var currentMessages = chatWindow.innerHTML;
var appendedMessage = payload.username + " has joined";
chatWindow.innerHTML = appendedMessage;
})
})