MOD Amélioration de la recherche (encore)
authorpifou <pifou@02bbb61a-6d21-0410-aba0-cb053bdfd66a>
Fri, 29 Jun 2007 13:44:24 +0000 (13:44 +0000)
committerpifou <pifou@02bbb61a-6d21-0410-aba0-cb053bdfd66a>
Fri, 29 Jun 2007 13:44:24 +0000 (13:44 +0000)
git-svn-id: svn://euphorik.ch/pompage@39 02bbb61a-6d21-0410-aba0-cb053bdfd66a

css/yopyop.css
js/yopyop.js
xsl/yopyop.xsl

index 701de9b..c2eaffd 100644 (file)
@@ -295,12 +295,20 @@ div.pied {
    min-width: 630px;\r
    padding-top: 50px;\r
 }\r
-div.pied p {\r
+\r
+div.pied div {\r
    background-color: #64A25C;\r
    font-size: 8pt;\r
    padding-left: 10px;\r
 }\r
+\r
+div.pied span#tempsRecherche, div.pied span#by {\r
+       margin-left: 10px;\r
+       margin-right: 10px\r
+}\r
+\r
 div.pied a {\r
    margin-left: 10px;\r
+   margin-right: 10px\r
 }\r
 \r
index af553f8..c4b2af0 100644 (file)
@@ -56,6 +56,18 @@ var derniereRecherche = new Date();
 derniereRecherche.setMinutes(derniereRecherche.getMinutes() - 1);\r
 var motifDerniereRecherche = ""\r
 \r
+var nbPending = 0\r
+\r
+/**\r
+  * Permet de mettr en queue les requêtes.\r
+  */\r
+function doRecherchePending()\r
+{\r
+   nbPending -= 1;\r
+   if (nbPending == 0) // si c'est la dernière requête en attente on l'effectue\r
+      doRecherche();\r
+}\r
+\r
 /**\r
   * Effectue une recherche, n'affiche que les films qui contiennent le motif recherché
   * Recherche dans le titre, le realisateur, les acteurs, les genres et les pays en fonction des checkbox respectives.\r
@@ -64,21 +76,25 @@ function doRecherche(f)
 {\r
    // le motif à chercher\r
    var motif = document.getElementById("recherche").value\r
-   if (f == null && motif == motifDerniereRecherche) return;\r
+   motif = trim(motif)\r
    \r
+   if (f == null && motif == motifDerniereRecherche) return;\r
+      \r
    // empèche de faire deux recherches successive en moins de 800ms\r
    var now = new Date();\r
    if (now.getTime() < derniereRecherche.getTime() + 800)\r
    {\r
       // si une recherche à était demandé mais n'a pu aboutir alors on la refait dans certain temps\r
-      setTimeout("doRecherche()", 810 - (now.getTime() - derniereRecherche.getTime()));\r
+      setTimeout("doRecherchePending()", 810 - (now.getTime() - derniereRecherche.getTime()));\r
+      nbPending += 1\r
       return;\r
    }\r
+   \r
    motifDerniereRecherche = motif;\r
    derniereRecherche = now;\r
-   \r
+      \r
    //dump ("recherche : " + motif + "\r\n");\r
-   //debut = new Date().getTime()\r
+   debut = new Date().getTime()\r
 \r
    var afficherTout = false;\r
    // si aucun choix n'est fait pour la recherche on affiche tout\r
@@ -125,8 +141,8 @@ function doRecherche(f)
    // mise à jour de l'affichage du nombre de film total/affiché\r
    document.getElementById("nbFilms").textContent = nbFilmAffiche + " / " + nbFilm + " film" + (nbFilm > 1 ? "s" : "")\r
    \r
-   //fin = new Date().getTime()\r
-   //dump ("Temps : " + (fin - debut) / 1000 + "s\r\n\r\n")\r
+   fin = new Date().getTime()\r
+   document.getElementById("tempsRecherche").textContent = "Temps de la recherche : " + (fin - debut) / 1000 + "s"\r
 }\r
 \r
 /**\r
index 53b9958..cbbf1f7 100644 (file)
      </table>     \r
     </div>\r
     \r
-    <div class="pied"><p>by pifou <a href="../xpi/divxlist.xpi">extension firefox</a></p></div>\r
+    <div class="pied">\r
+     <div>\r
+      <span id="by" >by pifou</span>/<a href="../xpi/divxlist.xpi">extension firefox</a>/<span id="tempsRecherche"></span>\r
+     </div>\r
+    </div>\r
     
    </body>
   </html>