X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2FpageMinichat.js;h=c41aa6a0757654d56454efa2d9405e8ff69004d5;hp=ef368923d78a19ab30b1b05592719052f6780122;hb=0531ee46484ef22f402191cc4dc84ca07f155fe4;hpb=14cdea5b82fb860e309a2fa36fc06bfa0d7a8c29 diff --git a/js/pageMinichat.js b/js/pageMinichat.js index ef36892..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". */ @@ -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 } )