diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts index 1862a8dcfaa85a2986de87a53c311f5af73a630b..7ea4ba81d47b6bbaede7cb478cbf84bef38b4b36 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 442a96ef680fe5e41f5bb28cc62b0ac3e64dc6a4..3fd3ee3a274ab1fedb90e0ae8b2c166701210aea 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 5e35710f98d06546543fcd44fabc8ca1d6b604c1..9e4dd86d6b05615acc3555d9b8fc6b1441870589 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 193b32aaf05d3c353cd2d019393e15cf6ada4bb1..32b9f517da6c776b8a43fe6df266d80deedefc55 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; } /**