From d8ea5d4c3a3ed6e596a473bbb8a4df0a41b4843a Mon Sep 17 00:00:00 2001 From: Greg Burri Date: Wed, 30 Jul 2008 16:14:58 +0000 Subject: [PATCH] =?utf8?q?FIX=20regression=20au=20niveau=20de=20la=20d?= =?utf8?q?=C3=A9finition=20de=20la=20racine=20d'une=20conversation.=20Solu?= =?utf8?q?tion=20peu=20=C3=A9l=C3=A9gante=20choisie=20:/?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- js/pageMinichat/conversation.js | 7 +++++++ js/pageMinichat/conversations.js | 19 +++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) 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); } -- 2.43.0