this.regexMessageTagMatch = /\{.*?\}>/g
this.regexMessageTagReplace = /^(.*?\{.*?\}>)*/
+
+ // permet d'éviter d'envoyer plusieurs messages simultanément en pressant
+ // rapidement sur "enter" par exemple
+ this.envoieMessageEnCours = false
}
PageMinichat.prototype.contenu = function()
}
PageMinichat.prototype.envoyerMessage = function(pseudo, message)
-{
+{
var thisPageMinichat = this
\r
// (un pseudo vide est autorisé)
this.client.pseudo = pseudo\r
+ // évite le double post
+ if (this.envoieMessageEnCours)
+ {
+ this.util.messageDialogue("Message en cours d'envoie...")
+ return
+ }
+ this.envoieMessageEnCours = true
+
;; dumpObj(this.getJSONMessage(pseudo, message, repondA))\r
jQuery.ajax(\r
{\r
dataType : "json",
beforeSend : function(xmlHttpRequest)
{
+ // TODO : ça marche ça ??
xmlHttpRequest.setRequestHeader("X-Requested-With", "")
},\r
success : function(data, textStatus)\r
else if (data["reply"] == "error")
{
thisPageMinichat.util.messageDialogue(data["error_message"])
- } \r
+ }
+ thisPageMinichat.envoieMessageEnCours = false\r
+ },
+ error : function()
+ {
+ thisPageMinichat.envoieMessageEnCours = false
}\r
}\r
)
var DOM = $(XHTML)
DOM.each(
function()
- {
+ {
$(".lienConv", this).click(
function(event)
{
funClickOuvrirConv(parseInt(racine.substring(1, racine.length - 1), 36))
return false
}
+ )
+
+ thisConversation.util.infoBulle("Extraction de la conversation", $(".extraire", this))
+
+ // l'id du message
+ var idMess36 = $(this).attr("id").substr(4)
+ var idMess = parseInt(idMess36, 36)
+
+ $(this).click(
+ function(event)
+ {
+ if ($(event.target).is("a") || $(event.target).parents("#outilsBan").length > 0) return
+
+ // extraction d'une conversation
+ if ($(event.target).is(".extraire"))
+ {
+ funClickOuvrirConv(idMess)
+ return
+ }
+
+ var valCourant = $("input.message").val()
+ if (valCourant == undefined) valCourant = ""
+ var tag = $(".pseudo span.ident", this).text() + "{" + idMess36 + "}" + ">"
+ if (valCourant.indexOf(tag, 0) == -1)
+ $("input.message").val(tag + " " + valCourant)
+ thisConversation.util.setCaretToEnd($("form input.message")[0])
+ }
+ )
+
+ // mise en évidence de la conversation
+ $(".entete", this).hover(
+ function()
+ {
+ thisConversation.decolorerEntetes()
+ thisConversation.afficherConversation(idMess)
+ },
+ // quand on sort de l'entête du message la mise en évidence est enlevée
+ function()
+ {
+ thisConversation.enleverMiseEnEvidence()
+ thisConversation.decolorerEntetes()
+ thisConversation.colorerEntetes()
+ }
)
if (thisConversation.client.viewTimes)
$("#outilsBan", this).hide()
}
)
-
- thisConversation.util.infoBulle("Extraction de la conversation", $(".extraire", this))
-
- // l'id du message
- var idMess36 = $(this).attr("id").substr(4)
- var idMess = parseInt(idMess36, 36)
-
- $(this).click(
- function(event)
- {
- if ($(event.target).is("a") || $(event.target).parents("#outilsBan").length > 0) return
-
- // extraction d'une conversation
- if ($(event.target).is(".extraire"))
- {
- funClickOuvrirConv(idMess)
- return
- }
-
- var valCourant = $("input.message").val()
- if (valCourant == undefined) valCourant = ""
- var tag = $(".pseudo span.ident", this).text() + "{" + idMess36 + "}" + ">"
- if (valCourant.indexOf(tag, 0) == -1)
- $("input.message").val(tag + " " + valCourant)
- thisConversation.util.setCaretToEnd($("form input.message")[0])
- }
- )\r
- \r
- // mise en évidence de la conversation
- $(".entete", this).hover(\r
- function()\r
- {
- thisConversation.decolorerEntetes()\r
- thisConversation.afficherConversation(idMess)\r
- },
- // quand on sort de l'entête du message la mise en évidence est enlevée
- function()
- {
- thisConversation.enleverMiseEnEvidence()
- thisConversation.decolorerEntetes()
- thisConversation.colorerEntetes()
- }
- )
}
)
DOM.prependTo("#conversations #" + this.getId())