feature(cloudcmd) add prefix to all urls

This commit is contained in:
coderaiser 2014-09-19 08:35:51 -04:00
parent c13d5581cc
commit 2709b84d59
6 changed files with 52 additions and 21 deletions

View file

@ -1,6 +1,6 @@
var Util, DOM, CloudFunc;
var Util, DOM, CloudFunc, join;
(function(scope, Util, DOM, CloudFunc) {
(function(scope, Util, DOM, CloudFunc, join) {
'use strict';
scope.CloudCmd = new CloudCmdProto(Util, DOM, CloudFunc);
@ -14,6 +14,7 @@ var Util, DOM, CloudFunc;
CloudCmd = this,
Storage = DOM.Storage;
this.PREFIX = '',
this.MousePosition = {};
this.LIBDIR = '/lib/';
this.LIBDIRCLIENT = '/lib/client/';
@ -137,7 +138,7 @@ var Util, DOM, CloudFunc;
* выполняет весь функционал по
* инициализации
*/
this.init = function() {
this.init = function(prefix) {
var func = function() {
Util.exec.series([
initModules,
@ -154,9 +155,25 @@ var Util, DOM, CloudFunc;
});
};
CloudCmd.PREFIX = prefix;
CloudCmd.LIBDIR = prefix + '/lib/';
CloudCmd.LIBDIRCLIENT = prefix + '/lib/client/';
Util.exec.if(document.body.scrollIntoViewIfNeeded, func, funcBefore);
};
this.join = function(urls) {
var prefix = CloudCmd.PREFIX;
Util.checkArgs(arguments, ['urls']);
urls = urls.map(function(url) {
return url.replace(prefix, '');
});
return prefix + join(urls);
};
this.route = function(path) {
var module, file, current, msg,
query = path.split('/');
@ -472,4 +489,4 @@ var Util, DOM, CloudFunc;
};
}
})(this, Util, DOM, CloudFunc);
})(this, Util, DOM, CloudFunc, join);

View file

@ -3,7 +3,7 @@ var CloudCmd;
(function() {
CloudCmd = load;
function load() {
function load(prefix) {
var lib = 'lib/',
client = 'client/',
files = [
@ -29,8 +29,11 @@ var CloudCmd;
urlFiles = getJoinURL(files);
createScript(urlFiles, function() {
CloudCmd.init();
if (!prefix)
prefix = '/cloudcmd';
createScript(prefix + urlFiles, function() {
CloudCmd.init(prefix);
});
window.removeEventListener('load', load);

View file

@ -339,13 +339,14 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
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),
version = module.version,
isArray = Util.isArray(module.local),
version = module.version,
funcON = function() {
load.parallel(remote, function(error) {
@ -364,12 +365,16 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
remoteTmpls = module.remote;
local = module.local;
} else {
remoteTmpls = [module.remote];
local = [module.local];
remoteTmpls = [module.remote];
local = [module.local];
}
remote = remoteTmpls.map(function(item) {
return Util.render(item, {
local = local.map(function(url) {
return prefix + url;
});
remote = remoteTmpls.map(function(tmpl) {
return Util.render(tmpl, {
version: version
});
});

View file

@ -1,5 +1,5 @@
var CloudCmd, Util, join, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuIO, Format;
(function(CloudCmd, Util, Join, DOM, CloudFunc) {
var CloudCmd, Util, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip, MenuIO, Format;
(function(CloudCmd, Util, DOM, CloudFunc) {
'use strict';
CloudCmd.Edit = EditProto;
@ -10,6 +10,9 @@ var CloudCmd, Util, join, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip,
DIR = CloudCmd.LIBDIRCLIENT + 'edit/',
LIBDIR = CloudCmd.LIBDIR,
Info = DOM.CurrentInfo,
join = CloudCmd.join,
Menu,
Value,
Edit = this,
@ -510,4 +513,4 @@ var CloudCmd, Util, join, DOM, CloudFunc, ace, DiffProto, diff_match_patch, Zip,
init();
}
})(CloudCmd, Util, join, DOM, CloudFunc);
})(CloudCmd, Util, DOM, CloudFunc);

View file

@ -1,6 +1,6 @@
/* load and store templates data */
var Util, DOM;
var Util, DOM, CloudCmd;
(function(Util, DOM) {
'use strict';
@ -114,10 +114,12 @@ var Util, DOM;
}
function getSystemFile(url, callback) {
var prefix = CloudCmd.PREFIX;
if (!Promises[url])
Promises[url] = new Promise(function(resolve, reject) {
DOM.load.ajax({
url : url,
url : prefix + url,
success : resolve,
error : reject
});

View file

@ -1,4 +1,4 @@
var Util, DOM, CloudFunc;
var Util, DOM, CloudFunc, CloudCmd;
(function(Util, DOM, CloudFunc) {
'use strict';
@ -142,8 +142,9 @@ var Util, DOM, CloudFunc;
};
function sendRequest(params) {
var p = params,
apiURL = CloudFunc.apiURL;
var prefix = CloudCmd.PREFIX,
p = params,
apiURL = prefix + CloudFunc.apiURL;
p.url = apiURL + p.url;
p.url = encodeURI(p.url);