* {
* "reply" : <reply>
* }
- * @page la page
+ * @page la page courante pour laquelle on écoute des événements\r
+ * @util le helper 'util'
*/
-function PageEvent(page, util)
-{
+function PageEvent(page, util) {
this.page = page
this.util = util
/**
* Arrête l'attente courante s'il y en a une.
*/
-PageEvent.prototype.stopAttenteCourante = function()
-{
+PageEvent.prototype.stopAttenteCourante = function() {
this.stop = true
- if (this.attenteCourante != null)
- {
+ if (this.attenteCourante != null) {
this.attenteCourante.abort()
}
}
* les fonctions acceptent un paramètre correspondant au données reçues.
* exemple : {"new_message" : function(data){ ... }}
*/
-PageEvent.prototype.waitEvent = function(funSend, funsReceive)
-{
+PageEvent.prototype.waitEvent = function(funSend, funsReceive) {
this.stopAttenteCourante()
this.stop = false
// on doit conserver l'ordre des valeurs de l'objet JSON (le serveur les veut dans l'ordre définit dans le protocole)
// TODO : ya pas mieux ?
- var dataToSend =
- {
+ var dataToSend = {
"header" : { "action" : "wait_event", "version" : euphorik.conf.versionProtocole },
"page" : this.page
}
var poulpe = funSend()
- for (var v in poulpe)
- dataToSend[v] = poulpe[v]
+ for (var v in poulpe) {
+ dataToSend[v] = poulpe[v]\r
+ }
this.attenteCourante = jQuery.ajax({
type: "POST",
timeout: 180000, // timeout de 3min. Gros HACK pas beau. FIXME problème décrit ici : http://groups.google.com/group/jquery-en/browse_thread/thread/8724e64af3333a76
data: this.util.jsonVersAction(dataToSend),
success:
- function(data)
- {
+ function(data) {
funsReceive[data["reply"]](data)
// rappel de la fonction dans 100 ms
setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funsReceive) }, 100)
},
error:
- function(XMLHttpRequest, textStatus, errorThrown)
- {
- ;; console.log("Connexion perdue dans waitEvent")
+ function(XMLHttpRequest, textStatus, errorThrown) {
+ ;; console.log("Connexion perdue dans PageEvent.prototype.waitEvent()")
setTimeout(function(){ thisPageEvent.waitEvent2(funSend, funsReceive) }, 1000)
}
- })
-}
+ });
+};
/**
* Si un stopAttenteCourante survient un peu n'importe quand il faut imédiatement arreter de boucler.
*/
-PageEvent.prototype.waitEvent2 = function(funSend, funsReceive)
-{
- if (this.stop)
- return
- this.waitEvent(funSend, funsReceive)
-}
+PageEvent.prototype.waitEvent2 = function(funSend, funsReceive) {
+ if (this.stop) {
+ return;\r
+ }
+ this.waitEvent(funSend, funsReceive);
+};
///////////////////////////////////////////////////////////////////////////////////////////////////
};\r
\r
/**\r
- * Formatage en utilisant un sous-ensemble des règles de mediwiki.\r
- * par exemple ''italic'' devient <i>italic</i>\r
+ * Formatage en utilisant un sous-ensemble des règles de Textile : http://en.wikipedia.org/wiki/Textile_(markup_language).\r
+ * par exemple _italic_ devient <i>italic</i>.\r
*/\r
euphorik.Formateur.prototype.traiterWikiSyntaxe = function(m) {\r
return m.replace(\r
- /'''(.*?)'''/g,\r
+ /_(.*?)_/g,\r
function(texte, capture) {\r
- return "<b>" + capture + "</b>";\r
+ return '<em class="leger">' + capture + '</em>';\r
}\r
).replace(\r
- /''(.*?)''/g,\r
+ /\*(.*?)\*/g,\r
function(texte, capture) {\r
- return "<i>" + capture + "</i>";\r
+ return '<em class="fort">' + capture + '</em>';\r
}\r
);\r
};\r