From 5894ee9148489517861e942660265e02f3bf54b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr>
Date: Fri, 27 Jan 2023 15:45:02 +0100
Subject: [PATCH] fix: crash in SelectField.nub getter

refs #592
---
 src/app/formulaire/elements/formulaire-element.ts  | 4 ++++
 src/app/formulaire/elements/select/select-field.ts | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/src/app/formulaire/elements/formulaire-element.ts b/src/app/formulaire/elements/formulaire-element.ts
index 579b62648..25b5943fa 100644
--- a/src/app/formulaire/elements/formulaire-element.ts
+++ b/src/app/formulaire/elements/formulaire-element.ts
@@ -56,6 +56,10 @@ export abstract class FormulaireElement extends FormulaireNode {
      */
     public get parentForm(): FormulaireDefinition {
         let res = this.parent;
+        if (res === undefined) {
+            return undefined;
+        }
+
         // while (!(res instanceof FormulaireDefinition))
         while (!("calculatorName" in res)) {
             // pour éviter de faire référence au type FormulaireDefinition, supprimer l'import correspondant et
diff --git a/src/app/formulaire/elements/select/select-field.ts b/src/app/formulaire/elements/select/select-field.ts
index 86a988004..4de4cfcaa 100644
--- a/src/app/formulaire/elements/select/select-field.ts
+++ b/src/app/formulaire/elements/select/select-field.ts
@@ -50,6 +50,10 @@ export abstract class SelectField extends Field {
      * associated nub
      */
     protected get nub(): Nub {
+        const parent = this.parentForm;
+        if (parent === undefined) {
+            return undefined;
+        }
         return (this.parentForm as FormulaireDefinition).currentNub;
     }
 
-- 
GitLab