From: Greg Burri Date: Wed, 30 Jul 2008 16:14:58 +0000 (+0000) Subject: FIX regression au niveau de la définition de la racine d'une conversation. Solution... X-Git-Tag: 1.1.0~27 X-Git-Url: http://git.euphorik.ch/index.cgi?a=commitdiff_plain;h=d8ea5d4c3a3ed6e596a473bbb8a4df0a41b4843a;p=euphorik.git FIX regression au niveau de la définition de la racine d'une conversation. Solution peu élégante choisie :/ --- diff --git a/js/pageMinichat/conversation.js b/js/pageMinichat/conversation.js index 6481014..238976b 100644 --- a/js/pageMinichat/conversation.js +++ b/js/pageMinichat/conversation.js @@ -73,6 +73,13 @@ euphorik.Conversation = function(conversations, num) { } }; +/** + * @racine un message représentant la racine de la conversation, vaut undefined pour la conversation générale + */ +euphorik.Conversation.prototype.setRacine = function(racineElement) { + this.racine = new euphorik.Message(this.client, this.formateur, racineElement); +}; + /** * Met à jour la racine, décide de l'afficher ou non. * On l'affiche uniquement si le message racine n'est pas déjà affiché sur la liste des messages. diff --git a/js/pageMinichat/conversations.js b/js/pageMinichat/conversations.js index ada8a24..26fbb66 100644 --- a/js/pageMinichat/conversations.js +++ b/js/pageMinichat/conversations.js @@ -218,9 +218,14 @@ euphorik.Conversations.prototype.ajouterMessages = function(elements, numConvers if (!elements.messages.length) { return this.conversations[numConversation] !== undefined; } - + for (var i = 0; i < elements.messages.length; i++) { - this.ajouterMessage(elements.messages[i], numConversation) + if (this.ajouterMessage(elements.messages[i], numConversation)) { + // si une nouvelle conversation a été créée alors on lui donne la racine + // TODO : ce block ne devrait pas se trouver ici mais dans "nouvelleConversation" + this.conversations[numConversation].setRacine(elements.first); + this.mettreAJourFragment(); + } } this.flush(numConversation); @@ -257,7 +262,6 @@ euphorik.Conversations.prototype.ajouterMessage = function(element, numConversat nouvelleConversation = true; this.nouvelleConversation( numConversation, - message, // si une nouvelle conversation a été créée alors on lui donne la racine qui correspond au premier message function(num) { // fermeture de la conversation thisConversations.supprimerConversation(num); }, @@ -274,17 +278,12 @@ euphorik.Conversations.prototype.ajouterMessage = function(element, numConversat return nouvelleConversation; }; -euphorik.Conversations.prototype.nouvelleConversation = function(num, racine, funFermer, funLien) +euphorik.Conversations.prototype.nouvelleConversation = function(num, funFermer, funLien) { var thisMessages = this; this.conversations[num] = new euphorik.Conversation(this, num); - - if (racine) { - this.conversations[num].racine = racine; - this.mettreAJourFragment(); - } - + if (funFermer) { this.conversations[num].eventFermer(funFermer); }