feature(util) loadOnLoad -> exec.series

This commit is contained in:
coderaiser 2014-05-23 03:31:53 -04:00
parent e071a6a9cf
commit 289dd5b676
16 changed files with 52 additions and 67 deletions

View file

@ -148,7 +148,7 @@ var Util, DOM, CloudFunc;
*/
this.init = function() {
var callback = function() {
Util.loadOnLoad([
Util.exec.series([
initModules,
baseInit,
Util.bind(CloudCmd.route, location.hash)

View file

@ -23,7 +23,7 @@ var CloudCmd, Util, DOM;
Loading = true;
showLoad();
Util.loadOnLoad([
Util.exec.series([
CloudCmd.View,
function(callback) {
Loading = false;

View file

@ -29,7 +29,7 @@ var CloudCmd, Util, DOM, CloudFunc, $;
function init() {
Loading = true;
Util.loadOnLoad([
Util.exec.series([
DOM.jqueryLoad,
CloudCmd.View,
load,

View file

@ -26,7 +26,7 @@ var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuI
function init() {
Loading = true;
Util.loadOnLoad([
Util.exec.series([
CloudCmd.View,
load,
Edit.show

View file

@ -15,7 +15,7 @@ var CloudCmd, Util, DOM;
top:true
});
Util.loadOnLoad([
Util.exec.series([
CloudCmd.View,
Util.bind(MD.show, null, null),
]);

View file

@ -22,7 +22,7 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
function init() {
Loading = true;
Util.loadOnLoad([
Util.exec.series([
DOM.menuLoad,
Menu.show
]);

View file

@ -5,15 +5,15 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
CloudCmd.DropBox = DropBoxProto;
function DropBoxProto(pCallBack) {
function DropBoxProto(callback) {
var DropBoxStore = this;
function init(pCallBack){
Util.loadOnLoad([
function init(callback){
Util.exec.series([
load,
DropBoxStore.login,
getUserData,
Util.exec.ret(pCallBack)
Util.exec.ret(callback)
]);
}
@ -23,7 +23,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
/**
* function loads dropbox.js
*/
function load(pCallBack){
function load(callback) {
console.time('dropbox load');
var lSrc = '//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.10.2/dropbox.min.js',
@ -32,7 +32,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
console.timeEnd('dropbox load');
DOM.Images.hide();
Util.exec(pCallBack);
Util.exec(callback);
};
DOM.jsload(lSrc, {
@ -42,7 +42,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
}
function getUserData(pCallBack){
function getUserData(callback) {
Client.getUserInfo(function(pError, pData){
var lHello = 'Hello ' + pData.name + ' :)!',
lMsg = pError ? pError : lHello;
@ -50,14 +50,14 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
Util.log(lMsg);
});
Util.exec(pCallBack);
Util.exec(callback);
}
/**
* function logins on dropbox
*
* @param pData = {key, secret}
*/
this.login = function(pCallBack){
this.login = function(callback) {
CloudCmd.getModules(function(pModules){
var lStorage = Util.findObjByNameInArr(pModules, 'storage'),
lDropBox = Util.findObjByNameInArr(lStorage, 'DropBox'),
@ -74,10 +74,10 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
receiverUrl: lURL, noFragment: true
}));
Client.authenticate(function(pError, pClient) {
Util.log(pError);
Client = pClient;
Util.exec(pCallBack);
Client.authenticate(function(error, client) {
Util.log(error);
Client = client;
Util.exec(callback);
});
});
@ -210,7 +210,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dropbox, cb, Client;
});
}
init(pCallBack);
init(callback);
}
})(CloudCmd, Util, DOM, CloudFunc);

View file

@ -8,7 +8,7 @@ var CloudCmd, Util, DOM, filepicker;
function FilePickerProto(callback) {
function init(callback) {
Util.loadOnLoad([
Util.exec.series([
load,
callback,
]);

View file

@ -97,7 +97,7 @@ var CloudCmd, Util, DOM, gapi;
GDrive.init = function(callback) {
Util.loadOnLoad([
Util.exec.series([
load,
Util.exec.ret(callback)
]);

View file

@ -15,7 +15,7 @@ var CloudCmd, Util, DOM, CloudFunc, Github, cb;
cb = function (err, data) { Util.log(err || data);};
function init(callback) {
Util.loadOnLoad([
Util.exec.series([
load,
GitHub.autorize,
GitHub.getUserData,
@ -23,7 +23,7 @@ var CloudCmd, Util, DOM, CloudFunc, Github, cb;
]);
GitHub.callback = function() {
Util.loadOnLoad([
Util.exec.series([
GitHub.getUserData,
Util.exec.ret(callback)
]);

View file

@ -66,7 +66,7 @@ var CloudCmd, Util, DOM, WL;
}
SkyDrive.init = function(callback) {
Util.loadOnLoad([
Util.exec.series([
load,
auth,
Util.exec.ret(callback)

View file

@ -84,7 +84,7 @@ var CloudCmd, Util, DOM, VK;
};
VKStorage.init = function(callback) {
Util.loadOnLoad([
Util.exec.series([
load,
auth,
Util.exec.ret(callback)

View file

@ -25,7 +25,7 @@ var CloudCmd, Util, DOM, CloudFunc, Terminal;
function init() {
Loading = true;
Util.loadOnLoad([
Util.exec.series([
DOM.jqueryLoad,
CloudCmd.View,
load,

View file

@ -52,7 +52,7 @@ var CloudCmd, Util, DOM, CloudFunc, $;
Loading = true;
Util.loadOnLoad([
Util.exec.series([
DOM.jqueryLoad,
load,
func

View file

@ -168,24 +168,20 @@
}
function respond(req, res) {
var i, n, func,
funcs = ([
var funcs = ([
Rest,
Route,
join,
controller
]);
n = funcs.length;
for (i = 0; i < n; i++) {
func = funcs[i];
funcs[i] = func.bind(null, req, res);
}
funcs.map(function(func) {
return Util.bind(func, req, res);
});
Util.loadOnLoad(funcs);
Util.exec.series(funcs);
}
/**
* Главная функция, через которую проихсодит
* взаимодействие, обмен данными с клиентом

View file

@ -380,25 +380,6 @@
return pArg;
};
/**
* load functions thrue callbacks one-by-one
* @param funcs {Array} - array of functions
*/
this.loadOnLoad = function(funcs) {
var func, callback,
isArray = Util.isArray(funcs);
if (isArray) {
func = funcs.shift();
callback = function() {
return Util.loadOnLoad(funcs);
};
Util.exec(func, callback);
}
};
/**
* function remove substring from string
* @param str
@ -660,17 +641,6 @@
return pParam;
};
/**
* return load functions thrue callbacks one-by-one
* @param pFunc_a {Array} - array of functions
* @param pData - not necessarily
*/
this.retLoadOnLoad = function(pFunc_a, pData) {
return function() {
Util.loadOnLoad(pFunc_a, pData);
};
};
/**
* function makes new array based on first
*
@ -874,6 +844,25 @@
}
};
/**
* load functions thrue callbacks one-by-one
* @param funcs {Array} - array of functions
*/
exec.series = function(funcs) {
var func, callback,
isArray = Util.isArray(funcs);
if (isArray) {
func = funcs.shift();
callback = function() {
return exec.series(funcs);
};
exec(func, callback);
}
};
return exec;
}