From 91ab84d416a0624c336a73ef97a7c01ba2ccec04 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Fri, 29 Jun 2018 11:29:15 +0200
Subject: [PATCH] =?UTF-8?q?=20#48=20FormulaireService.getLinkableValues()?=
 =?UTF-8?q?=20:=20modif=20pour=20exclure=20des=20valeurs=20retourn=C3=A9es?=
 =?UTF-8?q?=20le=20r=C3=A9sultat=20du=20m=C3=AAme=20nom=20que=20le=20param?=
 =?UTF-8?q?=C3=A8tre=20donn=C3=A9=20quand=20ce=20param=C3=A8tre=20appartie?=
 =?UTF-8?q?nt=20au=20Nub=20courant=20de=20la=20boucle=20(ex=20:=20cr=C3=A9?=
 =?UTF-8?q?er=20une=20conduite=20distributrice,=20calculer=20Q,=20ouvrir?=
 =?UTF-8?q?=20une=202=C3=A8me=20conduite,=20revenir=20=C3=A0=20la=201?=
 =?UTF-8?q?=C3=A8re,=20passer=20en=20Q=20en=20mode=20li=C3=A9=20:=20le=20r?=
 =?UTF-8?q?=C3=A9sultat=20calcul=C3=A9=20pr=C3=A9c=C3=A9demment=20apparait?=
 =?UTF-8?q?=20dans=20la=20liste=20des=20valeurs=20liables=20(ne=20devrait?=
 =?UTF-8?q?=20pas))?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../services/formulaire/formulaire.service.ts | 27 +++++++------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts
index 07a2cee36..6e5409a62 100644
--- a/src/app/services/formulaire/formulaire.service.ts
+++ b/src/app/services/formulaire/formulaire.service.ts
@@ -471,32 +471,23 @@ export class FormulaireService extends Observable {
     }
 
     /**
-     * @returns liste des paramètres liables à un paramètre sous la forme d'un tableau d'objets
+     * @returns liste des valeurs liables à un paramètre sous la forme d'un tableau d'objets
      * {"param":<paramètre lié>, "nub":<Nub d'origine du paramètre lié>, "formTitle":<nom de la calculette liée au nub>}
-     * @param symbol symbole (Q, J, ...) du paramètre qui sert de clé de recherche des paramètres liables
+     * @param p paramètre qui sert de clé de recherche des paramètres liables
      */
-    // public getLinkableParameters(p: NgParameter): any[] {
-    //     let res: any[] = [];
-
-    //     if (p !== undefined)
-    //         for (const f of this._formulaires) {
-    //             const sn = f.currentSessionNub;
-    //             const ps = sn.getLinkableParameters(p.paramDefinition);
-    //             for (const np of ps) {
-    //                 np["formTitle"] = f.calculatorName;
-    //                 res.push(np);
-    //             }
-    //         }
-
-    //     return res;
-    // }
     public getLinkableValues(p: NgParameter): any[] {
         let res: any[] = [];
 
         if (p !== undefined)
             for (const f of this._formulaires) {
+                // nub associé au formulaire
                 const sn = f.currentSessionNub;
-                const ps = sn.getLinkableValues(p.paramDefinition);
+
+                // on vérifie que le paramètre en entrée appartient au nub
+                const np = sn.nub.getParameter(p.symbol);
+
+                // si oui, on demande à exclure des valeurs retournées le résultat du même nom que le paramètre
+                const ps = sn.getLinkableValues(p.paramDefinition, p.paramDefinition.uid === np.uid);
                 for (const np of ps) {
                     np["formTitle"] = f.calculatorName;
                     res.push(np);
-- 
GitLab