MOD amélioration du style
authorGreg Burri <greg.burri@gmail.com>
Mon, 26 May 2008 19:32:07 +0000 (19:32 +0000)
committerGreg Burri <greg.burri@gmail.com>
Mon, 26 May 2008 19:32:07 +0000 (19:32 +0000)
FIX problème lié aux appels concurrents

css/1/euphorik.css
css/1/pageAdmin.css
js/euphorik.js

index f772ba8..7a9fdf4 100755 (executable)
@@ -182,21 +182,26 @@ form select {
        border: #841919 1px solid;
 }
 
+form input:hover, form input:focus,
+form button:hover, form button:focus,
+form select:hover, form select:focus {
+       background-color: #ffffff;
+}
+
 form input,
 form select {
        font-size: 12px;
 }
-
 form button {
        font-size: 11px;
 }
 \r
 a {\r
-       text-decoration: none;\r
+       text-decoration: underline;\r
 }\r
-a:link:visited {\r
+a:link, a:visited {\r
        color: #c62929;\r
 }\r
-a:hover:active {\r
+a:hover, a:active {\r
        color: #e84747;\r
 }\r
index 95c835a..2341b6c 100644 (file)
 
 #page.admin div.troll,
 #page.admin .ban {
-       margin-top: 10px;
+       margin-top: 5px;
        padding: 2px 10px 2px 10px;
        border: 1px solid;\r
        background-color: #841919;
+       color: #ffffff;
 }
 
 #page.admin div.troll img {
 
 #page.admin div.troll span.content {
        font-style: italic;
-       color: #ffffff;
 }
 
 #page.admin div.troll .author {
        margin-left: 10px;
-       color: #ffffff; 
 }
 
 #page.admin div.troll input {
        padding-left: 5px;\r
        background-color: #f0df95; \r
        border: #841919 1px solid;
+       color: #841919;
 }
 
+#page.admin div.troll .editTroll:hover,
+#page.admin div.troll .delTroll:hover,
+#page.admin div.troll .modifier:hover,
+#page.admin div.troll .annuler:hover,
+#page.admin div.ban .deban:hover
+{
+       background-color: #ffffff; 
+}
+
+#page.admin #ips {
+       color: #ffffff;
+}
 
 #page.admin #ips .ip {
        margin-right : 10px;
index 126f335..b44f042 100755 (executable)
@@ -914,6 +914,9 @@ function PageEvent(page, util)
    
    // l'objet JSONHttpRequest représentant la connexion d'attente
    this.attenteCourante = null
+   
+   // le multhreading du pauvre, merci javascript de m'offrire autant de primitives pour la gestion de la concurrence...
+   this.stop = false
 }
 
 /**
@@ -921,8 +924,12 @@ function PageEvent(page, util)
   */
 PageEvent.prototype.stopAttenteCourante = function()
 {
+   this.stop = true
+         
    if (this.attenteCourante != null)
+   {
       this.attenteCourante.abort()   
+   }
 }
 
 /**
@@ -932,11 +939,13 @@ PageEvent.prototype.stopAttenteCourante = function()
   */
 PageEvent.prototype.waitEvent = function(funSend, funReceive)
 {
-   var thisPageEvent = this
-      
    this.stopAttenteCourante()
+   
+   this.stop = false
+   
+   var thisPageEvent = this
       
-   // on doit conserver l'ordre des valeurs de l'objet JSON (le serveur les veux dans l'ordre définit dans le protocole)
+   // on doit conserver l'ordre des valeurs de l'objet JSON (le serveur les veut dans l'ordre définit dans le protocole)
    // TODO : ya pas mieux ?
    var dataToSend = 
    {
@@ -948,6 +957,7 @@ PageEvent.prototype.waitEvent = function(funSend, funReceive)
       dataToSend[v] = poulpe[v]
    
    ;;; dumpObj(dataToSend)
+   
    this.attenteCourante = jQuery.ajax({
       type: "POST",
       url: "request",
@@ -961,15 +971,24 @@ PageEvent.prototype.waitEvent = function(funSend, funReceive)
             funReceive(data)
             
             // rappel de la fonction dans 100 ms
-            setTimeout(function(){ thisPageEvent.waitEvent(funSend, funReceive) }, 100);
+            setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funReceive) }, 100)
          },
       error:
          function(XMLHttpRequest, textStatus, errorThrown)
          {
-            setTimeout(function(){ thisPageEvent.waitEvent(funSend, funReceive) }, 1000);
+            setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funReceive) }, 1000)
          }
    })
+}
 
+/**
+  * Si un stopAttenteCourante survient un peu n'importe quand il faut imédiatement arreter de boucler.
+  */
+PageEvent.prototype.waitEvent2 = function(funSend, funReceive)
+{
+   if (this.stop)
+      return
+   this.waitEvent(funSend, funReceive)
 }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////