Merge pull request #1 from Superalgos/develop

Develop
This commit is contained in:
Barrypair authored and GitHub committed 2021-10-11 21:35:32 +02:00
commit 80ee398f89
868 files changed
+22293 -12447

No files matched your search

+33
View File
@@ -0,0 +1,33 @@
# name of your github action
name: CI
# this will help you specify where to run
on:
push:
branches:
# this will run on the electron branch
- develop
# this is where the magic happens, each job happens in parallel btw
jobs:
build_on_mac:
runs-on: macOS-latest
steps:
- uses: actions/checkout@master
with:
ref: develop
- uses: actions/setup-node@master
with:
node-version: 16
- name: see directory
run: ls
build_on_win:
runs-on: windows-2016
steps:
- uses: actions/checkout@master
with:
ref: develop
- uses: actions/setup-node@master
with:
node-version: 16
- name: see directory
run: ls
+34
View File
@@ -0,0 +1,34 @@
name: Build/release
on:
push:
tags:
- '*'
jobs:
release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
steps:
- name: Check out Git repository
uses: actions/checkout@v1
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v1
with:
node-version: 16
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
with:
# GitHub token, automatically provided to the action
# (No need to define this secret in the repo settings)
github_token: ${{ secrets.github_token }}
# If the commit is tagged with a version (e.g. "v1.0.0"),
# release the app after building
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
+1
View File
@@ -19,3 +19,4 @@ node_modules
launch.json
package-lock.json
.idea
dist
+11 -5
View File
@@ -1,19 +1,25 @@
{
"files.exclude": {
"**/Data-Storage": true,
"**/Documentation": true,
"**/Log-Files": true,
"**/node_modules": true,
"**/Deprecated-Code": true,
"**/My-Social-Trading-Data": true,
"**/My-Network-Nodes-Data": true,
"**/My-Workspaces": true,
"**/My-Secrets": true,
"**/My-Data-Storage": true,
"**/My-Log-Files": true,
},
"search.exclude": {
"**/Data-Storage": true,
"**/Documentation": true,
"**/Log-Files": true,
"**/node_modules": true,
"**/Deprecated-Code": true,
"**/My-Social-Trading-Data": true
"**/My-Social-Trading-Data": true,
"**/My-Network-Nodes-Data": true,
"**/My-Workspaces": true,
"**/My-Secrets": true,
"**/My-Data-Storage": true,
"**/My-Log-Files": true,
},
"search.maintainFileSearchCache": true
}
+1 -1
View File
@@ -12,5 +12,5 @@ RUN apk add --no-cache --virtual .build-deps make g++ \
USER superalgos
EXPOSE 34248
EXPOSE 18041
VOLUME ["/app/Data-Storage", "/app/Log-Files", "/app/My-Workspaces"]
VOLUME ["/app/Platform/My-Data-Storage", "/app/Platform/My-Log-Files", "/app/Platform/My-Workspaces"]
ENTRYPOINT ["node", "platform", "noBrowser"]
+3 -3
View File
@@ -11,7 +11,7 @@ services:
- '34248:34248'
- '18041:18041'
volumes:
- ../Data-Storage:/app/Data-Storage
- ../Log-Files:/app/Log-Files
- ../My-Workspaces:/app/My-Workspaces
- ../Platform/My-Data-Storage:/app/Platform/My-Data-Storage
- ../Platform/My-Log-Files:/app/Platform/My-Log-Files
- ../Platform/My-Workspaces:/app/Platform/My-Workspaces
restart: on-failure
+23 -9
View File
@@ -1,18 +1,32 @@
const path = require("path")
if (process.env.PACKAGED_PATH) {
basePath = process.env.PACKAGED_PATH
} else {
basePath = __dirname
}
exports.newEnvironment = function () {
let thisObject = {
BASE_PATH: basePath,
WEB_SERVER_URL: 'localhost',
CLIENT_WEB_SOCKETS_INTERFACE_PORT: 18041,
CLIENT_HTTP_INTERFACE_PORT: 34248,
PATH_TO_DATA_STORAGE: './Platform/My-Data-Storage',
PATH_TO_LOG_FILES: './Platform/My-Log-Files',
PATH_TO_PROJECTS: './Projects',
PATH_TO_PROJECTS_REQUIRED: './Projects',
PATH_TO_PROJECT_SCHEMA: './Projects/ProjectsSchema.json',
PATH_TO_CLIENT: './Platform',
PATH_TO_DEFAULT_WORKSPACE: './Projects/Foundations/Plugins/Workspaces',
PATH_TO_MY_WORKSPACES: './Platform/My-Workspaces',
PATH_TO_FONTS: './Platform/WebServer/Fonts'
PATH_TO_DATA_STORAGE: path.join(basePath, './Platform/My-Data-Storage'),
PATH_TO_PROJECTS: path.join(basePath, './Projects'),
PATH_TO_LOG_FILES: path.join(basePath, './Platform/My-Log-Files'),
PATH_TO_PROJECTS_REQUIRED: path.join(basePath, './Projects'),
PATH_TO_PROJECT_SCHEMA: path.join(basePath, './Projects/ProjectsSchema.json'),
PATH_TO_CLIENT: path.join(basePath, './Platform'),
PATH_TO_DEFAULT_WORKSPACE: path.join(basePath, './Projects/Foundations/Plugins/Workspaces'),
PATH_TO_MY_WORKSPACES: path.join(basePath, './Platform/My-Workspaces'),
PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts')
}
if (process.env.PORTABLE_EXECUTABLE_DIR) {
thisObject.PATH_TO_DATA_STORAGE = path.join(process.env.PORTABLE_USER_DOCUMENTS, '/Superalgos/Platform/My-Data-Storage')
thisObject.PATH_TO_LOG_FILES = path.join(process.env.PORTABLE_USER_DOCUMENTS, '/Superalgos/Platform/My-Log-Files')
thisObject.PATH_TO_MY_WORKSPACES = path.join(process.env.PORTABLE_USER_DOCUMENTS, '/Superalgos/Platform/My-Workspaces')
}
return thisObject
+173 -17
View File
@@ -631,7 +631,13 @@ exports.newHttpInterface = function newHttpInterface() {
break
case 'App':
{
// If running the electron app do not try to get git tool. I don't allow it.
if (process.env.SA_MODE === 'gitDisable') {
console.log('[WARNING] No contributions on binary distributions. Do manual installation')
break
}
switch (requestPath[2]) { // switch by command
case 'Contribute': {
try {
let commitMessage = unescape(requestPath[3])
@@ -641,7 +647,7 @@ exports.newHttpInterface = function newHttpInterface() {
const contributionsBranch = unescape(requestPath[7])
let error
/* Unsavping # */
/* Unsaving # */
for (let i = 0; i < 10; i++) {
commitMessage = commitMessage.replace('_SLASH_', '/')
commitMessage = commitMessage.replace('_HASHTAG_', '#')
@@ -649,7 +655,7 @@ exports.newHttpInterface = function newHttpInterface() {
contribute()
async function contribute() {
async function contribute() {
const { lookpath } = SA.nodeModules.lookpath
const gitpath = await lookpath('git')
if (gitpath === undefined) {
@@ -864,6 +870,9 @@ exports.newHttpInterface = function newHttpInterface() {
await doGit()
if (error === undefined) {
// Run node setup to prepare instance for branch change
await runNodeSetup()
// Return to UI that Branch is suggessfully changed
SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(global.DEFAULT_OK_RESPONSE), httpResponse)
} else {
let docs = {
@@ -896,6 +905,22 @@ exports.newHttpInterface = function newHttpInterface() {
}
}
async function runNodeSetup() {
console.log("Running Node setup to adjust for new Branch")
const process = require("process");
const { execSync } = require("child_process");
let dir = process.cwd()
let command = "node setup";
let stdout = execSync(command,
{
cwd: dir
}).toString();
console.log("Node Setup has completed with the following result:", stdout)
}
} catch (err) {
console.log('[ERROR] httpInterface -> App -> Update -> Method call produced an error.')
console.log('[ERROR] httpInterface -> App -> Update -> err.stack = ' + err.stack)
@@ -971,6 +996,138 @@ exports.newHttpInterface = function newHttpInterface() {
}
break
}
case 'FixAppSchema': {
/*
We will use this process when we have moved APP SCHEMA files from one project to another, and we need to fixt the
actions where this node was referenced, so that it points to the new project where the node has moved to.
*/
let customResponse = {
result: global.CUSTOM_OK_RESPONSE.result,
message: ''
}
SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(customResponse), httpResponse)
console.log('Fixing App Schemas...')
let projects = SA.projects.foundations.utilities.filesAndDirectories.getDirectories(global.env.PATH_TO_PROJECTS)
let PROJECTS_MAP = new Map()
let directoryCount = 0
let allAppSchemas = []
let allAppSchemasFilePaths = []
for (let i = 0; i < projects.length; i++) {
let project = projects[i]
const fs = SA.nodeModules.fs
let folder = 'App-Schema'
let filePath = global.env.PATH_TO_PROJECTS + '/' + project + '/Schemas/'
SA.projects.foundations.utilities.filesAndDirectories.getAllFilesInDirectoryAndSubdirectories(filePath + folder, onFilesReady)
function onFilesReady(files) {
try {
let SCHEMA_MAP = new Map()
console.log('files.length... ' + files.length)
for (let k = 0; k < files.length; k++) {
let name = files[k]
let nameSplitted = name.split(folder)
let fileName = nameSplitted[1]
for (let i = 0; i < 10; i++) {
fileName = fileName.replace('\\', '/')
}
let fileToRead = filePath + folder + fileName
console.log('Reading file... ' + fileToRead)
let fileContent = fs.readFileSync(fileToRead)
let schemaDocument
try {
schemaDocument = JSON.parse(fileContent)
SCHEMA_MAP.set(schemaDocument.type, schemaDocument)
allAppSchemas.push(schemaDocument)
allAppSchemasFilePaths.push(fileToRead)
} catch (err) {
console.log('[ERROR] sendSchema -> Error Parsing JSON File: ' + fileToRead + ' .Error = ' + err.stack)
return
}
}
PROJECTS_MAP.set(project, SCHEMA_MAP)
directoryCount++
console.log('directoryCount = ' + directoryCount, 'projects.length = ' + projects.length)
//console.log(Array.from(PROJECTS_MAP.get(project).keys()))
if (directoryCount === projects.length) {
fixSchemas()
}
} catch (err) {
console.log(err.stack)
}
}
}
function fixSchemas() {
try {
console.log('fixSchemas...' + allAppSchemas.length)
let projects = SA.projects.foundations.utilities.filesAndDirectories.getDirectories(global.env.PATH_TO_PROJECTS)
const fs = SA.nodeModules.fs
let needFixing = 0
for (let i = 0; i < allAppSchemas.length; i++) {
let schemaDocument = allAppSchemas[i]
let wasUpdated = false
for (let j = 0; j < schemaDocument.menuItems.length; j++) {
let menuItem = schemaDocument.menuItems[j]
if (menuItem.relatedUiObject !== undefined && menuItem.relatedUiObjectProject === undefined) {
needFixing++
let hits = 0
let foundProject
let multiProject = ''
for (let k = 0; k < projects.length; k++) {
let project = projects[k]
let testDocument = PROJECTS_MAP.get(project).get(menuItem.relatedUiObject)
if (testDocument !== undefined) {
hits++
foundProject = project
multiProject = multiProject + ' -> ' + project
}
}
if (hits === 0) {
console.log('Problem With No Solution #' + needFixing, ' Type: ' + schemaDocument.type, ' Action: ' + menuItem.action, ' Related UI Object: ' + menuItem.relatedUiObject)
console.log('This Node Type was NOT FOUND at any project. ' + menuItem.relatedUiObject)
continue
}
if (hits === 1) {
console.log('Problem With One Solution #' + needFixing, ' Type: ' + schemaDocument.type, ' Action: ' + menuItem.action, ' Related UI Object: ' + menuItem.relatedUiObject, ' Found Project:' + foundProject)
menuItem.relatedUiObjectProject = foundProject
wasUpdated = true
continue
}
console.log('Problem With MULTIPLE Solutions #' + needFixing, ' Type: ' + schemaDocument.type, ' Action: ' + menuItem.action, ' Related UI Object: ' + menuItem.relatedUiObject, ' Found at these Projects:' + multiProject)
}
}
if (wasUpdated === true) {
let fileContent = JSON.stringify(schemaDocument, undefined, 4)
let filePath = allAppSchemasFilePaths[i]
//console.log('Saving File at ' + filePath)
//console.log(fileContent)
//fs.writeFileSync(filePath, fileContent)
}
}
} catch (err) {
console.log(err.stack)
}
}
break
}
}
function respondWithDocsObject(docs, error) {
@@ -1387,13 +1544,13 @@ exports.newHttpInterface = function newHttpInterface() {
try {
let project = unescape(requestPath[2])
let folder = unescape(requestPath[3])
let response = await SA.projects.communityPlugins.utilities.plugins.getPluginFileNames(
project,
folder
).catch(err => {
).catch(err => {
console.log('[ERROR] httpInterface -> PluginFileNames -> err.stack = ' + err.stack)
})
})
SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(response), httpResponse)
@@ -1426,25 +1583,24 @@ exports.newHttpInterface = function newHttpInterface() {
if (fileName === 'Superalgos-CL.json') {
fileName = 'Superalgos-PL.json'
}
await SA.projects.communityPlugins.utilities.plugins.getPluginFileContent(
project,
folder,
fileName
)
.then( response =>
{
.then(response => {
SA.projects.foundations.utilities.httpResponses.respondWithContent(response, httpResponse)
}
)
.catch(err => {
let error = {
result: 'Fail Because',
message: err
}
SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(error), httpResponse)
return
})
)
.catch(err => {
let error = {
result: 'Fail Because',
message: err
}
SA.projects.foundations.utilities.httpResponses.respondWithContent(JSON.stringify(error), httpResponse)
return
})
} catch (err) {
console.log('[ERROR] httpInterface -> LoadPlugin -> Method call produced an error.')
+13
View File
@@ -485,6 +485,19 @@ function newCanvas() {
return
}
if (
event.shiftKey === true &&
(event.ctrlKey === true || event.metaKey === true) &&
(event.key === UI.projects.foundations.spaces.floatingSpace.settings.shortcuts.rescueFloatingObjectToMouse || event.key === UI.projects.foundations.spaces.floatingSpace.settings.shortcuts.rescueFloatingObjectToMouse.toLowerCase())
) {
UI.projects.foundations.spaces.floatingSpace.rescueFloatingObjectToMouse(thisObject.mouse.position)
if (event.preventDefault !== undefined) {
event.preventDefault()
}
return
}
let nodeOnFocus = await UI.projects.foundations.spaces.designSpace.workspace.getNodeThatIsOnFocus()
if (nodeOnFocus !== undefined) {
if (nodeOnFocus.payload.uiObject.codeEditor !== undefined) {
+35 -13
View File
@@ -1,4 +1,4 @@
function getSchemaDocument (node, project) {
function getSchemaDocument(node, project) {
if (node === null || node === undefined) {
console.log('[ERROR] Can not get the schema document of a null or undefined node ')
return
@@ -7,13 +7,35 @@ function getSchemaDocument (node, project) {
let APP_SCHEMA = SCHEMAS_BY_PROJECT.get(project)
if (APP_SCHEMA !== undefined) {
return SCHEMAS_BY_PROJECT.get(project).map.appSchema.get(node.type)
let schemaDocument = SCHEMAS_BY_PROJECT.get(project).map.appSchema.get(node.type)
/*
As of today, we are still splitting the codebase into multiple projects and there are Menu Actions which do not
have a well defined relatedUIObjectProject. There are a few techniques in place to try to guess it, but
even those can fail. For that reason, we will temporally see if we can find the schema document at any of the
available projects.
TODO: We need to explictly declare the project of a relatedUIObject in order to avoid potential name collision
between nodes belonging to more than one project.
*/
if (schemaDocument === undefined) {
for (let j = 0; j < PROJECTS_SCHEMA.length; j++) {
let project = PROJECTS_SCHEMA[j].name
schemaDocument = SCHEMAS_BY_PROJECT.get(project).map.appSchema.get(node.type)
if (schemaDocument !== undefined) {
break
}
}
}
return schemaDocument
} else {
console.log('[ERROR] Could not get APP Scchema for project ' + node.project)
console.log('[ERROR] Could not get APP Schema for project ' + node.project)
}
}
function dynamicDecimals (value, minDecimals) {
function dynamicDecimals(value, minDecimals) {
if (minDecimals === undefined) {
minDecimals = 0
}
@@ -26,7 +48,7 @@ function dynamicDecimals (value, minDecimals) {
return returnValue
}
function convertTimeFrameToName (pTimeFrame) {
function convertTimeFrameToName(pTimeFrame) {
for (let i = 0; i < dailyTimeFramesArray.length; i++) {
let period = dailyTimeFramesArray[i]
if (period[0] === pTimeFrame) {
@@ -42,7 +64,7 @@ function convertTimeFrameToName (pTimeFrame) {
}
}
function nextPorwerOf10 (number) {
function nextPorwerOf10(number) {
for (let i = -10; i <= 10; i++) {
if (number < Math.pow(10, i)) {
return Math.pow(10, i)
@@ -50,18 +72,18 @@ function nextPorwerOf10 (number) {
}
}
function pad (str, max) {
function pad(str, max) {
str = str.toString()
return str.length < max ? pad('0' + str, max) : str
}
function moveToUserPosition (container, currentDate, currentRate, coordinateSystem, ignoreX, ignoreY, mousePosition, fitFunction) {
function moveToUserPosition(container, currentDate, currentRate, coordinateSystem, ignoreX, ignoreY, mousePosition, fitFunction) {
let targetPoint = {
x: currentDate.valueOf(),
y: currentRate
}
/* Put this point in the coordinate system of the UI.projects.foundations.spaces.chartingSpace.viewport */
/* Put this point in the coordinate system of the UI.projects.foundations.spaces.chartingSpace.viewport */
targetPoint = coordinateSystem.transformThisPoint(targetPoint)
targetPoint = UI.projects.foundations.utilities.coordinateTransformations.transformThisPoint(targetPoint, container)
@@ -81,7 +103,7 @@ function moveToUserPosition (container, currentDate, currentRate, coordinateSyst
container.displace(displaceVector)
}
function removeTime (datetime) {
function removeTime(datetime) {
if (datetime === undefined) { return }
let dateOnly = new Date(Math.trunc(datetime.valueOf() / ONE_DAY_IN_MILISECONDS) * ONE_DAY_IN_MILISECONDS)
@@ -89,14 +111,14 @@ function removeTime (datetime) {
return dateOnly
}
function newUniqueId () {
function newUniqueId() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8)
return v.toString(16)
})
}
function splitTextIntoPhrases (text, wordsPerLine) {
function splitTextIntoPhrases(text, wordsPerLine) {
try {
if (text.split === undefined) {
return []
@@ -128,7 +150,7 @@ function splitTextIntoPhrases (text, wordsPerLine) {
}
}
function getTextWidth (text) {
function getTextWidth(text) {
var metrics = browserCanvasContext.measureText(text)
return metrics.width
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@@ -8,7 +8,7 @@
"iconPathOff": "algorithmic-trading-project",
"iconProject": "Algorithmic-Trading",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -16,7 +16,7 @@
"relatedUiObject": "Trading Mine",
"relatedUiObjectProject": "Algorithmic-Trading",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -24,7 +24,7 @@
"relatedUiObject": "Trading Engine",
"relatedUiObjectProject": "Algorithmic-Trading",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -32,17 +32,17 @@
"relatedUiObject": "Trading System",
"relatedUiObjectProject": "Algorithmic-Trading",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionProject": "Foundations"
"iconPathOff": "delete-entity"
}
],
"isProjectHead": true,
@@ -15,31 +15,34 @@
"label": "Add Process Definition",
"relatedUiObject": "Process Definition",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Product Definition",
"relatedUiObject": "Product Definition",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"label": "Add Product Definition Folder",
"relatedUiObject": "Product Definition Folder",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -6,17 +6,18 @@
"label": "Add Missing Children",
"relatedUiObject": "Trading Engine",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Algorithmic-Trading"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isHierarchyHead": true,
@@ -17,7 +17,7 @@
"relatedUiObject": "Trading Bot",
"relatedUiObjectProject": "Algorithmic-Trading",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -25,17 +25,17 @@
"relatedUiObject": "Plotter",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -6,7 +6,8 @@
"label": "Add Trading Strategy",
"relatedUiObject": "Trading Strategy",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
@@ -15,17 +16,18 @@
"label": "Add Dynamic Indicators",
"relatedUiObject": "Dynamic Indicators",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isHierarchyHead": true,
@@ -17,7 +17,7 @@ exports.newAlgorithmicTradingBotModulesTradingOrders = function (processIndex) {
let sessionParameters
let exchangeAPIModuleObject = TS.projects.algorithmicTrading.botModules.exchangeAPI.newAlgorithmicTradingBotModulesExchangeAPI(processIndex)
let announcementsModuleObject = TS.projects.foundations.botModules.announcements.newFoundationsBotModulesAnnouncements(processIndex)
let announcementsModuleObject = TS.projects.socialBots.botModules.announcements.newSocialBotsBotModulesAnnouncements(processIndex)
return thisObject
@@ -31,7 +31,7 @@ exports.newAlgorithmicTradingBotModulesTradingOutput = function (processIndex) {
/* Preparing everything for the Simulation */
let tradingSimulationModuleObject = TS.projects.algorithmicTrading.botModules.tradingSimulation.newAlgorithmicTradingBotModulesTradingSimulation(processIndex)
let outputDatasets = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
let outputDatasetsMap = new Map()
await TS.projects.foundations.functionLibraries.outputManagementFunctions.readFiles(
@@ -37,7 +37,7 @@ exports.newAlgorithmicTradingBotModulesTradingRecords = function (processIndex)
we have a pointer to the node that have the information we need to extract.
Later, based on the product record definition we will extract each individual value.
*/
let outputDatasets = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
for (let i = 0; i < outputDatasets.length; i++) {
let outputDatasetNode = outputDatasets[i]
@@ -372,8 +372,8 @@ exports.newAlgorithmicTradingBotModulesTradingSimulation = function (processInde
}
function positionChart(chart) {
let dataDependencies = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies, 'Data Dependency')
dataDependencies = TS.projects.foundations.utilities.nodeFunctions.filterOutNodeWihtoutReferenceParentFromNodeArray(dataDependencies)
let dataDependencies = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies, 'Data Dependency')
dataDependencies = TS.projects.visualScripting.utilities.nodeFunctions.filterOutNodeWihtoutReferenceParentFromNodeArray(dataDependencies)
/* Finding the Current Element on Daily Files */
if (TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).TRADING_PROCESSING_DAILY_FILES) {
@@ -24,7 +24,7 @@ exports.newAlgorithmicTradingBotModulesTradingStages = function (processIndex) {
let tradingStrategyModuleObject = TS.projects.algorithmicTrading.botModules.tradingStrategy.newAlgorithmicTradingBotModulesTradingStrategy(processIndex)
let tradingPositionModuleObject = TS.projects.algorithmicTrading.botModules.tradingPosition.newAlgorithmicTradingBotModulesTradingPosition(processIndex)
let tradingExecutionModuleObject = TS.projects.algorithmicTrading.botModules.tradingExecution.newAlgorithmicTradingBotModulesTradingExecution(processIndex)
let announcementsModuleObject = TS.projects.foundations.botModules.announcements.newFoundationsBotModulesAnnouncements(processIndex)
let announcementsModuleObject = TS.projects.socialBots.botModules.announcements.newSocialBotsBotModulesAnnouncements(processIndex)
let snapshotsModuleObject = TS.projects.algorithmicTrading.botModules.snapshots.newAlgorithmicTradingBotModulesSnapshots(processIndex)
let tradingEpisodeModuleObject = TS.projects.algorithmicTrading.botModules.tradingEpisode.newAlgorithmicTradingBotModulesTradingEpisode(processIndex)
@@ -7,7 +7,7 @@
}
TS.projects.foundations.globals.processVariables.VARIABLES_BY_PROCESS_INDEX_MAP.get(processIndex).SOCIAL_BOTS_MODULE =
TS.projects.foundations.botModules.socialBots.newFoundationsBotModulesSocialBots(processIndex)
TS.projects.socialBots.botModules.socialBots.newSocialBotsBotModulesSocialBots(processIndex)
return thisObject;
@@ -110,7 +110,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() {
'Simulated Exchange Events->Simulated Partial Fill->Simulated Actual Rate->Simulated Fees Paid->Formula->' +
'User Defined Code->Javascript Code->'
let tradingSystem = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(node.tradingSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath)
let tradingSystem = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node.tradingSystemReference.payload.referenceParent, false, true, true, false, false, lightingPath)
lightingPath = '' +
'Trading Engine->' +
@@ -149,7 +149,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() {
'Index->Situation Name->Formula->Periods->' +
'User Defined Variables->User Defined Variable->'
let tradingEngine = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(node.tradingEngineReference.payload.referenceParent, false, true, true, false, false, lightingPath)
let tradingEngine = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node.tradingEngineReference.payload.referenceParent, false, true, true, false, false, lightingPath)
lightingPath = '' +
'Backtesting Session->Paper Trading Session->Forward Testing Session->Live Trading Session->' +
@@ -159,13 +159,13 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() {
'Social Bot Command->Formula->' +
'Exchange Account Asset->Asset->'
let session = UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath)
let session = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(node, false, true, true, false, false, lightingPath)
let defaultExchange = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(validationsResult.exchange.payload, 'codeName')
let defaultExchange = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.exchange.payload, 'codeName')
let defaultMarket =
UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(validationsResult.market.baseAsset.payload.referenceParent.payload, 'codeName')
UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.market.baseAsset.payload.referenceParent.payload, 'codeName')
+ '-' +
UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(validationsResult.market.quotedAsset.payload.referenceParent.payload, 'codeName')
UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(validationsResult.market.quotedAsset.payload.referenceParent.payload, 'codeName')
let dependencyFilter = UI.projects.foundations.functionLibraries.dependenciesFilter.createDependencyFilter(
defaultExchange,
@@ -266,7 +266,7 @@ function newAlgorithmicTradingFunctionLibraryTradingSessionFunctions() {
return
}
result.lanNetworkNode = UI.projects.foundations.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false)
result.lanNetworkNode = UI.projects.visualScripting.utilities.meshes.findNodeInNodeMesh(result.taskManager, 'LAN Network Node', undefined, true, false, true, false)
if (node.tradingSystemReference === undefined) {
node.payload.uiObject.setErrorMessage('Session needs a child Trading System Reference.')
@@ -9,17 +9,18 @@
"workDoneLabel": "Done",
"relatedUiObject": "API Map",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -3,13 +3,13 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"title": [
@@ -16,38 +16,42 @@
"actionFunction": "payload.executeAction",
"label": "Add Plugin File Position",
"relatedUiObject": "Plugin File Position",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Community-Plugins"
},
{
"action": "Enable Saving With Workspace",
"actionFunction": "payload.executeAction",
"label": "Enable Saving With Workspace",
"relatedUiObject": "Plugin File",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Community-Plugins"
},
{
"action": "Disable Saving With Workspace",
"actionFunction": "payload.executeAction",
"label": "Disable Saving With Workspace",
"relatedUiObject": "Plugin File",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Community-Plugins"
},
{
"action": "Save Plugin",
"actionFunction": "payload.executeAction",
"label": "Save Plugin",
"relatedUiObject": "Plugin File",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Community-Plugins"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"editors": {
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -14,17 +14,18 @@
"label": "Add Missing Plugin Types",
"relatedUiObject": "Plugins",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Community-Plugins"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"initialValues": {
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -15,13 +15,13 @@
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -10,17 +10,18 @@
"workDoneLabel": "Done",
"relatedUiObject": "Tutorial",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Education"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"addLeftIcons": true,
@@ -6,7 +6,8 @@
"label": "Add Missing Children",
"relatedUiObject": "Foundations Project",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
@@ -14,17 +15,17 @@
"relatedUiObject": "Plugins",
"relatedUiObjectProject": "Community-Plugins",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionProject": "Foundations"
"iconPathOff": "delete-entity"
}
],
"isProjectHead": true,
@@ -9,17 +9,18 @@
"workDoneLabel": "Done",
"relatedUiObject": "Plugin Project",
"actionFunction": "payload.executeAction",
"actionProject": "Community-Plugins"
"actionProject": "Community-Plugins",
"relatedUiObjectProject": "Community-Plugins"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionProject": "Foundations"
"iconPathOff": "delete-entity"
}
],
"isHierarchyHead": true,
@@ -22,8 +22,8 @@ function newPluginsFunctionLibraryPluginsFunctions() {
for (let k = 0; k < PROJECTS_SCHEMA.length; k++) {
let projectDefinition = PROJECTS_SCHEMA[k]
let project = projectDefinition.name
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenByName(node, project) === true) {
let child = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin Project')
if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenByName(node, project) === true) {
let child = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin Project')
child.name = project
let config = JSON.parse(child.config)
config.codeName = project
@@ -33,7 +33,7 @@ function newPluginsFunctionLibraryPluginsFunctions() {
}
function addMissingPluginTypes(node, rootNodes) {
let project = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(node.payload, 'codeName')
let project = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(node.payload, 'codeName')
if (project === undefined || project === "") { return }
for (let k = 0; k < PROJECTS_SCHEMA.length; k++) {
let projectDefinition = PROJECTS_SCHEMA[k]
@@ -42,8 +42,8 @@ function newPluginsFunctionLibraryPluginsFunctions() {
for (let i = 0; i < projectDefinition.plugins.length; i++) {
let pluginType = "Plugin" + " " + projectDefinition.plugins[i]
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenByType(node, pluginType) === true) {
UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, pluginType, undefined, 'Community-Plugins')
if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenByType(node, pluginType) === true) {
UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, pluginType, undefined, 'Community-Plugins')
}
}
}
@@ -194,12 +194,12 @@ function newPluginsFunctionLibraryPluginsFunctions() {
}
function enableSavingWithWorkspace(node, rootNodes) {
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(node.payload, 'saveWithWorkspace', true)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'saveWithWorkspace', true)
node.payload.uiObject.setInfoMessage('Saving with Workspace Enabled')
}
function disableSavingWithWorkspace(node, rootNodes) {
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(node.payload, 'saveWithWorkspace', false)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(node.payload, 'saveWithWorkspace', false)
node.payload.uiObject.setInfoMessage('Saving with Workspace Disabled')
}
@@ -209,10 +209,10 @@ function newPluginsFunctionLibraryPluginsFunctions() {
function installAsPlugin(node, rootNodes) {
let plugins = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadByNodeType('Plugins')
let pluginProject = UI.projects.foundations.utilities.nodeChildren.findChildByCodeName(plugins, node.project)
let pluginProject = UI.projects.visualScripting.utilities.nodeChildren.findChildByCodeName(plugins, node.project)
let pluginFolderName = UI.projects.communityPlugins.utilities.plugins.getPluginFolderNamesByNodeType(node.type)
let pluginForlderNodeType = 'Plugin ' + pluginFolderName.replaceAll('-', ' ')
let pluginFolderNode = UI.projects.foundations.utilities.nodeChildren.findChildByType(pluginProject, pluginForlderNodeType)
let pluginFolderNode = UI.projects.visualScripting.utilities.nodeChildren.findChildByType(pluginProject, pluginForlderNodeType)
let pluginFile = UI.projects.communityPlugins.utilities.plugins.addMissingPluginFile(pluginFolderNode, node.name, pluginFolderName, node.type, node.project, true)
node.isPlugin = true
@@ -33,8 +33,8 @@ function newPluginsUtilitiesPlugins() {
}
function addMissingPluginFile(node, fileName, pluginFolder, nodeType, project, saveWithWorkspace) {
if (UI.projects.foundations.utilities.nodeChildren.isMissingChildrenByName(node, fileName) === true) {
let child = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin File', undefined, 'Community-Plugins')
if (UI.projects.visualScripting.utilities.nodeChildren.isMissingChildrenByName(node, fileName) === true) {
let child = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Plugin File', undefined, 'Community-Plugins')
child.name = fileName
child.config = JSON.stringify({
project: project,
@@ -111,10 +111,10 @@ function newPluginsUtilitiesPlugins() {
}
function savePluginFile(pluginFile) {
let project = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'project')
let fileName = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'fileName')
let folderName = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'folderName')
let nodeType = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'nodeType')
let project = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'project')
let fileName = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'fileName')
let folderName = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'folderName')
let nodeType = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(pluginFile.payload, 'nodeType')
if (
project === undefined ||
@@ -136,7 +136,7 @@ function newPluginsUtilitiesPlugins() {
return
}
let fileContent = JSON.stringify(
UI.projects.foundations.functionLibraries.protocolNode.getProtocolNode(pluginToSave, false, false, true, true, true),
UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(pluginToSave, false, false, true, true, true),
undefined,
4)
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -16,7 +16,7 @@
"relatedUiObject": "Process Definition",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -24,17 +24,17 @@
"relatedUiObject": "Product Definition",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -16,21 +16,24 @@
"label": "Add Sensor Bot",
"relatedUiObject": "Sensor Bot",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Data-Mining"
},
{
"action": "Add UI Object",
"label": "Add API Data Fetcher Bot",
"relatedUiObject": "API Data Fetcher Bot",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Data-Mining"
},
{
"action": "Add UI Object",
"label": "Add Indicator Bot",
"relatedUiObject": "Indicator Bot",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Data-Mining"
},
{
"action": "Add UI Object",
@@ -38,17 +41,17 @@
"relatedUiObject": "Plotter",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -8,7 +8,7 @@
"iconPathOff": "data-mining-project",
"iconProject": "Data-Mining",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -16,17 +16,17 @@
"relatedUiObject": "Data Mine",
"relatedUiObjectProject": "Data-Mining",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionProject": "Foundations"
"iconPathOff": "delete-entity"
}
],
"isProjectHead": true,
@@ -16,7 +16,7 @@
"relatedUiObject": "Process Definition",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -24,17 +24,17 @@
"relatedUiObject": "Product Definition",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -16,7 +16,7 @@
"relatedUiObject": "Process Definition",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Add UI Object",
@@ -24,17 +24,17 @@
"relatedUiObject": "Product Definition",
"relatedUiObjectProject": "Foundations",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionProject": "Visual-Scripting"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
"iconPathOn": "delete-entity",
"iconPathOff": "delete-entity",
"actionFunction": "payload.executeAction",
"actionProject": "Foundations"
"actionFunction": "payload.executeAction"
}
],
"isTitleAllwaysVisible": true,
@@ -201,7 +201,7 @@ exports.newDataMiningBotModulesFetchingProcess = function (processIndex) {
if (recordProperty.apiResponseFieldReference !== undefined) {
if (recordProperty.apiResponseFieldReference.referenceParent !== undefined) {
let apiResponseField = recordProperty.apiResponseFieldReference.referenceParent
let endpointNodeFound = TS.projects.foundations.utilities.nodeFunctions.findNodeInNodeMesh(apiResponseField, 'API Endpoint')
let endpointNodeFound = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(apiResponseField, 'API Endpoint')
/*
Every Record Property with an apiResponseFieldReference must be on the path
to a certain enpoint.
@@ -52,13 +52,13 @@
}
/* The first phase here is about checking that we have everything we need at the definition level. */
let dataDependencies = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(
let dataDependencies = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(
TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processDependencies, 'Data Dependency'
)
if (TS.projects.foundations.functionLibraries.singleMarketFunctions.validateDataDependencies(processIndex, dataDependencies, callBackFunction) !== true) { return }
let outputDatasets = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(
let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(
TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset'
)
if (TS.projects.foundations.functionLibraries.singleMarketFunctions.validateOutputDatasets(processIndex, outputDatasets, callBackFunction) !== true) { return }
@@ -138,9 +138,9 @@
contextSummary.dataset = outputDatasetNode.referenceParent.config.codeName
contextSummary.product = outputDatasetNode.referenceParent.parentNode.config.codeName
let botNode = TS.projects.foundations.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Indicator Bot')
let botNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Indicator Bot')
contextSummary.bot = botNode.config.codeName
let dataMineNode = TS.projects.foundations.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Data Mine')
let dataMineNode = TS.projects.visualScripting.utilities.nodeFunctions.findNodeInNodeMesh(outputDatasetNode, 'Data Mine')
contextSummary.dataMine = dataMineNode.config.codeName
contextSummary.mineType = dataMineNode.type.replace(' ', '-')
contextSummary.project = dataMineNode.project
@@ -513,7 +513,7 @@
}
function writeDataRanges(callBack) {
let outputDatasets = TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(
let outputDatasets = TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(
TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
let outputDatasetIndex = -1;
controlLoop()
@@ -151,7 +151,7 @@
function writeTimeFramesFiles(callBack) {
let outputDatasets =
TS.projects.foundations.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
TS.projects.visualScripting.utilities.nodeFunctions.nodeBranchToArray(TS.projects.foundations.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.processOutput, 'Output Dataset')
let outputDatasetIndex = -1;
controlLoop()
@@ -73,7 +73,7 @@ function newDataMiningFunctionLibraryMineFunctions() {
function scanBotArray(botArray) {
for (let i = 0; i < botArray.length; i++) {
let bot = botArray[i]
let botProducts = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Bot Data Dependencies')
let botProducts = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Bot Data Dependencies')
botProducts.name = bot.name
UI.projects.foundations.utilities.folders.asymetricalFolderStructureCloning(
@@ -95,8 +95,8 @@ function newDataMiningFunctionLibraryMineFunctions() {
let rootNode = rootNodes[i]
if (rootNode.type === 'Data Mine') {
let dataMineDataDependencies = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Data Mine Data Dependencies')
UI.projects.foundations.functionLibraries.attachDetach.referenceAttachNode(dataMineDataDependencies, rootNode)
let dataMineDataDependencies = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Data Mine Data Dependencies')
UI.projects.visualScripting.functionLibraries.attachDetach.referenceAttachNode(dataMineDataDependencies, rootNode)
}
}
}
@@ -21,7 +21,7 @@
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
@@ -21,7 +21,7 @@
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
@@ -3,25 +3,27 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "docsSpaceStyle",
"label": "Add Docs Space Style",
"relatedUiObject": "Docs Space Style",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "docsSpaceSettings",
"label": "Add Docs Space Settings",
"relatedUiObject": "Docs Space Settings",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
@@ -3,22 +3,24 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Tutorial",
"iconProject": "Education",
"relatedUiObject": "Tutorial",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Docs Space",
"relatedUiObject": "Docs Space",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
@@ -26,7 +26,7 @@
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -26,21 +26,23 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Tutorial Step",
"relatedUiObject": "Tutorial Step",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Tutorial Topic",
"relatedUiObject": "Tutorial Topic",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -26,17 +26,19 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Tutorial Step",
"relatedUiObject": "Tutorial Step",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Tutorial Topic",
"relatedUiObject": "Tutorial Topic",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Education"
},
{
"action": "Reset Tutorial Progress",
@@ -50,7 +52,7 @@
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -27,6 +27,7 @@ function newFoundationsDocsCommmandInterface() {
function detectAppCommands() {
if (checkContributeCommand() === undefined) { return true }
if (checkUpdateCommand() === undefined) { return true }
if (fixAppSchema() === undefined) { return true }
function checkContributeCommand() {
if (UI.projects.education.spaces.docsSpace.commandInterface.command.toLowerCase() === 'app.help app.contribute') {
@@ -130,6 +131,19 @@ function newFoundationsDocsCommmandInterface() {
}
}
}
function fixAppSchema() {
if (UI.projects.education.spaces.docsSpace.commandInterface.command.indexOf('App.fix') !== 0 && UI.projects.education.spaces.docsSpace.commandInterface.command.indexOf('app.fix') !== 0) { return 'Not Update Commands' }
httpRequest(undefined, 'App/FixAppSchema', onResponse)
return
function onResponse(err, data) {
}
}
}
function detectDocsCommands() {
@@ -107,7 +107,7 @@ function newEducationDocSpace() {
Deleting what was is here because is not longer used...
*/
window.localStorage.removeItem('Current Branch')
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'currentBranch', undefined)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'currentBranch', undefined)
function onResponse(err, data) {
/* Lets check the result of the call through the http interface */
@@ -133,10 +133,10 @@ function newEducationDocSpace() {
Getting the contributionsBranch
*/
let workspace = UI.projects.foundations.spaces.designSpace.workspace.workspaceNode
let contributionsBranch = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(workspace.payload, 'contributionsBranch')
let contributionsBranch = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(workspace.payload, 'contributionsBranch')
if (contributionsBranch === undefined) {
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'contributionsBranch', UI.projects.education.globals.docs.DEFAULT_CONTRIBUTIONS_BRANCH)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'contributionsBranch', UI.projects.education.globals.docs.DEFAULT_CONTRIBUTIONS_BRANCH)
UI.projects.education.spaces.docsSpace.contributionsBranch = UI.projects.education.globals.docs.DEFAULT_CONTRIBUTIONS_BRANCH
} else {
UI.projects.education.spaces.docsSpace.contributionsBranch = contributionsBranch
@@ -156,10 +156,10 @@ function newEducationDocSpace() {
Getting the used preferred languague
*/
let workspace = UI.projects.foundations.spaces.designSpace.workspace.workspaceNode
let docsLanguage = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(workspace.payload, 'docsLanguage')
let docsLanguage = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(workspace.payload, 'docsLanguage')
if (docsLanguage === undefined) {
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'docsLanguage', UI.projects.education.globals.docs.DEFAULT_LANGUAGE)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'docsLanguage', UI.projects.education.globals.docs.DEFAULT_LANGUAGE)
UI.projects.education.spaces.docsSpace.language = UI.projects.education.globals.docs.DEFAULT_LANGUAGE
} else {
UI.projects.education.spaces.docsSpace.language = docsLanguage
@@ -250,10 +250,12 @@ function newEducationDocSpace() {
if (err.result === GLOBAL.DEFAULT_OK_RESPONSE.result && data.result === GLOBAL.DEFAULT_OK_RESPONSE.result) {
UI.projects.education.spaces.docsSpace.currentBranch = branch
let workspace = UI.projects.foundations.spaces.designSpace.workspace.workspaceNode
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'currentBranch', branch)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'currentBranch', branch)
if (doNotNavigate === true) { return }
UI.projects.education.spaces.docsSpace.navigateTo('Foundations', 'Topic', 'Switching Branches - Current Branch Changed')
} else {
UI.projects.education.spaces.docsSpace.navigateTo(
data.docs.project,
@@ -270,7 +272,7 @@ function newEducationDocSpace() {
function changeContributionsBranch(branch, doNotNavigate) {
UI.projects.education.spaces.docsSpace.contributionsBranch = branch
let workspace = UI.projects.foundations.spaces.designSpace.workspace.workspaceNode
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'contributionsBranch', branch)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'contributionsBranch', branch)
if (doNotNavigate !== true) {
UI.projects.education.spaces.docsSpace.navigateTo('Foundations', 'Topic', 'Switching Branches - Contributions Branch Changed')
@@ -283,7 +285,7 @@ function newEducationDocSpace() {
UI.projects.education.spaces.docsSpace.navigateTo('Foundations', 'Topic', 'Docs In ' + languageLabel)
let workspace = UI.projects.foundations.spaces.designSpace.workspace.workspaceNode
UI.projects.foundations.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'docsLanguage', UI.projects.education.spaces.docsSpace.language)
UI.projects.visualScripting.utilities.nodeConfig.saveConfigProperty(workspace.payload, 'docsLanguage', UI.projects.education.spaces.docsSpace.language)
}
function sharePage() {
@@ -1271,7 +1271,7 @@ function newFoundationsDocsDocumentPage() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode !== null) {
let nodeArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(rootNode, appSchemaDocument.type)
let nodeArray = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(rootNode, appSchemaDocument.type)
allNodesFound = allNodesFound.concat(nodeArray)
}
}
@@ -1382,7 +1382,7 @@ function newFoundationsDocsDocumentPage() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode !== null) {
let nodeArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(rootNode, appSchemaDocument.type)
let nodeArray = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(rootNode, appSchemaDocument.type)
allNodesFound = allNodesFound.concat(nodeArray)
}
}
@@ -1478,7 +1478,7 @@ function newFoundationsDocsDocumentPage() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode !== null) {
let nodeArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(rootNode, appSchemaDocument.type)
let nodeArray = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(rootNode, appSchemaDocument.type)
allNodesFound = allNodesFound.concat(nodeArray)
}
}
@@ -129,6 +129,12 @@ function newFoundationsDocsFooter() {
}
HTML = HTML + '"></a>'
HTML = HTML + '<a href="#" onClick="UI.projects.education.spaces.docsSpace.changeLanguage(\'NL\')"><img src="Images/Languages/NL.png" title="Dutch" class="docs-footer-language'
if (languageCode === 'NL') {
HTML = HTML + '-selected'
}
HTML = HTML + '"></a>'
HTML = HTML + '</div>'
HTML = HTML + '<div class="docs-footer-cell">'
@@ -24,7 +24,7 @@ function newFoundationsDocsSearchEngine() {
let docsSpaceNode = UI.projects.foundations.spaces.designSpace.workspace.getHierarchyHeadByNodeType('Docs Space')
if (docsSpaceNode !== undefined) {
if (docsSpaceNode.docsSpaceSettings !== undefined) {
let indexContent = UI.projects.foundations.utilities.nodeConfig.loadConfigProperty(docsSpaceNode.docsSpaceSettings.payload, 'indexContent')
let indexContent = UI.projects.visualScripting.utilities.nodeConfig.loadConfigProperty(docsSpaceNode.docsSpaceSettings.payload, 'indexContent')
if (indexContent === false) {
callbackFunction()
return
@@ -280,7 +280,7 @@ function newFoundationsDocsSearchEngine() {
for (let i = 0; i < rootNodes.length; i++) {
let rootNode = rootNodes[i]
if (rootNode !== null) {
let nodeArray = UI.projects.foundations.utilities.branches.nodeBranchToArray(rootNode)
let nodeArray = UI.projects.visualScripting.utilities.branches.nodeBranchToArray(rootNode)
allNodesFound = allNodesFound.concat(nodeArray)
}
}
@@ -296,7 +296,7 @@ function newFoundationsDocsSearchEngine() {
let node = allNodesFound[i]
if (node.project === project) {
let nodeNameTypePath = UI.projects.foundations.utilities.hierarchy.getNodeNameTypePath(node)
let nodeNameTypePath = UI.projects.visualScripting.utilities.hierarchy.getNodeNameTypePath(node)
let docsSchemaDocument = {
nodeId: node.id,
@@ -112,7 +112,7 @@ function newEducationTutorialSpace() {
browserResizedEventSubscriptionId = canvas.eventHandler.listenToEvent('Browser Resized', resize)
let workspace = UI.projects.foundations.spaces.designSpace.workspace
workspace.executeAction({ name: 'Play Tutorials', project: 'Foundations' })
workspace.executeAction({ name: 'Play Tutorials', project: 'Visual-Scripting' })
isInitialized = true
}
@@ -44,6 +44,10 @@ function newEducationUtilitiesLanguages() {
languageLabel = 'Turkish'
break
}
case 'NL': {
languageLabel = 'Dutch'
break
}
}
return languageLabel
}
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Network Client",
"relatedUiObject": "Network Client",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -11,21 +11,23 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Process Definition",
"relatedUiObject": "Process Definition",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Product Definition",
"relatedUiObject": "Product Definition",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -11,14 +11,15 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Blockchain Scanner Bot",
"relatedUiObject": "Blockchain Scanner Bot",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Ethereum Token",
"relatedUiObject": "Ethereum Token",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Ethereum Token",
"relatedUiObject": "Ethereum Token",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Ethereum Token",
"relatedUiObject": "Ethereum Token",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Ethereum Token",
"relatedUiObject": "Ethereum Token",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Blockchain Network",
"relatedUiObject": "Blockchain Network",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Smart Contract",
"relatedUiObject": "Smart Contract",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,42 +3,46 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Blockchain",
"relatedUiObject": "Ethereum Blockchain",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Decentralized Application",
"relatedUiObject": "Ethereum Decentralized Application",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Token Definitions",
"relatedUiObject": "Ethereum Token Definitions",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Wallet",
"relatedUiObject": "Ethereum Wallet",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Data Mine",
"relatedUiObject": "Data Mine",
"actionFunction": "payload.executeAction"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"actionFunction": "payload.executeAction",
@@ -3,14 +3,15 @@
"menuItems": [
{
"action": "Add Missing Children",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Missing Children",
"relatedUiObject": "Ethereum Token Definitions",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -11,16 +11,17 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Smart Contract",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "smartContract",
"relatedUiObject": "Smart Contract",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,23 +3,25 @@
"menuItems": [
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Client Reference",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "networkClientReference",
"relatedUiObject": "Network Client Reference",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Create Wallet Account",
"actionProject": "Ethereum",
"label": "Add Wallet Account",
"relatedUiObject": "Wallet Account",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -11,7 +11,7 @@
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -11,16 +11,17 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "solidityCode",
"label": "Add Solidity Code",
"relatedUiObject": "Solidity Code",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -10,7 +10,7 @@
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -3,7 +3,7 @@
"menuItems": [
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -11,23 +11,25 @@
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add ETH Balance",
"disableIfPropertyIsDefined": true,
"propertyToCheckFor": "ethBalance",
"relatedUiObject": "ETH Balance",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Add UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"label": "Add Token Balance",
"relatedUiObject": "Token Balance",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"relatedUiObjectProject": "Ethereum"
},
{
"action": "Delete UI Object",
"actionProject": "Foundations",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -7,7 +7,7 @@ function newEthereumFunctionLibraryAccounts() {
function createWalletAccount(node) {
let walletAccountNode = UI.projects.foundations.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Wallet Account')
let walletAccountNode = UI.projects.visualScripting.functionLibraries.uiObjectsFromNodes.addUIObject(node, 'Wallet Account')
let params = {
method: 'createWalletAccount',
@@ -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.foundations.functionLibraries.protocolNode.getProtocolNode(wallet, false, true, true, false, false, lightingPath)
route.params.walletDefinition = UI.projects.visualScripting.functionLibraries.protocolNode.getProtocolNode(wallet, false, true, true, false, false, lightingPath)
httpRequest(JSON.stringify(route.params), route.url, onResponse)
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg4689"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs4686">
<clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath2308">
<path
d="m 5600,6800 c 0,-552.3 -447.71,-1000 -1000,-1000 -552.28,0 -1000,447.7 -1000,1000 0,552.3 447.72,1000 1000,1000 552.29,0 1000,-447.7 1000,-1000"
id="path2306" />
</clipPath>
</defs>
<g
id="layer1">
<g
id="g2302"
transform="matrix(0.03527778,0,0,-0.03527778,-108.01817,311.28313)">
<g
id="g2304"
clip-path="url(#clipPath2308)">
<path
d="m 3100,5800 v 666.7 H 6100 V 5800 H 3100"
style="fill:#28408c;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2310" />
<path
d="m 3100,6466.7 v 666.6 H 6100 V 6466.7 H 3100"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2312" />
<path
d="M 3100,7133.3 V 7800 H 6100 V 7133.3 H 3100"
style="fill:#ad1d23;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path2314" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -13,10 +13,13 @@
"action": "Add UI Object",
"label": "Add Process Instance",
"relatedUiObject": "API Data Fetcher Process Instance",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -7,10 +7,13 @@
"propertyToCheckFor": "apiMapReference",
"label": "Add API Map Reference",
"relatedUiObject": "API Map Reference",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
@@ -33,7 +36,7 @@
"compatibleTypes": "->API Data Fetcher Bot Instance->"
},
"childrenNodesProperties": [
{
{
"name": "apiMapReference",
"type": "node",
"childType": "API Map Reference",
@@ -14,7 +14,9 @@
"propertyToCheckFor": "apiQueryParameters",
"label": "Add API Query Parameters",
"relatedUiObject": "API Query Parameters",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
@@ -22,7 +24,9 @@
"propertyToCheckFor": "apiPathParameters",
"label": "Add API Path Parameters",
"relatedUiObject": "API Path Parameters",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Add UI Object",
@@ -30,10 +34,13 @@
"propertyToCheckFor": "apiQueryResponses",
"label": "Add API Query Responses",
"relatedUiObject": "API Query Responses",
"actionFunction": "payload.executeAction"
"actionFunction": "payload.executeAction",
"actionProject": "Visual-Scripting",
"relatedUiObjectProject": "Foundations"
},
{
"action": "Delete UI Object",
"actionProject": "Visual-Scripting",
"askConfirmation": true,
"confirmationLabel": "Confirm to Delete",
"label": "Delete",
Loaded 100 of 868 files, more files were not shown because too many files have changed in this diff. Show more