cloudcmd/lib/client/cloudcmd.js

76 lines
1.9 KiB
JavaScript

var CloudCmd;
(function() {
'use strict';
CloudCmd = load;
function load(prefix) {
var urlFiles,
modules = '/modules/',
lib = 'lib/',
client = 'client/',
files = [
'util',
'join',
'cloudfunc',
client + 'dom',
client + 'events',
client + 'rest',
client + 'load',
client + 'notify',
client + 'storage',
client + 'files',
'client',
client + 'buffer',
client + 'listeners',
client + 'key'
].map(function(name) {
return lib + name;
}),
moduleFiles = [
'promise-polyfill/Promise',
'format-io/lib/format',
'rendy/lib/rendy',
].map(function(name) {
return modules + name;
});
files = moduleFiles
.concat(files)
.map(function(name) {
return name + '.js';
});
urlFiles = getJoinURL(files);
if (!prefix)
prefix = '/cloudcmd';
createScript(prefix + urlFiles, function() {
CloudCmd.init(prefix);
});
}
function createScript(url, callback) {
var script = document.createElement('script');
script.src = url;
script.async = true;
script.addEventListener('load', function load(event) {
callback(event);
script.removeEventListener('load', load);
});
document.body.appendChild(script);
}
function getJoinURL(names) {
var prefix = '/join:',
url = prefix + names.join(':');
return url;
}
})();