diff --git a/src/structure/parallel_structure.ts b/src/structure/parallel_structure.ts index f65c03b527867e837a1d9517183789bd3e749c67..982c914607180694ae18ec069d0e2cbec5f94358 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++; }