X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=js%2FpageMinichat.js;h=42314d18945d465609c6d4ca7a0614be7aa3cde0;hb=3ea24df62da92d25d5479d26782c317439b0bc72;hp=678dac3add9916f5ea06bd91161e69c5d612ae75;hpb=4a510de0c99d080cdd3ecc837307ac8ee3509e87;p=euphorik.git diff --git a/js/pageMinichat.js b/js/pageMinichat.js index 678dac3..42314d1 100755 --- a/js/pageMinichat.js +++ b/js/pageMinichat.js @@ -1,4 +1,20 @@ -// coding: utf-8 +// coding: utf-8 +// Copyright 2008 Grégory Burri +// +// This file is part of Euphorik. +// +// Euphorik is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Euphorik is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Euphorik. If not, see . function PageMinichat(client, formateur, util) { @@ -226,14 +242,7 @@ PageMinichat.prototype.envoyerMessage = function(pseudo, message) // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) for (var i = 0; i < repondA.length; i++) - { $("#conversations div#" + repondA[i]).addClass("repondu") - /* Ca sert à rien, TODO : tester/virer - for (var c = 0; c < thisPageMinichat.messages.conversations.length; c++) - for (var m = 0; m < thisPageMinichat.messages.conversations[c].messages.length; m++) - thisPageMinichat.messages.conversations[c].messages[m].clientARepondu = true - */ - } } else if (data["reply"] == "error") { @@ -488,7 +497,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv) // construction de l'XHTML des messages var XHTML = "" - for (var i = this.messages.length - 1; i >= 0; i--) + for (var i = 0; i < this.messages.length; i++) if (this.messages[i].id > this.idDernierMessageAffiche) { var message = this.messages[i] @@ -522,16 +531,17 @@ Conversation.prototype.flush = function(funClickOuvrirConv) messagePair = !messagePair } - $("#conversations #" + this.getId()).prepend(XHTML) - // enlève les messages exedentaires var nbMessagesAffiche = $("#conversations #" + this.getId() + " .message").size() if (nbMessagesAffiche > this.nbMessageMax) $("#conversations #" + this.getId() + " .message").slice(this.nbMessageMax, nbMessagesAffiche).empty() - - // ajoute les événements liés à chaque nouveau message - $("#conversations #" + this.getId() + " .message").filter(function(){ return parseInt($(this).attr("id").substr(4), 36) > thisConversation.idDernierMessageAffiche }).each( + + + //.filter(function(){ return parseInt($(this).attr("id").substr(4), 36) > thisConversation.idDernierMessageAffiche }) + + var DOM = $(XHTML) + DOM.each( function() { $(".lienConv", this).click( @@ -619,6 +629,7 @@ Conversation.prototype.flush = function(funClickOuvrirConv) ) } ) + DOM.prependTo("#conversations #" + this.getId()) if (this.messages.length > 0) this.idDernierMessageAffiche = this.messages[this.messages.length-1].id @@ -914,7 +925,13 @@ Messages.prototype.rafraichirMessages = function(vider) { case "new_troll" : thisMessages.trollIdCourant = data["troll_id"] - $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data["content"])) + $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data["content"])).unbind().click( + function() + { + thisMessages.ouvrirConversation(data["message_id"]) + } + ) + $("#trollCourant .troll a[@rel*=lightbox]").lightBox() break