* Définit un message comme y répondant.\r
*/\r
euphorik.Conversations.prototype.ajouterMessageRepond = function(mess) {\r
- var thisMessages = this;\r
+ var thisConversations = this;\r
\r
// est-ce que le message fait partie de la même conversation que les autres messages ?\r
// TODO : solution plus élégante pour prendre un mess parmis messagesRepond !?\r
$("#" + mess.getId(this.prefixIdMessage)).click(\r
function() {\r
$(this).fadeOut("normal", function() {\r
- thisMessages.enleverMessageRepond(mess);\r
+ thisConversations.enleverMessageRepond(mess);\r
$("form#posterMessage #repondA .messages").hide();\r
});\r
}\r
if (!elements.messages.length) {\r
return this.conversations[numConversation] !== undefined;\r
}\r
-\r
+ \r
for (var i = 0; i < elements.messages.length; i++) {\r
- this.ajouterMessage(elements.messages[i], numConversation)\r
+ if (this.ajouterMessage(elements.messages[i], numConversation)) {\r
+ // si une nouvelle conversation a été créée alors on lui donne la racine\r
+ // TODO : ce block ne devrait pas se trouver ici mais dans "nouvelleConversation"\r
+ this.conversations[numConversation].setRacine(elements.first);\r
+ this.mettreAJourFragment();\r
+ }\r
}\r
\r
this.flush(numConversation);\r
* @param numConversation le numéro de la conversation, 0 = principale\r
* @return true si une nouvelle conversation a été créée sinon false\r
*/\r
-euphorik.Conversations.prototype.ajouterMessage = function(element, numConversation) {\r
- var thisConversations = this;\r
- \r
+euphorik.Conversations.prototype.ajouterMessage = function(element, numConversation) { \r
var message = \r
new euphorik.Message(\r
this.client,\r
\r
if (!this.conversations[numConversation]) {\r
nouvelleConversation = true;\r
- this.nouvelleConversation(\r
- numConversation,\r
- message, // si une nouvelle conversation a été créée alors on lui donne la racine qui correspond au premier message\r
- function(num) { // fermeture de la conversation\r
- thisConversations.supprimerConversation(num);\r
- },\r
- function(num) { // insertion du lien vers la conversation\r
- thisPage.util.replaceSelection(\r
- $("form#posterMessage input.message")[0],\r
- "{" + thisConversations.client.conversations[num-1].root.toString(36) + "}"\r
- );\r
- }\r
- );\r
+ this.nouvelleConversation(numConversation);\r
}\r
\r
this.conversations[numConversation].ajouterMessage(message);\r
return nouvelleConversation;\r
};\r
\r
-euphorik.Conversations.prototype.nouvelleConversation = function(num, racine, funFermer, funLien)\r
-{\r
- var thisMessages = this;\r
+euphorik.Conversations.prototype.nouvelleConversation = function(num) {\r
+ var thisConversations = this;\r
\r
this.conversations[num] = new euphorik.Conversation(this, num);\r
- \r
- if (racine) {\r
- this.conversations[num].racine = racine;\r
- this.mettreAJourFragment();\r
- }\r
- \r
- if (funFermer) {\r
- this.conversations[num].eventFermer(funFermer);\r
- }\r
- \r
- if (funLien) {\r
- this.conversations[num].eventLien(funLien);\r
- }\r
-\r
+ \r
this.conversations[num].setFunPage(\r
function(num) { // page suivante\r
- thisMessages.client.pageSuivante(num - 1);\r
- thisMessages.rafraichirMessages(true);\r
+ thisConversations.client.pageSuivante(num - 1);\r
+ thisConversations.rafraichirMessages(true);\r
},\r
function(num) { // page précédente\r
- thisMessages.client.pagePrecedente(num - 1);\r
- thisMessages.rafraichirMessages(true);\r
+ thisConversations.client.pagePrecedente(num - 1);\r
+ thisConversations.rafraichirMessages(true);\r
},\r
function(num) { // retour à la page une\r
- if (thisMessages.client.goPremierePage(num - 1)) {\r
- thisMessages.rafraichirMessages(true);\r
+ if (thisConversations.client.goPremierePage(num - 1)) {\r
+ thisConversations.rafraichirMessages(true);\r
}\r
}\r
);\r
}\r
this.conversations[num].supprimer();\r
\r
- // décalage TODO : supprimer le dernier élément \r
+ // les numéros sont réassigné\r
for (var i = num; i < this.conversations.length - 1; i++) {\r
this.conversations[i] = this.conversations[i+1];\r
this.conversations[i].num -= 1;\r
* @param vider vide tous les messages avant d'afficher les nouveaux\r
*/\r
euphorik.Conversations.prototype.rafraichirMessages = function(vider) {\r
- var thisMessages = this;\r
+ var thisConversations = this;\r
\r
vider = vider || false;\r
\r
}\r
\r
this.comet.waitEvent(\r
- function() { return thisMessages.getJSONrafraichirMessages(); },\r
+ function() { return thisConversations.getJSONrafraichirMessages(); },\r
{\r
"new_troll" :\r
- function(data) { \r
- thisMessages.trollIdCourant = data.troll_id;\r
- $("#trollCourant .troll").html(thisMessages.formateur.traitementComplet(data.content)).unbind("click").click(\r
+ function(data) {\r
+ thisConversations.trollIdCourant = data.troll_id;\r
+ $("#trollCourant .troll").html(thisConversations.formateur.traitementComplet(data.content)).unbind("click").click(\r
function() {\r
- thisMessages.ouvrirConversation(data.message_id);\r
+ thisConversations.ouvrirConversation(data.message_id);\r
}\r
);\r
\r
"new_messages" :\r
function(data) {\r
if (vider) {\r
- thisMessages.viderMessages();\r
+ thisConversations.viderMessages();\r
}\r
\r
// ajoute les messages reçus à leur conversation respective\r
data.conversations.each(function(numConv, conv) {\r
- if (!thisMessages.ajouterMessages(conv, numConv)) {\r
- thisMessages.util.messageDialogue("La conversation {" + thisMessages.client.conversations[numConv - 1].root.toString(36) + "} n'existe pas");\r
- thisMessages.client.supprimerConversation(numConv - 1);\r
+ if (!thisConversations.ajouterMessages(conv, numConv)) {\r
+ thisConversations.util.messageDialogue("La conversation {" + thisConversations.client.conversations[numConv - 1].root.toString(36) + "} n'existe pas");\r
+ thisConversations.client.supprimerConversation(numConv - 1);\r
}\r
});\r
\r
if (vider) {\r
- thisMessages.afficherMessagesRepondConversations();\r
+ thisConversations.afficherMessagesRepondConversations();\r
}\r
\r
vider = false;\r