From 686106d544ecc3b6ffd4db2b665d3bc879a58d8c Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 24 Sep 2012 16:22:07 -0400 Subject: ok --- public/js/chat.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 public/js/chat.js (limited to 'public/js/chat.js') diff --git a/public/js/chat.js b/public/js/chat.js new file mode 100644 index 0000000..8f9a82c --- /dev/null +++ b/public/js/chat.js @@ -0,0 +1,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("" + sanitize(name) + "" + sanitize(message) + "
"); + } + + init(); +}; -- cgit v1.2.3-70-g09d2