refactor(socket) mv {add,remove}Listener to CloudFunc

This commit is contained in:
coderaiser 2014-01-27 09:57:48 -05:00
parent 517ab00219
commit d4a56f6089
2 changed files with 43 additions and 35 deletions

View file

@ -38,44 +38,11 @@ var CloudCmd, Util, DOM, io;
}
function addListener(name, func) {
var listeners, obj;
if (Util.isString(name)) {
listeners = AllListeners[name];
if (!listeners)
listeners = AllListeners[name] = [];
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);
}
}
CloudFunc.addListener(name, func, AllListeners, socket);
}
function removeListener(name, func) {
var i, n, listeners;
if (socket)
socket.removeListener(name, func);
listeners = AllListeners[name];
if (listeners) {
n = listeners.length;
for (i = 0; i < n; i++)
if (listeners[i] === func)
listeners[i] = null;
}
CloudFunc.removeListener(name, func, AllListeners, socket);
}
function send(data) {

View file

@ -46,6 +46,47 @@ var Util;
this.PANEL_LEFT = 'js-left';
this.PANEL_RIGHT = 'js-right';
this.addListener = function(name, func, allListeners, socket) {
var listeners, obj;
if (Util.isString(name)) {
listeners = allListeners[name];
if (!listeners)
listeners = allListeners[name] = [];
listeners.push(func);
if (func && socket)
socket.on(name, func);
} else if (Util.isObject(name)) {
obj = name;
for (name in obj) {
func = obj[name];
CloudFunc.addListener(name, func, allListeners, socket);
}
}
};
this.removeListener = function(name, func, allListeners, socket) {
var i, n, listeners;
if (socket)
socket.removeListener(name, func);
listeners = allListeners[name];
if (listeners) {
n = listeners.length;
for (i = 0; i < n; i++)
if (listeners[i] === func)
listeners[i] = null;
}
};
this.getJoinURL = function(names) {
var url, isContain,
regExp = new RegExp(',', 'g'),