mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
103 lines
2.5 KiB
JavaScript
103 lines
2.5 KiB
JavaScript
var CloudCmd;
|
|
|
|
(function() {
|
|
'use strict';
|
|
|
|
CloudCmd = load;
|
|
|
|
function load(config) {
|
|
var prefix = getPrefix(config.prefix);
|
|
var modules = '/modules/';
|
|
var client = 'client/';
|
|
var files = [
|
|
'common/util',
|
|
'common/cloudfunc',
|
|
client + 'dom',
|
|
client + 'events',
|
|
client + 'rest',
|
|
client + 'load',
|
|
client + 'notify',
|
|
client + 'storage',
|
|
client + 'files',
|
|
client + 'dialog',
|
|
'client/client',
|
|
client + 'buffer',
|
|
client + 'listeners',
|
|
client + 'key',
|
|
client + 'directory'
|
|
];
|
|
|
|
var moduleFiles = [
|
|
window.Promise ? '' : 'promise-polyfill/promise.min',
|
|
libDir('format', 'format-io'),
|
|
libDir('rendy'),
|
|
libDir('exec', 'execon'),
|
|
libDir('jonny'),
|
|
libDist('emitify'),
|
|
libDist('currify'),
|
|
libDist('itype'),
|
|
].filter(function(name) {
|
|
return name;
|
|
}).map(function(name) {
|
|
return modules + name;
|
|
});
|
|
|
|
var allFiles = moduleFiles
|
|
.concat(files)
|
|
.concat('/join/join')
|
|
.map(function(name) {
|
|
return name + '.js';
|
|
});
|
|
|
|
var urlFiles = getJoinURL(allFiles);
|
|
|
|
createScript(prefix + urlFiles, function() {
|
|
CloudCmd.init(prefix, config);
|
|
});
|
|
}
|
|
|
|
function libDir(name, dir) {
|
|
var lib = '/lib/';
|
|
|
|
if (!dir)
|
|
dir = name;
|
|
|
|
return dir + lib + name;
|
|
}
|
|
|
|
function libDist(name) {
|
|
return name + '/dist/' + name + '.min';
|
|
}
|
|
|
|
function getPrefix(prefix) {
|
|
if (!prefix)
|
|
return '';
|
|
|
|
if (!prefix.indexOf('/'))
|
|
return prefix;
|
|
|
|
return '/' + 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:';
|
|
var url = prefix + names.join(':');
|
|
|
|
return url;
|
|
}
|
|
})();
|
|
|