X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2FpageMinichat%2FpageMinichat.js;h=d289a99353739abfb6a8e7b115f45d02e5497a10;hp=2283acbf20d56910fd39401545ec0f922d735b59;hb=4aa85a2e80963b73773e748fd4402fab2ad852ce;hpb=ed281cb4331777625994d23a6e424fb7c5b5d2c9 diff --git a/js/pageMinichat/pageMinichat.js b/js/pageMinichat/pageMinichat.js index 2283acb..d289a99 100755 --- a/js/pageMinichat/pageMinichat.js +++ b/js/pageMinichat/pageMinichat.js @@ -35,7 +35,7 @@ euphorik.PageMinichat = function(client, formateur, util) { }; euphorik.PageMinichat.prototype.contenu = function() { - // le fait que tout soit collé est fait exprès, permet d'éviter d'avoir des espaces supplémentaires entre les spans' + // le fait que tout soit collé est fait exprès, permet d'éviter d'avoir des espaces supplémentaires entre les spans var formulaireXHTML = '' + '
' + '

' + @@ -64,18 +64,21 @@ euphorik.PageMinichat.prototype.classes = function() { euphorik.PageMinichat.prototype.charger = function() { thisPage = this; - + $("#posterMessage input.pseudo").val(this.client.pseudo); // cet appel ne doit pas être fait avant l'appel à 'charger' - this.conversations = new euphorik.Conversations(this.client, this.formateur, this.util); + this.conversations = new euphorik.Conversations(this.client, this.formateur, this.util, this.fragment); - this.conversations.rafraichirMessages(true); + this.chargerConversationsFragment(); + this.conversations.rafraichirMessages(true); + this.util.setCaretToEnd($("form#posterMessage input.message")[0]); // les outils de bannissement (uniquement pour les ekMaster) if (this.client.ekMaster) { + // TODO : augmentation un peu space, à revoir this.util.outilsBan = $( '' + ' ' + @@ -92,11 +95,23 @@ euphorik.PageMinichat.prototype.charger = function() { this.util.infoBulle("La raison", $("input", this.util.outilsBan)); } + // la barre d'outils liée à chaque message + this.util.outilsMessage = $('

').prependTo("#page.minichat") + this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", this.util.outilsMessage)); + this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", this.util.outilsMessage)); + this.util.infoBulle("Ouvrir la conversation liée au troll de la semaine", $("#trollCourant .troll")); this.util.infoBulle("Cliquer sur les messages pour les enlevers de la liste", $("form#posterMessage #repondA").hover( - function() { thisPage.util.afficherBoite($(".messages", this), $(this), euphorik.Util.positionTypeX.centre, euphorik.Util.positionTypeY.bas); }, + function() { + thisPage.util.afficherBoite( + $(".messages", this), + $(this), + euphorik.Util.positionTypeX.centre, + thisPage.client.chatOrder === "reverse" ? euphorik.Util.positionTypeY.bas : euphorik.Util.positionTypeY.haut + ); + }, function() { $(".messages", this).hide(); } ).click( function(e) { @@ -136,7 +151,7 @@ euphorik.PageMinichat.prototype.charger = function() { } ); // - + // événements var nouveauMessage = function() { @@ -187,12 +202,31 @@ euphorik.PageMinichat.prototype.charger = function() { ); }; +euphorik.PageMinichat.prototype.chargerConversationsFragment = function() { + var thisPageMinichat = this; + + // attention : "conv" doit être un tableau d'entier + try { + var conv = this.fragment.getVal("conv"); + if (conv) { + conv.each(function(i, racine) { + thisPageMinichat.client.ajouterConversation(racine) + }); + } + } catch(e) { + ;; console.log(e) + } +} + euphorik.PageMinichat.prototype.decharger = function() { this.conversations.comet.stopAttenteCourante(); $("body #smiles").remove(); + + this.fragment.delVal("conv") }; + euphorik.PageMinichat.prototype.getJSONMessage = function(pseudo, message) { var repondA = []; objectEach(this.conversations.messagesRepond, function(id) { @@ -251,7 +285,7 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) { xmlHttpRequest.setRequestHeader("X-Requested-With", ""); }, success : function(data, textStatus) { - if(data.reply === "ok") { + if(data.reply === "ok") { // TODO : revoir cette partie // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) TODO : ya mieux ? objectEach(thisPageMinichat.conversations.messagesRepond, function(messId) { @@ -259,10 +293,9 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) { var mess = conv.messagesParId[messId]; if (mess) { mess.clientARepondu = true; + $("#conversations #" + mess.getId(conv.getId())).addClass("repondu") } }); - // TODO : ca sert à qque chose ? - //$("#conversations div#" + thisPageMinichat.conversations.messagesRepond[messId].getId()).addClass("repondu") }); $("form#posterMessage input.message").val("");