jsOMS/autoloader.js
Dennis Eichhorn 4458ddc121 Fixing request & response behavior
With regard to login and report creation.
2016-05-03 20:43:52 +02:00

61 lines
1.7 KiB
JavaScript

(function (jsOMS, undefined)
{
jsOMS.Autoloader = {};
jsOMS.Autoloader.loaded = [];
jsOMS.Autoloader.namespaced = [];
jsOMS.Autoloader.defineNamespace = function (namespace)
{
if (jsOMS.Autoloader.namespaced.indexOf(namespace) === -1) {
let paths = namespace.split('.');
paths.splice(0, 1);
let length = paths.length,
current = jsOMS;
for (let i = 0; i < length; i++) {
if (typeof current[paths[i]] === 'undefined') {
current[paths[i]] = {};
}
current = current[paths[i]];
}
jsOMS.Autoloader.namespaced.push(namespace);
}
};
jsOMS.Autoloader.initPreloaded = function ()
{
let scripts = document.getElementsByTagName('script'),
length = scripts.length;
for (let i = 0; i < length; i++) {
scripts[i].src.replace(URL + '/', '');
if (jsOMS.Autoloader.loaded.indexOf(scripts[i].src) === -1) {
jsOMS.Autoloader.loaded.push(scripts[i].src);
}
}
};
jsOMS.Autoloader.setPreloaded = function (file)
{
if (jsOMS.Autoloader.loaded.indexOf(file) === -1) {
jsOMS.Autoloader.loaded.push(file);
}
};
jsOMS.Autoloader.include = function (file, callback)
{
let length = file.length;
for (let i = 0; i < length; i++) {
if (jsOMS.Autoloader.loaded.indexOf(file) === -1) {
// todo: implement asset loading and pass callback
jsOMS.Autoloader.loaded.push(file);
}
}
};
}(window.jsOMS = window.jsOMS || {}));