mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
refactor(socket) mv {add,remove}Listener to CloudFunc
This commit is contained in:
parent
517ab00219
commit
d4a56f6089
2 changed files with 43 additions and 35 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue