DDorch / jacase

JAvascript CAlculators for Scientific Equations
http://hydraulique.g-eau.net/-Calculettes-pour-l-hydraulique-
MIT License
0 stars 0 forks source link

Boutons radio initialisés à cal pour les paramètres de section #24

Open manalaf opened 8 years ago

manalaf commented 8 years ago

Le glob est bien initialisé mais ça n'en a pas l'air sur la page web. De plus, les champs input sont disabled à cause de la condition suivante :[disabled]="glob[param.id]!='fix'" qui bloque la saisie si les champs sont à calculer ou à varier. Donc s'ils sont disabled cela voudrait dire qu'ils sont considérés comme cal dans glob. Tout cela est contradictoire.

DDorch commented 8 years ago

J'ai essayé de regarder. La variable glob concernant les deux premiers champ a bien la valeur "cal". Le data-binding fonctionne donc bien comme il faut. Il faut plutôt creuser du côté de l'initialisation de glob.

J'ai mis des console.log dans la méthode d'initialisation de glob et en voici les sorties :

id=Lf
this.glob[this.fields[i].id]=fix
id=F
this.glob[this.fields[i].id]=fix
id=Ks
this.glob[this.fields[i].id]=fix
id=If
this.glob[this.fields[i].id]=fix
id=YB
this.glob[this.fields[i].id]=fix
id=Q
this.glob[this.fields[i].id]=cal
id=Y
this.glob[this.fields[i].id]=fix
Object { Lf: "cal", F: "cal", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" }

Avant la ligne "Object...", on est dans initGlob et tout va bien. Par contre, plus tard dans le code le log de glob nous dit que les deux premiers champs sont à "cal". Reste à savoir qui a fait ça. Je subodore que c'est gestionRadios mais ça peut être un problème de data-binding. D'ailleurs, à quoi servent les :

<td *ngIf="option !='fix'" align="center">``` ?
manalaf commented 8 years ago

Le *ngIf="option !='fix'"sert à afficher les boutons radio que dans le cas ou le paramètre est à varier ou à calculer. Dans la calculette courbes de remous par exemple, tous les champs sont fixés, on n'a pas besoin de boutons radio.

DDorch commented 8 years ago

Damned, ce matin, je n'ai pas le même résultat:

form_section.initFields fin
Object { Lf: "fix", F: "fix", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" }

C'est à n'y rien comprendre...

manalaf commented 8 years ago

Quand je mets le console.log(this.glob) au début de la méthode gestionRadios je retrouve : Object { Lf: "cal", F: "cal", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" } Tandis qu'à la fin de cette dernière je retrouve : Object { Lf: "fix", F: "fix", Ks: "fix", If: "fix", YB: "fix", Q: "cal", Y: "fix" } ( avec le changement lié à la case cochée)

manalaf commented 8 years ago

C'est l'initialisation qui ne se fait pas correctement

manalaf commented 8 years ago

C'est bon j'ai trouvé l'erreur, un '=' à la place de '==' faisait planter le data binding ..