116 lines
3.6 KiB
JavaScript
116 lines
3.6 KiB
JavaScript
|
|
function newWebAppLoader() {
|
|
|
|
let thisObject = {
|
|
loadModules: loadModules
|
|
}
|
|
|
|
let postLoader
|
|
return thisObject
|
|
|
|
async function loadModules() {
|
|
try {
|
|
let modulesArray = [
|
|
'WebDebugLog.js',
|
|
'WebAppPostLoader.js',
|
|
'Globals.js',
|
|
'WebApp.js'
|
|
]
|
|
|
|
functionLibraries()
|
|
|
|
function functionLibraries() {
|
|
let url = 'ListFunctionLibraries'
|
|
httpRequest(undefined, url, onResponse)
|
|
|
|
function onResponse(err, fileList) {
|
|
let urlArray = []
|
|
let fileArray = JSON.parse(fileList)
|
|
for (let i = 0; i < fileArray.length; i++) {
|
|
let item = fileArray[i]
|
|
|
|
project = item[0]
|
|
fileName = item[1]
|
|
urlArray.push('Projects' + '/' + project + '/' + 'UI' + '/' + 'Function-Libraries' + '/' + fileName)
|
|
}
|
|
|
|
modulesArray = modulesArray.concat(urlArray)
|
|
utilities()
|
|
}
|
|
}
|
|
|
|
function utilities() {
|
|
let url = 'ListUtilitiesFiles'
|
|
httpRequest(undefined, url, onResponse)
|
|
|
|
function onResponse(err, fileList) {
|
|
let urlArray = []
|
|
let fileArray = JSON.parse(fileList)
|
|
for (let i = 0; i < fileArray.length; i++) {
|
|
let item = fileArray[i]
|
|
|
|
project = item[0]
|
|
fileName = item[1]
|
|
urlArray.push('Projects' + '/' + project + '/' + 'UI' + '/' + 'Utilities' + '/' + fileName)
|
|
}
|
|
|
|
modulesArray = modulesArray.concat(urlArray)
|
|
globals()
|
|
}
|
|
}
|
|
|
|
function globals() {
|
|
let url = 'ListGlobalFiles'
|
|
httpRequest(undefined, url, onResponse)
|
|
|
|
function onResponse(err, fileList) {
|
|
let urlArray = []
|
|
let fileArray = JSON.parse(fileList)
|
|
for (let i = 0; i < fileArray.length; i++) {
|
|
let item = fileArray[i]
|
|
|
|
project = item[0]
|
|
fileName = item[1]
|
|
urlArray.push('Projects' + '/' + project + '/' + 'UI' + '/' + 'Globals' + '/' + fileName)
|
|
}
|
|
|
|
modulesArray = modulesArray.concat(urlArray)
|
|
downloadIncludedFiles()
|
|
}
|
|
}
|
|
|
|
function downloadIncludedFiles() {
|
|
|
|
let downloadedCounter = 0
|
|
|
|
for (let i = 0; i < modulesArray.length; i++) {
|
|
let path = modulesArray[i]
|
|
|
|
REQUIREJS([path], onRequired)
|
|
|
|
function onRequired(pModule) {
|
|
try {
|
|
|
|
downloadedCounter++
|
|
|
|
if (downloadedCounter === modulesArray.length) {
|
|
setTimeout(() => {
|
|
postLoader = newWebAppPostLoader()
|
|
postLoader.start()
|
|
}, 500)
|
|
|
|
}
|
|
} catch (err) {
|
|
console.log('[ERROR] loadModules -> onRequired -> err = ' + err.stack)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
} catch (err) {
|
|
console.log('[ERROR] loadModules -> err = ' + err.stack)
|
|
}
|
|
}
|
|
}
|
|
|