From c9008f3b151d54a7ad17b6465fcade932b453460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grand?= <francois.grand@inrae.fr> Date: Wed, 4 May 2022 07:44:48 +0200 Subject: [PATCH] fix: adapt to useDefaultParamValue flag removal in jalhyd refs #516 --- src/app/components/pb-schema/pb-schema.component.ts | 3 ++- src/app/formulaire/definition/form-definition.ts | 4 +++- src/app/formulaire/definition/form-parallel-structures.ts | 4 +++- src/app/services/app-setup.service.ts | 5 +++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 1862a8dcf..7ea4ba81d 100644 --- a/src/app/components/pb-schema/pb-schema.component.ts +++ b/src/app/components/pb-schema/pb-schema.component.ts @@ -21,6 +21,7 @@ import { AppComponent } from "../../app.component"; import { fv } from "app/util"; import { FormulaireNode } from "app/formulaire/elements/formulaire-node"; +import { ServiceFactory } from "app/services/service-factory"; /** * The interactive schema for calculator type "PreBarrage" (component) @@ -494,7 +495,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni /** Adds a new lone basin */ public onAddBasinClick() { - const newBasin = new PbBassin(new PbBassinParams(20, 99)); + const newBasin = new PbBassin(new PbBassinParams(20, 99, ServiceFactory.applicationSetupService.enableEmptyFieldsOnFormInit)); this.model.addChild(newBasin); this.clearResults(); this.refreshWithSelection(newBasin.uid); diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index 442a96ef6..3fd3ee3a2 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -9,7 +9,8 @@ import { acSection, ParamDefinition, Result, - VariatedDetails + VariatedDetails, + Prop_NullParameters } from "jalhyd"; import { FormulaireElement } from "../elements/formulaire-element"; @@ -110,6 +111,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs */ public initNub(props?: Props) { const p = props ? props : new Props(this.defaultProperties); + p.setPropValue(Prop_NullParameters, ServiceFactory.applicationSetupService.enableEmptyFieldsOnFormInit); // transmit "empty fields" flag this.currentNub = Session.getInstance().createSessionNub(p); if (this.currentNub instanceof SectionNub) { diff --git a/src/app/formulaire/definition/form-parallel-structures.ts b/src/app/formulaire/definition/form-parallel-structures.ts index 5e35710f9..9e4dd86d6 100644 --- a/src/app/formulaire/definition/form-parallel-structures.ts +++ b/src/app/formulaire/definition/form-parallel-structures.ts @@ -1,4 +1,4 @@ -import { Structure, Nub, ParallelStructure, StructureProperties, Props, Session, ParamDefinition } from "jalhyd"; +import { Structure, Nub, ParallelStructure, StructureProperties, Props, Session, ParamDefinition, Prop_NullParameters } from "jalhyd"; import { FieldsetContainer } from "../elements/fieldset-container"; import { FieldSet } from "../elements/fieldset"; @@ -7,6 +7,7 @@ import { NgParameter } from "../elements/ngparam"; import { FieldsetTemplate } from "../elements/fieldset-template"; import { FormulaireNode } from "../elements/formulaire-node"; import { FormulaireRepeatableFieldset } from "./form-repeatable-fieldset"; +import { ServiceFactory } from "app/services/service-factory"; export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { @@ -66,6 +67,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset { params["nodeType"] = templ.defaultNodeTypeFromConfig; params["structureType"] = templ.defaultStructTypeFromConfig; params["loiDebit"] = templ.defaultLoiDebitFromConfig; + params[Prop_NullParameters] = ServiceFactory.applicationSetupService.enableEmptyFieldsOnFormInit; return this.createStructure(new Props(params)); } diff --git a/src/app/services/app-setup.service.ts b/src/app/services/app-setup.service.ts index 193b32aaf..32b9f517d 100644 --- a/src/app/services/app-setup.service.ts +++ b/src/app/services/app-setup.service.ts @@ -24,6 +24,7 @@ export class ApplicationSetupService extends Observable { private _maxIterations = 100; // tied to model public enableNotifications = true; public enableHotkeys = false; + private _enableEmptyFieldsOnFormInit = true; public set computePrecision(p: number) { this._computePrecision = p; @@ -46,11 +47,11 @@ export class ApplicationSetupService extends Observable { } public get enableEmptyFieldsOnFormInit() { - return !SessionSettings.useDefaultParamValue; + return this._enableEmptyFieldsOnFormInit; } public set enableEmptyFieldsOnFormInit(b: boolean) { - SessionSettings.useDefaultParamValue = !b; + this._enableEmptyFieldsOnFormInit = b; } /** -- GitLab