Mercurial > hg > nodescore
comparison www/martin/js/chat.js @ 74:b7f9ade92165
added template for guitar version
author | Rob Canning <rc@kiben.net> |
---|---|
date | Sun, 29 Jun 2014 16:53:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
73:0c3a2942ddee | 74:b7f9ade92165 |
---|---|
1 var socket = io.connect(); | |
2 | |
3 socket.on('connect', function () { | |
4 $('#chat').addClass('connected'); | |
5 }); | |
6 | |
7 socket.on('announcement', function (msg) { | |
8 $('#lines').append($('<p>').append($('<em>').text(msg))); | |
9 }); | |
10 | |
11 socket.on('nicknames', function (nicknames) { | |
12 $('#nicknames').empty().append($('<span>Online: </span>')); | |
13 for (var i in nicknames) { | |
14 $('#nicknames').append($('<b>').text(nicknames[i])); | |
15 } | |
16 }); | |
17 | |
18 socket.on('user message', message); | |
19 socket.on('reconnect', function () { | |
20 $('#lines').remove(); | |
21 message('System', 'Reconnected to the server'); | |
22 }); | |
23 | |
24 socket.on('reconnecting', function () { | |
25 message('System', 'Attempting to re-connect to the server'); | |
26 }); | |
27 | |
28 socket.on('error', function (e) { | |
29 message('System', e ? e : 'A unknown error occurred'); | |
30 }); | |
31 | |
32 function message (from, msg) { | |
33 $('#lines').append($('<p>').append($('<b>').text(from), msg)); | |
34 } | |
35 | |
36 // dom manipulation | |
37 $(function () { | |
38 $('#set-nickname').submit(function (ev) { | |
39 socket.emit('nickname', $('#nick').val(), function (set) { | |
40 if (!set) { | |
41 clear(); | |
42 return $('#chat').addClass('nickname-set'); | |
43 } | |
44 $('#nickname-err').css('visibility', 'visible'); | |
45 }); | |
46 return false; | |
47 }); | |
48 | |
49 $('#send-message').submit(function () { | |
50 message('me', $('#message').val()); | |
51 socket.emit('user message', $('#message').val()); | |
52 clear(); | |
53 $('#lines').get(0).scrollTop = 10000000; | |
54 return false; | |
55 }); | |
56 | |
57 function clear () { | |
58 $('#message').val('').focus(); | |
59 }; | |
60 }); |