diff --git a/Desktop/UI/WebAppLoader.js b/Desktop/UI/WebAppLoader.js index ce4e46b77b..5fa30402b0 100644 --- a/Desktop/UI/WebAppLoader.js +++ b/Desktop/UI/WebAppLoader.js @@ -25,6 +25,20 @@ function newWebAppLoader() { modulesArray.push('Projects' + '/' + project.name + '/' + 'UI' + '/' + 'Function-Libraries' + '/' + fileName) } } + if (project.UI.nodeActionFunctions !== undefined) { + for (let j = 0; j < project.UI.nodeActionFunctions.length; j++) { + let fileName = project.UI.nodeActionFunctions[j].fileName + if (fileName === undefined) {fileName = project.UI.nodeActionFunctions[j].name.replaceAll(' ', '') + '.js'} + modulesArray.push('Projects' + '/' + project.name + '/' + 'UI' + '/' + 'Node-Action-Functions' + '/' + fileName) + } + } + if (project.UI.systemActionFunctions !== undefined) { + for (let j = 0; j < project.UI.systemActionFunctions.length; j++) { + let fileName = project.UI.systemActionFunctions[j].fileName + if (fileName === undefined) {fileName = project.UI.systemActionFunctions[j].name.replaceAll(' ', '') + '.js'} + modulesArray.push('Projects' + '/' + project.name + '/' + 'UI' + '/' + 'System-Action-Functions' + '/' + fileName) + } + } if (project.UI.utilities !== undefined) { for (let j = 0; j < project.UI.utilities.length; j++) { let fileName = project.UI.utilities[j].fileName diff --git a/Platform/Client/httpInterface.js b/Platform/Client/httpInterface.js index c68c05eca0..7801218bf7 100644 --- a/Platform/Client/httpInterface.js +++ b/Platform/Client/httpInterface.js @@ -2227,6 +2227,11 @@ exports.newHttpInterface = function newHttpInterface() { SA.projects.foundations.utilities.httpResponses.respondWithFile(path, httpResponse) } break + case 'ProjectsMenu': { + let path = global.env.PATH_TO_PROJECTS + '/' + 'ProjectsMenu.json' + SA.projects.foundations.utilities.httpResponses.respondWithFile(path, httpResponse) + } + break case 'ListSpaceFiles': { let fs = SA.nodeModules.fs let allFiles = [] @@ -2290,6 +2295,14 @@ exports.newHttpInterface = function newHttpInterface() { SA.projects.foundations.utilities.httpResponses.respondWithProjectFolderFileList(httpResponse, 'Function-Libraries', 'UI') } break + case 'ListNodeActionFunctions': { + SA.projects.foundations.utilities.httpResponses.respondWithProjectFolderFileList(httpResponse, 'Node-Action-Functions', 'UI') + } + break + case 'ListSystemActionFunctions': { + SA.projects.foundations.utilities.httpResponses.respondWithProjectFolderFileList(httpResponse, 'System-Action-Functions', 'UI') + } + break case 'ListUtilitiesFiles': { SA.projects.foundations.utilities.httpResponses.respondWithProjectFolderFileList(httpResponse, 'Utilities', 'UI') } diff --git a/Platform/UI/AppLoader.js b/Platform/UI/AppLoader.js index 93b8745ae6..58efe1df82 100644 --- a/Platform/UI/AppLoader.js +++ b/Platform/UI/AppLoader.js @@ -69,6 +69,46 @@ function newAppLoader() { urlArray.push('Projects' + '/' + project + '/' + 'UI' + '/' + 'Function-Libraries' + '/' + fileName) } + modulesArray = modulesArray.concat(urlArray) + nodeActionFunctions() + } + } + + function nodeActionFunctions() { + let url = 'ListNodeActionFunctions' + 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] + + let project = item[0] + let fileName = item[1] + urlArray.push('Projects' + '/' + project + '/' + 'UI' + '/' + 'Node-Action-Functions' + '/' + fileName) + } + + modulesArray = modulesArray.concat(urlArray) + systemActionFunctions() + } + } + + function systemActionFunctions() { + let url = 'ListSystemActionFunctions' + 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] + + let project = item[0] + let fileName = item[1] + urlArray.push('Projects' + '/' + project + '/' + 'UI' + '/' + 'System-Action-Functions' + '/' + fileName) + } + modulesArray = modulesArray.concat(urlArray) utilities() } diff --git a/Platform/UI/AppPostLoader.js b/Platform/UI/AppPostLoader.js index 9d5cccd813..7dfe23501b 100644 --- a/Platform/UI/AppPostLoader.js +++ b/Platform/UI/AppPostLoader.js @@ -24,6 +24,7 @@ function newAppPostLoader() { function onResponse(err, file) { UI.environment = JSON.parse(file) setupProjectsSchema() + setupProjectsMenu() } } @@ -36,6 +37,14 @@ function newAppPostLoader() { } } + function setupProjectsMenu() { + httpRequest(undefined, 'ProjectsMenu', onResponse) + + function onResponse(err, file) { + PROJECTS_MENU = JSON.parse(file) + } + } + function setupSchemas() { let totalWebServerCalls = 0 diff --git a/Platform/UI/Canvas.js b/Platform/UI/Canvas.js index c97dfc0dd2..00a9b037a5 100644 --- a/Platform/UI/Canvas.js +++ b/Platform/UI/Canvas.js @@ -112,6 +112,8 @@ function newCanvas() { projectInstance.utilities = {} projectInstance.globals = {} projectInstance.functionLibraries = {} + projectInstance.nodeActionFunctions = {} + projectInstance.systemActionFunctions = {} projectInstance.events.onMouseWheelMap = new Map() projectInstance.events.onMouseOverMap = new Map() @@ -153,6 +155,24 @@ function newCanvas() { } } + /* Set up Node Action Functions of this Project */ + if (projectDefinition.UI.nodeActionFunctions !== undefined) { + for (let j = 0; j < projectDefinition.UI.nodeActionFunctions.length; j++) { + let nodeActionFunctionsDefinition = projectDefinition.UI.nodeActionFunctions[j] + + projectInstance.nodeActionFunctions[nodeActionFunctionsDefinition.propertyName] = eval(nodeActionFunctionsDefinition.functionName + '()') + } + } + + /* Set up System Action Functions of this Project */ + if (projectDefinition.UI.systemActionFunctions !== undefined) { + for (let j = 0; j < projectDefinition.UI.systemActionFunctions.length; j++) { + let systemActionFunctionsDefinition = projectDefinition.UI.systemActionFunctions[j] + + projectInstance.systemActionFunctions[systemActionFunctionsDefinition.propertyName] = eval(systemActionFunctionsDefinition.functionName + '()') + } + } + /* Space Instantiation */ if (projectDefinition.UI.spaces === undefined) { continue } for (let j = 0; j < projectDefinition.UI.spaces.length; j++) { diff --git a/Platform/WebServer/css/menu.css b/Platform/WebServer/css/menu.css new file mode 100644 index 0000000000..2adf7ecb5d --- /dev/null +++ b/Platform/WebServer/css/menu.css @@ -0,0 +1,94 @@ +#topMenu { + position: fixed; + top: 0; + left: 200px; + z-index: 1; + font-family: 'Saira Condensed'; + font-weight: bold; + letter-spacing: 0.2px; +} + +nav il { + position: relative; + display: block; + opacity: 1; + cursor: pointer; +} + +nav > ul > il > a{ + background:rgb(0, 0, 0, 0); +} + +nav > ul > il > ul > il a{ + background:rgb(0, 0, 0, 0.5); +} + +nav il > ul { + padding: 0; + position: absolute; + pointer-events: none; +} + +nav > ul { + margin: 0; + display:flex; +} + +nav > ul > il { + pointer-events: all; + opacity: 1; + text-decoration: underline; +} + +ul il a { + white-space: nowrap; + display: block; +} + +il:hover > ul { + pointer-events: initial; +} + +il:hover > ul > il, +ul:hover > il { + opacity: 1; +} + +nav > ul > il il ul { + transform: translateX(100%); + top: 0; + right: 0; +} + +nav { + width: 80%; + margin: auto; +} + +nav a { + background:rgb(0, 0, 0, 0.5); + color:#FFF; + height: 38px; + margin: 0px 3px 3px 0px; + padding: 8px 10px; + box-sizing: border-box; + border-radius: 5px; + box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.5); + position: relative; + transition: 0.1s; +} + +nav a:hover { + background:rgb(2 149 170); + transition: 0.1s; +} + +nav > ul > il > ul > il { + transition: opacity 0.1s; + opacity: 0; +} + +il > ul > il > ul > il { + transition: opacity 0.1s; + opacity: 0; +} diff --git a/Platform/WebServer/css/tutorial.css b/Platform/WebServer/css/tutorial.css index f727f61b4c..984fe2c30b 100644 --- a/Platform/WebServer/css/tutorial.css +++ b/Platform/WebServer/css/tutorial.css @@ -9,6 +9,7 @@ background-color: #fdfdfd; -webkit-transition-duration: 1s; transition-duration: 1s; caret-color: transparent; +cursor: grab; } .tutorial-summary { @@ -28,6 +29,7 @@ font-weight: bold; .tutorial-content-div { overflow-y: auto; overflow-x: clip; + cursor: auto; } ::-webkit-scrollbar { diff --git a/Platform/WebServer/index.html b/Platform/WebServer/index.html index 5eca7795da..bd6c2216bc 100644 --- a/Platform/WebServer/index.html +++ b/Platform/WebServer/index.html @@ -13,12 +13,19 @@ + @@ -305,7 +312,6 @@ - +
- \ No newline at end of file diff --git a/Projects/Algorithmic-Trading/UI/Function-Libraries/ActionSwitch.js b/Projects/Algorithmic-Trading/UI/Node-Action-Functions/NodeActionSwitch.js similarity index 67% rename from Projects/Algorithmic-Trading/UI/Function-Libraries/ActionSwitch.js rename to Projects/Algorithmic-Trading/UI/Node-Action-Functions/NodeActionSwitch.js index 73ae33663f..24e07c9c8b 100644 --- a/Projects/Algorithmic-Trading/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Algorithmic-Trading/UI/Node-Action-Functions/NodeActionSwitch.js @@ -1,4 +1,4 @@ -function newAlgorithmicTradingActionSwitch() { +function newAlgorithmicTradingNodeActionSwitch() { let thisObject = { executeAction: executeAction, @@ -20,17 +20,17 @@ function newAlgorithmicTradingActionSwitch() { switch (action.name) { case 'Run Trading Session': { - UI.projects.algorithmicTrading.functionLibraries.tradingSessionFunctions.runSession(action.node, false, action.callBackFunction) + UI.projects.algorithmicTrading.nodeActionFunctions.tradingSessionFunctions.runSession(action.node, false, action.callBackFunction) } break case 'Resume Trading Session': { - UI.projects.algorithmicTrading.functionLibraries.tradingSessionFunctions.runSession(action.node, true, action.callBackFunction) + UI.projects.algorithmicTrading.nodeActionFunctions.tradingSessionFunctions.runSession(action.node, true, action.callBackFunction) } break case 'Stop Trading Session': { - UI.projects.algorithmicTrading.functionLibraries.tradingSessionFunctions.stopSession(action.node, action.callBackFunction) + UI.projects.algorithmicTrading.nodeActionFunctions.tradingSessionFunctions.stopSession(action.node, action.callBackFunction) } break default: { diff --git a/Projects/Algorithmic-Trading/UI/Function-Libraries/TradingSessionFunctions.js b/Projects/Algorithmic-Trading/UI/Node-Action-Functions/TradingSessionFunctions.js similarity index 96% rename from Projects/Algorithmic-Trading/UI/Function-Libraries/TradingSessionFunctions.js rename to Projects/Algorithmic-Trading/UI/Node-Action-Functions/TradingSessionFunctions.js index 00e9ce26ec..196198b6d3 100644 --- a/Projects/Algorithmic-Trading/UI/Function-Libraries/TradingSessionFunctions.js +++ b/Projects/Algorithmic-Trading/UI/Node-Action-Functions/TradingSessionFunctions.js @@ -136,7 +136,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() { 'Portfolio Managed System->' + 'Ask Portfolio Events Manager->Confirm Event->Raise Event->Ask Portfolio Formula Manager->Set Formula->Confirm Forumula->' - let tradingSystem = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node.tradingSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath) + let tradingSystem = UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(node.tradingSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath) lightingPath = '' + 'Trading Engine->' + @@ -175,7 +175,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() { 'Index->Situation Name->Formula->Periods->' + 'User Defined Variables->User Defined Variable->' - let tradingEngine = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node.tradingEngineReference.payload.referenceParent, false, true, true, false, false, lightingPath) + let tradingEngine = UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(node.tradingEngineReference.payload.referenceParent, false, true, true, false, false, lightingPath) lightingPath = '' + 'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' + @@ -185,7 +185,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() { 'Social Bot Command->Formula->' + 'Exchange Account Asset->Asset->' - let session = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath) + let session = UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath) let defaultExchange = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.exchange.payload, 'codeName') let defaultMarket = @@ -193,7 +193,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() { '-' + UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.market.quotedAsset.payload.referenceParent.payload, 'codeName') - let dependencyFilter = UI.projects.foundations.functionLibraries.dependenciesFilter.createDependencyFilter( + let dependencyFilter = UI.projects.foundations.nodeActionFunctions.dependenciesFilter.createDependencyFilter( defaultExchange, defaultMarket, node.tradingSystemReference.payload.referenceParent, diff --git a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js b/Projects/Community-Plugins/UI/Node-Action-Functions/NodeActionSwitch.js similarity index 51% rename from Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js rename to Projects/Community-Plugins/UI/Node-Action-Functions/NodeActionSwitch.js index c322d69c0d..ec4edcc2aa 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Community-Plugins/UI/Node-Action-Functions/NodeActionSwitch.js @@ -1,4 +1,4 @@ -function newCommunityPluginsActionSwitch() { +function newCommunityPluginsNodeActionSwitch() { let thisObject = { executeAction: executeAction, @@ -20,102 +20,102 @@ function newCommunityPluginsActionSwitch() { switch (action.name) { case 'Install as Plugin': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.installAsPlugin(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.installAsPlugin(action.node, action.rootNodes) } break case 'Add Missing Plugin Projects': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginProjects(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginProjects(action.node, action.rootNodes) } break case 'Add Missing Plugin Types': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTypes(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginTypes(action.node, action.rootNodes) } break case 'Add Missing Plugin Data Mines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginDataMines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginDataMines(action.node, action.rootNodes) } break case 'Add Specified Plugin Data Mine': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addSpecifiedPluginDataMine(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addSpecifiedPluginDataMine(action.node, action.rootNodes) } break case 'Add Missing Plugin Trading Mines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingMines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginTradingMines(action.node, action.rootNodes) } break case 'Add Missing Plugin Trading Systems': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingSystems(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginTradingSystems(action.node, action.rootNodes) } break case 'Add Missing Plugin Trading Engines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginTradingEngines(action.node, action.rootNodes) } break case 'Add Missing Plugin Portfolio Mines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioMines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginPortfolioMines(action.node, action.rootNodes) } break case 'Add Missing Plugin Portfolio Systems': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioSystems(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginPortfolioSystems(action.node, action.rootNodes) } break case 'Add Missing Plugin Portfolio Engines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginPortfolioEngines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginPortfolioEngines(action.node, action.rootNodes) } break case 'Add Missing Plugin Learning Mines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginLearningMines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginLearningMines(action.node, action.rootNodes) } break case 'Add Missing Plugin Learning Systems': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginLearningSystems(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginLearningSystems(action.node, action.rootNodes) } break case 'Add Missing Plugin Learning Engines': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginLearningEngines(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginLearningEngines(action.node, action.rootNodes) } break case 'Add Missing Plugin Tutorials': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginTutorials(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginTutorials(action.node, action.rootNodes) } break case 'Add Missing Plugin API Maps': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.addMissingPluginApiMaps(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.addMissingPluginApiMaps(action.node, action.rootNodes) } break case 'Enable Saving With Workspace': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.enableSavingWithWorkspace(action.node, action.rootNodes, action.callBackFunction) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.enableSavingWithWorkspace(action.node, action.rootNodes, action.callBackFunction) } break case 'Disable Saving With Workspace': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.disableSavingWithWorkspace(action.node, action.rootNodes, action.callBackFunction) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.disableSavingWithWorkspace(action.node, action.rootNodes, action.callBackFunction) } break case 'Save Plugin File': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.savePluginFile(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.savePluginFile(action.node, action.rootNodes) } break case 'Save Plugin': { - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.savePluginHierarchy(action.node, action.rootNodes) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.savePluginHierarchy(action.node, action.rootNodes) } break diff --git a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js b/Projects/Community-Plugins/UI/Node-Action-Functions/PluginsFunctions.js similarity index 98% rename from Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js rename to Projects/Community-Plugins/UI/Node-Action-Functions/PluginsFunctions.js index 24839f28d7..443506e877 100644 --- a/Projects/Community-Plugins/UI/Function-Libraries/PluginsFunctions.js +++ b/Projects/Community-Plugins/UI/Node-Action-Functions/PluginsFunctions.js @@ -28,7 +28,7 @@ function newPluginsFunctionLibraryPluginsFunctions() { let projectDefinition = PROJECTS_SCHEMA[k] let project = projectDefinition.name if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenByName(node, project) === true) { - let child = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin Project') + let child = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Plugin Project') child.name = project let config = JSON.parse(child.config) config.codeName = project @@ -48,7 +48,7 @@ function newPluginsFunctionLibraryPluginsFunctions() { let pluginType = "Plugin" + " " + projectDefinition.plugins[i] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenByType(node, pluginType) === true) { - UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, pluginType, undefined, 'Community-Plugins') + UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, pluginType, undefined, 'Community-Plugins') } } } diff --git a/Projects/Community-Plugins/UI/Utilities/Plugins.js b/Projects/Community-Plugins/UI/Utilities/Plugins.js index b421a497e7..e4a9a3bfd5 100644 --- a/Projects/Community-Plugins/UI/Utilities/Plugins.js +++ b/Projects/Community-Plugins/UI/Utilities/Plugins.js @@ -34,7 +34,7 @@ function newPluginsUtilitiesPlugins() { function addMissingPluginFile(node, fileName, pluginFolder, nodeType, project, saveWithWorkspace) { if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenByName(node, fileName) === true) { - let child = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin File', undefined, 'Community-Plugins') + let child = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Plugin File', undefined, 'Community-Plugins') child.name = fileName child.config = JSON.stringify({ project: project, @@ -145,7 +145,7 @@ function newPluginsUtilitiesPlugins() { return } let fileContent = JSON.stringify( - UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(pluginToSave, false, false, true, true, true), + UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(pluginToSave, false, false, true, true, true), undefined, 4) diff --git a/Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js b/Projects/Data-Mining/UI/Node-Action-Functions/MineFunctions.js similarity index 91% rename from Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js rename to Projects/Data-Mining/UI/Node-Action-Functions/MineFunctions.js index b1c1bf9960..9755df340f 100644 --- a/Projects/Data-Mining/UI/Function-Libraries/MineFunctions.js +++ b/Projects/Data-Mining/UI/Node-Action-Functions/MineFunctions.js @@ -74,7 +74,7 @@ function newDataMiningFunctionLibraryMineFunctions() { function scanBotArray(botArray) { for (let i = 0; i < botArray.length; i++) { let bot = botArray[i] - let botProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Bot Data Dependencies') + let botProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Bot Data Dependencies') botProducts.name = bot.name UI.projects.foundations.utilities.folders.asymetricalFolderStructureCloning( @@ -96,8 +96,8 @@ function newDataMiningFunctionLibraryMineFunctions() { let rootNode = rootNodes[i] if (rootNode.type === 'Data Mine') { - let dataMineDataDependencies = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Data Mine Data Dependencies') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dataMineDataDependencies, rootNode) + let dataMineDataDependencies = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Data Mine Data Dependencies') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dataMineDataDependencies, rootNode) } } } diff --git a/Projects/Data-Mining/UI/Function-Libraries/ActionSwitch.js b/Projects/Data-Mining/UI/Node-Action-Functions/NodeActionSwitch.js similarity index 72% rename from Projects/Data-Mining/UI/Function-Libraries/ActionSwitch.js rename to Projects/Data-Mining/UI/Node-Action-Functions/NodeActionSwitch.js index df01859a49..9f52900af3 100644 --- a/Projects/Data-Mining/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Data-Mining/UI/Node-Action-Functions/NodeActionSwitch.js @@ -1,4 +1,4 @@ -function newDataMiningActionSwitch() { +function newDataMiningNodeActionSwitch() { let thisObject = { executeAction: executeAction, @@ -20,17 +20,17 @@ function newDataMiningActionSwitch() { switch (action.name) { case 'Add All Output Datasets': { - UI.projects.dataMining.functionLibraries.mineFunctions.addAllOutputDatasets(action.node) + UI.projects.dataMining.nodeActionFunctions.mineFunctions.addAllOutputDatasets(action.node) } break case 'Add All Data Dependencies': { - UI.projects.dataMining.functionLibraries.mineFunctions.addAllDataDependencies(action.node) + UI.projects.dataMining.nodeActionFunctions.mineFunctions.addAllDataDependencies(action.node) } break case 'Add All Data Mine Dependencies': { - UI.projects.dataMining.functionLibraries.mineFunctions.addAllDataMineDataDependencies(action.node, action.rootNodes) + UI.projects.dataMining.nodeActionFunctions.mineFunctions.addAllDataMineDataDependencies(action.node, action.rootNodes) } break diff --git a/Projects/Education/UI/Function-Libraries/ActionSwitch.js b/Projects/Education/UI/Node-Action-Functions/NodeActionSwitch.js similarity index 98% rename from Projects/Education/UI/Function-Libraries/ActionSwitch.js rename to Projects/Education/UI/Node-Action-Functions/NodeActionSwitch.js index 7059fb4c4a..dfe1a69de0 100644 --- a/Projects/Education/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Education/UI/Node-Action-Functions/NodeActionSwitch.js @@ -1,4 +1,4 @@ -function newEducationActionSwitch() { +function newEducationNodeActionSwitch() { let thisObject = { executeAction: executeAction, diff --git a/Projects/Ethereum/UI/Function-Libraries/Accounts.js b/Projects/Ethereum/UI/Node-Action-Functions/Accounts.js similarity index 93% rename from Projects/Ethereum/UI/Function-Libraries/Accounts.js rename to Projects/Ethereum/UI/Node-Action-Functions/Accounts.js index fdc477463f..761d1c8d53 100644 --- a/Projects/Ethereum/UI/Function-Libraries/Accounts.js +++ b/Projects/Ethereum/UI/Node-Action-Functions/Accounts.js @@ -7,7 +7,7 @@ function newEthereumFunctionLibraryAccounts() { function createWalletAccount(node) { - let walletAccountNode = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Wallet Account') + let walletAccountNode = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Wallet Account') let params = { method: 'createWalletAccount', diff --git a/Projects/Ethereum/UI/Function-Libraries/ActionSwitch.js b/Projects/Ethereum/UI/Node-Action-Functions/NodeActionSwitch.js similarity index 85% rename from Projects/Ethereum/UI/Function-Libraries/ActionSwitch.js rename to Projects/Ethereum/UI/Node-Action-Functions/NodeActionSwitch.js index b2fe527eac..62bd46f98d 100644 --- a/Projects/Ethereum/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Ethereum/UI/Node-Action-Functions/NodeActionSwitch.js @@ -1,4 +1,4 @@ -function newEthereumActionSwitch() { +function newEthereumNodeActionSwitch() { let thisObject = { executeAction: executeAction, @@ -20,7 +20,7 @@ function newEthereumActionSwitch() { async function executeAction(action) { switch (action.name) { case 'Create Wallet Account': { - UI.projects.ethereum.functionLibraries.accounts.createWalletAccount(action.node) + UI.projects.ethereum.nodeActionFunctions.accounts.createWalletAccount(action.node) break } diff --git a/Projects/Ethereum/UI/Spaces/Wallet-Space/Wallet.js b/Projects/Ethereum/UI/Spaces/Wallet-Space/Wallet.js index b2163d7125..7624def49a 100644 --- a/Projects/Ethereum/UI/Spaces/Wallet-Space/Wallet.js +++ b/Projects/Ethereum/UI/Spaces/Wallet-Space/Wallet.js @@ -93,7 +93,7 @@ function newEthereumWalletSpace() { 'Ethereum Token->Smart Contract->' + 'ERC-20 Token Type->ERC-223 Token Type->ERC-721 Token Type->ERC-777 Token Type->' - route.params.walletDefinition = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(wallet, false, true, true, false, false, lightingPath) + route.params.walletDefinition = UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(wallet, false, true, true, false, false, lightingPath) httpRequest(JSON.stringify(route.params), route.url, onResponse) diff --git a/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-006-automating-actions-using-function-libraries.json b/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-006-automating-actions-using-function-libraries.json index 44e9f5eb7d..7c59392d6f 100644 --- a/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-006-automating-actions-using-function-libraries.json +++ b/Projects/Foundations/Schemas/Docs-Topics/H/How/How-to-Automate-Actions-at-The-Design-Space/how-to-automate-actions-at-the-design-space-006-automating-actions-using-function-libraries.json @@ -24,7 +24,7 @@ }, { "style": "Javascript", - "text": "UI.projects.foundations.functionLibraries.dataStorageFunctions.createSessionReference(marketLearningProducts, session, 'Learning Session Reference')", + "text": "UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.createSessionReference(marketLearningProducts, session, 'Learning Session Reference')", "updated": 1614943049167 }, { @@ -62,7 +62,7 @@ }, { "style": "Javascript", - "text": "dataStorage = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')", + "text": "dataStorage = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage')", "updated": 1614943544233 }, { @@ -79,7 +79,7 @@ }, { "style": "Javascript", - "text": "UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(projectReference, rootNodes)", + "text": "UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(projectReference, rootNodes)", "updated": 1614943594904 }, { @@ -93,7 +93,7 @@ }, { "style": "Javascript", - "text": "UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(timeMachine, session)", + "text": "UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(timeMachine, session)", "updated": 1628258141256 }, { diff --git a/Projects/Foundations/UI/Function-Libraries/ChartingSpaceFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/ChartingSpaceFunctions.js similarity index 88% rename from Projects/Foundations/UI/Function-Libraries/ChartingSpaceFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/ChartingSpaceFunctions.js index d53c0e2404..ccada8968f 100644 --- a/Projects/Foundations/UI/Function-Libraries/ChartingSpaceFunctions.js +++ b/Projects/Foundations/UI/Node-Action-Functions/ChartingSpaceFunctions.js @@ -36,7 +36,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { function scanBotArray(botArray) { for (let i = 0; i < botArray.length; i++) { let bot = botArray[i] - let botLayers = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Bot Layers') + let botLayers = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Bot Layers') botLayers.name = bot.name UI.projects.foundations.utilities.folders.asymetricalFolderStructureCloning( @@ -61,7 +61,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { let plotterModule = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(layer, 'Plotter Module', undefined, true, false, false, true) if (plotterModule === undefined) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(layer, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(layer, rootNodes) } } /* @@ -143,9 +143,9 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { function createTimeMachine(dashboard, session, market, lanNetworkNode, rootNodes) { let mineProducts - let timeMachine = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dashboard, 'Time Machine') + let timeMachine = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dashboard, 'Time Machine') let exchange = market.payload.parentNode.payload.parentNode - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(timeMachine, session) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(timeMachine, session) timeMachine.name = session.name + ' ' + session.type + ' ' + lanNetworkNode.name + ' ' + exchange.name + ' ' + market.name timeMachine.payload.floatingObject.collapseToggle() timeMachine.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 @@ -173,9 +173,9 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { and delete from each one 1/3 of the layers. We do all that next: */ for (let k = 0; k < 3; k++) { - let timelineChart = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') + let timelineChart = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) timelineChart.payload.floatingObject.collapseToggle() timelineChart.layerManager.payload.floatingObject.collapseToggle() timelineChart.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 @@ -208,7 +208,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { function deleteNodeByName(nodeName) { let nodeToDelete = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(timelineChart.layerManager, undefined, nodeName, true, true, false, false) if (nodeToDelete === undefined) { return } - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(nodeToDelete, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(nodeToDelete, rootNodes) } } } @@ -231,9 +231,9 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { and delete from each one 1/3 of the layers. We do all that next: */ for (let k = 0; k < 3; k++) { - let timelineChart = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') + let timelineChart = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) timelineChart.payload.floatingObject.collapseToggle() timelineChart.layerManager.payload.floatingObject.collapseToggle() timelineChart.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 @@ -266,7 +266,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { function deleteNodeByName(nodeName) { let nodeToDelete = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(timelineChart.layerManager, undefined, nodeName, true, true, false, false) if (nodeToDelete === undefined) { return } - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(nodeToDelete, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(nodeToDelete, rootNodes) } } } @@ -291,9 +291,9 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { and delete from each one 1/3 of the layers. We do all that next: */ for (let k = 0; k < 3; k++) { - let timelineChart = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') + let timelineChart = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) timelineChart.payload.floatingObject.collapseToggle() timelineChart.layerManager.payload.floatingObject.collapseToggle() timelineChart.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 @@ -326,7 +326,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { function deleteNodeByName(nodeName) { let nodeToDelete = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(timelineChart.layerManager, undefined, nodeName, true, true, false, false) if (nodeToDelete === undefined) { return } - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(nodeToDelete, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(nodeToDelete, rootNodes) } } } @@ -343,7 +343,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { if (mineProduct.payload.parentNode.payload.referenceParent === undefined) { continue } if (mineProduct.payload.parentNode.payload.referenceParent.id !== market.id) { continue } - let timelineChart = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') + let timelineChart = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') /* The Mine Product Node might be collapsed and since its creation it never received the physics call, so we will do the call so that it properly @@ -351,7 +351,7 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { */ mineProduct.payload.uiObject.invisiblePhysics() timelineChart.name = mineProduct.name + ' Data' - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(timelineChart.layerManager, mineProduct) timelineChart.payload.floatingObject.collapseToggle() timelineChart.layerManager.payload.floatingObject.collapseToggle() timelineChart.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 @@ -387,26 +387,26 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { let productionPortfolioTasks = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Production Portfolio Tasks', node, true) if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, testingTradingTasks, true) === true) { - let dashboard = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dashboard, testingTradingTasks) + let dashboard = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Dashboard') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dashboard, testingTradingTasks) dashboard.name = testingTradingTasks.type + ' ' + lanNetworkNode.name } if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, productionTradingTasks, true) === true) { - let dashboard = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dashboard, productionTradingTasks) + let dashboard = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Dashboard') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dashboard, productionTradingTasks) dashboard.name = productionTradingTasks.type + ' ' + lanNetworkNode.name } if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, testingPortfolioTasks, true) === true) { - let dashboard = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dashboard, testingPortfolioTasks) + let dashboard = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Dashboard') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dashboard, testingPortfolioTasks) dashboard.name = testingPortfolioTasks.type + ' ' + lanNetworkNode.name } if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, productionPortfolioTasks, true) === true) { - let dashboard = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Dashboard') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dashboard, productionPortfolioTasks) + let dashboard = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Dashboard') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dashboard, productionPortfolioTasks) dashboard.name = productionPortfolioTasks.type + ' ' + lanNetworkNode.name } } @@ -426,8 +426,8 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { let projectDefinition = rootNode.projectDefinition if (projectDefinition !== undefined) { if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, projectDefinition, true) === true) { - let projectTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Project Dashboards', undefined, project) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(projectTasks, projectDefinition) + let projectTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Project Dashboards', undefined, project) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(projectTasks, projectDefinition) } } } @@ -442,8 +442,8 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { let plotterModule = layerNode.payload.referenceParent.payload.referenceParent.payload.referenceParent for (let i = 0; i < plotterModule.panels.length; i++) { let plotterPanel = plotterModule.panels[i] - let layerPanel = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Layer Panel') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(layerPanel, plotterPanel) + let layerPanel = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Layer Panel') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(layerPanel, plotterPanel) } } @@ -460,8 +460,8 @@ function newFoundationsFunctionLibraryChartingSpaceFunctions() { for (let i = 0; i < plotterModule.shapes.polygons.length; i++) { let polygon = plotterModule.shapes.polygons[i] - let layerPolygon = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Layer Polygon') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(layerPolygon, polygon) + let layerPolygon = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Layer Polygon') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(layerPolygon, polygon) } } diff --git a/Projects/Foundations/UI/Function-Libraries/CryptoEcosystemFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/CryptoEcosystemFunctions.js similarity index 93% rename from Projects/Foundations/UI/Function-Libraries/CryptoEcosystemFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/CryptoEcosystemFunctions.js index 50497c0e65..5dd1bb2e02 100644 --- a/Projects/Foundations/UI/Function-Libraries/CryptoEcosystemFunctions.js +++ b/Projects/Foundations/UI/Node-Action-Functions/CryptoEcosystemFunctions.js @@ -44,7 +44,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { let exchange = exchanges[i] let existingExchange = currentExchanges.get(exchange.id) if (existingExchange === undefined) { - let newExchange = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Crypto Exchange') + let newExchange = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Crypto Exchange') newExchange.name = exchange.name newExchange.config = '{ \n\"codeName\": \"' + exchange.id + '\"\n}' newExchange.payload.floatingObject.collapseToggle() @@ -118,7 +118,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { } function addAsset(name) { - let newAsseet = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Asset') + let newAsseet = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Asset') newAsseet.name = name newAsseet.config = '{ \n\"codeName\": \"' + name + '\"\n}' } @@ -187,7 +187,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { } function addMarket(name, baseAsset, quotedAsset) { - let newMarket = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Market') + let newMarket = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Market') newMarket.name = name newMarket.config = '{ \n\"codeName\": \"' + name + '\"\n}' newMarket.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_180 @@ -199,8 +199,8 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { newMarket.quotedAsset.payload.floatingObject.distanceToParent = DISTANCE_TO_PARENT.PARENT_100X newMarket.baseAsset.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CONCAVE newMarket.quotedAsset.payload.floatingObject.arrangementStyle = ARRANGEMENT_STYLE.CONCAVE - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(newMarket.baseAsset, baseAsset) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(newMarket.quotedAsset, quotedAsset) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(newMarket.baseAsset, baseAsset) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(newMarket.quotedAsset, quotedAsset) currentMarkets.set(name, newMarket) } @@ -274,7 +274,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let dataTasks = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Data Tasks', node, true) if (dataTasks === undefined) { - dataTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Tasks') + dataTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Tasks') } /* We will make ourselves sure that the Project Data Tasks nodes are there. @@ -307,7 +307,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let learningTasks = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Learning Tasks', node, true) if (learningTasks === undefined) { - learningTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Learning Tasks') + learningTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Learning Tasks') } /* We will make ourselves sure that the Project Learning Tasks nodes are there. @@ -361,7 +361,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let tradingTasks = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, environmentType, node, true) if (tradingTasks === undefined) { - tradingTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, environmentType) + tradingTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, environmentType) } /* We will make ourselves sure that the Project Trading Tasks nodes are there. @@ -418,7 +418,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let portfolioTasks = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, environmentType, node, true) if (portfolioTasks === undefined) { - portfolioTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, environmentType) + portfolioTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, environmentType) } /* We will make ourselves sure that the Project Portfolio Tasks nodes are there. @@ -465,11 +465,11 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let dataStorage = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true) if (dataStorage === undefined) { - dataStorage = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') + dataStorage = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') } let dataMinesData = UI.projects.visualScripting.utilities.branches.findInBranch(dataStorage, 'Data Mines Data', node, true) if (dataMinesData === undefined) { - dataMinesData = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataStorage, 'Data Mines Data') + dataMinesData = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataStorage, 'Data Mines Data') } dataMinesData.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_90 /* @@ -504,11 +504,11 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let dataStorage = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true) if (dataStorage === undefined) { - dataStorage = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') + dataStorage = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') } let learningMinesData = UI.projects.visualScripting.utilities.branches.findInBranch(dataStorage, 'Learning Mines Data', node, true) if (learningMinesData === undefined) { - learningMinesData = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataStorage, 'Learning Mines Data') + learningMinesData = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataStorage, 'Learning Mines Data') } learningMinesData.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_90 /* @@ -538,7 +538,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { for (let i = 0; i < learningSessionsCreatedArray.length; i++) { let session = learningSessionsCreatedArray[i] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(marketLearningProducts, session, true) === true) { - UI.projects.foundations.functionLibraries.dataStorageFunctions.createSessionReference(marketLearningProducts, session, 'Learning Session Reference') + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.createSessionReference(marketLearningProducts, session, 'Learning Session Reference') } } /* @@ -559,11 +559,11 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let dataStorage = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true) if (dataStorage === undefined) { - dataStorage = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') + dataStorage = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') } let tradingMinesData = UI.projects.visualScripting.utilities.branches.findInBranch(dataStorage, 'Trading Mines Data', node, true) if (tradingMinesData === undefined) { - tradingMinesData = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataStorage, 'Trading Mines Data') + tradingMinesData = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataStorage, 'Trading Mines Data') } tradingMinesData.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_90 /* @@ -593,7 +593,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { for (let i = 0; i < tradingSessionsCreatedArray.length; i++) { let session = tradingSessionsCreatedArray[i] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(marketTradingProducts, session, true) === true) { - UI.projects.foundations.functionLibraries.dataStorageFunctions.createSessionReference(marketTradingProducts, session, 'Trading Session Reference') + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.createSessionReference(marketTradingProducts, session, 'Trading Session Reference') } } /* @@ -614,11 +614,11 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let dataStorage = UI.projects.visualScripting.utilities.branches.findInBranch(lanNetworkNode, 'Data Storage', node, true) if (dataStorage === undefined) { - dataStorage = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') + dataStorage = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(lanNetworkNode, 'Data Storage') } let portfolioMinesData = UI.projects.visualScripting.utilities.branches.findInBranch(dataStorage, 'Portfolio Mines Data', node, true) if (portfolioMinesData === undefined) { - portfolioMinesData = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataStorage, 'Portfolio Mines Data') + portfolioMinesData = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataStorage, 'Portfolio Mines Data') } portfolioMinesData.payload.floatingObject.angleToParent = ANGLE_TO_PARENT.RANGE_90 /* @@ -648,7 +648,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { for (let i = 0; i < portfolioSessionsCreatedArray.length; i++) { let session = portfolioSessionsCreatedArray[i] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(marketPortfolioProducts, session, true) === true) { - UI.projects.foundations.functionLibraries.dataStorageFunctions.createSessionReference(marketPortfolioProducts, session, 'Portfolio Session Reference') + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.createSessionReference(marketPortfolioProducts, session, 'Portfolio Session Reference') } } /* @@ -709,7 +709,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { time machines to lose their reference parent since the install process deletes them. */ - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(timeMachine, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(timeMachine, rootNodes) continue } let marketTradingTasks = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false) @@ -717,7 +717,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { if (marketTradingTasks.payload === undefined) { continue } if (marketTradingTasks.payload.referenceParent === undefined) { continue } if (marketTradingTasks.payload.referenceParent.id === market.id) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(timeMachine, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(timeMachine, rootNodes) } let marketPortfolioTasks = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(session, 'Market Portfolio Tasks', undefined, true, false, true, false) @@ -725,7 +725,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { if (marketPortfolioTasks.payload === undefined) { continue } if (marketPortfolioTasks.payload.referenceParent === undefined) { continue } if (marketPortfolioTasks.payload.referenceParent.id === market.id) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(timeMachine, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(timeMachine, rootNodes) } } /* @@ -733,7 +733,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ for (let j = 0; j < arrayItem.sessionsArray.length; j++) { let session = arrayItem.sessionsArray[j] - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.createTimeMachine(dashboard, session, node, arrayItem.lanNetworkNode, rootNodes) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.createTimeMachine(dashboard, session, node, arrayItem.lanNetworkNode, rootNodes) } } } @@ -771,7 +771,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { if (marketTradingTasks.payload === undefined) { continue } if (marketTradingTasks.payload.referenceParent === undefined) { continue } if (marketTradingTasks.payload.referenceParent.id === market.id) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(timeMachine, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(timeMachine, rootNodes) } let marketPortfolioTasks = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(session, 'Market Portfolio Tasks', undefined, true, false, true, false) @@ -779,7 +779,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { if (marketPortfolioTasks.payload === undefined) { continue } if (marketPortfolioTasks.payload.referenceParent === undefined) { continue } if (marketPortfolioTasks.payload.referenceParent.id === market.id) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(timeMachine, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(timeMachine, rootNodes) } } @@ -794,11 +794,11 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let projectReference = dashboard.payload.parentNode schemaDocument = getSchemaDocument(dashboard) - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(dashboard, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(dashboard, rootNodes) if (projectReference !== undefined && schemaDocument.propertyNameAtParent !== undefined) { if (projectReference[schemaDocument.propertyNameAtParent] !== undefined) { if (projectReference[schemaDocument.propertyNameAtParent].length === 0) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(projectReference, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(projectReference, rootNodes) } } } @@ -846,7 +846,7 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let exchangeReference = marketReference.payload.parentNode let schemaDocument = getSchemaDocument(marketReference) - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(marketReference, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(marketReference, rootNodes) if (exchangeReference !== undefined && schemaDocument.propertyNameAtParent !== undefined) { if (exchangeReference[schemaDocument.propertyNameAtParent].length === 0) { /* @@ -855,10 +855,10 @@ function newFoundationsFunctionLibraryCryptoEcosystemFunctions() { */ let projectReference = exchangeReference.payload.parentNode schemaDocument = getSchemaDocument(exchangeReference) - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(exchangeReference, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(exchangeReference, rootNodes) if (projectReference !== undefined && schemaDocument.propertyNameAtParent !== undefined) { if (projectReference[schemaDocument.propertyNameAtParent].length === 0) { - UI.projects.visualScripting.functionLibraries.nodeDeleter.deleteUIObject(projectReference, rootNodes) + UI.projects.visualScripting.nodeActionFunctions.nodeDeleter.deleteUIObject(projectReference, rootNodes) } } } diff --git a/Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/DataStorageFunctions.js similarity index 88% rename from Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/DataStorageFunctions.js index 5ac8af55f6..00ea0e6be9 100644 --- a/Projects/Foundations/UI/Function-Libraries/DataStorageFunctions.js +++ b/Projects/Foundations/UI/Node-Action-Functions/DataStorageFunctions.js @@ -58,7 +58,7 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { for (let i = 0; i < botArray.length; i++) { let bot = botArray[i] - let botProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Bot Products') + let botProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Bot Products') botProducts.name = bot.name botProducts.payload.floatingObject.collapseToggle() @@ -81,8 +81,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { let rootNode = rootNodes[i] if (rootNode.type === 'Data Mine') { - let dataMineProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Data Mine Products') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dataMineProducts, rootNode) + let dataMineProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Data Mine Products') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dataMineProducts, rootNode) } } } @@ -92,8 +92,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { let rootNode = rootNodes[i] if (rootNode.type === 'Trading Mine') { - let tradingMineProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Trading Mine Products') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(tradingMineProducts, rootNode) + let tradingMineProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Trading Mine Products') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(tradingMineProducts, rootNode) } } } @@ -103,8 +103,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { let rootNode = rootNodes[i] if (rootNode.type === 'Portfolio Mine') { - let portfolioMineProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Portfolio Mine Products') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(portfolioMineProducts, rootNode) + let portfolioMineProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Portfolio Mine Products') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(portfolioMineProducts, rootNode) } } } @@ -114,8 +114,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { let rootNode = rootNodes[i] if (rootNode.type === 'Learning Mine') { - let learningMineProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Learning Mine Products') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(learningMineProducts, rootNode) + let learningMineProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Learning Mine Products') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(learningMineProducts, rootNode) } } } @@ -194,8 +194,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { } function createSessionReference(node, session, nodeType) { - let sessionReference = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, nodeType) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(sessionReference, session) + let sessionReference = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, nodeType) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(sessionReference, session) } function addMissingMarketDataProducts(node, rootNodes) { @@ -222,8 +222,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { for (let i = 0; i < marketsArray.length; i++) { let market = marketsArray[i] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, market, true) === true) { - let marketDataProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(marketDataProducts, market) + let marketDataProducts = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(marketDataProducts, market) } } } @@ -254,8 +254,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { for (let k = 0; k < cryptoExchanges.exchanges.length; k++) { let cryptoExchange = cryptoExchanges.exchanges[k] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, cryptoExchange, true) === true) { - let exchange = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(exchange, cryptoExchange) + let exchange = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(exchange, cryptoExchange) } } } @@ -294,8 +294,8 @@ function newFoundationsFunctionLibraryDataStorageFunctions() { let projectDefinition = rootNode.projectDefinition if (projectDefinition !== undefined) { if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, projectDefinition, true) === true) { - let projectTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType, undefined, project) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(projectTasks, projectDefinition) + let projectTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType, undefined, project) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(projectTasks, projectDefinition) } } } diff --git a/Projects/Foundations/UI/Function-Libraries/DependenciesFilter.js b/Projects/Foundations/UI/Node-Action-Functions/DependenciesFilter.js similarity index 100% rename from Projects/Foundations/UI/Function-Libraries/DependenciesFilter.js rename to Projects/Foundations/UI/Node-Action-Functions/DependenciesFilter.js diff --git a/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js b/Projects/Foundations/UI/Node-Action-Functions/NodeActionSwitch.js similarity index 55% rename from Projects/Foundations/UI/Function-Libraries/ActionSwitch.js rename to Projects/Foundations/UI/Node-Action-Functions/NodeActionSwitch.js index 1e0a02a094..5a2b8d8985 100644 --- a/Projects/Foundations/UI/Function-Libraries/ActionSwitch.js +++ b/Projects/Foundations/UI/Node-Action-Functions/NodeActionSwitch.js @@ -1,4 +1,4 @@ -function newFoundationsActionSwitch() { +function newFoundationsNodeActionSwitch() { let thisObject = { executeAction: executeAction, @@ -20,457 +20,457 @@ function newFoundationsActionSwitch() { switch (action.name) { case 'Debug Task': { - UI.projects.foundations.functionLibraries.taskFunctions.runTask(action.node, true, action.callBackFunction) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runTask(action.node, true, action.callBackFunction) } break case 'Run Task': { - UI.projects.foundations.functionLibraries.taskFunctions.runTask(action.node, false, action.callBackFunction) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runTask(action.node, false, action.callBackFunction) } break case 'Stop Task': { - UI.projects.foundations.functionLibraries.taskFunctions.stopTask(action.node, action.callBackFunction) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopTask(action.node, action.callBackFunction) } break case 'Run All Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllTasks(action.node) } break case 'Stop All Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllTasks(action.node) } break case 'Run All Task Managers': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllTaskManagers(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllTaskManagers(action.node) } break case 'Stop All Task Managers': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllTaskManagers(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllTaskManagers(action.node) } break case 'Run All Managed Tasks': { /* Portfolio Task References */ - UI.projects.foundations.functionLibraries.taskFunctions.runAllManagedTasks(action.node); + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllManagedTasks(action.node); } break; case 'Stop All Managed Tasks': { /* Portfolio Task References */ - UI.projects.foundations.functionLibraries.taskFunctions.stopAllManagedTasks(action.node); + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllManagedTasks(action.node); } break; case 'Run All Exchange Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllExchangeDataTasks(action.node) } break case 'Stop All Exchange Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllExchangeDataTasks(action.node) } break case 'Run All Exchange Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllExchangeTradingTasks(action.node) } break case 'Stop All Exchange Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllExchangeTradingTasks(action.node) } break case 'Run All Exchange Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangePortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllExchangePortfolioTasks(action.node) } break case 'Stop All Exchange Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangePortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllExchangePortfolioTasks(action.node) } break case 'Run All Exchange Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllExchangeLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllExchangeLearningTasks(action.node) } break case 'Stop All Exchange Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllExchangeLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllExchangeLearningTasks(action.node) } break case 'Run All Project Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllProjectDataTasks(action.node) } break case 'Stop All Project Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllProjectDataTasks(action.node) } break case 'Run All Project Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllProjectTradingTasks(action.node) } break case 'Stop All Project Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllProjectTradingTasks(action.node) } break case 'Run All Project Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectPortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllProjectPortfolioTasks(action.node) } break case 'Stop All Project Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectPortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllProjectPortfolioTasks(action.node) } break case 'Run All Project Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllProjectLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllProjectLearningTasks(action.node) } break case 'Stop All Project Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllProjectLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllProjectLearningTasks(action.node) } break case 'Run All Market Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllMarketDataTasks(action.node) } break case 'Stop All Market Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllMarketDataTasks(action.node) } break case 'Run All Market Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllMarketTradingTasks(action.node) } break case 'Stop All Market Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllMarketTradingTasks(action.node) } break case 'Run All Market Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketPortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllMarketPortfolioTasks(action.node) } break case 'Stop All Market Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketPortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllMarketPortfolioTasks(action.node) } break case 'Run All Market Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllMarketLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllMarketLearningTasks(action.node) } break case 'Stop All Market Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllMarketLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllMarketLearningTasks(action.node) } break case 'Run All Data Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllDataMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllDataMineTasks(action.node) } break case 'Stop All Data Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllDataMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllDataMineTasks(action.node) } break case 'Run All Trading Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllTradingMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllTradingMineTasks(action.node) } break case 'Stop All Trading Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllTradingMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllTradingMineTasks(action.node) } break case 'Run All Portfolio Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllPortfolioMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllPortfolioMineTasks(action.node) } break case 'Stop All Portfolio Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllPortfolioMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllPortfolioMineTasks(action.node) } break case 'Run All Learning Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.runAllLearningMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.runAllLearningMineTasks(action.node) } break case 'Stop All Learning Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.stopAllLearningMineTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.stopAllLearningMineTasks(action.node) } break case 'Add Missing Project Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectDataTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingProjectDataTasks(action.node, action.rootNodes) } break case 'Add Missing Exchange Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangeDataTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingExchangeDataTasks(action.node, action.rootNodes) } break case 'Add Missing Market Data Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketDataTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingMarketDataTasks(action.node) } break case 'Add Missing Data Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingDataMineTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingDataMineTasks(action.node, action.rootNodes) } break case 'Add Missing Project Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectTradingTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingProjectTradingTasks(action.node, action.rootNodes) } break case 'Add Missing Exchange Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangeTradingTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingExchangeTradingTasks(action.node, action.rootNodes) } break case 'Add Missing Market Trading Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketTradingTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingMarketTradingTasks(action.node) } break case 'Add Missing Trading Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingTradingMineTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingTradingMineTasks(action.node, action.rootNodes) } break case 'Add Missing Project Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectPortfolioTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingProjectPortfolioTasks(action.node, action.rootNodes) } break case 'Add Missing Exchange Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangePortfolioTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingExchangePortfolioTasks(action.node, action.rootNodes) } break case 'Add Missing Market Portfolio Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketPortfolioTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingMarketPortfolioTasks(action.node) } break case 'Add Missing Portfolio Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingPortfolioMineTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingPortfolioMineTasks(action.node, action.rootNodes) } break case 'Add Missing Project Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingProjectLearningTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingProjectLearningTasks(action.node, action.rootNodes) } break case 'Add Missing Exchange Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingExchangeLearningTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingExchangeLearningTasks(action.node, action.rootNodes) } break case 'Add Missing Market Learning Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingMarketLearningTasks(action.node) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingMarketLearningTasks(action.node) } break case 'Add Missing Learning Mine Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addMissingLearningMineTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addMissingLearningMineTasks(action.node, action.rootNodes) } break case 'Add All Tasks': { - UI.projects.foundations.functionLibraries.taskFunctions.addAllTasks(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.taskFunctions.addAllTasks(action.node, action.rootNodes) } break case 'Add Missing Crypto Exchanges': { - UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.addMissingExchanges(action.node) + UI.projects.foundations.nodeActionFunctions.cryptoEcosystemFunctions.addMissingExchanges(action.node) } break case 'Add Missing Assets': { - UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.addMissingAssets(action.node) + UI.projects.foundations.nodeActionFunctions.cryptoEcosystemFunctions.addMissingAssets(action.node) } break case 'Add Missing Markets': { - UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.addMissingMarkets(action.node) + UI.projects.foundations.nodeActionFunctions.cryptoEcosystemFunctions.addMissingMarkets(action.node) } break case 'Install Market': { - UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.installMarket(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.cryptoEcosystemFunctions.installMarket(action.node, action.rootNodes) } break case 'Uninstall Market': { - UI.projects.foundations.functionLibraries.cryptoEcosystemFunctions.uninstallMarket(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.cryptoEcosystemFunctions.uninstallMarket(action.node, action.rootNodes) } break case 'Add All Data Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllDataProducts(action.node) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addAllDataProducts(action.node) } break case 'Add All Data Mine Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllDataMineProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addAllDataMineProducts(action.node, action.rootNodes) } break case 'Add All Learning Mine Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllLearningMineProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addAllLearningMineProducts(action.node, action.rootNodes) } break case 'Add All Trading Mine Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllTradingMineProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addAllTradingMineProducts(action.node, action.rootNodes) } break case 'Add Missing Trading Session References': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingTradingSessionReferences(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingTradingSessionReferences(action.node, action.rootNodes) } break case 'Add All Portfolio Mine Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addAllPortfolioMineProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addAllPortfolioMineProducts(action.node, action.rootNodes) } break case 'Add Missing Portfolio Session References': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingPortfolioSessionReferences(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingPortfolioSessionReferences(action.node, action.rootNodes) } break case 'Add Missing Learning Session References': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingLearningSessionReferences(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingLearningSessionReferences(action.node, action.rootNodes) } break case 'Add Missing Market Data Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketDataProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingMarketDataProducts(action.node, action.rootNodes) } break case 'Add Missing Market Trading Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketTradingProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingMarketTradingProducts(action.node, action.rootNodes) } break case 'Add Missing Market Portfolio Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketPortfolioProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingMarketPortfolioProducts(action.node, action.rootNodes) } break case 'Add Missing Market Learning Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingMarketLearningProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingMarketLearningProducts(action.node, action.rootNodes) } break case 'Add Missing Exchange Learning Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeLearningProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingExchangeLearningProducts(action.node, action.rootNodes) } break case 'Add Missing Exchange Trading Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeTradingProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingExchangeTradingProducts(action.node, action.rootNodes) } break case 'Add Missing Exchange Portfolio Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangePortfolioProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingExchangePortfolioProducts(action.node, action.rootNodes) } break case 'Add Missing Exchange Data Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingExchangeDataProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingExchangeDataProducts(action.node, action.rootNodes) } break case 'Add Missing Project Learning Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectLearningProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingProjectLearningProducts(action.node, action.rootNodes) } break case 'Add Missing Project Trading Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectTradingProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingProjectTradingProducts(action.node, action.rootNodes) } break case 'Add Missing Project Portfolio Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectPortfolioProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingProjectPortfolioProducts(action.node, action.rootNodes) } break case 'Add Missing Project Data Products': { - UI.projects.foundations.functionLibraries.dataStorageFunctions.addMissingProjectDataProducts(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.dataStorageFunctions.addMissingProjectDataProducts(action.node, action.rootNodes) } break case 'Add All Layer Panels': { - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addAllLayerPanels(action.node) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.addAllLayerPanels(action.node) } break case 'Add All Layer Polygons': { - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addAllLayerPolygons(action.node) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.addAllLayerPolygons(action.node) } break case 'Add All Mine Layers': { - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addAllMineLayers(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.addAllMineLayers(action.node, action.rootNodes) } break case 'Add Missing Time Machines': { - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addMissingTimeMachines(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.addMissingTimeMachines(action.node, action.rootNodes) } break case 'Add Missing Dashboards': { - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addMissingDashboards(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.addMissingDashboards(action.node, action.rootNodes) } break case 'Add Missing Project Dashboards': { - UI.projects.foundations.functionLibraries.chartingSpaceFunctions.addMissingProjectDashboards(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.chartingSpaceFunctions.addMissingProjectDashboards(action.node, action.rootNodes) } break case 'Send Webhook Test Message': { - UI.projects.foundations.functionLibraries.webhookFunctions.sendTestMessage(action.node, action.callBackFunction) + UI.projects.foundations.nodeActionFunctions.webhookFunctions.sendTestMessage(action.node, action.callBackFunction) } break case 'Run Super Action': { - UI.projects.foundations.functionLibraries.superScriptsFunctions.runSuperScript(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.superScriptsFunctions.runSuperScript(action.node, action.rootNodes) } break case 'Push Code to Javascript Code': @@ -499,22 +499,22 @@ function newFoundationsActionSwitch() { break case 'Add Missing Workspace Projects': { - UI.projects.foundations.functionLibraries.workspaceFunctions.addMissingWorkspaceProjects(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.workspaceFunctions.addMissingWorkspaceProjects(action.node, action.rootNodes) } break case 'Add Specified Workspace Project': { - UI.projects.foundations.functionLibraries.workspaceFunctions.addSpecifiedWorkspaceProject(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.workspaceFunctions.addSpecifiedWorkspaceProject(action.node, action.rootNodes) } break case 'Check For Missing References': { - UI.projects.foundations.functionLibraries.workspaceFunctions.checkForMissingReferences(action.rootNodes) + UI.projects.foundations.nodeActionFunctions.workspaceFunctions.checkForMissingReferences(action.rootNodes) } break case 'Fix Missing References': { - UI.projects.foundations.functionLibraries.workspaceFunctions.fixMissingReferences(action.rootNodes) + UI.projects.foundations.nodeActionFunctions.workspaceFunctions.fixMissingReferences(action.rootNodes) } break case 'Switch To Forward Testing': @@ -571,7 +571,7 @@ function newFoundationsActionSwitch() { break case 'Install Product': { - UI.projects.foundations.functionLibraries.productFunctions.installProduct(action.node, action.rootNodes) + UI.projects.foundations.nodeActionFunctions.productFunctions.installProduct(action.node, action.rootNodes) } break diff --git a/Projects/Foundations/UI/Function-Libraries/ProductFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/ProductFunctions.js similarity index 92% rename from Projects/Foundations/UI/Function-Libraries/ProductFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/ProductFunctions.js index 52a2440845..259149ea00 100644 --- a/Projects/Foundations/UI/Function-Libraries/ProductFunctions.js +++ b/Projects/Foundations/UI/Node-Action-Functions/ProductFunctions.js @@ -103,7 +103,7 @@ function newFoundationsFunctionLibraryProductFunctions() { createIndicatorProcessInstanceIfNotPresent(indicatorBot) } else { //Let's create a new task manager as none exists - let newTaskManager = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataMineDependency, 'Task Manager') + let newTaskManager = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataMineDependency, 'Task Manager') newTaskManager.name = productDataMineParent.name let task = ceateTaskIfNotPresent(newTaskManager) @@ -121,7 +121,7 @@ function newFoundationsFunctionLibraryProductFunctions() { function ceateTaskIfNotPresent(taskManager) { let task = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(taskManager, undefined, productIndicatorBot.name, false, true, false, false) if (task === undefined) { - let newTask = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(taskManager, 'Task') + let newTask = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(taskManager, 'Task') newTask.name = productIndicatorBot.name return newTask @@ -132,7 +132,7 @@ function newFoundationsFunctionLibraryProductFunctions() { function createIndicatorBotIfNotPresent(task) { let botInstance = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(task, 'Indicator Bot Instance', undefined, false, true, false, false) if (botInstance === undefined) { - let newBotInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Indicator Bot Instance') + let newBotInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Indicator Bot Instance') newBotInstance.name = productIndicatorBot.name return newBotInstance @@ -179,7 +179,7 @@ function newFoundationsFunctionLibraryProductFunctions() { if (botProductDependencies !== undefined) { createDataProductIfNotPresent(botProductDependencies) } else { - let newBotProductDependencies = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataMineProduct, 'Bot Products') + let newBotProductDependencies = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataMineProduct, 'Bot Products') newBotProductDependencies.name = productIndicatorBot.name createDataProductIfNotPresent(newBotProductDependencies) } @@ -219,7 +219,7 @@ function newFoundationsFunctionLibraryProductFunctions() { if (botDataDependencies !== undefined) { addAllDataDependenciesIfNotExists(botDataDependencies) } else { - let newBotDataDependencies = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataMineDependency, 'Bot Data Dependencies') + let newBotDataDependencies = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataMineDependency, 'Bot Data Dependencies') newBotDataDependencies.name = productIndicatorBot.name addAllDataDependenciesIfNotExists(newBotDataDependencies) } @@ -232,8 +232,8 @@ function newFoundationsFunctionLibraryProductFunctions() { // Explicit check is needed so we know if we have to save the plugin or not if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(botDataDependencies, dataset, true) === true) { savePluginFile = true - let dataDependency = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botDataDependencies, 'Data Dependency') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dataDependency, dataset) + let dataDependency = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botDataDependencies, 'Data Dependency') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dataDependency, dataset) } } } @@ -253,7 +253,7 @@ function newFoundationsFunctionLibraryProductFunctions() { for (let j = 0; j < tradingMinePlugin.pluginFiles.length; j++) { let pluginFile = tradingMinePlugin.pluginFiles[j] - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.savePluginFile(pluginFile) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.savePluginFile(pluginFile) } } } @@ -285,7 +285,7 @@ function newFoundationsFunctionLibraryProductFunctions() { if (botDataDependencies !== undefined) { addAllDataDependenciesIfNotExists(botDataDependencies) } else { - let newBotDataDependencies = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(dataMineDependency, 'Bot Data Dependencies') + let newBotDataDependencies = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(dataMineDependency, 'Bot Data Dependencies') newBotDataDependencies.name = productIndicatorBot.name addAllDataDependenciesIfNotExists(newBotDataDependencies) } @@ -298,8 +298,8 @@ function newFoundationsFunctionLibraryProductFunctions() { // Explicit check is needed so we know if we have to save the plugin or not if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(botDataDependencies, dataset, true) === true) { savePluginFile = true - let dataDependency = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botDataDependencies, 'Data Dependency') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dataDependency, dataset) + let dataDependency = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botDataDependencies, 'Data Dependency') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dataDependency, dataset) } } } @@ -319,7 +319,7 @@ function newFoundationsFunctionLibraryProductFunctions() { for (let j = 0; j < portfolioMinePlugin.pluginFiles.length; j++) { let pluginFile = portfolioMinePlugin.pluginFiles[j] - UI.projects.communityPlugins.functionLibraries.pluginsFunctions.savePluginFile(pluginFile) + UI.projects.communityPlugins.nodeActionFunctions.pluginsFunctions.savePluginFile(pluginFile) } } } @@ -372,11 +372,11 @@ function newFoundationsFunctionLibraryProductFunctions() { } function createTimelineChartWithAllBranches(timeMachine) { - let newTimelineChart = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') + let newTimelineChart = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') newTimelineChart.name = productDataMineParent.name let layerManager = newTimelineChart.layerManager - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(layerManager, dataMineProduct) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(layerManager, dataMineProduct) let botLayer = createBotLayerIfNotPresent(layerManager) createLayerIfNotPresent(botLayer) @@ -387,7 +387,7 @@ function newFoundationsFunctionLibraryProductFunctions() { let botLayer = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(layerManager, undefined, productIndicatorBot.name, false, true, false, false) if (botLayer === undefined) { - let newBotLayer = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(layerManager, 'Bot Layers') + let newBotLayer = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(layerManager, 'Bot Layers') newBotLayer.name = productIndicatorBot.name return newBotLayer } diff --git a/Projects/Foundations/UI/Function-Libraries/TaskFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/TaskFunctions.js similarity index 92% rename from Projects/Foundations/UI/Function-Libraries/TaskFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/TaskFunctions.js index d21c15f848..f08b343358 100644 --- a/Projects/Foundations/UI/Function-Libraries/TaskFunctions.js +++ b/Projects/Foundations/UI/Node-Action-Functions/TaskFunctions.js @@ -194,7 +194,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { */ 'Available Storage->Storage Container Reference->Storage Container->Github Storage->Superalgos Storage->' - let taskDefinition = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, taskLightingPath) + let taskDefinition = UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(node, false, true, true, false, false, taskLightingPath) let networkLightingPath = '->LAN Network->LAN Network Node->' + 'Data Storage->' + @@ -220,7 +220,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { 'Market->' + 'Process Definition->' - let networkDefinition = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(lanNetworkNode.payload.parentNode, false, true, true, false, false, networkLightingPath) + let networkDefinition = UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(lanNetworkNode.payload.parentNode, false, true, true, false, false, networkLightingPath) let managedTasksLightingPath = '->Task->Managed Tasks->Portfolio Bot Instance->' + 'Task Reference->Task->Sensor Bot Instance->API Data Fetcher Bot->Indicator Bot Instance->Trading Bot Instance->Learning Bot Instance->' + @@ -232,7 +232,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { 'Market->Exchange Markets->Crypto Exchange->Crypto Exchanges->exchange Markets->Market->' let managedTasksDefinition = - UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, managedTasksLightingPath); + UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(node, false, true, true, false, false, managedTasksLightingPath); /* We will also send all the project schemas we have to the Task Server. @@ -782,8 +782,8 @@ function newFoundationsFunctionLibraryTaskFunctions() { let projectDefinition = rootNode.projectDefinition if (projectDefinition !== undefined) { if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, projectDefinition, true) === true) { - let projectTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType, undefined, node.project) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(projectTasks, projectDefinition) + let projectTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType, undefined, node.project) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(projectTasks, projectDefinition) } } } @@ -817,8 +817,8 @@ function newFoundationsFunctionLibraryTaskFunctions() { for (let k = 0; k < cryptoExchanges.exchanges.length; k++) { let cryptoExchange = cryptoExchanges.exchanges[k] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, cryptoExchange, true) === true) { - let exchangeTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(exchangeTasks, cryptoExchange) + let exchangeTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(exchangeTasks, cryptoExchange) } } } @@ -853,8 +853,8 @@ function newFoundationsFunctionLibraryTaskFunctions() { let market = markets[i] if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, market, true) === true) { - let marketDataTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(marketDataTasks, market) + let marketDataTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(marketDataTasks, market) } } } @@ -882,8 +882,8 @@ function newFoundationsFunctionLibraryTaskFunctions() { let mine = rootNode if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenById(node, mine, true) === true) { - let dataMineTasks = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, newNodeType) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dataMineTasks, mine) + let dataMineTasks = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, newNodeType) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(dataMineTasks, mine) } } } @@ -893,7 +893,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { if (node.payload === undefined) { return } if (node.payload.referenceParent === undefined) { return } - let taskManager = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Task Manager'); + let taskManager = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, 'Task Manager'); taskManager.name = node.payload.referenceParent.name taskManager.payload.floatingObject.collapseToggle() @@ -968,7 +968,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { case 'Sensor Bot': { let task = addTask(taskManager) - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Sensor Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Sensor Bot Instance') botInstance.name = bot.name addProcessInstance(task, bot, botInstance) @@ -977,7 +977,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { case 'API Data Fetcher Bot': { let task = addTask(taskManager) - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'API Data Fetcher Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'API Data Fetcher Bot Instance') botInstance.name = bot.name addProcessInstance(task, bot, botInstance) @@ -986,7 +986,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { case 'Indicator Bot': { let task = addTask(taskManager) - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Indicator Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Indicator Bot Instance') botInstance.name = bot.name addProcessInstance(task, bot, botInstance) @@ -995,7 +995,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { case 'Trading Bot': { let task = addTask(taskManager) - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Trading Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Trading Bot Instance') botInstance.name = bot.name addProcessInstance(task, bot, botInstance) @@ -1004,7 +1004,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { case 'Portfolio Bot': { let task = addTask(taskManager) - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Portfolio Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Portfolio Bot Instance') botInstance.name = bot.name addProcessInstance(task, bot, botInstance) @@ -1019,7 +1019,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { task = addTask(taskManager) task.name = 'Back ' + task.name - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Learning Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Learning Bot Instance') botInstance.name = 'Back ' + bot.name addProcessInstance(task, bot, botInstance, 'Back Learning Session') @@ -1027,7 +1027,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { task = addTask(taskManager) task.name = 'Live ' + task.name - botInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(task, 'Learning Bot Instance') + botInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(task, 'Learning Bot Instance') botInstance.name = 'Live ' + bot.name addProcessInstance(task, bot, botInstance, 'Live Learning Session') @@ -1036,7 +1036,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { } function addTask(taskManager) { - let task = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(taskManager, 'Task'); + let task = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(taskManager, 'Task'); if (systemNode !== undefined) { task.name = systemNode.name @@ -1052,13 +1052,13 @@ function newFoundationsFunctionLibraryTaskFunctions() { let processInstance switch (bot.type) { case 'Sensor Bot': { - processInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botInstance, 'Sensor Process Instance') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance, process) + processInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botInstance, 'Sensor Process Instance') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance, process) break } case 'API Data Fetcher Bot': { - processInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botInstance, 'API Data Fetcher Process Instance') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance, process) + processInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botInstance, 'API Data Fetcher Process Instance') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance, process) /* We will locate and reference the API MAP that has the same codeName than the data mine. @@ -1070,20 +1070,20 @@ function newFoundationsFunctionLibraryTaskFunctions() { let mineCodeName = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(mine.payload, 'codeName') if (apiMapCodeName === mineCodeName) { - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance.apiMapReference, apiMap) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance.apiMapReference, apiMap) break } } break } case 'Indicator Bot': { - processInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botInstance, 'Indicator Process Instance') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance, process) + processInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botInstance, 'Indicator Process Instance') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance, process) break } case 'Trading Bot': { - processInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botInstance, 'Trading Process Instance') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance, process) + processInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botInstance, 'Trading Process Instance') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance, process) if (node.payload.parentNode === undefined) { return } if (node.payload.parentNode.payload === undefined) { return } @@ -1108,7 +1108,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { break function addSession(sessionType) { - session = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(processInstance, sessionType) + session = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(processInstance, sessionType) session.name = task.name let config = JSON.parse(session.config) config.folderName = session.name.split(" ").join("-") @@ -1118,15 +1118,15 @@ function newFoundationsFunctionLibraryTaskFunctions() { let rootNode = rootNodes[m] if (rootNode.type === 'Trading Engine' && rootNode.isPlugin === true) { let tradingEngine = rootNode - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(session.tradingEngineReference, tradingEngine) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(session.tradingSystemReference, systemNode) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(session.tradingEngineReference, tradingEngine) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(session.tradingSystemReference, systemNode) } } } } case 'Portfolio Bot': { - processInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botInstance, 'Portfolio Process Instance') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance, process) + processInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botInstance, 'Portfolio Process Instance') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance, process) if (node.payload.parentNode === undefined) { return } if (node.payload.parentNode.payload === undefined) { return } @@ -1151,7 +1151,7 @@ function newFoundationsFunctionLibraryTaskFunctions() { break function addSession(sessionType) { - session = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(processInstance, sessionType) + session = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(processInstance, sessionType) session.name = task.name let config = JSON.parse(session.config) config.folderName = session.name.split(" ").join("-") @@ -1161,22 +1161,22 @@ function newFoundationsFunctionLibraryTaskFunctions() { let rootNode = rootNodes[m] if (rootNode.type === 'Portfolio Engine' && rootNode.isPlugin === true) { let portfolioEngine = rootNode - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(session.portfolioEngineReference, portfolioEngine) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(session.portfolioSystemReference, systemNode) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(session.portfolioEngineReference, portfolioEngine) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(session.portfolioSystemReference, systemNode) } } } } case 'Learning Bot': { - processInstance = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(botInstance, 'Learning Process Instance') - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(processInstance, process) + processInstance = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(botInstance, 'Learning Process Instance') + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(processInstance, process) let session addSession(sessionType) break function addSession(sessionType) { - session = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(processInstance, sessionType) + session = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(processInstance, sessionType) session.name = task.name let config = JSON.parse(session.config) config.folderName = session.name.split(" ").join("-") @@ -1186,8 +1186,8 @@ function newFoundationsFunctionLibraryTaskFunctions() { let rootNode = rootNodes[m] if (rootNode.type === 'Learning Engine' && rootNode.isPlugin === true) { let learningEngine = rootNode - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(session.learningEngineReference, learningEngine) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(session.learningSystemReference, systemNode) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(session.learningEngineReference, learningEngine) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(session.learningSystemReference, systemNode) } } } diff --git a/Projects/Foundations/UI/Function-Libraries/WebhookFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/WebhookFunctions.js similarity index 100% rename from Projects/Foundations/UI/Function-Libraries/WebhookFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/WebhookFunctions.js diff --git a/Projects/Foundations/UI/Function-Libraries/WorkspaceFunctions.js b/Projects/Foundations/UI/Node-Action-Functions/WorkspaceFunctions.js similarity index 94% rename from Projects/Foundations/UI/Function-Libraries/WorkspaceFunctions.js rename to Projects/Foundations/UI/Node-Action-Functions/WorkspaceFunctions.js index 7eeb1eae77..ac17423f3b 100644 --- a/Projects/Foundations/UI/Function-Libraries/WorkspaceFunctions.js +++ b/Projects/Foundations/UI/Node-Action-Functions/WorkspaceFunctions.js @@ -22,7 +22,7 @@ function newFoundationsFunctionLibraryWorkspaceFunctions() { } if (alreadyExist === false) { - let child = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, project + ' Project', rootNodes, project) + let child = UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, project + ' Project', rootNodes, project) if (child === undefined) { continue } @@ -63,7 +63,7 @@ function newFoundationsFunctionLibraryWorkspaceFunctions() { node.payload.uiObject.listSelector.activate(action, projectList, eventSubscriptionId) function onListSelect(event) { - UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, event.selectedNode + ' Project', rootNodes, event.selectedNode) + UI.projects.visualScripting.nodeActionFunctions.uiObjectsFromNodes.addUIObject(node, event.selectedNode + ' Project', rootNodes, event.selectedNode) node.payload.uiObject.container.eventHandler.stopListening('listSelectorClicked') } @@ -126,7 +126,7 @@ function newFoundationsFunctionLibraryWorkspaceFunctions() { // Not the wisest choice to get the first result, but the search engine will for sure return the most relevant doc as first. UI.projects.foundations.spaces.designSpace.workspace.getNodeById(workspaceItems[0].doc.docsSchemaDocument.nodeId).then(function (node) { console.log("Found a node to attach to: ", node) - UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(value, node) + UI.projects.visualScripting.nodeActionFunctions.attachDetach.referenceAttachNode(value, node) console.log("Attached successfully") }) diff --git a/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js b/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js index c73040b9dd..ea854dd907 100644 --- a/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js +++ b/Projects/Foundations/UI/Spaces/CodeEditor-Space/EditorPage.js @@ -327,7 +327,7 @@ function newFoundationsCodeEditorEditorPage() { }) } else if (node.type === 'Trading Engine') { // Create an object representation for the engine - tradingEngineObj = {tradingEngine: UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node, false, false, false, false, false, undefined)} + tradingEngineObj = {tradingEngine: UI.projects.visualScripting.nodeActionFunctions.protocolNode.getProtocolNode(node, false, false, false, false, false, undefined)} } }) diff --git a/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js b/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js index ad7c2d0c5b..622bb223a4 100644 --- a/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js +++ b/Projects/Foundations/UI/Spaces/Design-Space/Workspace.js @@ -49,14 +49,17 @@ function newWorkspace() { let sessionTimestamp = (new Date()).valueOf() window.localStorage.setItem('Session Timestamp', sessionTimestamp) - let actionSwitchesByProject = new Map() + let nodeActionSwitchesByProject = new Map() + let systemActionSwitchesByProject = new Map() + let topMenu = document.getElementById('topMenu') return thisObject function finalize() { thisObject.definition = undefined thisObject.workspaceNode = undefined - actionSwitchesByProject = undefined + nodeActionSwitchesByProject = undefined + systemActionSwitchesByProject = undefined } async function initialize() { @@ -69,12 +72,22 @@ function newWorkspace() { for (let i = 0; i < PROJECTS_SCHEMA.length; i++) { let project = PROJECTS_SCHEMA[i].name try { - let actionSwitch = eval('new' + project.replaceAll('-', '') + 'ActionSwitch()') - actionSwitchesByProject.set(project, actionSwitch) + let nodeActionSwitch = eval('new' + project.replaceAll('-', '') + 'NodeActionSwitch()') + nodeActionSwitchesByProject.set(project, nodeActionSwitch) } catch (err) { console.log('[WARN] Action Switch for project ' + project + ' not found.') } } + /* … and the system action switches map */ + for (let i = 0; i < PROJECTS_SCHEMA.length; i++) { + let project = PROJECTS_SCHEMA[i].name + try { + let systemActionSwitch = eval('new' + project.replaceAll('-', '') + 'SystemActionSwitch()') + systemActionSwitchesByProject.set(project, systemActionSwitch) + } catch (err) { + console.log('[WARN] System Action Switch for project ' + project + ' not found.') + } + } const browserURL = new URLSearchParams(window.location.search); const queryString = Object.fromEntries(browserURL.entries()); @@ -144,6 +157,8 @@ function newWorkspace() { //savingWorkspaceIntervalId = setInterval(saveWorkspace, 60000) UI.projects.foundations.utilities.statusBar.changeStatus("Displaying the UI...") + buildSystemMenu() + resolve() } } catch (err) { @@ -178,6 +193,69 @@ function newWorkspace() { } } } + + /* This function constructs the innerHTML of the topMenu div by following the system menu structure per-project defined in PROJECTS_MENU. + Only projects that have a project head node at the current workspace get a menu. */ + async function buildSystemMenu() { + let html = '