sync vp
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 13 Apr 2011 15:42:30 +0000 (11:42 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Wed, 13 Apr 2011 15:42:30 +0000 (11:42 -0400)
project/media/js/dae.js

index e8732c5..91a260d 100644 (file)
@@ -8,6 +8,7 @@ function clean_float(value){
     return output;
 }
 
+/* Construction dynamique des valeurs de point en fonction de l'implantation choisie */
 function charger_valeurs_point(implantation_id) {
     var params = {'implantation_id' : implantation_id};
     $.getJSON('/dae/liste_valeurs_point', params, function(data) {
@@ -23,6 +24,8 @@ function charger_valeurs_point(implantation_id) {
     });
 }
 
+/* Calcul des totaux dans les 2 devises, selon les champs sélectionnés. Cette fonction
+est appelée À chaque modification du formulaire de classement. */
 function recalculer(element) {
     var ligne = element.parents("tr");
     var inputs = ligne.find("input, select");
@@ -85,7 +88,7 @@ $(document).ready(function() {
 
     $('#id_valeur_point_min, #id_valeur_point_max').change(function(e) {
         var vp_input = $(this);
-        var ligne = vp_input.parents("tr");
+        var ligne = vp_input.parents("tr").parent(); // en fait on travaille sur tout le tableau dans ce cas!
 
         var chargement_devise = $.getJSON("/dae/devise", {'valeur_point': this.value});
         chargement_devise.success(function(data) {
@@ -97,6 +100,15 @@ $(document).ready(function() {
                     ligne.find(".taux").text(data.taux_euro)
                     ligne.find(".devise_code").text(data.devise_code)
             });
+
+            /* on synchronise les valeurs de points */
+            $('#id_valeur_point_min, #id_valeur_point_max').each(function() {
+                var vp = $(this);
+                if (vp.val() != vp_input.val()) {
+                    vp.val(vp_input.val())
+                }
+            });
+
             recalculer(vp_input);
         });
         chargement_devise.error(function(data) {
@@ -138,7 +150,7 @@ $(document).ready(function() {
         });
     });
 
-
+    /* refresh des totaux à chaque changement quelconque */
     $('#classement input, #classement select').change(function() {
         recalculer($(this));
     });