From 96ae84a24c0340aabc53e9bec4035718175db4e9 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Thu, 28 Jun 2018 16:08:14 +0200
Subject: [PATCH] =?UTF-8?q?=20#45=20getLinkableValues()=20:=20correction?=
 =?UTF-8?q?=20d'un=20bug=20(mauvais=20Nub=20dans=20les=20r=C3=A9sultats)?=
 =?UTF-8?q?=20emp=C3=AAchant=20de=20retrouver=20les=20valeurs=20retourn?=
 =?UTF-8?q?=C3=A9es=20(=C3=A0=20cause=20du=20pr=C3=A9fixe)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/structure/parallel_structure.ts | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/structure/parallel_structure.ts b/src/structure/parallel_structure.ts
index f65c03b5..982c9146 100644
--- a/src/structure/parallel_structure.ts
+++ b/src/structure/parallel_structure.ts
@@ -1,6 +1,5 @@
 import { Nub } from "../nub";
 import { ParamCalculability } from "../param/param-definition";
-import { Message } from "../util/message";
 import { Result } from "../util/result";
 import { ParallelStructureParams } from "./parallel_structure_params";
 import { Structure } from "./structure";
@@ -317,16 +316,23 @@ export class ParallelStructure extends Nub {
     }
 
     /**
- * liste des valeurs (paramètre, résultat, résultat complémentaire) liables à un paramètre
- * @param src objet qui sert de clé de recherche des paramètres liables, de type INamedObject | string
- * @returns tableau d'objets de la forme { "name":string, "value":NamedIterableValues, "nub":Nub}, nub=Nub d'origine de la "value"
- */
+     * liste des valeurs (paramètre, résultat, résultat complémentaire) liables à un paramètre
+     * @param src objet qui sert de clé de recherche des paramètres liables, de type INamedObject | string
+     * @returns tableau d'objets de la forme { "name":string, "value":NamedIterableValues, "nub":Nub}, nub=Nub d'origine de la "value"
+     */
     public getLinkableValues(src: any): any[] {
+        // paramètres liables de ce Nub
         let res = super.getLinkableValues(src);
 
         let i = 0;
         for (const s of this.structures) {
-            const l = s.getLinkableValues(src, `${i}.`);
+            // paramètres liables des Nub structures enfants
+            const l = s.getLinkableValues(src, `${i}.`, true);
+
+            // on remplace les nubs retournés par this (à cause du préfixe)
+            for (const lv of l)
+                lv.nub = this;
+
             res = res.concat(l);
             i++;
         }
-- 
GitLab