X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;f=js%2FpageMinichat%2FpageMinichat.js;h=0b9c5b362ee2b83a41dd0230db2408e89b819f6f;hb=d6dcd0fd8af56bd4791aa4e621c2e5058033c37a;hp=f11dea495237f63d9e6cec947499b99ad6f4a11f;hpb=415a3f81c1a93b67a9a56695236f78caf9cff9b8;p=euphorik.git
diff --git a/js/pageMinichat/pageMinichat.js b/js/pageMinichat/pageMinichat.js
index f11dea4..0b9c5b3 100755
--- a/js/pageMinichat/pageMinichat.js
+++ b/js/pageMinichat/pageMinichat.js
@@ -18,21 +18,18 @@
/*jslint laxbreak:true */
-euphorik.PageMinichat = function(client, formateur, util, communication) {
+euphorik.PageMinichat = function(client, formater, util, communication) {
this.nom = "minichat";
this.client = client;
- this.formateur = formateur;
+ this.formater = formater;
this.util = util;
this.communication = communication;
- this.commandes = new euphorik.Commandes(this.client);
+ this.commandes = new euphorik.Commandes(this.client, this, this.util, this.formater);
// permet d'éviter d'envoyer plusieurs messages simultanément en pressant
// rapidement sur "enter" par exemple
this.envoieMessageEnCours = false;
-
- this.regexMessageTagMatch = /\{.*?\}>/g;
- this.regexMessageTagReplace = /^(.*?\{.*?\}>)*/;
};
euphorik.PageMinichat.prototype.contenu = function() {
@@ -63,18 +60,18 @@ euphorik.PageMinichat.prototype.classes = function() {
return this.client.chatOrder === "reverse" ? "orderReverse" : "orderChrono";
};
-euphorik.PageMinichat.prototype.charger = function() {
+euphorik.PageMinichat.prototype.charger = function() {
thisPage = this;
$("#posterMessage input.pseudo").val(this.client.pseudo);
// cet appel ne doit pas être fait avant l'appel à 'charger'
- this.conversations = new euphorik.Conversations(this.client, this.formateur, this.util, this.fragment);
+ this.conversations = new euphorik.Conversations(this.client, this.formater, this.util, this.communication, this.fragment);
this.chargerConversationsFragment();
this.conversations.rafraichirMessages(true);
-
+
this.util.setCaretToEnd($("form#posterMessage input.message")[0]);
// les outils de bannissement (uniquement pour les ekMaster)
@@ -85,7 +82,7 @@ euphorik.PageMinichat.prototype.charger = function() {
' ' +
'
' +
' ' +
- ' ' +
+ ' ' +
' ' +
''
);
@@ -123,12 +120,12 @@ euphorik.PageMinichat.prototype.charger = function() {
//
$("body").append('');
// affichage des smiles
- $("#smiles").append(this.formateur.getSmilesHTML()).children().each(
+ $("#smiles").append(this.formater.getSmilesHTML()).children().each(
function(i) {
var opacityBase = $(this).css("opacity");
$(this).click(
function() {
- thisPage.util.replaceSelection($("form#posterMessage input.message")[0], thisPage.formateur.smiles[$(this).attr("class")][0].source.replace(/\\/g, ""));
+ thisPage.util.replaceSelection($("form#posterMessage input.message")[0], thisPage.formater.smiles[$(this).attr("class")][0].source.replace(/\\/g, ""));
}
).hover(
function() { $(this).animate({opacity: 1}, 200); },
@@ -163,10 +160,10 @@ euphorik.PageMinichat.prototype.charger = function() {
var retCommandes = thisPage.commandes.exec(message);
switch (retCommandes[0]) {
case euphorik.Commandes.statut.pas_une_commande :
- thisPage.envoyerMessage($("form#posterMessage input.pseudo").val(), message);
+ thisPage.envoyerMessage(message);
break;
case euphorik.Commandes.statut.erreur_commande :
- thisPage.util.messageDialogue(retCommandes[1], euphorik.Util.messageType.erreur);
+ thisPage.util.messageDialog(retCommandes[1], euphorik.Util.messageType.erreur);
break;
case euphorik.Commandes.statut.ok :
$("form#posterMessage input.message").val("");
@@ -213,45 +210,50 @@ euphorik.PageMinichat.prototype.chargerConversationsFragment = function() {
} catch(e) {
;; console.log(e)
}
-}
+};
euphorik.PageMinichat.prototype.decharger = function() {
this.conversations.comet.stopAttenteCourante();
$("body #smiles").remove();
- this.fragment.delVal("conv")
+ this.fragment.delVal("conv");
};
-euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
- var thisPageMinichat = this;
+/**
+ * Envoie un nouve message donné, le pseudo utilisé est celui se trouvant
+ * dans la zone de saisie (form#posterMessage input.pseudo).
+ */
+euphorik.PageMinichat.prototype.envoyerMessage = function(message) {
+ var thisPageMinichat = this;
+ var pseudo = $("form#posterMessage input.pseudo").val();
// (un pseudo vide est autorisé)
- pseudo = this.formateur.filtrerInputPseudo(pseudo);
+ pseudo = this.formater.filtrerInputPseudo(pseudo);
if (pseudo === euphorik.conf.pseudoDefaut) {
- this.util.messageDialogue("Le pseudo ne peut pas être " + euphorik.conf.pseudoDefaut);
+ this.util.messageDialog("Le pseudo ne peut pas être " + euphorik.conf.pseudoDefaut);
return;
}
message = message.trim();
if (!message) {
- this.util.messageDialogue("Le message est vide");
+ this.util.messageDialog("Le message est vide");
return;
}
+
+ this.client.pseudo = pseudo;
if (!this.client.authentifie()) {
if (!this.client.enregistrement()) {
- this.util.messageDialogue("login impossible");
+ this.util.messageDialog("login impossible");
return;
}
}
- this.client.pseudo = pseudo;
-
// évite le double post
if (this.envoieMessageEnCours) {
- this.util.messageDialogue("Message en cours d'envoie...");
+ this.util.messageDialog("Message en cours d'envoie...");
return;
}
this.envoieMessageEnCours = true;
@@ -260,23 +262,12 @@ euphorik.PageMinichat.prototype.envoyerMessage = function(pseudo, message) {
"put_message",
this.getJSONMessage(pseudo, message),
function() {
- // TODO : revoir cette partie
- // met à jour la classe des messages auquel repond celui ci (c'est un peu de la triche) TODO : ya mieux ?
- objectEach(thisPageMinichat.conversations.messagesRepond, function(messId) {
- thisPageMinichat.conversations.conversations.each(function(i, conv) {
- var mess = conv.messagesParId[messId];
- if (mess) {
- mess.clientARepondu = true;
- $("#conversations #" + mess.getId(conv.getId())).addClass("repondu")
- }
- });
- });
$("form#posterMessage input.message").val("");
thisPageMinichat.conversations.enleverMessagesRepond();
thisPageMinichat.envoieMessageEnCours = false;
},
function(data) {
- thisPageMinichat.util.messageDialogue(data.error_message);
+ thisPageMinichat.util.messageDialog(data.error_message);
thisPageMinichat.envoieMessageEnCours = false;
},
true,