From b58209b30de8b2e0dc136bf712d71b224ccf0fdc Mon Sep 17 00:00:00 2001 From: "mathias.chouet" <mathias.chouet@irstea.fr> Date: Tue, 22 Jan 2019 11:58:39 +0100 Subject: [PATCH] =?UTF-8?q?Nouveaux=20UID=20de=20param=C3=A8tres:=20compat?= =?UTF-8?q?ibilit=C3=A9=20avec=20nghyd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/param/param-definition.ts | 12 ++++++++---- src/value_ref/object_ref.ts | 4 +++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/param/param-definition.ts b/src/param/param-definition.ts index 3db288f4..07786d7b 100644 --- a/src/param/param-definition.ts +++ b/src/param/param-definition.ts @@ -64,6 +64,13 @@ export class ParamDefinition implements INubReference, INamedIterableValues, IOb this.checkValue(val); } + /** + * set parent a-posteriori; used by nghyd when populating forms + */ + set parent(parent: ParamsEquation | JalhydObject) { + this._parent = parent; + } + /** * identifiant unique de la forme * (uid du JalhydObject (en général un Nub) + "_" + symbole du paramètre) @@ -77,12 +84,9 @@ export class ParamDefinition implements INubReference, INamedIterableValues, IOb // uid du ComputeNode utilisant le ParamsEquation parentUid = String(this._parent.nubUid); } else { - // @TODO generate ? - // parentUid = "ORPHAN"; - console.log("DIE", this._parent, this); throw new Error("ParamDefinition.uid : parameter has no parent !"); } - return parentUid + "::" + this._symbol; + return parentUid + "_" + this._symbol; } get symbol(): string { diff --git a/src/value_ref/object_ref.ts b/src/value_ref/object_ref.ts index 678f48fb..baba13fb 100644 --- a/src/value_ref/object_ref.ts +++ b/src/value_ref/object_ref.ts @@ -154,7 +154,9 @@ export class NubReference implements INubReference { return undefined; } const rpv = this._referencedNub.getReferencedParamValues(this._refDefinition); - rpv._nubRef = this; + if (rpv) { + rpv._nubRef = this; + } return rpv; } -- GitLab