FIX regression au niveau de la définition de la racine d'une conversation. Solution...
authorGreg Burri <greg.burri@gmail.com>
Wed, 30 Jul 2008 16:14:58 +0000 (16:14 +0000)
committerGreg Burri <greg.burri@gmail.com>
Wed, 30 Jul 2008 16:14:58 +0000 (16:14 +0000)
js/pageMinichat/conversation.js
js/pageMinichat/conversations.js

index 6481014..238976b 100644 (file)
@@ -73,6 +73,13 @@ euphorik.Conversation = function(conversations, num) {
    }\r
 };\r
 \r
+/**\r
+  * @racine un message représentant la racine de la conversation, vaut undefined pour la conversation générale\r
+  */\r
+euphorik.Conversation.prototype.setRacine = function(racineElement) {\r
+   this.racine = new euphorik.Message(this.client, this.formateur, racineElement);\r
+};\r
+\r
 /**\r
   * Met à jour la racine, décide de l'afficher ou non.\r
   * On l'affiche uniquement si le message racine n'est pas déjà affiché sur la liste des messages.\r
index ada8a24..26fbb66 100644 (file)
@@ -218,9 +218,14 @@ euphorik.Conversations.prototype.ajouterMessages = function(elements, numConvers
    if (!elements.messages.length) {\r
       return this.conversations[numConversation] !== undefined;\r
    }\r
-\r
+   \r
    for (var i = 0; i < elements.messages.length; i++) {\r
-      this.ajouterMessage(elements.messages[i], numConversation)\r
+      if (this.ajouterMessage(elements.messages[i], numConversation)) {\r
+         // si une nouvelle conversation a été créée alors on lui donne la racine\r
+         // TODO : ce block ne devrait pas se trouver ici mais dans "nouvelleConversation"\r
+         this.conversations[numConversation].setRacine(elements.first);\r
+         this.mettreAJourFragment();\r
+      }\r
    }\r
          \r
    this.flush(numConversation);\r
@@ -257,7 +262,6 @@ euphorik.Conversations.prototype.ajouterMessage = function(element, numConversat
       nouvelleConversation = true;\r
       this.nouvelleConversation(\r
          numConversation,\r
-         message, // si une nouvelle conversation a été créée alors on lui donne la racine qui correspond au premier message\r
          function(num) { // fermeture de la conversation\r
             thisConversations.supprimerConversation(num);\r
          },\r
@@ -274,17 +278,12 @@ euphorik.Conversations.prototype.ajouterMessage = function(element, numConversat
    return nouvelleConversation;\r
 };\r
 \r
-euphorik.Conversations.prototype.nouvelleConversation = function(num, racine, funFermer, funLien)\r
+euphorik.Conversations.prototype.nouvelleConversation = function(num, funFermer, funLien)\r
 {\r
    var thisMessages = this;\r
 \r
    this.conversations[num] = new euphorik.Conversation(this, num);\r
-   \r
-   if (racine) {\r
-      this.conversations[num].racine = racine;\r
-      this.mettreAJourFragment();\r
-   }\r
-   \r
+      \r
    if (funFermer) {\r
       this.conversations[num].eventFermer(funFermer);\r
    }\r