X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2FpageMinichat.js;h=244467a5c287ecfa0bb0e3e4c6b6b3dc44fca336;hp=a8afb975cdb47096d55dd49f3ad27d57244b8a5c;hb=68e2e2bddfdb752e4a0cf0fc681388d3a90b80f5;hpb=302c16cbbd999e97f7bac2b3eb70bf057f5bc709
diff --git a/js/pageMinichat.js b/js/pageMinichat.js
index a8afb97..244467a 100755
--- a/js/pageMinichat.js
+++ b/js/pageMinichat.js
@@ -87,6 +87,12 @@ PageMinichat.prototype.charger = function()
$("form#posterMessage #repondA").hover(
function() { thisPage.util.afficherBoite($(".messages", this), $(this), positionTypeX.centre, positionTypeY.bas) },
function() { $(".messages", this).hide() }
+ ).click(
+ function(e)
+ {
+ if ($(e.target).is(".nb"))
+ thisPage.conversations.enleverMessagesRepond()
+ }
)
)
@@ -98,7 +104,7 @@ PageMinichat.prototype.charger = function()
{
var opacityBase = $(this).css("opacity")
$(this).click(
- function(event)
+ function()
{
thisPage.util.replaceSelection($("form#posterMessage input.message")[0], thisPage.formateur.smiles[$(this).attr("class")][0].source.replace(/\\/g, ""))
}
@@ -302,6 +308,7 @@ function Message(client, formateur, element)
this.systeme = element["system"] // est-ce un message 'système' ?
this.setRepondA(element["answer_to"]) // un ensemble de reponse (voir Reponse) indexé par l'id du message de la reponses
this.ekMaster = element["ek_master"]
+ this.degreeOstentatoire = element["ostentatious_master"]
}
/**
@@ -354,21 +361,24 @@ Message.prototype.getConversation = function(messages)
if (messages.messages[i].repondA.hasOwnProperty(this.id))
messagesEnEvidence[messages.messages[i].id] = 2
- var premierNiveau = true
- var f = function(tabIds)
+ // parcours en
+ var f = function(tabIds, premierNiveau)
{
for(var id in tabIds)
{
+ // si le message (id) a déjà été traité
+ if (messagesEnEvidence[id] != undefined && !premierNiveau)
+ continue
+
var message = messages.messagesParId[id]
if (message != undefined)
{
messagesEnEvidence[id] = premierNiveau ? 3 : (message.auteurId == thisMessage.auteurId ? 1 : 0)
- premierNiveau = false
- f (message.repondA)
+ f (message.repondA, false)
}
}
}
- f(this.repondA)
+ f(this.repondA, true)
return messagesEnEvidence
}
@@ -387,8 +397,8 @@ Message.prototype.XHTML = function(messagePair, pre)
// construit l'identifiant de la personne
var identifiant =
this.client.nickFormat == "nick" || this.login == "" ? this.formateur.traitementComplet(this.pseudo) :
- (this.client.nickFormat == "login" ? this.formateur.traitementComplet(message.login) :
- this.formateur.traitementComplet(this.pseudo) + "(" + this.formateur.traitementComplet(message.login) +")" )
+ (this.client.nickFormat == "login" ? this.formateur.traitementComplet(this.login) :
+ this.formateur.traitementComplet(this.pseudo) + "(" + this.formateur.traitementComplet(this.login) +")" )
var XHTMLrepondA = ""
var debut = true
@@ -406,7 +416,7 @@ Message.prototype.XHTML = function(messagePair, pre)
(this.clientARepondu ? " repondu" : "") +
(this.estUneReponse ? " reponse" : "") +
(this.systeme ? " systeme" : "") +
- (this.ekMaster ? " ekMaster" : "") +
+ (this.ekMaster ? " ekMaster" + this.degreeOstentatoire : "") +
"\">" +
"
" +
"[" + this.date + "]" +
@@ -449,7 +459,7 @@ function Conversation(conversations, num)
'' +
'' +
'
' +
- (num == 0 ? '' : '
') +
+ (num == 0 ? '' : '
') +
'
<1>' +
'
' +
'
' +
@@ -463,13 +473,13 @@ function Conversation(conversations, num)
this.util.infoBulle("Fermer la conversation", $("#conversations #" + this.getId() + " .fermer"))
}
}
+
/**
* @racine un message représentant la racine de la conversation, vaut undefined pour la conversation générale
*/
Conversation.prototype.setRacine = function(racineElement)
{
this.racine = new Message(this.client, this.formateur, racineElement)
- this.majRacine()
}
/**
@@ -480,9 +490,14 @@ Conversation.prototype.majRacine = function()
{
if (this.racine == undefined)
return
-
+
if (!(this.racine.id in this.messagesParId))
- $("#" + this.getId() + " .titre").prepend(this.racine.XHTML(true, this.getId()))
+ {
+ this.messagesParId[this.racine.id] = this.racine
+ var element = $(this.racine.XHTML(true, this.getId()))
+ this.attacherEventsSurMessage(element)
+ $("#" + this.getId() + " .titre").prepend(element)
+ }
}
Conversation.prototype.enleverMiseEnEvidence = function()
@@ -498,11 +513,11 @@ Conversation.prototype.colorerEntetes = function()
for (var i = 0; i < this.messages.length; i++)
{
if (this.messages[i].appartientAuClient)
- messagesProprietaire += "#" + this.messages[i].getId(this.getId()) + ","
+ messagesProprietaire += ".messages #" + this.messages[i].getId(this.getId()) + ","
else if (this.messages[i].clientARepondu)
- messagesRepondu += "#" + this.messages[i].getId(this.getId()) + ","
+ messagesRepondu += ".messages #" + this.messages[i].getId(this.getId()) + ","
else if (this.messages[i].estUneReponse)
- messagesReponse += "#" + this.messages[i].getId(this.getId()) + ","
+ messagesReponse += ".messages #" + this.messages[i].getId(this.getId()) + ","
}
$(messagesReponse).addClass("reponse")
$(messagesRepondu).addClass("repondu")
@@ -511,7 +526,7 @@ Conversation.prototype.colorerEntetes = function()
Conversation.prototype.decolorerEntetes = function()
{
- $("#" + this.getId() + " .message")
+ $("#" + this.getId() + " .messages .message")
.removeClass("reponse")
.removeClass("repondu")
.removeClass("proprietaire")
@@ -643,7 +658,7 @@ Conversation.prototype.flush = function()
// enlève les messages exedentaires
var nbMessagesAffiche = $("#" + this.getId() + " .message").size()
if (nbMessagesAffiche > this.nbMessageMax)
- $("#conversations #" + this.getId() + " .message").slice(this.nbMessageMax, nbMessagesAffiche).remove()
+ $("#conversations #" + this.getId() + " .messages .message").slice(this.nbMessageMax, nbMessagesAffiche).remove()
if (this.messages.length > 0)
this.idDernierMessageAffiche = this.messages[this.messages.length-1].id
@@ -657,8 +672,8 @@ Conversation.prototype.attacherEventsSurMessage = function(element)
// l'id du message
var idMess = this.idMessageFromString($(element).attr("id"))
- this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", this))
- this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", this))
+ this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", element))
+ this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", element))
var thisConversation = this
$(".lienConv", element).click(
@@ -778,7 +793,7 @@ Conversation.prototype.afficherConversation = function(id)
var mess = message.getConversation(this)
// FIXME : cet appel est très lent
- $("#conversations #" + this.getId() + " .message").each(
+ $("#conversations #" + this.getId() + " .messages .message").each(
function()
{
var jq = $(this)