diff --git a/AppSchema.json b/AppSchema.json index 54adf28e7..2e50ea6d5 100644 --- a/AppSchema.json +++ b/AppSchema.json @@ -8655,8 +8655,7 @@ "type": "array", "childType": "Plotter" } - ], - "icon": "bitcoin" + ] }, { "type": "Sensor Bot", @@ -13092,8 +13091,7 @@ "childType": "Task Manager", "monitorChildrenRunning": true } - ], - "icon": "bitcoin" + ] }, { "type": "Trading Mine Tasks", @@ -13164,8 +13162,7 @@ "childType": "Task Manager", "monitorChildrenRunning": true } - ], - "icon": "bitcoin" + ] }, { "type": "Market Data Tasks", @@ -13236,8 +13233,7 @@ "childType": "Data Mine Tasks", "monitorChildrenRunning": true } - ], - "icon": "bitcoin" + ] }, { "type": "Market Trading Tasks", @@ -13308,8 +13304,7 @@ "childType": "Trading Mine Tasks", "monitorChildrenRunning": true } - ], - "icon": "bitcoin" + ] }, { "type": "Exchange Data Tasks", @@ -13380,8 +13375,7 @@ "childType": "Market Data Tasks", "monitorChildrenRunning": true } - ], - "icon": "bitcoin" + ] }, { "type": "Exchange Trading Tasks", @@ -13452,8 +13446,7 @@ "childType": "Market Trading Tasks", "monitorChildrenRunning": true } - ], - "icon": "bitcoin" + ] }, { "type": "Data Mining", @@ -13649,7 +13642,7 @@ "menuItems": [ { "action": "Add UI Object", - "label": "Add Single Market Data", + "label": "Add Market Data", "relatedUiObject": "Single Market Data", "actionFunction": "payload.onMenuItemClick" }, @@ -13747,7 +13740,7 @@ }, { "action": "Add Missing Session References", - "label": "Add Missing Session References", + "label": "Add Missing Sessions", "askConfirmation": true, "confirmationLabel": "Confirm to Proceed", "workDoneLabel": "Done", @@ -13833,7 +13826,7 @@ "menuItems": [ { "action": "Add UI Object", - "label": "Add Single Market Trading Data", + "label": "Add Market Trading Data", "disableIfPropertyIsDefined": true, "propertyToCheckFor": "singleMarketTradingData", "relatedUiObject": "Single Market Trading Data", @@ -13852,6 +13845,7 @@ "isTitleAllwaysVisible": true, "title": [ "Use Reference Parent", + "Use Reference Parent Type", "Use Child @singleMarketData" ], "addLeftIcons": true, @@ -13997,8 +13991,7 @@ "childType": "Trading Mine Products", "autoAdd": false } - ], - "icon": "bitcoin" + ] }, { "type": "Data Product", @@ -14126,8 +14119,7 @@ "childType": "Bot Products", "autoAdd": false } - ], - "icon":"bitcoin" + ] }, { "type": "Bot Products", diff --git a/BackendServers/WebServer/Images/Icons/style-01/algorithm-name.png b/BackendServers/WebServer/Images/Icons/style-01/algorithm-name.png index 51aef1ba3..7146ced5b 100644 Binary files a/BackendServers/WebServer/Images/Icons/style-01/algorithm-name.png and b/BackendServers/WebServer/Images/Icons/style-01/algorithm-name.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/data-mine-tasks.png b/BackendServers/WebServer/Images/Icons/style-01/data-mine-tasks.png new file mode 100644 index 000000000..9bc5e1d7f Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/data-mine-tasks.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/exchange-data-tasks.png b/BackendServers/WebServer/Images/Icons/style-01/exchange-data-tasks.png new file mode 100644 index 000000000..1170f2d22 Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/exchange-data-tasks.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/exchange-trading-tasks.png b/BackendServers/WebServer/Images/Icons/style-01/exchange-trading-tasks.png new file mode 100644 index 000000000..adc788876 Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/exchange-trading-tasks.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/execution-algorithm.png b/BackendServers/WebServer/Images/Icons/style-01/execution-algorithm.png index ce7f37e8f..7b0bce8a5 100644 Binary files a/BackendServers/WebServer/Images/Icons/style-01/execution-algorithm.png and b/BackendServers/WebServer/Images/Icons/style-01/execution-algorithm.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/layer-folder.png b/BackendServers/WebServer/Images/Icons/style-01/layer-folder.png new file mode 100644 index 000000000..9db1e6ebb Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/layer-folder.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/market-data-tasks.png b/BackendServers/WebServer/Images/Icons/style-01/market-data-tasks.png new file mode 100644 index 000000000..196e690b2 Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/market-data-tasks.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/market-trading-tasks.png b/BackendServers/WebServer/Images/Icons/style-01/market-trading-tasks.png new file mode 100644 index 000000000..8da1ec3ed Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/market-trading-tasks.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/single-market-trading-data.png b/BackendServers/WebServer/Images/Icons/style-01/single-market-trading-data.png new file mode 100644 index 000000000..be8812962 Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/single-market-trading-data.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/trading-bot-instance.png b/BackendServers/WebServer/Images/Icons/style-01/trading-bot-instance.png index bc45f4a44..7783471df 100644 Binary files a/BackendServers/WebServer/Images/Icons/style-01/trading-bot-instance.png and b/BackendServers/WebServer/Images/Icons/style-01/trading-bot-instance.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/trading-bot.png b/BackendServers/WebServer/Images/Icons/style-01/trading-bot.png index bc45f4a44..7783471df 100644 Binary files a/BackendServers/WebServer/Images/Icons/style-01/trading-bot.png and b/BackendServers/WebServer/Images/Icons/style-01/trading-bot.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/trading-mine-products.png b/BackendServers/WebServer/Images/Icons/style-01/trading-mine-products.png new file mode 100644 index 000000000..84957c842 Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/trading-mine-products.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/trading-mine-tasks.png b/BackendServers/WebServer/Images/Icons/style-01/trading-mine-tasks.png new file mode 100644 index 000000000..f27e13d53 Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/trading-mine-tasks.png differ diff --git a/BackendServers/WebServer/Images/Icons/style-01/trading-mine.png b/BackendServers/WebServer/Images/Icons/style-01/trading-mine.png new file mode 100644 index 000000000..9c5299e7f Binary files /dev/null and b/BackendServers/WebServer/Images/Icons/style-01/trading-mine.png differ diff --git a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/ChartingSpaceFunctions.js b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/ChartingSpaceFunctions.js index d9889b7f8..fda297ad3 100644 --- a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/ChartingSpaceFunctions.js +++ b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/ChartingSpaceFunctions.js @@ -89,6 +89,8 @@ function newChartingSpaceFunctions() { function scanSessionArray(sessionsArray) { for (let i = 0; i < sessionsArray.length; i++) { let session = sessionsArray[i] + let market = findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false) + if (market.payload.referenceParent === undefined) { continue } if (isMissingChildren(node, session, true) === true) { let mineProducts let timeMachine = functionLibraryUiObjectsFromNodes.addUIObject(node, 'Time Machine') @@ -102,6 +104,12 @@ function newChartingSpaceFunctions() { mineProducts = nodeBranchToArray(networkNode, 'Data Mine Products') for (let j = 0; j < mineProducts.length; j++) { let mineProduct = mineProducts[j] + /* + We need to filter out the ones that do not belong to the market where + the session is running at. + */ + if (mineProduct.payload.parentNode.payload.referenceParent === undefined) { continue } + if (mineProduct.payload.parentNode.payload.referenceParent.id !== market.payload.referenceParent.id) { continue } let timelineChart = functionLibraryUiObjectsFromNodes.addUIObject(timeMachine, 'Timeline Chart') timelineChart.name = mineProduct.name @@ -122,7 +130,6 @@ function newChartingSpaceFunctions() { that are not the one we are interested in, we do the following: */ if (mineProduct.payload.parentNode === undefined) { continue } - if (mineProduct.payload.parentNode.payload.referenceParent === undefined) { continue } if (mineProduct.payload.parentNode.payload.parentNode.payload.referenceParent === undefined) { continue } if (mineProduct.payload.parentNode.payload.parentNode.payload.referenceParent.id !== session.id) { continue } /* diff --git a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js index bc0ea8a7d..b3ca80693 100644 --- a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js +++ b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/DataStorageFunctions.js @@ -101,15 +101,14 @@ function newDataStorageFunctions() { let session = sessionsArray[i] if (isMissingChildren(node, session, true) === true) { let sessionReference = functionLibraryUiObjectsFromNodes.addUIObject(node, 'Session Reference') - sessionReference.payload.referenceParent = session + sessionReference.payload.referenceParent = session /* Now I will connect the Session Reference child that is auto created with the market where the Session was found. */ let marketTradingTasks = findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false) sessionReference.singleMarketTradingData.payload.referenceParent = marketTradingTasks.payload.referenceParent - timelineChart.payload.floatingObject.collapseToggle() - timelineChart.singleMarketTradingData.payload.floatingObject.collapseToggle() + marketTradingTasks.payload.floatingObject.collapseToggle() } } } diff --git a/CanvasApp/FloatingSpace/UiObjectTitle.js b/CanvasApp/FloatingSpace/UiObjectTitle.js index 2e387ef81..c1438e11e 100644 --- a/CanvasApp/FloatingSpace/UiObjectTitle.js +++ b/CanvasApp/FloatingSpace/UiObjectTitle.js @@ -116,6 +116,14 @@ function newUiObjectTitle() { } break } + case 'Use Reference Parent Type': { + let nodeToUse = thisObject.payload.node.payload.referenceParent + if (nodeToUse !== undefined && nodeToUse.payload !== undefined) { + thisObject.payload.title = thisObject.payload.title + separator + nodeToUse.type + thisObject.payload.node.name = thisObject.payload.node.name + separator + nodeToUse.type + } + break + } case 'Use Reference Grandparent': { let nodeToUse = thisObject.payload.node.payload.referenceParent if (nodeToUse !== undefined && nodeToUse.payload !== undefined) { diff --git a/CanvasApp/Utilities/Branches.js b/CanvasApp/Utilities/Branches.js index 60cf93758..b67bb9438 100644 --- a/CanvasApp/Utilities/Branches.js +++ b/CanvasApp/Utilities/Branches.js @@ -21,12 +21,14 @@ function nodeBranchToArray(node, nodeType) { } if (nodeDefinition.properties === undefined) { return } + let lastNodePropertyName for (let i = 0; i < nodeDefinition.properties.length; i++) { let property = nodeDefinition.properties[i] - + if (lastNodePropertyName === property.name) {continue} // Some nodes have a single property por multiple child node types. We need to check repeated properties only once so as no to duplicate results. switch (property.type) { case 'node': { scanNodeBranch(startingNode[property.name]) + lastNodePropertyName = property.name } break case 'array': {