annotate www/oi/js/socket-ctrl.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 d802954248a7
children
rev   line source
rob@100 1 var socket = io.connect();
rob@100 2
rob@100 3 socket.on('connect', function () {
rob@100 4 $('#chat').addClass('connected');
rob@100 5 });
rob@100 6
rob@100 7 socket.on('announcement', function (msg) {
rob@100 8 $('#lines').append($('<p>').append($('<em>').text(msg)));
rob@100 9 });
rob@100 10
rob@100 11 socket.on('nicknames', function (nicknames) {
rob@100 12 $('#nicknames').empty().append($('<span>Online: </span>'));
rob@100 13 for (var i in nicknames) {
rob@100 14 $('#nicknames').append($('<b>').text(nicknames[i]+" : "));
rob@100 15 }
rob@100 16 });
rob@100 17
rob@100 18 socket.on('user message', message);
rob@100 19
rob@100 20 socket.on('reconnect', function () {
rob@100 21 $('#lines').remove();
rob@100 22 message('System', 'Reconnected to the server');
rob@100 23 });
rob@100 24
rob@100 25 socket.on('reconnecting', function () {
rob@100 26 message('System', 'Attempting to re-connect to the server');
rob@100 27 });
rob@100 28
rob@100 29 socket.on('error', function (e) {
rob@100 30 message('System', e ? e : 'A unknown error occurred');
rob@100 31 });
rob@100 32
rob@100 33
rob@100 34 function message (from, msg) {
rob@100 35 $('#lines').prepend($('<p>').prepend($('<b>').text(from), msg));
rob@100 36 $('#announ').text(msg);
rob@100 37 }
rob@100 38
rob@100 39
rob@100 40
rob@100 41 // dom manipulation
rob@100 42 $(function () {
rob@100 43 $('#set-nickname').submit(function (ev) {
rob@100 44 socket.emit('nickname', $('#nick').val(), function (set) {
rob@100 45 if (!set) {
rob@100 46 clear();
rob@100 47 return $('#chat').addClass('nickname-set');
rob@100 48 }
rob@100 49 $('#nickname-err').css('visibility', 'visible');
rob@100 50 });
rob@100 51 return false;
rob@100 52 });
rob@100 53
rob@100 54 $('#send-message').submit(function () {
rob@100 55 message('me ', $('#message').val());
rob@100 56 socket.emit('user message', $('#message').val());
rob@100 57 clear();
rob@100 58 $('#lines').get(0).scrollTop = 10000000;
rob@100 59 return false;
rob@100 60 });
rob@100 61
rob@100 62
rob@100 63 function clear () {
rob@100 64 $('#message').val('').focus();
rob@100 65 };
rob@100 66 });
rob@100 67