}
#page.minichat img {
- margin: 0px;
+ line-height: normal;
vertical-align: middle;
}
== TODO ==
=== v1.1 ===
-* adapter au protocole pour envoyer les infos concernant les réductions des conversations
* étudier la solution SVG et le calcul de pourcentage pour la largeur des fenêtres
-* un clic sur le nombre de message auquel le user répond enlève tous les mess
* Gestion de l'historique au niveau du navigateur (pouvoir revenir aux pages précédentes). Utiliser un plugin jQuery si possible. Voir du coté des ancres (fragment d'url) : #ancre.
* http://www.euphorik.ch/#page=chat
* Revoir le système de conversation :
* L'icon apparait tout en haut (absolute)
* Simuler un réseau lent
* supprimer le cookie si le client n'arrive pas à s'authentifier avec (réponse négative du serveur)
-* Avoir une option dans le profile pour montrer son rang (ekMaster) de manière ostantatoire, discret ou caché
* Mise à jour automatique de la version dans le about en fonction du tag/branche courant (lors de la mise en production) ?
* Tests de monter en charge coté serveur, analyse de la complexité (regarder du coté des TODO dans le code). Utiliser eventuellement Tsung
* Profiling pour améliorer les performances (client et serveur)
* Lorsque l'on passe le curseur sur cet élément les messages sont affichés en dessous du bouton
* Les messages auquels ont répond sont mis en évidence
* lors de la mise à jour des messages la liste est interrogé pour savoir s'il faut le mettre en évidence
+[ok] Avoir une option dans le profile pour montrer son rang (ekMaster) de manière ostantatoire, discret ou caché
=== Bugs ===
1 : Critique
var conf = {
versionProtocole : 3, // version du protcole
nickDefaut : "<nick>",
- nbMessageAffiche : 10, // (par page)
+ nbMessageAffiche : 60, // (par page)
pseudoDefaut : "<nick>",
tempsAffichageMessageDialogue : 4000, // en ms
tempsKick : 15, // en minute
"cool" : [/8\)/g, /8-\)/g],
"eheheh" : [/:P/g, /:-P/g],
"lol" : [/\[-lol\]/g],
+ "petrus" : [/:F/g],
"spliff" : [/\[-spliff\]/g],
"oh" : [/:o/g, /:O/g],
"heink" : [/\[-heink\]/g],
function(data)
{
if (data["reply"] == "error")
+ {
thisClient.util.messageDialogue(data["error_message"])
+ // suppression du cookie actuel, cas où le cookie du client ne permet pas une authentification
+ thisClient.delCookie()
+ }
else
thisClient.chargerDonnees(data)
}
$("form#posterMessage #repondA").hover(
function() { thisPage.util.afficherBoite($(".messages", this), $(this), positionTypeX.centre, positionTypeY.bas) },
function() { $(".messages", this).hide() }
+ ).click(
+ function(e)
+ {
+ if ($(e.target).is(".nb"))
+ thisPage.conversations.enleverMessagesRepond()
+ }
)
)
for (var i = 0; i < this.messages.length; i++)
{
if (this.messages[i].appartientAuClient)
- messagesProprietaire += "#" + this.messages[i].getId(this.getId()) + ","
+ messagesProprietaire += ".messages #" + this.messages[i].getId(this.getId()) + ","
else if (this.messages[i].clientARepondu)
- messagesRepondu += "#" + this.messages[i].getId(this.getId()) + ","
+ messagesRepondu += ".messages #" + this.messages[i].getId(this.getId()) + ","
else if (this.messages[i].estUneReponse)
- messagesReponse += "#" + this.messages[i].getId(this.getId()) + ","
+ messagesReponse += ".messages #" + this.messages[i].getId(this.getId()) + ","
}
$(messagesReponse).addClass("reponse")
$(messagesRepondu).addClass("repondu")
Conversation.prototype.decolorerEntetes = function()
{
- $("#" + this.getId() + " .message")
+ $("#" + this.getId() + " .messages .message")
.removeClass("reponse")
.removeClass("repondu")
.removeClass("proprietaire")
var mess = message.getConversation(this)
// FIXME : cet appel est très lent
- $("#conversations #" + this.getId() + " .message").each(
+ $("#conversations #" + this.getId() + " .messages .message").each(
function()
{
var jq = $(this)