Closed DDorch closed 8 years ago
Pour gérer les boutons radios à l'aide du mécanisme de data-binding, on peut s'inspirer de l'exemple suivant : http://stackoverflow.com/questions/31879497/angular2-radio-button-binding
A la suite du commit 42972527b6ca0d34761a833a8277d4691a43111d, la compilation plante avec le message :
Error loading http://localhost:3000/app/radio_value_accessor.js as "./radio_value_accessor" from http://localhost:3000/app/form_cond_distri.js
Il semble que le fichier app/radio_value_accessor.js
n'a pas été versionné.
Testé avec la version ff60efd16fefaa6c81900efe14e2ae54afb5f562
Il manque encore un test pour faire en sorte qu'il y a toujours un bouton de la colonne "Paramètre à calculer" qui soit coché.
La version cad5db3db6127890574cb5e63c82033d1cc8fc19 est censé prendre en compte la lecture dans le fichier json du formulaire du paramètre de l'équation qui sera le paramètre à calculer par défaut. Le problème est que la lecture du fichier json se fait de façon asynchrone et que la variable n'est pas disponible au moment opportun pour définir le tableau qui va permettre de cocher les boutons radio.
Le problème venait du fait que les requêtes http sont asynchrones. Je me suis inspiré de l'exemple fourni ici : https://www.ng-book.com/2/p/HTTP/#building-the-simplehttpcomponent-controller
L'utilisation de subscribe
permet d'intercepter la réponse envoyée après la requête http. Il suffit donc d'ajouter l'initialisation des variables dans le subscribe
pour que celles-ci soient initialisées au bon moment.
OK, il reste effectivement à gérer l'initialisation du champ input au début. Angular a un mécanisme de "property binding" qui permettra à al fois d'initialiser l'état (enabled/disabled) des input au chargement et de les mettre à jour au moment des sélections des boutons radio.
Reprendre les scripts de la version actuelle de la calculatrice.
Les scripts en question se trouvent ici : http://zone.spip.org/trac/spip-zone/browser/_plugins_/hydraulic/trunk/hyd_inc/form_js.html Ils font références à d'autres scripts qui se trouvent ici : http://zone.spip.org/trac/spip-zone/browser/_plugins_/hydraulic/trunk/js/hyd_fonctions.js