From 9bfb8ca12c473315b9c174e9b280c2ad0ed23a31 Mon Sep 17 00:00:00 2001 From: pifou Date: Fri, 29 Jun 2007 13:44:24 +0000 Subject: [PATCH] =?utf8?q?MOD=20Am=C3=A9lioration=20de=20la=20recherche=20?= =?utf8?q?(encore)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: svn://euphorik.ch/pompage@39 02bbb61a-6d21-0410-aba0-cb053bdfd66a --- css/yopyop.css | 10 +++++++++- js/yopyop.js | 28 ++++++++++++++++++++++------ xsl/yopyop.xsl | 6 +++++- 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/css/yopyop.css b/css/yopyop.css index 701de9b..c2eaffd 100644 --- a/css/yopyop.css +++ b/css/yopyop.css @@ -295,12 +295,20 @@ div.pied { min-width: 630px; padding-top: 50px; } -div.pied p { + +div.pied div { background-color: #64A25C; font-size: 8pt; padding-left: 10px; } + +div.pied span#tempsRecherche, div.pied span#by { + margin-left: 10px; + margin-right: 10px +} + div.pied a { margin-left: 10px; + margin-right: 10px } diff --git a/js/yopyop.js b/js/yopyop.js index af553f8..c4b2af0 100644 --- a/js/yopyop.js +++ b/js/yopyop.js @@ -56,6 +56,18 @@ var derniereRecherche = new Date(); derniereRecherche.setMinutes(derniereRecherche.getMinutes() - 1); var motifDerniereRecherche = "" +var nbPending = 0 + +/** + * Permet de mettr en queue les requêtes. + */ +function doRecherchePending() +{ + nbPending -= 1; + if (nbPending == 0) // si c'est la dernière requête en attente on l'effectue + doRecherche(); +} + /** * 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. @@ -64,21 +76,25 @@ function doRecherche(f) { // le motif à chercher var motif = document.getElementById("recherche").value - if (f == null && motif == motifDerniereRecherche) return; + motif = trim(motif) + if (f == null && motif == motifDerniereRecherche) return; + // empèche de faire deux recherches successive en moins de 800ms var now = new Date(); if (now.getTime() < derniereRecherche.getTime() + 800) { // si une recherche à était demandé mais n'a pu aboutir alors on la refait dans certain temps - setTimeout("doRecherche()", 810 - (now.getTime() - derniereRecherche.getTime())); + setTimeout("doRecherchePending()", 810 - (now.getTime() - derniereRecherche.getTime())); + nbPending += 1 return; } + motifDerniereRecherche = motif; derniereRecherche = now; - + //dump ("recherche : " + motif + "\r\n"); - //debut = new Date().getTime() + debut = new Date().getTime() var afficherTout = false; // si aucun choix n'est fait pour la recherche on affiche tout @@ -125,8 +141,8 @@ function doRecherche(f) // mise à jour de l'affichage du nombre de film total/affiché document.getElementById("nbFilms").textContent = nbFilmAffiche + " / " + nbFilm + " film" + (nbFilm > 1 ? "s" : "") - //fin = new Date().getTime() - //dump ("Temps : " + (fin - debut) / 1000 + "s\r\n\r\n") + fin = new Date().getTime() + document.getElementById("tempsRecherche").textContent = "Temps de la recherche : " + (fin - debut) / 1000 + "s" } /** diff --git a/xsl/yopyop.xsl b/xsl/yopyop.xsl index 53b9958..cbbf1f7 100644 --- a/xsl/yopyop.xsl +++ b/xsl/yopyop.xsl @@ -80,7 +80,11 @@ -

by pifou extension firefox

+
+
+ by pifou/extension firefox/ +
+
-- 2.43.0