Some autocompletion improvements:
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Tue, 17 Apr 2007 13:33:31 +0000 (13:33 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Tue, 17 Apr 2007 13:33:31 +0000 (13:33 +0000)
-> fix selection color on skin keynote
-> hide fields which can't be edited
-> show where the match has been found

 htdocs/css/keynote.css        |    8 ++++++++
 templates/emails/redirect.tpl |   12 ++++++------
 templates/search/adv.form.tpl |   36 +++++++++++++++++++++++-------------
 3 files changed, 37 insertions(+), 19 deletions(-)

git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1713 839d8a87-29fc-0310-9880-83ba4fa771e5

htdocs/css/keynote.css
templates/emails/redirect.tpl
templates/search/adv.form.tpl

index 2147954..db17c86 100644 (file)
@@ -610,4 +610,12 @@ div#content {
     font-size: 85%;
 }
 
+.ac_results {
+    font-size: 90%;
+    background: #fff;
+}
+
+.ac_results li.over {
+    color: #777;
+}
 /* vim: set et ts=4 sts=4 sw=4: */
index 811220b..dd57164 100644 (file)
           </select>
         </td>
         <td>
-                 <a href="emails/redirect/remove/{$e->email}" onclick="if (confirm('Supprimer l\'adresse {$e->email} ?')) $.get(this.href,{literal}{}{/literal},function() {literal}{{/literal} $('tr[@id=line_{$e->email|replace:'@':'_at_'}]').remove();{literal}}{/literal}); return false">
-                   {icon name=cross title="retirer"}
-                 </a>
-               </td>
+          <a href="emails/redirect/remove/{$e->email}" onclick="if (confirm('Supprimer l\'adresse {$e->email} ?')) $.get(this.href,{literal}{}{/literal},function() {literal}{{/literal} $('tr[@id=line_{$e->email|replace:'@':'_at_'}]').remove();{literal}}{/literal}); return false">
+            {icon name=cross title="retirer"}
+          </a>
+        </td>
       </tr>
       {/foreach}
       <tr class="{cycle values="pair,impair"}"><td colspan="4">
         <form action="emails/redirect" method="post">
         <div>
-               &nbsp;<br />
-               Ajouter une adresse email :
+                &nbsp;<br />
+                Ajouter une adresse email :
             <input type="text" size="35" maxlength="60" name="email" value="" />
             &nbsp;&nbsp;<input type="submit" value="ajouter" name="emailop" />
         </div>
index 0dbef84..64fc31a 100644 (file)
         var baseurl = "{#globals.baseurl#}/search/";
         {literal}
         // display an autocomplete row : blabla (nb of found matches)
-        function format_autocomplete(row) {
-          if (row[1] == 1) {
-            return row[0];
-          }
-          return row[0] + ' ('+ row[1] + ')';
+        function make_format_autocomplete(block) {
+          return function(row) {
+              regexp = new RegExp('(' + block.value + ')', 'i');
+              name = row[0].replace(regexp, '<strong>$1</strong>');
+              if (row[1] == 1) {
+                return name;
+              }
+              return name + '<em>&nbsp;&nbsp;-&nbsp;&nbsp;'+ row[1] + ' camarades</em>';
+            };
         }
         
         // when changing country, open up region choice
             $(".autocomplete[@name='countryTxt']").addClass('hidden_valid');
             $("[@name='region']").parent().load(baseurl + 'list/region/', { country:a2 }, function() {
               if ($("select[@name='region']").children("option").size() > 1) {
-                $("select[@name='region']").attr('value', '{/literal}{$smarty.request.region}{literal}').show();
+                $("select[@name='region']").attr('value', '{/literal}{$smarty.request.region}{literal}');
+                $("tr#region_ln").show();
               } else {
-                $("select[@name='region']").attr('value', '').hide();
+                $("select[@name='region']").attr('value', '');
+                $("tr#region_ln").hide();
               }
             });
           } else {
             $(".autocomplete[@name='countryTxt']").removeClass('hidden_valid');
-            $("select[@name='region']").attr('value', '').hide();
+            $("select[@name='region']").attr('value', '');
+            $("tr#region_ln").hide();
           }
         }
         
             $("[@name='diploma']").parent().load(baseurl + 'list/diploma/', { school:schoolId }, function() {
               if ($("select[@name='diploma']").children("option").size() > 1) {
                 $("select[@name='diploma']").attr('value', '{/literal}{$smarty.request.diploma}{literal}');
+                $("tr#diploma_ln").show();
               } else {
-                $("select[@name='diploma']").attr('value', '').hide();
+                $("select[@name='diploma']").attr('value', '');
+                $("tr#diploma_ln").hide();
               }
             });
           } else {
             $(".autocomplete[@name='schoolTxt']").removeClass('hidden_valid');
-            $("select[@name='diploma']").attr('value', '').hide();
+            $("select[@name='diploma']").attr('value', '');
+            $("tr#diploma_ln").hide();
           }
         }
         
               }
               $(this).autocomplete(baseurl + "autocomplete/"+this.name,{
                 selectOnly:1,
-                formatItem:format_autocomplete,
+                formatItem:make_format_autocomplete(this),
                 field:this.name,
                 onItemSelect:select_autocomplete(this.name),
                 matchSubset:0,
         <a href="country" class="autocompleteToSelect">{icon name="table" title="Tous les pays"}</a>
       </td>
     </tr>
-    <tr>
+    <tr id="region_ln">
       <td>Région ou département</td>
       <td>
         <input name="region" type="hidden" size="32" value="{$smarty.request.region}"/>
@@ -343,7 +353,7 @@ checked="checked"{/if}/>chercher uniquement les adresses où les camarades sont
         <a href="school" class="autocompleteToSelect">{icon name="table" title="Toutes les formations"}</a>
       </td>
     </tr>
-    <tr>
+    <tr id="diploma_ln">
       <td>Diplôme</td>
       <td>
         <input name="diploma" type="hidden" size="32" value="{$smarty.request.diploma}"/>