X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;ds=inline;f=js%2FpageMinichat.js;h=c41aa6a0757654d56454efa2d9405e8ff69004d5;hb=0531ee46484ef22f402191cc4dc84ca07f155fe4;hp=3278dd792da3e8822915d82314e14a316faadf19;hpb=bacec85920574375f4b8df20d6a0457e1fffc658;p=euphorik.git
diff --git a/js/pageMinichat.js b/js/pageMinichat.js
index 3278dd7..c41aa6a 100755
--- a/js/pageMinichat.js
+++ b/js/pageMinichat.js
@@ -308,7 +308,7 @@ function Conversation(num, util, formateur, funFermer)
//alert("ok")
var thisConversation = this
- this.num = num
+ this.num = num // peut changer au cours de la vie de la conversation
this.id = Math.random()*100000000000000000
this.messageOver = null // le message sur lequel se trouve le curseur
this.util = util
@@ -316,13 +316,11 @@ function Conversation(num, util, formateur, funFermer)
this.messages = new Array()
this.messagesParId = new Object()
- this.page = 1 // par défaut on se trouve sur la première page
-
jQuery("#conversations").append(
'
\
' +
(funFermer == undefined ? '' : '
x
') +
- '< 1 >\
+ '
<1>\
\
'
)
@@ -347,6 +345,28 @@ function Conversation(num, util, formateur, funFermer)
)
}
+/**
+ * Défini les fonctions (callback) appelées lorsque l'on change de page.
+ * @funNext appelé lorsque l'on revient une page en arrière
+ * @funPrev appelé lorsque l'on passe à la page suisvante
+ * @pageCourante la page courante
+ * @dernierePage true si c'est la dernière page sinon false
+ */
+Conversation.prototype.initPage = function(funNext, funPrev, pageCourante, dernierePage)
+{
+ var thisConversation = this
+
+ jQuery("#conversations #" + this.getId() + " .next").click(
+ function() { funNext(thisConversation.num) }
+ )
+ jQuery("#conversations #" + this.getId() + " .prev").click(
+ function() { funPrev(thisConversation.num) }
+ )
+
+ jQuery("#conversations #" + this.getId() + " .next").css("display", pageCourante == 1 ? "none" : "inline")
+ jQuery("#conversations #" + this.getId() + " .prev").css("display", dernierePage ? "none" : "inline")
+}
+
/**
* Retourne l'id de la conversation sous la forme (par exemple) "conv3".
*/
@@ -389,17 +409,17 @@ Conversation.prototype.flush = function(funClickExtract)
var XHTMLrepondA = ""
for (var id in message.repondA)
XHTMLrepondA += this.formateur.traitementComplet(message.repondA[id].pseudo) + "> "
- XHTMLrepondA = "" + XHTMLrepondA + "
"
+ XHTMLrepondA = "" + XHTMLrepondA + ""
XHTML +=
"" +
"" +
- "[
" + message.date + "
]" +
- "
" + this.formateur.traitementComplet(message.pseudo) + "
:" +
+ "[
" + message.date + "]" +
+ "
" + this.formateur.traitementComplet(message.pseudo) + ":" +
XHTMLrepondA +
- "
" + (message.systeme ? this.formateur.remplacerBalisesHTML(message.contenu) : this.formateur.traitementComplet(message.contenu, message.pseudo)) + "
" +
+ "
" + (message.systeme ? this.formateur.remplacerBalisesHTML(message.contenu) : this.formateur.traitementComplet(message.contenu, message.pseudo)) + "" +
"
"
}
//alert(this.getId())
@@ -547,9 +567,9 @@ Messages.prototype.getXMLrafraichirMessages = function()
nodeNombreMessage.appendChild(XMLDocument.createTextNode(conf.nbMessageAffiche))
XMLDocument.documentElement.appendChild(nodeNombreMessage)
- var nodePage = XMLDocument.createElement("page")
+ /*var nodePage = XMLDocument.createElement("page")
nodePage.appendChild(XMLDocument.createTextNode(this.conversations[0].page))
- XMLDocument.documentElement.appendChild(nodePage)
+ XMLDocument.documentElement.appendChild(nodePage)*/
// les conversations
/* Obsolète, le serveur les recupères directement auprès des informations utilisateurs
@@ -649,7 +669,6 @@ Messages.prototype.supprimerConversation = function(num)
this.rafraichirMessages(true)
}
-
/**
* Ajuste la largeur des conversations en fonction de leur nombre. modifie l'attribut CSS 'width'.
*/
@@ -700,18 +719,16 @@ Messages.prototype.viderMessages = function()
*/
Messages.prototype.rafraichirMessages = function(vider)
{
+ var thisMessages = this // caisupair javacrypte
+
if (this.attenteCourante != null)
this.attenteCourante.abort()
-
+
if (vider == undefined)
vider = false
- var thisMessages = this // caisupair javacrypte
-
if (vider)
- {
- this.idDernierMessage = null
- }
+ this.idDernierMessage = null
this.util.xmlVersAction(this.getXMLrafraichirMessages()).action.dump()
//alert(this.util.xmlVersAction(this.getXMLrafraichirMessages()).action)
@@ -726,13 +743,7 @@ Messages.prototype.rafraichirMessages = function(vider)
thisMessages.util.serializer.serializeToString(data).dump()
if (vider)
- {
thisMessages.viderMessages()
- /* Obsolète : pas besoin de supprimer les conversations
- for (var i = 1; i < this.conversations.length; i++)
- this.supprimerConversation(1)
- */
- }
//thisMessages.MAJPages(parseInt(jQuery("nbPage", data.documentElement).text()))
@@ -740,7 +751,7 @@ Messages.prototype.rafraichirMessages = function(vider)
var numConv = 0
jQuery("conversation", data.documentElement).each(
function(i)
- {
+ {
var messages = []
jQuery("message", this).each(
function(j)
@@ -751,6 +762,19 @@ Messages.prototype.rafraichirMessages = function(vider)
)
//alert("ajoutMess : " + messages.length + " " + numConv)
thisMessages.ajouterMessages(messages, numConv)
+
+ thisMessages.conversations[numConv].initPage(
+ function(num) // page suivante
+ {
+ thisMessages.client.pageSuivante(num - 1)
+ },
+ function(num) // page précédente
+ {
+ thisMessages.client.pagePrecedente(num - 1)
+ },
+ numConv == 0 ? thisMessages.client.pagePrincipale : thisMessages.client.conversations[numConv - 1].page,
+ jQuery("autresPages", this).text() != "true"
+ )
numConv += 1
}
)