X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=js%2Feuphorik.js;fp=js%2Feuphorik.js;h=5ada1d797767524bc984e3d8ae588c45291bfba6;hp=825e4c34a4aa008bc615b0eaee6bfdda9faa92aa;hb=beb0e9617b60e39a0493926a563574bb9cd9765b;hpb=bb56b61b6b93b3fd69f2b3bfabf3fcb2e31e6ee7 diff --git a/js/euphorik.js b/js/euphorik.js index 825e4c3..5ada1d7 100755 --- a/js/euphorik.js +++ b/js/euphorik.js @@ -994,6 +994,16 @@ Client.prototype.kick = function(userId, raison) /** * classe permettant de gérer les événements (push serveur). + * l'information envoyé est sous la forme : + * { + * "action" : "wait_event" + * "page" : + * [..] + * } + * l'information reçu est sous la forme : + * { + * "reply" : + * } * @page la page */ function PageEvent(page, util) @@ -1024,9 +1034,11 @@ PageEvent.prototype.stopAttenteCourante = function() /** * Attend un événement lié à la page. * @funSend une fonction renvoyant les données json à envoyer - * @funReceive une fonction qui accepte un paramètre correspondant au données reçues + * @funsReceive est un objet comprenant les fonctions à appeler en fonction du "reply" + * les fonctions acceptent un paramètre correspondant au données reçues. + * exemple : {"new_message" : function(data){ ... }} */ -PageEvent.prototype.waitEvent = function(funSend, funReceive) +PageEvent.prototype.waitEvent = function(funSend, funsReceive) { this.stopAttenteCourante() @@ -1057,15 +1069,16 @@ PageEvent.prototype.waitEvent = function(funSend, funReceive) { ;; dumpObj(data) - funReceive(data) + funsReceive[data["reply"]](data) // rappel de la fonction dans 100 ms - setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funReceive) }, 100) + setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funsReceive) }, 100) }, error: function(XMLHttpRequest, textStatus, errorThrown) { - setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funReceive) }, 1000) + ;; console.log("Connexion perdue dans waitEvent") + setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funsReceive) }, 1000) } }) } @@ -1073,11 +1086,11 @@ PageEvent.prototype.waitEvent = function(funSend, funReceive) /** * Si un stopAttenteCourante survient un peu n'importe quand il faut imédiatement arreter de boucler. */ -PageEvent.prototype.waitEvent2 = function(funSend, funReceive) +PageEvent.prototype.waitEvent2 = function(funSend, funsReceive) { if (this.stop) return - this.waitEvent(funSend, funReceive) + this.waitEvent(funSend, funsReceive) } ///////////////////////////////////////////////////////////////////////////////////////////////////