64 lines
2.3 KiB
JavaScript
64 lines
2.3 KiB
JavaScript
function newWebApp() {
|
|
|
|
let thisObject = {
|
|
initialize: initialize,
|
|
finalize: finalize
|
|
}
|
|
|
|
return thisObject
|
|
|
|
function finalize() {
|
|
|
|
}
|
|
|
|
function initialize() {
|
|
try {
|
|
/*
|
|
Here we will setup the UI object, with all the
|
|
projects and spaces.
|
|
*/
|
|
for (let i = 0; i < PROJECTS_SCHEMA.length; i++) {
|
|
let projectDefinition = PROJECTS_SCHEMA[i]
|
|
UI.projects[projectDefinition.propertyName] = {}
|
|
let projectInstance = UI.projects[projectDefinition.propertyName]
|
|
|
|
projectInstance.utilities = {}
|
|
projectInstance.globals = {}
|
|
projectInstance.functionLibraries = {}
|
|
|
|
|
|
if (projectDefinition.UI === undefined) { continue }
|
|
|
|
/* Set up Globals of this Project */
|
|
if (projectDefinition.UI.globals !== undefined) {
|
|
for (let j = 0; j < projectDefinition.UI.globals.length; j++) {
|
|
let globalDefinition = projectDefinition.UI.globals[j]
|
|
|
|
projectInstance.globals[globalDefinition.propertyName] = eval(globalDefinition.functionName + '()')
|
|
}
|
|
}
|
|
|
|
/* Set up Utilities of this Project */
|
|
if (projectDefinition.UI.utilities !== undefined) {
|
|
for (let j = 0; j < projectDefinition.UI.utilities.length; j++) {
|
|
let utilityDefinition = projectDefinition.UI.utilities[j]
|
|
|
|
projectInstance.utilities[utilityDefinition.propertyName] = eval(utilityDefinition.functionName + '()')
|
|
}
|
|
}
|
|
|
|
/* Set up Function Libraries of this Project */
|
|
if (projectDefinition.UI.functionLibraries !== undefined) {
|
|
for (let j = 0; j < projectDefinition.UI.functionLibraries.length; j++) {
|
|
let functionLibraryDefinition = projectDefinition.UI.functionLibraries[j]
|
|
|
|
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
|
|
}
|
|
}
|
|
}
|
|
} catch (err) {
|
|
console.log('[ERROR] initialize -> err.stack = ' + err.stack)
|
|
}
|
|
}
|
|
}
|