From 517ab002190dbd0d48145f1bfd4e587d5f112fb4 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 27 Jan 2014 09:48:10 -0500 Subject: [PATCH] feature(socket) addListener: first parameter could be object --- lib/client/console.js | 18 ++++++++++-------- lib/client/socket.js | 26 +++++++++++++++++++------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/lib/client/console.js b/lib/client/console.js index 51894bde..783e8046 100644 --- a/lib/client/console.js +++ b/lib/client/console.js @@ -153,14 +153,16 @@ var CloudCmd, Util, DOM, CloudFunc, $; function addListeners(callback) { var socket = CloudCmd.Socket; - socket.on('message', onMessage); - - socket.on('connect', function() { - log(socket.CONNECTED); - }); - - socket.on('disconnect', function() { - error(socket.DISCONNECTED); + socket.on({ + 'message' : onMessage, + + 'connect' : function() { + log(socket.CONNECTED); + }, + + 'disconnect': function() { + error(socket.DISCONNECTED); + } }); Util.exec(callback); diff --git a/lib/client/socket.js b/lib/client/socket.js index c452d4f6..c679575c 100644 --- a/lib/client/socket.js +++ b/lib/client/socket.js @@ -38,15 +38,27 @@ var CloudCmd, Util, DOM, io; } function addListener(name, func) { - var listeners = AllListeners[name]; + var listeners, obj; - if (!listeners) - listeners = AllListeners[name] = []; + if (Util.isString(name)) { + listeners = AllListeners[name]; + + if (!listeners) + listeners = AllListeners[name] = []; + + listeners.push(func); + + if (func && socket) + socket.on(name, func); - listeners.push(func); - - if (func && socket) - socket.on(name, func); + } else if (Util.isObject(name)) { + obj = name; + + for (name in obj) { + func = obj[name]; + addListener(name, func); + } + } } function removeListener(name, func) {