ADD un beau smile :F
[euphorik.git] / js / pageMinichat.js
index 574dedd..244467a 100755 (executable)
@@ -87,6 +87,12 @@ PageMinichat.prototype.charger = function()
       $("form#posterMessage #repondA").hover(
          function() { thisPage.util.afficherBoite($(".messages", this), $(this), positionTypeX.centre, positionTypeY.bas) },
          function() { $(".messages", this).hide() }
+      ).click(
+         function(e)
+         {
+            if ($(e.target).is(".nb"))
+               thisPage.conversations.enleverMessagesRepond()             
+         }     
       )
    )
 
@@ -98,7 +104,7 @@ PageMinichat.prototype.charger = function()
       {
          var opacityBase = $(this).css("opacity")
          $(this).click(
-            function(event)
+            function()
             {
                thisPage.util.replaceSelection($("form#posterMessage input.message")[0], thisPage.formateur.smiles[$(this).attr("class")][0].source.replace(/\\/g, ""))
             }
@@ -355,21 +361,24 @@ Message.prototype.getConversation = function(messages)
       if (messages.messages[i].repondA.hasOwnProperty(this.id))
          messagesEnEvidence[messages.messages[i].id] = 2
    
-   var premierNiveau = true
-   var f = function(tabIds)
+   // parcours en 
+   var f = function(tabIds, premierNiveau)
    {
       for(var id in tabIds)
       {
+         // si le message (id) a déjà été traité
+         if (messagesEnEvidence[id] != undefined && !premierNiveau)
+            continue
+           
          var message = messages.messagesParId[id]
          if (message != undefined)
          {         
             messagesEnEvidence[id] = premierNiveau ? 3 : (message.auteurId == thisMessage.auteurId ? 1 : 0)
-            premierNiveau = false
-            f (message.repondA)
+            f (message.repondA, false)
          }
       }
    }
-   f(this.repondA)
+   f(this.repondA, true)
    
    return messagesEnEvidence
 }
@@ -504,11 +513,11 @@ Conversation.prototype.colorerEntetes = function()
    for (var i = 0; i < this.messages.length; i++)
    {
       if (this.messages[i].appartientAuClient)
-         messagesProprietaire += "#" + this.messages[i].getId(this.getId()) + ","
+         messagesProprietaire += ".messages #" + this.messages[i].getId(this.getId()) + ","
       else if (this.messages[i].clientARepondu)
-         messagesRepondu += "#" + this.messages[i].getId(this.getId()) + ","
+         messagesRepondu += ".messages #" + this.messages[i].getId(this.getId()) + ","
       else if (this.messages[i].estUneReponse)
-         messagesReponse += "#" + this.messages[i].getId(this.getId()) + ","
+         messagesReponse += ".messages #" + this.messages[i].getId(this.getId()) + ","
    }
    $(messagesReponse).addClass("reponse")
    $(messagesRepondu).addClass("repondu")
@@ -517,7 +526,7 @@ Conversation.prototype.colorerEntetes = function()
 
 Conversation.prototype.decolorerEntetes = function()
 {
-   $("#" + this.getId() + " .message")
+   $("#" + this.getId() + " .messages .message")
       .removeClass("reponse")
       .removeClass("repondu")
       .removeClass("proprietaire")   
@@ -784,7 +793,7 @@ Conversation.prototype.afficherConversation = function(id)
    var mess = message.getConversation(this)
    
    // FIXME : cet appel est très lent
-   $("#conversations #" + this.getId() + " .message").each(
+   $("#conversations #" + this.getId() + " .messages .message").each(
       function()
       {
          var jq = $(this)