ADD un beau smile :F
[euphorik.git] / js / pageMinichat.js
index 4068f35..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, ""))
             }
@@ -302,6 +308,7 @@ function Message(client, formateur, element)
    this.systeme = element["system"] // est-ce un message 'système' ?
    this.setRepondA(element["answer_to"]) // un ensemble de reponse (voir Reponse) indexé par l'id du message de la reponses
    this.ekMaster = element["ek_master"]
+   this.degreeOstentatoire = element["ostentatious_master"]
 }
 
 /**
@@ -354,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
 }
@@ -387,8 +397,8 @@ Message.prototype.XHTML = function(messagePair, pre)
    // construit l'identifiant de la personne
    var identifiant = 
       this.client.nickFormat == "nick" || this.login == "" ? this.formateur.traitementComplet(this.pseudo) : 
-      (this.client.nickFormat == "login" ? this.formateur.traitementComplet(message.login) : 
-      this.formateur.traitementComplet(this.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(message.login) +")</span>" )
+      (this.client.nickFormat == "login" ? this.formateur.traitementComplet(this.login) : 
+      this.formateur.traitementComplet(this.pseudo) + "<span class=\"login\">(" + this.formateur.traitementComplet(this.login) +")</span>" )
 
    var XHTMLrepondA = ""
    var debut = true
@@ -406,7 +416,7 @@ Message.prototype.XHTML = function(messagePair, pre)
          (this.clientARepondu ? " repondu" : "") +
          (this.estUneReponse ? " reponse" : "") +
          (this.systeme ? " systeme" : "") +
-         (this.ekMaster ? " ekMaster" : "") +
+         (this.ekMaster ? " ekMaster" + this.degreeOstentatoire : "") +
       "\">" +
          "<div class=\"outilsMess\"><div class=\"extraire\"></div><div class=\"extraireCompletement\"></div></div><span class=\"entete\">" +
          "<span class=\"dateComplete\">[<span class=\"date\">" + this.date + "</span>]</span>" +
@@ -503,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")
@@ -516,7 +526,7 @@ Conversation.prototype.colorerEntetes = function()
 
 Conversation.prototype.decolorerEntetes = function()
 {
-   $("#" + this.getId() + " .message")
+   $("#" + this.getId() + " .messages .message")
       .removeClass("reponse")
       .removeClass("repondu")
       .removeClass("proprietaire")   
@@ -662,8 +672,8 @@ Conversation.prototype.attacherEventsSurMessage = function(element)
    // l'id du message
    var idMess = this.idMessageFromString($(element).attr("id"))
 
-   this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", this))
-   this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", this))
+   this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", element))
+   this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", element))
    
    var thisConversation = this
    $(".lienConv", element).click(
@@ -783,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)