From b78c00f8530b145774db852c7e4533b84ab172a9 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Thu, 21 Jun 2018 16:08:00 +0200
Subject: [PATCH]  #45 INubReference : ajout de undefineReference()

---
 src/param/param-base.ts     |  4 ++++
 src/param/param-values.ts   |  4 ++++
 src/value_ref/object_ref.ts | 13 +++++++++++++
 3 files changed, 21 insertions(+)

diff --git a/src/param/param-base.ts b/src/param/param-base.ts
index 3db95844..b9919ce4 100644
--- a/src/param/param-base.ts
+++ b/src/param/param-base.ts
@@ -310,6 +310,10 @@ export class BaseParam extends JalhydObject implements INubReference, NamedItera
         }
     }
 
+    public undefineReference() {
+        this._paramValues.undefineReference();
+    }
+
     public get referenceDefinition(): string {
         return this._paramValues.referenceDefinition;
     }
diff --git a/src/param/param-values.ts b/src/param/param-values.ts
index c6a3fead..2317d3a9 100644
--- a/src/param/param-values.ts
+++ b/src/param/param-values.ts
@@ -285,6 +285,10 @@ export class ParamValues implements INubReference, IterableValues {
         this._nubRef.defineReference(target, desc);
     }
 
+    public undefineReference() {
+        this._nubRef.undefineReference();
+    }
+
     public get referencedNub(): IReferencedNub {
         return this._nubRef.referencedNub;
     }
diff --git a/src/value_ref/object_ref.ts b/src/value_ref/object_ref.ts
index cf392ddf..6f302a7a 100644
--- a/src/value_ref/object_ref.ts
+++ b/src/value_ref/object_ref.ts
@@ -47,6 +47,11 @@ export interface INubReference {
      */
     defineReference(target: IReferencedNub, desc: string): void;
 
+    /**
+     * supprime la référence
+     */
+    undefineReference(): void;
+
     /**
      * description symbolique de la référence
      */
@@ -96,6 +101,14 @@ export class NubReference implements INubReference {
         this._refDefinition = desc;
     }
 
+    /**
+     * supprime la référence
+     */
+    public undefineReference() {
+        this._referencedNub = undefined;
+        this._refDefinition = undefined;
+    }
+
     /**
      * description symbolique de la référence
      */
-- 
GitLab