SA root object implemented at Web App.

This commit is contained in:
Luis Fernando Molina committed 2021-09-09 14:08:59 +02:00
1 parent 663a847351
commit 4125d54016
4 files changed
+82 -25

No files matched your search

+8 -1
View File
@@ -1,8 +1,15 @@
/* Root object*/
/* Root objects*/
let UI = {
projects: {},
schemas: { projectSchema: undefined },
environment: undefined,
running: {}
}
let SA = { projects: {} }
/*
We will use this to load functions originally intended for Nodejs
*/
let exports = {}
+39 -22
View File
@@ -13,7 +13,8 @@ function newWebApp() {
function initialize() {
try {
setupRootObject()
setupRootObject(UI, 'UI')
setupRootObject(SA, 'SA')
UI.projects.socialTrading.modules.webSocketsClient.initialize()
setupHomePage()
} catch (err) {
@@ -21,56 +22,72 @@ function newWebApp() {
}
}
function setupRootObject() {
function setupRootObject(rootObject, rootObjectName) {
/*
Here we will setup the UI object, with all the
projects and spaces.
*/
for (let i = 0; i < UI.schemas.projectSchema.length; i++) {
let projectDefinition = UI.schemas.projectSchema[i]
UI.projects[projectDefinition.propertyName] = {}
let projectInstance = UI.projects[projectDefinition.propertyName]
rootObject.projects[projectDefinition.propertyName] = {}
let projectInstance = rootObject.projects[projectDefinition.propertyName]
projectInstance.utilities = {}
projectInstance.globals = {}
projectInstance.functionLibraries = {}
projectInstance.modules = {}
if (projectDefinition.UI === undefined) { continue }
if (projectDefinition[rootObjectName] === 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]
if (projectDefinition[rootObjectName].globals !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].globals.length; j++) {
let globalDefinition = projectDefinition[rootObjectName].globals[j]
projectInstance.globals[globalDefinition.propertyName] = eval(globalDefinition.functionName + '()')
if (exports[globalDefinition.functionName] === undefined) {
projectInstance.globals[globalDefinition.propertyName] = eval(globalDefinition.functionName + '()')
} else {
projectInstance.globals[globalDefinition.propertyName] = eval('exports.' + 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]
if (projectDefinition[rootObjectName].utilities !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].utilities.length; j++) {
let utilityDefinition = projectDefinition[rootObjectName].utilities[j]
projectInstance.utilities[utilityDefinition.propertyName] = eval(utilityDefinition.functionName + '()')
if (exports[utilityDefinition.functionName] === undefined) {
projectInstance.utilities[utilityDefinition.propertyName] = eval(utilityDefinition.functionName + '()')
} else {
projectInstance.utilities[utilityDefinition.propertyName] = eval('exports.' + 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]
if (projectDefinition[rootObjectName].functionLibraries !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].functionLibraries.length; j++) {
let functionLibraryDefinition = projectDefinition[rootObjectName].functionLibraries[j]
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
if (exports[functionLibraryDefinition.functionName] === undefined) {
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
} else {
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval('exports.' + functionLibraryDefinition.functionName + '()')
}
}
}
/* Set up Modules of this Project */
if (projectDefinition.UI.modules !== undefined) {
for (let j = 0; j < projectDefinition.UI.modules.length; j++) {
let functionLibraryDefinition = projectDefinition.UI.modules[j]
if (projectDefinition[rootObjectName].modules !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].modules.length; j++) {
let functionLibraryDefinition = projectDefinition[rootObjectName].modules[j]
projectInstance.modules[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
if (exports[functionLibraryDefinition.functionName] === undefined) {
projectInstance.modules[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
} else {
projectInstance.modules[functionLibraryDefinition.propertyName] = eval('exports.' + functionLibraryDefinition.functionName + '()')
}
}
}
}
@@ -84,7 +101,7 @@ function newWebApp() {
*/
queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILES,
emitterUserProfileId: DK.TEST_NETWORK_CLIENT_USER_PROFILE_ID,
emitterUserProfileId: undefined, //DK.TEST_NETWORK_CLIENT_USER_PROFILE_ID,
initialIndex: 'Last',
amountRequested: 10,
direction: 'Past'
+31
View File
@@ -47,6 +47,37 @@ function newWebAppLoader() {
}
}
}
if (project.SA !== undefined) {
if (project.SA.functionLibraries !== undefined) {
for (let j = 0; j < project.SA.functionLibraries.length; j++) {
let fileName = project.SA.functionLibraries[j].fileName
if (fileName === undefined) {fileName = project.SA.functionLibraries[j].name.replaceAll(' ', '') + '.js'}
modulesArray.push('Projects' + '/' + project.name + '/' + 'SA' + '/' + 'Function-Libraries' + '/' + fileName)
}
}
if (project.SA.utilities !== undefined) {
for (let j = 0; j < project.SA.utilities.length; j++) {
let fileName = project.SA.utilities[j].fileName
if (fileName === undefined) {fileName = project.SA.utilities[j].name.replaceAll(' ', '') + '.js'}
modulesArray.push('Projects' + '/' + project.name + '/' + 'SA' + '/' + 'Utilities' + '/' + fileName)
}
}
if (project.SA.globals !== undefined) {
for (let j = 0; j < project.SA.globals.length; j++) {
let fileName = project.SA.globals[j].fileName
if (fileName === undefined) {fileName = project.SA.globals[j].name.replaceAll(' ', '') + '.js'}
modulesArray.push('Projects' + '/' + project.name + '/' + 'SA' + '/' + 'Globals' + '/' + fileName)
}
}
if (project.SA.modules !== undefined) {
for (let j = 0; j < project.SA.modules.length; j++) {
let fileName = project.SA.modules[j].fileName
if (fileName === undefined) {fileName = project.SA.modules[j].name.replaceAll(' ', '') + '.js'}
modulesArray.push('Projects' + '/' + project.name + '/' + 'SA' + '/' + 'Modules' + '/' + fileName)
}
}
}
}
downloadIncludedFiles()
@@ -8,7 +8,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
let socketClient
let web3 = new SA.nodeModules.web3()
let web3
let called = {}
let selectedNetworkNode // This is a Network Node we pick to try to connect to.
@@ -33,6 +33,8 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
"address": "0xa153469c57A91F5a59Fc6c45A37aD8dbad85e417"
}
*/
web3 = new SA.nodeModules.web3()
selectedNetworkNode = {
userProfileHandle: "Test-Network-Node-Profile",
blockchainAccount: "0xa153469c57A91F5a59Fc6c45A37aD8dbad85e417",
@@ -226,7 +228,7 @@ exports.newNetworkModulesWebSocketsClient = function newNetworkModulesWebSockets
socketClient.onmessage = socketMessage => { onMenssage(socketMessage) }
socketClient.send(
JSON.stringify(socketMessage)
)
)
function onMenssage(socketMessage) {
try {