feature(dom) loadRemote options: add name

This commit is contained in:
coderaiser 2014-11-12 07:01:11 -05:00
parent 2d9067f488
commit 6ad6a3bcc5

View file

@ -238,8 +238,8 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
* Function search element by id
* @param Id - id
*/
this.getById = function(pId) {
return document.getElementById(pId);
this.getById = function(id, element) {
return (element || document).querySelector('#' + id);
};
/**
@ -340,51 +340,54 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
if (!callback)
callback = options;
Files.get(['config', 'modules'], function(error, config, modules) {
var remoteTmpls, local, remote,
load = DOM.load,
prefix = CloudCmd.PREFIX,
online = config.online && navigator.onLine,
if (window[o.name])
callback();
else
Files.get(['config', 'modules'], function(error, config, modules) {
var remoteTmpls, local, remote,
load = DOM.load,
prefix = CloudCmd.PREFIX,
online = config.online && navigator.onLine,
remoteObj = Util.findObjByNameInArr(modules, 'remote'),
module = Util.findObjByNameInArr(remoteObj, name),
isArray = Util.type.array(module.local),
version = module.version,
funcON = function() {
load.parallel(remote, function(error) {
if (error)
funcOFF();
else
callback();
});
},
funcOFF = function() {
load.parallel(local, callback);
};
if (isArray) {
remoteTmpls = module.remote;
local = module.local;
} else {
remoteTmpls = [module.remote];
local = [module.local];
}
remoteObj = Util.findObjByNameInArr(modules, 'remote'),
module = Util.findObjByNameInArr(remoteObj, name),
isArray = Util.type.array(module.local),
version = module.version,
funcON = function() {
load.parallel(remote, function(error) {
if (error)
funcOFF();
else
callback();
});
},
funcOFF = function() {
load.parallel(local, callback);
};
if (isArray) {
remoteTmpls = module.remote;
local = module.local;
} else {
remoteTmpls = [module.remote];
local = [module.local];
}
local = local.map(function(url) {
return o.noPrefix ? url : prefix + url;
});
remote = remoteTmpls.map(function(tmpl) {
return Util.render(tmpl, {
version: version
local = local.map(function(url) {
return o.noPrefix ? url : prefix + url;
});
remote = remoteTmpls.map(function(tmpl) {
return Util.render(tmpl, {
version: version
});
});
Util.exec.if(online, funcON, funcOFF);
});
Util.exec.if(online, funcON, funcOFF);
});
return DOM;
};
@ -394,11 +397,21 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
* @param callback
*/
this.loadJquery = function(callback) {
return DOM.loadRemote('jquery', callback);
DOM.loadRemote('jquery', {
name : '$',
noPrefix: true
}, callback);
return DOM;
};
this.loadSocket = function(callback) {
return DOM.loadRemote('socket', {noPrefix: true}, callback);
DOM.loadRemote('socket', {
name : 'io',
noPrefix: true
}, callback);
return DOM;
};
/** function loads css and js of Menu