Fixes colour alternance problems in the education form when adding/removing an item.
authorStéphane Jacob <jacou@melix.net>
Thu, 21 Aug 2008 10:52:51 +0000 (12:52 +0200)
committerStéphane Jacob <jacou@melix.net>
Thu, 21 Aug 2008 10:53:00 +0000 (12:53 +0200)
htdocs/javascript/profile.js
templates/profile/edu.tpl
templates/profile/general.tpl

index 4b3c470..7f49044 100644 (file)
@@ -273,17 +273,25 @@ function addAddress()
 function addEdu()
 {
     var i = 0;
+    var j = 0;
     var prefix  = 'edu_';
     var class_parity;
 
-    while ($('.' + prefix + i).length != 0) {
+    while (!$('#edu_add').hasClass(prefix + i)) {
+        if ($('.' + prefix + i).length != 0) {
+            j++;
+        }
         i++;
     }
-    if (i % 2) {
+    if (j % 2) {
         class_parity = 'pair';
     } else {
         class_parity = 'impair';
     }
+    $('#edu_add').removeClass(prefix + i);
+    i++;
+    $('#edu_add').addClass(prefix + i);
+    i--;
     $.get(platal_baseurl + 'profile/ajax/edu/' + i + '/' + class_parity,
           function(data) {
               $('#edu_add').before(data);
@@ -291,9 +299,15 @@ function addEdu()
           });
 }
 
-function removeEdu(id)
+function removeEdu(i)
 {
-    $('.' + id).remove();
+    var prefix  = 'edu_';
+    $('.' + prefix + i).remove();
+    while (!$('#edu_add').hasClass(prefix + i)) {
+        $('.' + prefix + i).toggleClass('pair');
+        $('.' + prefix + i).toggleClass('impair');
+        i++;
+    }
 }
 
 function addTel(prefid, prefname)
index 61d0483..05883d3 100644 (file)
@@ -23,7 +23,7 @@
 {assign var=eduname value="edus[`$eduid`]"}
 <tr class="edu_{$eduid} {$class}">
   <td colspan="2">
-    <a href="javascript:removeEdu('edu_{$eduid}')">
+    <a href="javascript:removeEdu('{$eduid}')">
       {icon name=cross title="Supprimer cette formation"}
     </a>
     <select name="{$eduname}[eduid]" onchange="fillType(this.form['{$eduname}[degreeid]'], this.selectedIndex - 1);">
index 06325c0..90b92f3 100644 (file)
     {include file="profile/edu.tpl" eduid=0 edu=0 class=$class}
   {/if}
   {cycle values="impair, pair" assign=class}
-  <tr id="edu_add" class="{$class}">
+  {assign var=eduaddid value=$edus|@count}
+  <tr id="edu_add" class="edu_{$eduaddid} {$class}">
     <td colspan="2">
       <div class="center" style="clear: both; padding-top: 4px;">
         <a href="javascript:addEdu();">