From 334137a3ed0c457bbbb338e377a90630dd62fae7 Mon Sep 17 00:00:00 2001 From: "francois.grand" <francois.grand@irstea.fr> Date: Thu, 28 Jun 2018 10:02:08 +0200 Subject: [PATCH] =?UTF-8?q?=20#48=20FormDefParamToCalculate.processRadioSt?= =?UTF-8?q?ateChange()=20:=20correction=20d'un=20crash=20quand=20on=20pass?= =?UTF-8?q?e=20en=20mode=20li=C3=A9=20et=20que=20la=20valeur=20cible=20n'e?= =?UTF-8?q?st=20pas=20un=20param=C3=A8tre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../definition/form-def-paramcalc.ts | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/app/formulaire/definition/form-def-paramcalc.ts b/src/app/formulaire/definition/form-def-paramcalc.ts index 4852c9449..de7d95b77 100644 --- a/src/app/formulaire/definition/form-def-paramcalc.ts +++ b/src/app/formulaire/definition/form-def-paramcalc.ts @@ -68,18 +68,25 @@ export class FormDefParamToCalculate extends FormDefFixedVar { break; case ParamValueMode.LINK: // nouvel état - // mode du paramètre référencé - const refParamValues = sourceParam.paramDefinition.referencedParamValues; - switch (refParamValues.valueMode) { - case ParamValueMode.MINMAX: - case ParamValueMode.LISTE: - case ParamValueMode.CALCUL: - super.resetOtherRadio(sourceParam); - this.setDefault(); - break; + if (sourceParam.paramDefinition.hasMultipleValues) { + super.resetOtherRadio(sourceParam); + this.setDefault(); + } + else { + // mode du paramètre référencé + const refParamValues = sourceParam.paramDefinition.referencedParamValues; + if (refParamValues !== undefined) + switch (refParamValues.valueMode) { + case ParamValueMode.MINMAX: + case ParamValueMode.LISTE: + case ParamValueMode.CALCUL: + super.resetOtherRadio(sourceParam); + this.setDefault(); + break; - case ParamValueMode.LINK: - throw new Error(`références de paramètre en chaîne non pris en charge`); // cas à traiter + case ParamValueMode.LINK: + throw new Error(`références de paramètre en chaîne non pris en charge`); // cas à traiter + } } break; } -- GitLab