X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2FpageMinichat%2Fconversation.js;h=5a10c5a56b8603e62eb005092504d72ce1465948;hp=c3082b88b200f29f7acee01ed1184238110ddcf1;hb=7203835bce6f94b6afcc7403694145c829a4f833;hpb=5b696161ae91e007fc2e9bd455a14f4363772131 diff --git a/js/pageMinichat/conversation.js b/js/pageMinichat/conversation.js index c3082b8..5a10c5a 100644 --- a/js/pageMinichat/conversation.js +++ b/js/pageMinichat/conversation.js @@ -16,7 +16,8 @@ // You should have received a copy of the GNU General Public License // along with Euphorik. If not, see . - + /*jslint laxbreak:true */ + /** * Représente une conversation. * Une conversation, au niveau XHTML, est formé de deux partie, le titre et les messages. @@ -190,14 +191,25 @@ euphorik.Conversation.prototype.getId = function() { return "conv" + this.id; }; +/** + * Après avoir créé un message celui ci est ajouté à une conversation via cette méthode. + */ euphorik.Conversation.prototype.ajouterMessage = function(message) { this.messages.push(message); this.messagesParId[message.id] = message; - // enlève les messages exedentaires + // enlève le message exedentaire si nécessaire if (this.messages.length > this.nbMessageMax) { delete this.messagesParId[this.messages.shift().id]; } + + // met à jour le membre 'estReponduPar' des messages de la conversation + for (var i = 0; i < this.messages.length - 1; i++) { + var autreMess = this.messages[i]; + if (autreMess.id in message.repondA) { + autreMess.estReponduPar[message.id] = true; + } + } }; /** @@ -226,7 +238,6 @@ euphorik.Conversation.prototype.flush = function() { var thisConversation = this; var reverse = this.client.chatOrder === "reverse"; - // est-ce que le prochain message est pair ? (permet d'alterner le style des messages) var messagePair = (this.idDernierMessageAffiche === 0 ? true : ($("#" + this.getId() + " .messages div:" + (reverse ? "first" : "last")).attr("class").search("messagePair") === -1) ); @@ -239,7 +250,7 @@ euphorik.Conversation.prototype.flush = function() { messagePair = !messagePair; } }); - + var DOM = $(XHTML); // pour chaque nouveau message au niveau du document on lui assigne ses événements @@ -285,7 +296,7 @@ euphorik.Conversation.prototype.attacherEventsSurMessage = function(element) { function(event) { // FIXME : ya pas mieux ? var racine = $(event.target).text(); - thisConversation.conversations.ouvrirConversation(parseInt(idString.substring(1, racine.length - 1), 36)); + thisConversation.conversations.ouvrirConversation(parseInt(racine.substring(1, racine.length - 1), 36)); return false; } ); @@ -398,7 +409,7 @@ euphorik.Conversation.prototype.afficherConversation = function(id) { function() { var jq = $(this); var statut = mess[thisConversation.idMessageFromString(jq.attr("id"))]; - if (!statut) { + if (statut === undefined) { jq.addClass("cache"); } else { jq.removeClass("cache");