diff --git a/src/app/calculators/cloisons/cloisons.config.json b/src/app/calculators/cloisons/cloisons.config.json index ea679624bfed8ac817ef405a9543b1d328dca705..52e618a7776c0b9b418bbac2018bb3794b1bde7b 100644 --- a/src/app/calculators/cloisons/cloisons.config.json +++ b/src/app/calculators/cloisons/cloisons.config.json @@ -54,125 +54,24 @@ { "id": "select_ouvrage", "type": "select", - "select": [ - { - "id": "select_ouvrage_seuil_rect", - "enum": "StructureType.SeuilRectangulaire" - }, - { - "id": "select_ouvrage_orifice", - "enum": "StructureType.Orifice" - }, - { - "id": "select_ouvrage_seuil_triang", - "enum": "StructureType.SeuilTriangulaire" - }, - { - "id": "select_ouvrage_seuil_triangtrunc", - "enum": "StructureType.SeuilTriangulaireTrunc" - } - - ] + "source": "device_structure_type" }, { - "id": "select_loidebit1", + "id": "select_loidebit", "type": "select", - "select": [ - { - "id": "select_loidebit1_fente", - "enum": "LoiDebit.WeirSubmergedLarinier" - }, - { - "id": "select_loidebit1_villemonte", - "enum": "LoiDebit.WeirVillemonte" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - } - ] - }, - { - "id": "select_loidebit2", - "type": "select", - "select": [ - { - "id": "select_loidebit2_orifice", - "enum": "LoiDebit.OrificeSubmerged" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_orifice" - } - ] - }, - { - "id": "select_loidebit3", - "type": "select", - "select": [ - { - "id": "select_loidebit3_seuiltriang", - "enum": "LoiDebit.TriangularWeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - } - ] - }, - { - "id": "select_loidebit4", - "type": "select", - "select": [ - { - "id": "select_loidebit4_seuiltriangtrunc", - "enum": "LoiDebit.TriangularTruncWeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "source": "device_loi_debit" }, { "type": "input", "id": "h1", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "L", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", @@ -184,53 +83,25 @@ "type": "input", "id": "S", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit2", - "refvalue": "select_loidebit2_orifice" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "alpha2", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "BT", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "ZT", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" } ] }, diff --git a/src/app/calculators/cloisons/cloisons.en.json b/src/app/calculators/cloisons/cloisons.en.json index 1eaf2a56d33257785d8ceef885d0e2d206caf3a8..983d797a5b453bb67c4a3bdf9f267245f4d18b4c 100644 --- a/src/app/calculators/cloisons/cloisons.en.json +++ b/src/app/calculators/cloisons/cloisons.en.json @@ -3,15 +3,21 @@ "ZR": "Upstream bed elevation", "PB": "Pool mean depth", "h1": "Head", - "select_ouvrage_seuil_triang": "Triangular weir", - "select_ouvrage_seuil_triangtrunc": "Truncated triangular weir", - "select_ouvrage_orifice": "Orifice", - "select_ouvrage_seuil_rect": "Rectangular weir", - "select_loidebit1_villemonte": "Villemonte 1947", - "select_loidebit1_fente": "Submerged slot (Larinier 1992)", - "select_loidebit2_orifice": "Submerged orifice", - "select_loidebit3_seuiltriang": "Free flow triangular weir", - "select_loidebit4_seuiltriangtrunc": "Free flow truncated triangular weir", + + "select_structure_SeuilTriangulaire": "Triangular weir", + "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir", + "select_structure_Orifice": "Orifice", + "select_structure_SeuilRectangulaire": "Rectangular weir", + + "select_loidebit_Orifice_OrificeSubmerged": "Submerged orifice", + + "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)", + "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1947", + + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Free flow triangular weir", + + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Free flow truncated triangular weir", + "UNIT_PV": "W/m³", "UNIT_Q": "m³/s", "UNIT_YMOY": "m", diff --git a/src/app/calculators/cloisons/cloisons.fr.json b/src/app/calculators/cloisons/cloisons.fr.json index 4c2cbd9f7e9a7a27d2f33d6ad83872545a8168ef..f98900e228931e0956f512caddf4313bb46bc2d1 100644 --- a/src/app/calculators/cloisons/cloisons.fr.json +++ b/src/app/calculators/cloisons/cloisons.fr.json @@ -1,14 +1,20 @@ { "Q": "Débit total", - "select_ouvrage_seuil_triang": "Seuil triangulaire", - "select_ouvrage_seuil_triangtrunc": "Seuil triangulaire tronqué", - "select_ouvrage_orifice": "Orifice", - "select_ouvrage_seuil_rect": "Seuil rectangulaire", - "select_loidebit1_villemonte": "Villemonte 1947", - "select_loidebit1_fente": "Fente noyée (Larinier 1992)", - "select_loidebit2_orifice": "Orifice noyé", - "select_loidebit3_seuiltriang": "Déversoir triangulaire dénoyé", - "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué dénoyé", + + "select_structure_SeuilTriangulaire": "Seuil triangulaire", + "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué", + "select_structure_Orifice": "Orifice", + "select_structure_SeuilRectangulaire": "Seuil rectangulaire", + + "select_loidebit_Orifice_OrificeSubmerged": "Orifice noyé", + + "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)", + "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1947", + + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire dénoyé", + + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Déversoir triangulaire tronqué dénoyé", + "UNIT_PV": "W/m³", "UNIT_Q": "m³/s", "UNIT_YMOY": "m", diff --git a/src/app/calculators/dever/dever.config.json b/src/app/calculators/dever/dever.config.json index 4bb14ec5eeaaab3bdfeb4f17752f6b98e07d0bb5..c3378c6b0b541d5015141fff5fc99666be5cab19 100644 --- a/src/app/calculators/dever/dever.config.json +++ b/src/app/calculators/dever/dever.config.json @@ -42,160 +42,48 @@ { "id": "select_ouvrage", "type": "select", - "select": [ - { - "id": "select_ouvrage_seuil_rect", - "enum": "StructureType.SeuilRectangulaire" - }, - { - "id": "select_ouvrage_seuil_triang", - "enum": "StructureType.SeuilTriangulaire" - }, - { - "id": "select_ouvrage_seuil_triangtrunc", - "enum": "StructureType.SeuilTriangulaireTrunc" - } - ] + "source": "device_structure_type" }, { - "id": "select_loidebit1", + "id": "select_loidebit", "type": "select", - "select": [ - { - "id": "select_loidebit1_seuildenoye", - "enum": "LoiDebit.WeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - } - ] - }, - { - "id": "select_loidebit3", - "type": "select", - "select": [ - { - "id": "select_loidebit3_seuiltriang", - "enum": "LoiDebit.TriangularWeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - } - ] - }, - { - "id": "select_loidebit4", - "type": "select", - "select": [ - { - "id": "select_loidebit4_seuiltriangtrunc", - "enum": "LoiDebit.TriangularTruncWeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "source": "device_loi_debit" }, { "type": "input", "id": "ZDV", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "L", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "Cd", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_seuildenoye" - }, - { - "refid": "select_loidebit3", - "refvalue": "select_loidebit3_seuiltriang" - }, - { - "refid": "select_loidebit3", - "refvalue": "select_loidebit4_seuiltriangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "alpha2", "unit": "°", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "BT", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "ZT", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" } ] }, diff --git a/src/app/calculators/dever/dever.en.json b/src/app/calculators/dever/dever.en.json index a488c994589b8290273a1544b82cae5d9e170b4b..9d4f6f0d5dafc5c1e6ee30588b1716bd4d6b5aad 100644 --- a/src/app/calculators/dever/dever.en.json +++ b/src/app/calculators/dever/dever.en.json @@ -2,14 +2,17 @@ "Q": "Total Flow", "ZR": "Upstream bed elevation", "BR": "Upstream bed width", - "select_ouvrage_seuil_rect": "Rectangular weir", - "select_ouvrage_seuil_triang": "Triangular weir", - "select_ouvrage_seuil_triangtrunc": "Truncated triangular weir", - "select_loidebit1_seuildenoye": "Free flow rectangular weir", - "select_loidebit3_seuiltriang": "Free flow triangular weir", - "select_loidebit4_seuiltriangtrunc": "Free flow truncated triangular weir", "L": "Width of the weir", "Cd": "Discharge coefficient", + + "select_structure_SeuilRectangulaire": "Rectangular weir", + "select_structure_SeuilTriangulaire": "Triangular weir", + "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir", + + "select_loidebit_SeuilRectangulaire_WeirFree": "Free flow rectangular weir", + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Free flow triangular weir", + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Free flow truncated triangular weir", + "UNIT_CVQT": "m³/s", "UNIT_Q": "m³/s", "UNIT_EC": "m", diff --git a/src/app/calculators/dever/dever.fr.json b/src/app/calculators/dever/dever.fr.json index ec276acc334fedb4943fc0e8cf88b7e0cc3489b6..d4e462ff3c316c3480d2de67083d3dd5145ef6f7 100644 --- a/src/app/calculators/dever/dever.fr.json +++ b/src/app/calculators/dever/dever.fr.json @@ -2,14 +2,17 @@ "Q": "Débit total", "ZR": "Cote du lit amont", "BR": "Largeur du lit amont", - "select_ouvrage_seuil_rect": "Déversoir rectangulaire", - "select_ouvrage_seuil_triang": "Déversoir triangulaire", - "select_ouvrage_seuil_triangtrunc": "Déversoir triangulaire tronqué", - "select_loidebit1_seuildenoye": "Déversoir rectangulaire dénoyé", - "select_loidebit3_seuiltriang": "Déversoir triangulaire dénoyé", - "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué dénoyé", "L": "Largeur du déversoir", "Cd": "Coefficient de débit", + + "select_structure_SeuilRectangulaire": "Déversoir rectangulaire", + "select_structure_SeuilTriangulaire": "Déversoir triangulaire", + "select_structure_SeuilTriangulaireTrunc": "Déversoir triangulaire tronqué", + + "select_loidebit_SeuilRectangulaire_WeirFree": "Déversoir rectangulaire dénoyé", + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire dénoyé", + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Déversoir triangulaire tronqué dénoyé", + "UNIT_CVQT": "m³/s", "UNIT_Q": "m³/s", "UNIT_EC": "m", diff --git a/src/app/calculators/lechapt-calmon/lechapt-calmon.config.json b/src/app/calculators/lechapt-calmon/lechapt-calmon.config.json index 283d67aa24a3a695e69b5e3d2f66f2349c86e558..d2f57ba0c9b0ab5a346d2c0bae800f92ebde526c 100644 --- a/src/app/calculators/lechapt-calmon/lechapt-calmon.config.json +++ b/src/app/calculators/lechapt-calmon/lechapt-calmon.config.json @@ -7,7 +7,7 @@ { "id": "select_material", "type": "select", - "source": "lechapt_calmon_materials" + "source": "lechapt_calmon_material" }, { "type": "input", diff --git a/src/app/calculators/parallel-structures/parallel-structures.config.json b/src/app/calculators/parallel-structures/parallel-structures.config.json index 07272c3a1b2a1f970f89ac76dc3155b04749538c..4a0b8a5806586e4c7a50165ded1ac86956c721f1 100644 --- a/src/app/calculators/parallel-structures/parallel-structures.config.json +++ b/src/app/calculators/parallel-structures/parallel-structures.config.json @@ -35,344 +35,90 @@ { "id": "select_ouvrage", "type": "select", - "select": [ - { - "id": "select_ouvrage_vanne_rect", - "enum": "StructureType.VanneRectangulaire" - }, - { - "id": "select_ouvrage_seuil_rect", - "enum": "StructureType.SeuilRectangulaire" - }, - { - "id": "select_ouvrage_seuil_triang", - "enum": "StructureType.SeuilTriangulaire" - }, - { - "id": "select_ouvrage_seuil_triangtrunc", - "enum": "StructureType.SeuilTriangulaireTrunc" - } - ] + "source": "device_structure_type" }, { - "id": "select_loidebit1", + "id": "select_loidebit", "type": "select", - "select": [ - { - "id": "select_loidebit1_cem88d", - "enum": "LoiDebit.WeirCem88d" - }, - { - "id": "select_loidebit1_cem88v", - "enum": "LoiDebit.WeirCem88v" - }, - { - "id": "select_loidebit1_seuildenoye", - "enum": "LoiDebit.WeirFree" - }, - { - "id": "select_loidebit1_cunge80", - "enum": "LoiDebit.WeirCunge80" - }, - { - "id": "select_loidebit1_villemonte", - "enum": "LoiDebit.WeirVillemonte" - }, - { - "id": "select_loidebit1_kivi", - "enum": "LoiDebit.KIVI" - }, - { - "id": "select_loidebit1_fente", - "enum": "LoiDebit.WeirSubmergedLarinier" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - } - ] - }, - { - "id": "select_loidebit2", - "type": "select", - "select": [ - { - "id": "select_loidebit2_cem88v", - "enum": "LoiDebit.GateCem88v" - }, - { - "id": "select_loidebit2_cem88d", - "enum": "LoiDebit.GateCem88d" - }, - { - "id": "select_loidebit2_vannedenoye", - "enum": "LoiDebit.RectangularOrificeFree" - }, - { - "id": "select_loidebit2_vannenoye", - "enum": "LoiDebit.RectangularOrificeSubmerged" - }, - { - "id": "select_loidebit2_cunge80", - "enum": "LoiDebit.GateCunge80" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_vanne_rect" - } - ] - }, - { - "id": "select_loidebit3", - "type": "select", - "select": [ - { - "id": "select_loidebit3_seuiltriang", - "enum": "LoiDebit.TriangularWeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - } - ] - }, - { - "id": "select_loidebit4", - "type": "select", - "select": [ - { - "id": "select_loidebit4_seuiltriangtrunc", - "enum": "LoiDebit.TriangularTruncWeirFree" - } - ], - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "source": "device_loi_debit" }, { "type": "input", "id": "ZDV", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_vanne_rect" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "L", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_vanne_rect" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" - }, - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_kivi" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "W", "nodeType": "StructureRectangle", - "unit": "m", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_vanne_rect" - } - ] + "unit": "m" }, { "type": "input", "id": "CdWSL", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_fente" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "CdWR", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_seuildenoye" - }, - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_cem88d" - }, - { - "refid": "select_loidebit2", - "refvalue": "select_loidebit2_cem88d" - }, - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_villemonte" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "CdGR", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_cunge80" - }, - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_cem88v" - }, - { - "refid": "select_loidebit2", - "refvalue": "select_loidebit2_vannedenoye" - }, - { - "refid": "select_loidebit2", - "refvalue": "select_loidebit2_vannenoye" - }, - { - "refid": "select_loidebit2", - "refvalue": "select_loidebit2_cunge80" - }, - { - "refid": "select_loidebit2", - "refvalue": "select_loidebit2_cem88v" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "CdT", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "alpha", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_kivi" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "beta", "unit": "", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_kivi" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "ZRAM", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_loidebit1", - "refvalue": "select_loidebit1_kivi" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "alpha2", "unit": "°", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triang" - }, - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "BT", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" }, { "type": "input", "id": "ZT", "unit": "m", - "nodeType": "StructureRectangle", - "dep_exist": [ - { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_triangtrunc" - } - ] + "nodeType": "StructureRectangle" } ] }, diff --git a/src/app/calculators/parallel-structures/parallel-structures.en.json b/src/app/calculators/parallel-structures/parallel-structures.en.json index 84154f2febe14963072c072d625d339063fd0e57..df9a1d99a656287f0649e247678c32fc634993a8 100644 --- a/src/app/calculators/parallel-structures/parallel-structures.en.json +++ b/src/app/calculators/parallel-structures/parallel-structures.en.json @@ -1,26 +1,32 @@ { "Q": "Total Flow", - "select_ouvrage_vanne_circ": "Circular gate", - "select_ouvrage_vanne_rect": "Rectangular gate", - "select_ouvrage_seuil_rect": "Rectangular weir", - "select_ouvrage_seuil_triang": "Triangular weir", - "select_ouvrage_seuil_triangtrunc": "Truncated triangular weir", - "select_ouvrage_seuil_trap": "Trapezoidal weir", - "select_ouvrage_vanne_trap": "trapezoidal gate", "W": "Gate opening", - "select_loidebit1_seuildenoye": "Free flow weir", - "select_loidebit1_cunge80": "Cunge 80", - "select_loidebit1_cem88d": "Weir/Orifice Cemagref 88", - "select_loidebit1_cem88v": "Weir/Undershot gate Cemagref 88", - "select_loidebit1_fente": "Submerged slot (Larinier 1992)", - "select_loidebit1_kivi": "Kindsvater-Carter and Villemonte", - "select_loidebit1_villemonte": "Villemonte 1957", - "select_loidebit2_vannedenoye": "Free flow gate", - "select_loidebit2_vannenoye": "Submerged gate", - "select_loidebit2_cunge80": "Cunge 80", - "select_loidebit2_cem88d": "Weir/Orifice Cemagref 88", - "select_loidebit2_cem88v": "Weir/Undershot gate Cemagref 88", - "select_loidebit3_seuiltriang": "Triangular weir (Villemonte)", - "select_loidebit4_seuiltriangtrunc": "Truncated triangular weir (Villemonte)", + + "select_structure_Orifice": "Orifice", + "select_structure_VanneRectangulaire": "Rectangular gate", + "select_structure_SeuilRectangulaire": "Rectangular weir", + "select_structure_SeuilTriangulaire": "Triangular weir", + "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir", + + "select_loidebit_Orifice_OrificeSubmerged": "Submerged orifice", + + "select_loidebit_VanneRectangulaire_GateCem88d": "Weir/Orifice Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCem88v": "Weir/Undershot gate Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge 80", + "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Free flow gate", + "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Submerged gate", + + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Triangular weir (Villemonte)", + + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Truncated triangular weir (Villemonte)", + + "select_loidebit_SeuilRectangulaire_WeirCem88d": "Weir/Orifice Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirCem88v": "Weir/Undershot gate Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)", + "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957", + "select_loidebit_SeuilRectangulaire_WeirFree": "Free flow weir", + "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter and Villemonte", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge 80", + "UNIT_Q": "m³/s" } diff --git a/src/app/calculators/parallel-structures/parallel-structures.fr.json b/src/app/calculators/parallel-structures/parallel-structures.fr.json index 7b765db33b58a06d5691027e54494db1490a835c..992f033e1f78d947bbfaed5935f59e758311441b 100644 --- a/src/app/calculators/parallel-structures/parallel-structures.fr.json +++ b/src/app/calculators/parallel-structures/parallel-structures.fr.json @@ -1,25 +1,32 @@ { "Q": "Débit total", - "select_ouvrage_vanne_circ": "Vanne circulaire", - "select_ouvrage_vanne_rect": "Vanne rectangulaire", - "select_ouvrage_seuil_rect": "Seuil rectangulaire", - "select_ouvrage_seuil_triang": "Seuil triangulaire", - "select_ouvrage_seuil_triangtrunc": "Seuil triangulaire tronqué", - "select_ouvrage_seuil_trap": "Seuil trapézoïdal", - "select_ouvrage_vanne_trap": "Vanne trapézoïdale", - "select_loidebit1_seuildenoye": "Seuil dénoyé", - "select_loidebit1_cunge80": "Cunge 80", - "select_loidebit1_cem88d": "Déversoir/Orifice Cemagref 88", - "select_loidebit1_cem88v": "Déversoir/Vanne de fond Cemagref 88", - "select_loidebit1_fente": "Fente noyée (Larinier 1992)", - "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte", - "select_loidebit1_villemonte": "Villemonte 1957", - "select_loidebit2_vannedenoye": "Vanne dénoyé", - "select_loidebit2_vannenoye": "Vanne noyé", - "select_loidebit2_cunge80": "Cunge 80", - "select_loidebit2_cem88d": "Déversoir/Orifice Cemagref 88", - "select_loidebit2_cem88v": "Déversoir/Vanne de fond Cemagref 88", - "select_loidebit3_seuiltriang": "Déversoir triangulaire (Villemonte)", - "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué (Villemonte)", + "W": "Ouverture de vanne", + + "select_structure_Orifice": "Orifice", + "select_structure_SeuilRectangulaire": "Seuil rectangulaire", + "select_structure_SeuilTriangulaire": "Seuil triangulaire", + "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué", + "select_structure_VanneRectangulaire": "Vanne rectangulaire", + + "select_loidebit_Orifice_OrificeSubmerged": "Orifice noyé", + + "select_loidebit_VanneRectangulaire_GateCem88d": "Déversoir/Orifice Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCem88v": "Déversoir/Vanne de fond Cemagref 88", + "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge 80", + "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Vanne dénoyée", + "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Vanne noyée", + + "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire (Villemonte)", + + "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Déversoir triangulaire tronqué (Villemonte)", + + "select_loidebit_SeuilRectangulaire_WeirCem88d": "Déversoir/Orifice Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirCem88v": "Déversoir/Vanne de fond Cemagref 88", + "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)", + "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957", + "select_loidebit_SeuilRectangulaire_WeirFree": "Seuil dénoyé", + "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter et Villemonte", + "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge 80", + "UNIT_Q": "m³/s" -} \ No newline at end of file +} diff --git a/src/app/calculators/regime-uniforme/regime-uniforme.config.json b/src/app/calculators/regime-uniforme/regime-uniforme.config.json index a5623b0006f2e80f9b4cdcc2c44facdeaa9ce527..ac65a0ea103d3b1ada2455bd8629718355a4c39c 100644 --- a/src/app/calculators/regime-uniforme/regime-uniforme.config.json +++ b/src/app/calculators/regime-uniforme/regime-uniforme.config.json @@ -7,7 +7,7 @@ { "id": "select_section", "type": "select", - "source": "acsection_available_sections" + "source": "acsection_section" }, { "type": "input", diff --git a/src/app/calculators/remous/remous.config.json b/src/app/calculators/remous/remous.config.json index f7ea148e2f859ebe9fbaab5c0aab4706f9c47e5b..172802242792d17f008d5058443b9bad62bc5e20 100644 --- a/src/app/calculators/remous/remous.config.json +++ b/src/app/calculators/remous/remous.config.json @@ -7,7 +7,7 @@ { "id": "select_section", "type": "select", - "source": "acsection_available_sections" + "source": "acsection_section" }, { "type": "input", diff --git a/src/app/calculators/section-param/section-param.config.json b/src/app/calculators/section-param/section-param.config.json index 0d8a6332303fbec0abf78d447abe979314ba068e..acb801414d8d66514c56acb20fe93175672a8829 100644 --- a/src/app/calculators/section-param/section-param.config.json +++ b/src/app/calculators/section-param/section-param.config.json @@ -7,7 +7,7 @@ { "id": "select_section", "type": "select", - "source": "acsection_available_sections" + "source": "acsection_section" }, { "type": "input", diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts index f10ec866230967f6ff0de706f26f982265ec6356..ebeb77d4a6d1c17a928c961b960272c3a1f7bbd2 100644 --- a/src/app/formulaire/definition/form-definition.ts +++ b/src/app/formulaire/definition/form-definition.ts @@ -196,35 +196,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs this.kids.push(tab); } - public parseDependencies(json: {}) { - // tslint:disable-next-line:forin - for (const conf_index in json) { - const conf = json[conf_index]; - const type: string = conf["type"]; - - switch (type) { - // field set - case "fieldset": - case "template_container": - for (const k of this.kids) { - if (k.id === conf["id"]) { - k.parseDependencies(conf); - break; - } - } - break; - - case "fieldset_template": - for (const k of this.kids) { - if (k instanceof FieldsetContainer) { - k.parseDependencies(conf); - } - } - break; - } - } - } - /** * 1ère passe d'analyse de la configuration */ @@ -290,7 +261,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs } this.completeParse(this._jsonConfig); - this.parseDependencies(this._jsonConfig); } public hasParameter(symbol: string): boolean { @@ -381,8 +351,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs */ public reset() { this.resetResults([], undefined, true); - this.applyDependencies(); - // prévenir les composants qu'il faut détecter les changements this.notifyReset(); } @@ -407,12 +375,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs return select.getValue().label; } - public applyDependencies() { - for (const fe of this.topFormElements) { - fe.applyDependencies(); - } - } - public abstract resetResults(visited: string[], symbol?: string, forceResetAllDependencies?: boolean); public abstract doCompute(); public abstract get hasResults(): boolean; diff --git a/src/app/formulaire/dependency/dependency-condition.ts b/src/app/formulaire/dependency/dependency-condition.ts deleted file mode 100644 index 876e46426f2bbf57e5c796dc3e66a847f601322d..0000000000000000000000000000000000000000 --- a/src/app/formulaire/dependency/dependency-condition.ts +++ /dev/null @@ -1,16 +0,0 @@ -export enum DependencyConditionType { - HasValue, IsVariable, IsDisplayed -} - -export class DependencyCondition { - constructor(private _type: DependencyConditionType) { - } - - public get type() { - return this._type; - } - - public toString(): string { - return "cond=" + DependencyConditionType[this._type]; - } -} diff --git a/src/app/formulaire/dependency/dependency.ts b/src/app/formulaire/dependency/dependency.ts deleted file mode 100644 index fe7426f55bed6b9e75365cce30b1a5e9c1aad49a..0000000000000000000000000000000000000000 --- a/src/app/formulaire/dependency/dependency.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { FormulaireElement } from "../formulaire-element"; -import { DependencyCondition } from "./dependency-condition"; - -/** - * Dépendance entre un élément maître et un élément esclave - * Si le maître vérifie une condition (masterCondition), alors la dépendance est appliquée à l'élément esclave, - * cad que son affichage, sa valeur, ... sont modifiés - */ -export abstract class Dependency { - private _slave: FormulaireElement; - - private _masterId: string; - - private _masterCondition: DependencyCondition; - - constructor(s: FormulaireElement, mid: string, mc: DependencyCondition) { - this._slave = s; - this._masterId = mid; - this._masterCondition = mc; - } - - private getMasterElement(id: string): FormulaireElement { - let parentNode = this._slave.parent; - while (parentNode !== undefined) { - const res: FormulaireElement = parentNode.getFormulaireNodeById(id) as FormulaireElement; - if (res !== undefined) { - return res; - } - parentNode = parentNode.parent; - } - } - - protected get masterElement(): FormulaireElement { - return this.getMasterElement(this._masterId); - } - - public get masterCondition(): DependencyCondition { - return this._masterCondition; - } - - public apply() { - const master: FormulaireElement = this.masterElement; - if (master && master.verifiesDependency(this)) { - this._slave.applyDependency(this); - } - } - - public toString(): string { - return "slave=" + this._slave.toString() + "\n mid=" + this._masterId + "\n " + this._masterCondition.toString(); - } -} diff --git a/src/app/formulaire/dependency/existence-dependency-condition.ts b/src/app/formulaire/dependency/existence-dependency-condition.ts deleted file mode 100644 index 0ec4ce094f9bf2670e355bdd94d44ca8dd57cdd2..0000000000000000000000000000000000000000 --- a/src/app/formulaire/dependency/existence-dependency-condition.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { DependencyCondition, DependencyConditionType } from "./dependency-condition"; - - -export class ExistenceDependencyCondition extends DependencyCondition { - constructor() { - super(DependencyConditionType.IsDisplayed); - } -} diff --git a/src/app/formulaire/dependency/existence-dependency.ts b/src/app/formulaire/dependency/existence-dependency.ts deleted file mode 100644 index 2f1a17f24e70b83f76a8a86853bc13e0f4bd6166..0000000000000000000000000000000000000000 --- a/src/app/formulaire/dependency/existence-dependency.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Dependency } from "./dependency"; -import { FormulaireElement } from "../formulaire-element"; - -/** - * dépendance déterminant l'affichage de l'élément esclave - */ -export class ExistenceDependency extends Dependency { - /** - * true : l'élément slave est affiché si le master est affiché - * false : l'élément slave est affiché si le master n'est pas affiché - */ - // private _direct: boolean; - - public toString() { - return "existdep\n " + super.toString(); - } -} diff --git a/src/app/formulaire/dependency/value-dependency-condition.ts b/src/app/formulaire/dependency/value-dependency-condition.ts deleted file mode 100644 index b0e3095688779361b463d3c59edf7a7fee71214f..0000000000000000000000000000000000000000 --- a/src/app/formulaire/dependency/value-dependency-condition.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { DependencyCondition, DependencyConditionType } from "./dependency-condition"; - - -export class ValueDependencyCondition extends DependencyCondition { - constructor(private _value: any) { - super(DependencyConditionType.HasValue); - } - - public get value(): any { - return this._value; - } - - public toString(): string { - return super.toString() + " " + this._value; - } -} diff --git a/src/app/formulaire/dependency/value-dependency.ts b/src/app/formulaire/dependency/value-dependency.ts deleted file mode 100644 index b94f9fc9bb6acda3ac142ca06a4047f4c13e9aca..0000000000000000000000000000000000000000 --- a/src/app/formulaire/dependency/value-dependency.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Dependency } from "./dependency"; -import { FormulaireElement } from "../formulaire-element"; -import { ValueDependencyCondition } from "./value-dependency-condition"; - -/** - * dépendance déterminant la valeur de l'élément esclave - */ -export class ValueDependency extends Dependency { - public slaveValue: any; - - constructor(slave: FormulaireElement, masterId: string, masterValue: any) { - super(slave, masterId, new ValueDependencyCondition(masterValue)); - } - - public toString() { - return "valdep\n " + super.toString() + "\n slave val " + this.slaveValue; - } -} diff --git a/src/app/formulaire/fieldset.ts b/src/app/formulaire/fieldset.ts index 4f08999ccab374a223b46390d493f6a578aea144..9f112fb4c10e97848c219443217647e41d6ba8f3 100644 --- a/src/app/formulaire/fieldset.ts +++ b/src/app/formulaire/fieldset.ts @@ -119,6 +119,7 @@ export class FieldSet extends FormulaireElement implements Observer { let res: NgParameter; + // @TODO tabarnak !? const nt: string = json["nodeType"]; const nodeType: ComputeNodeType = nt ? ComputeNodeType[nt] : this.getPropValue("nodeType"); @@ -192,7 +193,6 @@ export class FieldSet extends FormulaireElement implements Observer { public updateFields() { this.clearFields(); this.parseFields(); - this.parseDependencies(this._jsonConfig); this.updateLocalisation(); // MAJ des selects avec les valeurs actuelles des propriétés @@ -227,9 +227,6 @@ export class FieldSet extends FormulaireElement implements Observer { break; } - - // fin MAJ selects - this.applyDependencies(); } /** @@ -239,7 +236,7 @@ export class FieldSet extends FormulaireElement implements Observer { const selectField: SelectField = this.getFormulaireNodeById(selectId) as SelectField; if (selectField) { const propVal: any = this.getPropValue(propertyKey); - const selectElement = selectField.getSelectedEntryFromValue(propVal); // @TODO juste setValue() ? + const selectElement = selectField.getSelectedEntryFromValue(propVal); try { selectField.setValue(selectElement); } catch (e) { @@ -292,31 +289,6 @@ export class FieldSet extends FormulaireElement implements Observer { this.updateFields(); } - public parseDependencies(json: {}) { - super.parseDependencies(json); - - for (const k1 in json) { - if (k1 === "fields") { - const fields = json[k1]; - for (const k2 in fields) { - const field = fields[k2]; - switch (field["type"]) { - case "input": - case "select": - case "check": - for (const k of this.kids) { - if (k.id === field["id"]) { - k.parseDependencies(field); - break; - } - } - break; - } - } - } - } - } - public getNodeParameter(symbol: string): NgParameter { for (const p of this.kids) { if (p instanceof NgParameter) { diff --git a/src/app/formulaire/formulaire-element.ts b/src/app/formulaire/formulaire-element.ts index 1bd652334908494703ac6004a9e45b28634030c4..dab5ab0cb6ff2fa1c4052dbcce7c8cca0a0dd144 100644 --- a/src/app/formulaire/formulaire-element.ts +++ b/src/app/formulaire/formulaire-element.ts @@ -1,9 +1,5 @@ import { FormulaireNode } from "./formulaire-node"; import { StringMap } from "../stringmap"; -import { Dependency } from "./dependency/dependency"; -import { DependencyCondition, DependencyConditionType } from "./dependency/dependency-condition"; -import { ValueDependencyCondition } from "./dependency/value-dependency-condition"; -import { ExistenceDependency } from "./dependency/existence-dependency"; import { DeepFormulaireElementIterator } from "./form-iterator/deep-element-iterator"; import { I18nService } from "../services/internationalisation/internationalisation.service"; import { ServiceFactory } from "../services/service-factory"; @@ -29,8 +25,6 @@ export abstract class FormulaireElement extends FormulaireNode { private intlService: I18nService; - protected _dependencies: Dependency[] = []; - public static removePrefix(s: string, prefix: string): string { if (s.startsWith(prefix)) { const l = prefix.length; @@ -81,101 +75,6 @@ export abstract class FormulaireElement extends FormulaireNode { return res; } - /** - * analyse les dépendances d'existence - * @param json configuration de la dépendance - */ - private parse_existence_dependencies(json: {}) { - for (const di in json) { - if (json.hasOwnProperty(di)) { - const d = json[di]; - const rv = d["refvalue"]; - let mc: DependencyCondition; - if (rv !== undefined) { - mc = new ValueDependencyCondition(rv); - } else { - const cond = d["cond"]; - if (cond !== undefined) { - switch (cond) { - case "isvar": - mc = new DependencyCondition(DependencyConditionType.IsVariable); - break; - - case "isdisp": - mc = new DependencyCondition(DependencyConditionType.IsDisplayed); - break; - - default: - throw new Error( - "Formulaire.parse_existence_dependencies() : type de condition '" + cond + "' non pris en charge" - ); - } - } else { - throw new Error("Formulaire.parse_existence_dependencies() : infos de dépendance manquantes/non prises en charge"); - } - } - const dep = new ExistenceDependency(this, d["refid"], mc); - this._dependencies.push(dep); - } - } - } - - /** - * analyse les dépendances (existence/valeur) - * @param json configuration de la dépendance - * @param parentNode node parent dans lequel rechercher l'élément master (dont l'existence dépend) - */ - public parseDependencies(json: {}) { - const dep = json["dep_exist"]; - if (dep !== undefined) { - this.parse_existence_dependencies(dep); - } - } - - public verifiesDependency(d: Dependency): boolean { - if (d.masterCondition.type === DependencyConditionType.IsDisplayed) { - return this._isDisplayed; - } - } - - /** - * applique une dépendance dont la condition a été vérifiée - */ - public applyDependency(d: Dependency) { - if (d instanceof ExistenceDependency) { - this.isDisplayed = true; - } - } - - private prepareExistenceDependencies() { - // si des FormulaireElement sont présents dans des ExistenceDependency, on met leur membre isDisplayed à false - - for (const d of this._dependencies) { - if (d instanceof ExistenceDependency) { - this.isDisplayed = false; - break; - } - } - } - - public applyDependencies() { - this.prepareExistenceDependencies(); - - for (const d of this._dependencies) { - d.apply(); - } - - for (const k of this.getKids()) { - k.applyDependencies(); - } - } - - public printDependencies() { - for (const d of this._dependencies) { - console.log(d.toString()); - } - } - /** * Updates localisation for this element: first the label then all the element's children * @param loc calculator-specific localised messages map diff --git a/src/app/formulaire/formulaire-node.ts b/src/app/formulaire/formulaire-node.ts index 918c6d8da06ddab9dacd36d950cd3edee4bc09e7..b1406fec955349c7a7795df37e819b207015e69a 100644 --- a/src/app/formulaire/formulaire-node.ts +++ b/src/app/formulaire/formulaire-node.ts @@ -115,13 +115,6 @@ export abstract class FormulaireNode implements IObservable { public abstract parseConfig(json: {}, data?: {}); - /** - * analyse les dépendances (existence/valeur) - * @param json configuration de la dépendance - * @param parentNode nod parent dans lequel rechercher l'élément master (dont l'existence dépend) - */ - public abstract parseDependencies(json: {}); - // interface IObservable /** diff --git a/src/app/formulaire/ngparam.ts b/src/app/formulaire/ngparam.ts index 5562845dd37049df5bf0438291638f0242d59b0c..07e5051f6b308366f7015775fd6cd982017b6415 100644 --- a/src/app/formulaire/ngparam.ts +++ b/src/app/formulaire/ngparam.ts @@ -4,9 +4,6 @@ import { Interval, ParamDefinition, ParamDomain, ParamValueMode, INumberIterator import { sprintf } from "sprintf-js"; import { InputField } from "./input-field"; -import { Dependency } from "./dependency/dependency"; -import { DependencyConditionType } from "./dependency/dependency-condition"; -import { ValueDependencyCondition } from "./dependency/value-dependency-condition"; import { ServiceFactory } from "../services/service-factory"; import { FormulaireNode } from "./formulaire-node"; @@ -453,25 +450,6 @@ export class NgParameter extends InputField implements Observer { this.radioConfig = NgParameter.getRadioConfig(radioConfig); } - public verifiesDependency(d: Dependency): boolean { - if (super.verifiesDependency(d)) { - return true; - } - switch (d.masterCondition.type) { - case DependencyConditionType.HasValue: { - const mc: ValueDependencyCondition = <ValueDependencyCondition>d.masterCondition; - return this.getValue() === mc.value; - } - - case DependencyConditionType.IsVariable: - return this.radioState === ParamRadioConfig.VAR; - - default: - throw new Error("NgParameter.verifiesDependency() : type de condition '" - + DependencyConditionType[d.masterCondition.type] + "' non pris en charge"); - } - } - // interface Observer public update(sender: any, data: any) { diff --git a/src/app/formulaire/pab-table.ts b/src/app/formulaire/pab-table.ts index 9464eeef8ba8baaacf454afd9e3eb201b5c3e103..a31529bc573e56b4712c33cf3e4338216fbff768 100644 --- a/src/app/formulaire/pab-table.ts +++ b/src/app/formulaire/pab-table.ts @@ -16,8 +16,6 @@ export class PabTable extends FormulaireElement { super(parent); } - public parseDependencies(json: {}) { } // implements abstract method of FormulaireNode - public parseConfig(json: {}) { this._confId = json["id"]; } diff --git a/src/app/formulaire/select-field.ts b/src/app/formulaire/select-field.ts index 6f98a6419e403c7b3f1f2562fcf36f99f5e18dac..07f944d0917eae2fbc659694c394be4b1cfabe4d 100644 --- a/src/app/formulaire/select-field.ts +++ b/src/app/formulaire/select-field.ts @@ -1,12 +1,10 @@ -import { LechaptCalmon, acSection, CourbeRemous } from "jalhyd"; +import { LechaptCalmon, acSection, CourbeRemous, Nub, ParallelStructure, StructureType, LoiDebit } from "jalhyd"; import { Field } from "./field"; import { SelectEntry } from "./select-entry"; -import { Dependency } from "./dependency/dependency"; -import { DependencyConditionType } from "./dependency/dependency-condition"; -import { ValueDependencyCondition } from "./dependency/value-dependency-condition"; import { StringMap } from "../stringmap"; import { FormulaireNode } from "./formulaire-node"; +import { FormulaireDefinition } from "./definition/form-definition"; export class SelectField extends Field { @@ -86,22 +84,6 @@ export class SelectField extends Field { } } - public verifiesDependency(d: Dependency): boolean { - if (super.verifiesDependency(d)) { - return true; - } - - switch (d.masterCondition.type) { - case DependencyConditionType.HasValue: - const mc: ValueDependencyCondition = <ValueDependencyCondition>d.masterCondition; - return this._selectedEntry.id === mc.value; - - default: - throw new Error("SelectField.verifiesDependency() : type de condition '" - + DependencyConditionType[d.masterCondition.type] + "' non pris en charge"); - } - } - public updateLocalisation(loc: StringMap) { super.updateLocalisation(loc); for (const e of this._entries) { @@ -112,10 +94,11 @@ export class SelectField extends Field { public parseConfig(field: {}, data?: {}) { this._confId = field["id"]; const source = field["source"]; + const nub: Nub = (this.parentForm as FormulaireDefinition).currentNub; // ad-hoc cases switch (source) { - case "lechapt_calmon_materials": + case "lechapt_calmon_material": this.addEntry(new SelectEntry("select_material_empty", "")); let i = 0; for (const mat of LechaptCalmon.materials) { @@ -125,7 +108,7 @@ export class SelectField extends Field { } break; - case "acsection_available_sections": + case "acsection_section": for (const sec of acSection.availableSectionTypes) { const e: SelectEntry = new SelectEntry("select_section_" + sec.id, sec.value); this.addEntry(e); @@ -146,38 +129,25 @@ export class SelectField extends Field { this.addEntry(e); } break; - } - /* for (const v of values) { - let val: string; - if (v.enum) { - const tmp = v.enum.split("."); - switch (tmp[0]) { - case "ComputeNodeType": - val = ComputeNodeType[tmp[1]]; - break; - - case "StructureType": - val = StructureType[tmp[1]]; - break; - - case "LoiDebit": - val = LoiDebit[tmp[1]]; - break; - - case "MethodeResolution": - val = MethodeResolution[tmp[1]]; - break; - - default: - throw new Error(`type d'enum ${tmp[0]} non pris en charge`); + + case "device_structure_type": + for (const st in (nub as ParallelStructure).getLoisAdmissibles()) { + const e: SelectEntry = new SelectEntry("select_structure_" + st, StructureType[st]); + this.addEntry(e); } - } else if (v.value) { - val = v.value; - } + break; - const id = v["id"]; - const e: SelectEntry = new SelectEntry(id, val); - this.addEntry(e); - } */ + case "device_loi_debit": + // get current structure type from appropriate Nub child + const child = nub.getChildren()[this.parent.indexAsKid()]; + const cst = child.properties.getPropValue("structureType"); + const la = (nub as ParallelStructure).getLoisAdmissibles(); + const stName = StructureType[cst]; + for (const ld of la[stName]) { + const e: SelectEntry = new SelectEntry("select_loidebit_" + stName + "_" + LoiDebit[ld], ld); + this.addEntry(e); + } + break; + } } } diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts index 0b499b5d895036c7bcc44e8e9f6525f8afa95862..97016de31a93512fa5f8082189bb358580ad8321 100644 --- a/src/app/services/formulaire/formulaire.service.ts +++ b/src/app/services/formulaire/formulaire.service.ts @@ -394,7 +394,6 @@ export class FormulaireService extends Observable { return f; }).then(fi => { - fi.applyDependencies(); this.notifyObservers({ "action": "createForm", "form": fi