Skip to content
Snippets Groups Projects
Commit dd6da1df authored by mathias.chouet's avatar mathias.chouet
Browse files

Removed "option" from config, read acceptable modes from parameter calculability instead

parent 0c97460f
No related branches found
No related tags found
1 merge request!53Resolve "Déplacer au maximum la configuration d'un module vers JaLHyd"
Showing
with 27 additions and 63 deletions
......@@ -3,26 +3,21 @@
"id": "fs_param_hydro",
"type": "fieldset",
"calcType": "Dever",
"option": "cal",
"fields": [
{
"id": "Q"
},
{
"id": "Z1",
"option": "var"
"id": "Z1"
},
{
"id": "LB",
"option": "var"
"id": "LB"
},
{
"id": "BB",
"option": "var"
"id": "BB"
},
{
"id": "PB",
"option": "var"
"id": "PB"
},
{
"id": "DH"
......@@ -36,7 +31,6 @@
"defaultNodeType": "StructureRectangle",
"defaultStructType": "SeuilRectangulaire",
"defaultLoiDebit": "WeirSubmergedLarinier",
"option": "cal",
"fields": [
{
"id": "select_ouvrage",
......
......@@ -2,7 +2,6 @@
{
"id": "fs_hydraulique",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "Q"
......
......@@ -3,7 +3,6 @@
"id": "fs_param_hydro",
"type": "fieldset",
"calcType": "Dever",
"option": "cal",
"fields": [
{
"id": "Q"
......@@ -12,12 +11,10 @@
"id": "Z1"
},
{
"id": "BR",
"option": "var"
"id": "BR"
},
{
"id": "ZR",
"option": "var"
"id": "ZR"
}
]
},
......@@ -28,7 +25,6 @@
"defaultNodeType": "StructureRectangle",
"defaultStructType": "SeuilRectangulaire",
"defaultLoiDebit": "WeirFree",
"option": "cal",
"fields": [
{
"id": "select_ouvrage",
......
......@@ -2,7 +2,6 @@
{
"id": "fs_materiau",
"type": "fieldset",
"option": "fix",
"fields": [
{
"id": "select_material",
......@@ -23,7 +22,6 @@
{
"id": "fs_hydraulique",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "Q"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_hydraulique_fix",
"type": "fieldset",
"option": "var",
"fields": [
{
"id": "ZF1"
......@@ -18,7 +17,6 @@
{
"id": "fs_hydraulique_cal",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "B"
......@@ -40,7 +38,6 @@
{
"id": "fs_bloc",
"type": "fieldset",
"option": "var",
"fields": [
{
"id": "PBD"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_chute",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "Z1"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_dimensions",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "L"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_nombre",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "DHT"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_puissance",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "DH"
......
......@@ -3,7 +3,6 @@
"id": "fs_param_hydro",
"type": "fieldset",
"calcType": "Pab",
"option": "cal",
"fields": [
{
"id": "Q"
......@@ -12,8 +11,7 @@
"id": "Z1"
},
{
"id": "Z2",
"option": "var"
"id": "Z2"
}
]
},
......
......@@ -3,7 +3,6 @@
"id": "fs_param_hydro",
"type": "fieldset",
"calcType": "ParallelStructure",
"option": "cal",
"fields": [
{
"id": "Q"
......@@ -23,7 +22,6 @@
"defaultNodeType": "StructureRectangle",
"defaultStructType": "VanneRectangulaire",
"defaultLoiDebit": "GateCem88v",
"option": "cal",
"fields": [
{
"id": "select_ouvrage",
......
......@@ -2,7 +2,6 @@
{
"id": "fs_section",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "select_section",
......@@ -29,7 +28,6 @@
{
"id": "fs_bief",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "Ks"
......@@ -45,7 +43,6 @@
{
"id": "fs_hydraulique",
"type": "fieldset",
"option": "cal",
"fields": [
{
"id": "Q"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_section",
"type": "fieldset",
"option": "fix",
"fields": [
{
"id": "select_section",
......@@ -29,7 +28,6 @@
{
"id": "fs_bief",
"type": "fieldset",
"option": "fix",
"fields": [
{
"id": "Ks"
......@@ -48,7 +46,6 @@
{
"id": "fs_condlim",
"type": "fieldset",
"option": "fix",
"fields": [
{
"id": "Q"
......@@ -64,7 +61,6 @@
{
"id": "fs_param_calc",
"type": "fieldset",
"option": "fix",
"fields": [
{
"id": "Dx"
......
......@@ -2,7 +2,6 @@
{
"id": "fs_section",
"type": "fieldset",
"option": "var",
"fields": [
{
"id": "select_section",
......@@ -29,7 +28,6 @@
{
"id": "fs_bief",
"type": "fieldset",
"option": "var",
"fields": [
{
"id": "Ks"
......@@ -45,7 +43,6 @@
{
"id": "fs_hydraulique",
"type": "fieldset",
"option": "var",
"fields": [
{
"id": "Q"
......
......@@ -114,14 +114,14 @@ export class FieldSet extends FormulaireElement implements Observer {
* @param node_type_filter filtre sur le type de noeud (input créé si undefined ou égal)
* @param default_radio_config config du radio fixé/à varier/à calculer
*/
private parse_input(json: {}, default_radio_config: string): NgParameter {
private parse_input(json: {}): NgParameter {
const input_id: string = json["id"];
let res: NgParameter;
let nubParam: ParamDefinition;
try {
nubParam = this.getNubParamFromSymbol(input_id);
res = new NgParameter(nubParam, this);
res.parseConfig(json, { "radioConfig": default_radio_config });
res.parseConfig(json);
} catch (e) {
// parameter does not exist in Nub, it's normal, simply do not show it (silent fail)
// console.error(`FieldSet::parse_input : cannot find param from symbol ${input_id}`);
......@@ -138,10 +138,10 @@ export class FieldSet extends FormulaireElement implements Observer {
switch (type) {
case "input":
const default_radio_config = this._jsonConfig["option"];
param = this.parse_input(field, default_radio_config);
// tslint:disable-next-line:max-line-length
if (param) { // potentiellement undefined car certaines définitions de FieldSet comportent des paramètres qui ne sont pas tous affichés en même temps (cf. ouvrages //)
param = this.parse_input(field);
// potentiellement undefined car certaines définitions de FieldSet comportent des paramètres
// qui ne sont pas tous affichés en même temps (cf. ouvrages //)
if (param) {
this.addField(param);
}
break;
......
......@@ -261,20 +261,19 @@ export class NgParameter extends InputField implements Observer {
return this._paramDef.valuesIterator;
}
private static getRadioConfig(s: string) {
if (s === "fix") {
return ParamRadioConfig.FIX;
}
if (s === "var") {
return ParamRadioConfig.VAR;
}
if (s === "cal") {
return ParamRadioConfig.CAL;
/**
* Reads radio config from parameter calculability
*/
private getRadioConfig() {
switch (this.paramDefinition.calculability) {
case ParamCalculability.FIXED:
return ParamRadioConfig.FIX;
case ParamCalculability.FREE:
return ParamRadioConfig.VAR;
case ParamCalculability.DICHO:
case ParamCalculability.EQUATION:
return ParamRadioConfig.CAL;
}
throw new Error("invalid parameter radio configuration " + s);
}
/**
......@@ -438,11 +437,10 @@ export class NgParameter extends InputField implements Observer {
return this._paramDef.checkStep(step);
}
public parseConfig(json: {}, data?: {}) {
const radioConfig: string = json["option"] || data["radioConfig"];
public parseConfig(json: {}) {
this._confId = json["id"];
this.unit = this.paramDefinition.unit;
this.radioConfig = NgParameter.getRadioConfig(radioConfig);
this.radioConfig = this.getRadioConfig();
}
// interface Observer
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment