blob: 8f9a82ca9216b7d986012201e2e86b029110a7e0 (
plain)
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
47
48
49
50
51
52
53
|
function Chat (app) {
var base = this;
var $messages = $("#messages"),
$message = $("#message"),
$send = $("#send");
base.focused = false;
// Initialize the chat module
function init(){
bind();
$message.focus();
}
// Bind events
function bind(){
// Listen for chat messages
app.receive("event-chat", function(data){
base.receive(data.name, data.message);
})
// Bind to the chat input form
$message.on({
focus: function(){
base.focused = true;
},
blur: function(){
base.focused = false;
},
keydown: function(e){
switch (e.keyCode) {
case 13: // enter
base.send();
break;
}
}
});
}
// Get a message from the message box and send it out
base.send = function () {
var message = $("#message").val();
$("#message").val("");
base.receive(app.user.name, message);
app.send("event-chat", { 'name': app.user.name, 'message': message });
}
// Receive a message and drop it in the chat
base.receive = function (name, message) {
$("#messages").append("<b>" + sanitize(name) + "</b>" + sanitize(message) + "<br>");
}
init();
};
|