From 64b238af435dc2c3538dffb41ba70337351122fd Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 1 Nov 2019 09:54:50 +0100 Subject: [PATCH] Data Dependency with References set up and bug fixed --- .../ReferenceAttachDetach.js | 8 ++++++ .../FunctionLibraries/UiObjectsFromNodes.js | 26 +++++++++++++------ FloatingSpace/UiObject.js | 4 +++ 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/DesignerSpace/Workspace/FunctionLibraries/ReferenceAttachDetach.js b/DesignerSpace/Workspace/FunctionLibraries/ReferenceAttachDetach.js index 4dbaecb60..204214d3a 100644 --- a/DesignerSpace/Workspace/FunctionLibraries/ReferenceAttachDetach.js +++ b/DesignerSpace/Workspace/FunctionLibraries/ReferenceAttachDetach.js @@ -28,6 +28,10 @@ function newReferenceAttachDetach () { completeDetachment(node) return } + case 'Data Dependency': { + completeDetachment(node) + return + } } } @@ -53,6 +57,10 @@ function newReferenceAttachDetach () { completeAttachment(node, attachToNode) } break + case 'Data Dependency': { + completeAttachment(node, attachToNode) + } + break } } diff --git a/DesignerSpace/Workspace/FunctionLibraries/UiObjectsFromNodes.js b/DesignerSpace/Workspace/FunctionLibraries/UiObjectsFromNodes.js index 40c20b4a8..d856b4db2 100644 --- a/DesignerSpace/Workspace/FunctionLibraries/UiObjectsFromNodes.js +++ b/DesignerSpace/Workspace/FunctionLibraries/UiObjectsFromNodes.js @@ -440,10 +440,8 @@ function newUiObjectsFromNodes () { if (mapOfReferenceParents !== undefined) { if (node.savedPayload.referenceChildren !== undefined) { referenceChildren = [] - if (node.savedPayload.referenceChildren.length > 0) { - mapOfReferenceParents.set(node.id, node) - referenceChildren = node.savedPayload.referenceChildren - } + mapOfReferenceParents.set(node.id, node) + referenceChildren = node.savedPayload.referenceChildren } } createUiObject('Definition', node.name, node, parentNode, chainParent, 'Definition') @@ -824,7 +822,21 @@ function newUiObjectsFromNodes () { return } case 'Data Dependency': { + let referenceParent + if (mapOfReferenceChildren !== undefined) { + if (node.savedPayload.referenceParent !== undefined) { + if (node.savedPayload.referenceParent.id !== undefined) { + mapOfReferenceChildren.set(node.id, node) + referenceParent = node.savedPayload.referenceParent + } + } + } createUiObject(node.type, node.name, node, parentNode, chainParent, node.type) + if (referenceParent !== undefined) { + node.savedPayload = { + referenceParent: referenceParent + } + } return } case 'Product Definition': { @@ -858,10 +870,8 @@ function newUiObjectsFromNodes () { if (mapOfReferenceParents !== undefined) { if (node.savedPayload.referenceChildren !== undefined) { referenceChildren = [] - if (node.savedPayload.referenceChildren.length > 0) { - mapOfReferenceParents.set(node.id, node) - referenceChildren = node.savedPayload.referenceChildren - } + mapOfReferenceParents.set(node.id, node) + referenceChildren = node.savedPayload.referenceChildren } } createUiObject(node.type, node.name, node, parentNode, chainParent, node.type) diff --git a/FloatingSpace/UiObject.js b/FloatingSpace/UiObject.js index 5a11e0b21..ac7362928 100644 --- a/FloatingSpace/UiObject.js +++ b/FloatingSpace/UiObject.js @@ -672,6 +672,10 @@ function newUiObject () { compatibleType = '->' + 'Dataset Definition' + '->' compatibleSubType = undefined break + case 'Data Dependency': + compatibleType = '->' + 'Dataset Definition' + '->' + compatibleSubType = undefined + break default: return }