repondA.push(parseInt(id)) // FIXME : une propriété ne peut pas être de type int ?
return {
- "action" : "put_message",
+ "header" : { "action" : "put_message", "version" : conf.versionProtocole },
"cookie" : this.client.cookie,
"nick" : pseudo,
"content" : message,
this.client = client
this.idDernierMessageAffiche = 0
- this.messages = new Array()
- this.messagesParId = new Object()
+ this.messages = []
+ this.messagesParId = {}
this.nbMessageMax = conf.nbMessageAffiche // Le nombre de message affiché par page
for (var i = 0; i < this.messages.length; i++)
{
if (this.messages[i].appartientAuClient)
- messagesProprietaire += "#" + this.messages[i].getId() + ","
+ messagesProprietaire += "#" + this.messages[i].getId(this.getId()) + ","
else if (this.messages[i].clientARepondu)
- messagesRepondu += "#" + this.messages[i].getId() + ","
+ messagesRepondu += "#" + this.messages[i].getId(this.getId()) + ","
else if (this.messages[i].estUneReponse)
- messagesReponse += "#" + this.messages[i].getId() + ","
+ messagesReponse += "#" + this.messages[i].getId(this.getId()) + ","
}
$(messagesReponse).addClass("reponse")
$(messagesRepondu).addClass("repondu")
$("#conversations #" + this.getId() + " .message").remove()
}
+Conversation.prototype.idMessageFromString = function(idString)
+{
+ return parseInt(idString.substr(4 + this.getId().length), 36)
+}
+
/**
* Après l'ajout d'un ou plusieurs message cette méthode est appelée afin
* d'afficher les messages non-affichés.
for (var i = 0; i < this.messages.length; i++)
if (this.messages[i].id > this.idDernierMessageAffiche)
{
- XHTML += this.messages[i].XHTML(messagePair)
+ XHTML += this.messages[i].XHTML(messagePair, this.getId())
messagePair = !messagePair
}
{
// FIXME : ya pas mieux ?
var racine = $(event.target).text()
- funClickOuvrirConv(parseInt(racine.substring(1, racine.length - 1), 36))
+ funClickOuvrirConv(parseInt(idString.substring(1, racine.length - 1), 36))
return false
}
)
thisConversation.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", this))
// l'id du message
- var idMess = parseInt($(this).attr("id").substr(4), 36)
+ var idMess = thisConversation.idMessageFromString($(this).attr("id"))
$(this).click(
function(event)
$(".pseudo", this).hover(
function(e)
{
- var userId = parseInt($(".id", this).text())
+ var userId = parseInt($(".id", this).text())
var element = $(this)
var h = element.height()
var offset = element.offset()
*/
Conversation.prototype.afficherConversation = function(id)
{
+ var thisConversation = this
+
var message = this.messagesParId[id]
if (message == undefined) return
function()
{
var jq = $(this)
- var statut = mess[parseInt(jq.attr("id").substr(4), 36)]
+ var statut = mess[thisConversation.idMessageFromString(jq.attr("id"))]
if (statut == undefined)
jq.addClass("cache")
else
*/
Messages.prototype.enleverMessagesRepond = function()
{
+ for (var messId in this.messagesRepond)
+ this.enleverMessageRepond(this.messagesRepond[messId])
+
+ // on réinitialise pour être sur que tout est bien enlevé
this.messagesRepond = {}
$("#conversations div.message").removeClass("repondEnEvidence")
$("form#posterMessage #repondA .messages").empty()
*/
Messages.prototype.enleverMessageRepond = function(mess)
{
- console.log(mess)
$("#" + mess.getId()).removeClass("repondEnEvidence")
$("#" + mess.getId(this.prefixIdMessage)).remove()
delete this.messagesRepond[mess.id]
{
// met ou enlève la mise en evidence du message
thisMessages.toggleMessageRepond(Mess)
+ // donne le focus à la ligne de saisie
+ $("form input.message").focus()
}
)
}