From f591bb50e28203c19241fb2804f3ef0091bdbbaa Mon Sep 17 00:00:00 2001 From: "francois.grand" <francois.grand@irstea.fr> Date: Tue, 19 Jun 2018 11:54:54 +0200 Subject: [PATCH] #48 modifs suite au renommage dans jalHyd de getLinkableParameters en getLinkableValues --- .../param-link/param-link.component.ts | 23 +++++++++++++++---- src/app/formulaire/ngparam.ts | 2 +- .../services/formulaire/formulaire.service.ts | 19 +++++++++++++-- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/app/components/param-link/param-link.component.ts b/src/app/components/param-link/param-link.component.ts index 4ea99b759..e3efcd9ac 100644 --- a/src/app/components/param-link/param-link.component.ts +++ b/src/app/components/param-link/param-link.component.ts @@ -29,7 +29,7 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy { /** * liste des paramètres liables sous la forme - * {"param":<paramètre liable>, "nub":<Nub d'origine du paramètre>, "formTitle":<nom de la calculette liée au nub>} + * {"value":<valeur liable>, "nub":<Nub d'origine du paramètre>, "formTitle":<nom de la calculette liée au nub>} */ private _linkableParams: any[]; @@ -56,7 +56,7 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy { let i = 0; for (const e of this._linkableParams) - if (this._linkableParams[i].param.uid == next.param.uid) { + if (this._linkableParams[i].value.uid == next.value.uid) { this.linkTo(i); break; } @@ -78,11 +78,23 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy { return undefined; } + // // le paramètre est il déjà lié à une valeur ? si oui laquelle ? + // if(this._currentIndex === -1 && this._param.valueMode == ParamValueMode.LINK && this._linkableParams !== undefined) { + // let i = 0; + // for (const e of this._linkableParams) + // if (e.param.uid === this._param.paramDefinition.re) { + // this._currentIndex = i; + // break; + // } + // else + // i++; + // } + /** * attribut "label" d'une entrée du select des paramètres */ private selectItemLabel(i: any) { - const s = i.param.symbol; + const s = i.value.name; const c = i.formTitle; return `${s} (${c})`; } @@ -96,13 +108,14 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy { this._currentIndex = index; const lp = this._linkableParams[index]; - this._param.linkToParameter(lp.nub, lp.param); + this._param.linkToParameter(lp.nub, lp.value); } } private updateParamList() { // liste des paramètres liables - this._linkableParams = this._formService.getLinkableParameters(this._param); + // this._linkableParams = this._formService.getLinkableParameters(this._param); + this._linkableParams = this._formService.getLinkableValues(this._param); // initialisation de l'indice courant if (this._linkableParams.length > 0) { diff --git a/src/app/formulaire/ngparam.ts b/src/app/formulaire/ngparam.ts index fee5e2f71..6972f2b26 100644 --- a/src/app/formulaire/ngparam.ts +++ b/src/app/formulaire/ngparam.ts @@ -120,7 +120,7 @@ export class NgParameter extends InputField { * crée le lien avec un paramètre */ public linkToParameter(n: Nub, p: ParamDefinition) { - const changed: boolean = this.paramDefinition.referencedObject !== n || this.paramDefinition.referenceDesc !== p.symbol; + const changed: boolean = this.paramDefinition.referencedNub !== n || this.paramDefinition.referenceDefinition !== p.symbol; if (changed) { this.valueMode = ParamValueMode.LINK; this._paramDef.defineReference(n, p.symbol); diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts index 29a370edc..07a2cee36 100644 --- a/src/app/services/formulaire/formulaire.service.ts +++ b/src/app/services/formulaire/formulaire.service.ts @@ -475,13 +475,28 @@ export class FormulaireService extends Observable { * {"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 */ - public getLinkableParameters(p: NgParameter): any[] { + // 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) { const sn = f.currentSessionNub; - const ps = sn.getLinkableParameters(p.paramDefinition); + const ps = sn.getLinkableValues(p.paramDefinition); for (const np of ps) { np["formTitle"] = f.calculatorName; res.push(np); -- GitLab