annotate www/m/js/chat.js @ 101:52e44ee1c791 tip master

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