From 04c8ddea585e6bc7b3f34905da945eef4358d21a Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Tue, 15 Sep 2020 20:51:09 +0200 Subject: [PATCH] Bug Fixes --- .../FunctionLibraries/CryptoEcosystemFunctions.js | 14 ++++++++++++-- CanvasApp/FloatingSpace/FloatingLayer.js | 14 ++++++++------ CanvasApp/Utilities/Meshes.js | 1 + 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js index 544347a5e..f7503e608 100644 --- a/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js +++ b/CanvasApp/DesignSpace/Workspace/FunctionLibraries/CryptoEcosystemFunctions.js @@ -377,9 +377,19 @@ function newCryptoEcosystemFunctions() { for (let i = 0; i < timeMachines.length; i++) { let timeMachine = timeMachines[i] let session = timeMachine.payload.referenceParent - if (session === undefined) {continue} + if (session === undefined) { + /* + This is what usually happens, that the intall process make these + time machines to lose their reference parent since the install + process deletes them. + */ + functionLibraryNodeDeleter.deleteUIObject(timeMachine, rootNodes) + continue + } let marketTradingTasks = findNodeInNodeMesh(session, 'Market Trading Tasks', undefined, true, false, true, false) - if (marketTradingTasks.payload.referenceParent === undefined) {continue} + if (marketTradingTasks === undefined) {continue} + if (marketTradingTasks.payload === undefined) {continue} + if (marketTradingTasks.payload.referenceParent === undefined) { continue } if (marketTradingTasks.payload.referenceParent.id === market.id) { functionLibraryNodeDeleter.deleteUIObject(timeMachine, rootNodes) } diff --git a/CanvasApp/FloatingSpace/FloatingLayer.js b/CanvasApp/FloatingSpace/FloatingLayer.js index a17f10bf2..eaf64b132 100644 --- a/CanvasApp/FloatingSpace/FloatingLayer.js +++ b/CanvasApp/FloatingSpace/FloatingLayer.js @@ -207,6 +207,7 @@ function newFloatingLayer() { } function makeVisible() { + let newInvisibleArray = [] for (let i = 0; i < invisibleFloatingObjects.length; i++) { let floatingObject = invisibleFloatingObjects[i] @@ -214,14 +215,15 @@ function newFloatingLayer() { if (floatingObject.isParentCollapsed === false) { visibleFloatingObjects.push(floatingObject) - invisibleFloatingObjects.splice(i, 1) // Delete item from array. - makeVisible() - return // Only one at the time. + } else { + newInvisibleArray.push(floatingObject) } } + invisibleFloatingObjects = newInvisibleArray } function makeInvisible() { + let newVisibleArray = [] for (let i = 0; i < visibleFloatingObjects.length; i++) { let floatingObject = visibleFloatingObjects[i] @@ -229,11 +231,11 @@ function newFloatingLayer() { if (floatingObject.isParentCollapsed === true) { invisibleFloatingObjects.push(floatingObject) - visibleFloatingObjects.splice(i, 1) // Delete item from array. - makeInvisible() - return // Only one at the time. + } else { + newVisibleArray.push(floatingObject) } } + visibleFloatingObjects = newVisibleArray } /******************************************/ diff --git a/CanvasApp/Utilities/Meshes.js b/CanvasApp/Utilities/Meshes.js index f0d474ff9..44144bf95 100644 --- a/CanvasApp/Utilities/Meshes.js +++ b/CanvasApp/Utilities/Meshes.js @@ -11,6 +11,7 @@ function findNodeInNodeMesh(node, nodeType, nodeName, connectedViaPayload, findI function scanNodeMesh(startingNode, depth) { if (startingNode === undefined) { return } + if (startingNode.payload === undefined) { return } if (nodeFound !== undefined) { return } if (depth >= MAX_DEPTH) {return}