MOD adaptation du skin dark
[euphorik.git] / js / pageMinichat / conversation.js
index 70be515..73b8d3a 100644 (file)
@@ -56,7 +56,7 @@ euphorik.Conversation = function(conversations, num) {
          '<div class="titre">' +\r
             (reverse ? messageRacineXHTML : "") +\r
             '<div class="nav">' +\r
-               (this.num === 0 ? '' : '<div class="fermer"></div><div class="lien"></div>') + //</div><div class="reduire">\r
+               (this.num === 0 ? '' : '<div class="fermer"></div><div class="creerLien"></div>') + //</div><div class="reduire">\r
                '<span class="next">&lt;</span><span class="numPage">1</span><span class="prev">&gt;</span>' +\r
             '</div>' +\r
             (reverse ? "" : messageRacineXHTML) +\r
@@ -70,13 +70,13 @@ euphorik.Conversation = function(conversations, num) {
    // les infos bulles\r
    this.util.infoBulle("Aller à la première page", $("#" + this.getId() + " .titre .numPage"), euphorik.Util.positionBulleType.haut);\r
    if (this.num !== 0) {\r
-      this.util.infoBulle("Créer un lien vers la conversation", $("#" + this.getId() + " .titre .lien"));\r
+      this.util.infoBulle("Créer un lien vers la conversation", $("#" + this.getId() + " .titre .creerLien"));\r
       this.util.infoBulle("Fermer la conversation", $("#" + this.getId() + " .titre .fermer"));\r
    }\r
    \r
     // les différents événements liés à la conversation\r
    var thisConversation = this;   \r
-   $("#" + this.getId() + " .titre .lien").click(function() {\r
+   $("#" + this.getId() + " .titre .creerLien").click(function() {\r
         thisConversation.util.replaceSelection(\r
            $("form#posterMessage input.message")[0],\r
            "{" + thisConversation.client.conversations[thisConversation.num - 1].root.toString(36) + "}"\r
@@ -286,6 +286,7 @@ euphorik.Conversation.prototype.flush = function() {
 \r
 /**\r
   * Attache des événements à un message donné.\r
+  * Utilisé lorsqu'un message est ajouté au document HTML.\r
   * @element le message du DOM\r
   */\r
 euphorik.Conversation.prototype.attacherEventsSurMessage = function(element) {\r
@@ -326,8 +327,15 @@ euphorik.Conversation.prototype.attacherEventsSurMessage = function(element) {
       $("form input.message").focus();\r
    }).hover(function() { // affiche les outils liées au message\r
       var top = $(this).offset().top\r
-      var left = $(this).offset().left + $(this).width() - thisConversation.util.outilsMessage.largeur\r
-      thisConversation.util.outilsMessage.css("top", top + 1).css("left", left).prependTo(this).show();\r
+      var left = $(this).offset().left + $(this).outerWidth() - thisConversation.util.outilsMessage.largeur\r
+      $(".extraire", thisConversation.util.outilsMessage).unbind();\r
+      $(".extraireCompletement", thisConversation.util.outilsMessage).unbind();\r
+      // TODO : ces deux appels devraient se trouver dans "PageMinichat" lors de la création de thisConversation.util\r
+      // malheureusement lors de la modification du DOM (suppression des conversations) les événements liés sont supprimés\r
+      thisConversation.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", thisConversation.util.outilsMessage));\r
+      thisConversation.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", thisConversation.util.outilsMessage));\r
+      thisConversation.util.outilsMessage.css("top", top).css("left", left).prependTo(this).show();\r
+      thisConversation.util.outilsMessage.largeur = thisConversation.util.outilsMessage.outerWidth();\r
    }, function() {\r
       thisConversation.util.outilsMessage.hide()\r
    });\r