FIX petit bug dans la mise en évidence des messages auquel l'utilisateur répond
authorGreg Burri <greg.burri@gmail.com>
Fri, 1 Aug 2008 19:37:01 +0000 (19:37 +0000)
committerGreg Burri <greg.burri@gmail.com>
Fri, 1 Aug 2008 19:37:01 +0000 (19:37 +0000)
ADD début d'essaie SVG

doc/graphiques/maquette_1.svg
index.yaws
js/pageMinichat/conversation.js
js/pageMinichat/conversations.js
styles/1/euphorik.css
styles/1/pageMinichat.css

index 3f5163f..6bc4f07 100644 (file)
@@ -29,9 +29,9 @@
      objecttolerance="10"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="7.5822789"
-     inkscape:cx="580.48394"
-     inkscape:cy="905.17554"
+     inkscape:zoom="1.8955697"
+     inkscape:cx="560.42433"
+     inkscape:cy="704.00469"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="false"
        inkscape:vp_y="0 : 1000 : 0"
        inkscape:vp_x="0 : 526.18109 : 1"
        sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2610"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
   </defs>
   <metadata
      id="metadata7">
        d="M 630.08761,136.21281 L 615.84388,145.04921"
        id="path3316"
        sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-size:2.74360847px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Bitstream Vera Sans"
+       x="338.66843"
+       y="306.53387"
+       id="text2528"><tspan
+         sodipodi:role="line"
+         x="338.66843"
+         y="306.53387"
+         id="tspan2532">le message racine</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+       d="M 347.10273,307.6533 L 332.859,316.4897"
+       id="path2534"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-size:2.74360847px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Bitstream Vera Sans"
+       x="340.82312"
+       y="184.92621"
+       id="text2538"><tspan
+         sodipodi:role="line"
+         x="340.82312"
+         y="184.92621"
+         id="tspan2540">s'affiche lorsqu'un nouveau message</tspan><tspan
+         sodipodi:role="line"
+         x="340.82312"
+         y="188.35571"
+         id="tspan2544">arrive dans cette conversation</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+       d="M 343.19063,182.08903 L 332.63972,178.5281"
+       id="path2542"
+       sodipodi:nodetypes="cc" />
+    <image
+       y="235.1068"
+       x="532.7345"
+       id="image2612"
+       height="16"
+       width="16"
+       sodipodi:absref="/home/gburri/projets/euphorik/trunk/img/ban.gif"
+       xlink:href="/home/gburri/projets/euphorik/trunk/img/ban.gif" />
   </g>
   <g
      style="display:inline"
index 47595bb..5bc67bd 100755 (executable)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" ?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <erl>
@@ -10,7 +10,9 @@
       end
    }}.
 </erl>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
+<html xmlns="http://www.w3.org/1999/xhtml" 
+      xmlns:svg="http://www.w3.org/2000/svg"
+      xmlns:xlink="http://www.w3.org/1999/xlink">
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>euphorik.ch</title>
index 5a10c5a..71a7b3d 100644 (file)
@@ -62,10 +62,28 @@ euphorik.Conversation = function(conversations, num) {
             (reverse ? "" : messageRacineXHTML) +\r
          '</div>' +\r
          (reverse ? "" : messagesXHTML) +\r
+         '<div class="messageReduit" style="height:200px; width:50px"></div>' +\r
       '</td>';\r
     \r
    $("#conversations tr").append(XHTML);\r
    \r
+    // les différents événements liés à la conversation\r
+   var thisConversation = this;   \r
+   $("#" + this.getId() + " .titre .lien").click(function() {\r
+        thisConversation.util.replaceSelection(\r
+           $("form#posterMessage input.message")[0],\r
+           "{" + thisConversation.client.conversations[thisConversation.num - 1].root.toString(36) + "}"\r
+        );\r
+   });   \r
+   $("#" + this.getId() + " .titre .fermer").click(function() {\r
+      thisConversation.conversations.supprimerConversation(num);\r
+   });\r
+   $("#" + this.getId() + " .titre .reduire").click(function() {\r
+      $("#" + thisConversation.getId() + " .titre, #" + thisConversation.getId() + " .messages").hide()\r
+      var e = $("#" + thisConversation.getId() +  " .messageReduit");\r
+      e.get()[0].innerHTML = thisConversation.getMessageReduit()\r
+   });\r
+\r
    this.util.infoBulle("Aller à la première page", $("#" + this.getId() + " .numPage"), euphorik.Util.positionBulleType.haut);\r
    if (num !== 0) {\r
       this.util.infoBulle("Créer un lien vers la conversation", $("#" + this.getId() + " .lien"));\r
@@ -73,6 +91,16 @@ euphorik.Conversation = function(conversations, num) {
    }\r
 };\r
 \r
+euphorik.Conversation.prototype.getMessageReduit = function() {\r
+   return '' +\r
+      '<svg:svg version="1.1" baseProfile="full" width="100px" height="200px">' +\r
+         '<svg:image x="10" y="10" height="10" width="10" class="fermer" />' +\r
+         '<svg:text transform="rotate(-90)" y="15" x="-200" >' +\r
+            'Blabla blablablabla bla blabla ..' +\r
+         '</svg:text>' +\r
+      '</svg:svg>';\r
+}\r
+\r
 /**\r
   * @racine un message représentant la racine de la conversation, vaut undefined pour la conversation générale\r
   */\r
@@ -139,32 +167,6 @@ euphorik.Conversation.prototype.setPage = function(pageCourante, dernierePage) {
    $("#" + this.getId() + " .prev").css("display", dernierePage ? "none" : "inline");\r
 };\r
 \r
-/**\r
-  * Evenement déclanché lors de l'insertion du lien de la conversation dans le message courant.\r
-  */\r
-euphorik.Conversation.prototype.eventLien = function(fun) {\r
-   var thisConversation = this;\r
-   \r
-   $("#" + this.getId() + " .titre .lien").click(\r
-      function() {\r
-         fun(thisConversation.num);\r
-      }\r
-   );\r
-};\r
-\r
-/**\r
-  * Evenement déclanché lors de la fermeture de la conversation.\r
-  */\r
-euphorik.Conversation.prototype.eventFermer = function(fun) {\r
-   var thisConversation = this;\r
-   \r
-   $("#" + this.getId() + " .titre .fermer").click(\r
-      function() {\r
-         fun(thisConversation.num);\r
-      }\r
-   );\r
-};\r
-\r
 /**\r
   * @funNext appelé lorsque l'on passe à la page suivante (de 2 à 1 par exemple)\r
   * @funPrev appelé lorsque l'on passe à la page précédente (de 1 à 2 par exemple)\r
@@ -287,6 +289,10 @@ euphorik.Conversation.prototype.flush = function() {
 euphorik.Conversation.prototype.attacherEventsSurMessage = function(element) {\r
    // l'id du message\r
    var idMess = this.idMessageFromString($(element).attr("id"));\r
+   \r
+   if (idMess in this.conversations.messagesRepond) {\r
+      $(element).addClass("repondEnEvidence");\r
+   }\r
 \r
    this.util.infoBulle("Extraction de la conversation à partir de ce message", $(".extraire", element));\r
    this.util.infoBulle("Extraction de la conversation complète", $(".extraireCompletement", element));\r
index 26fbb66..0ad7878 100644 (file)
@@ -260,38 +260,19 @@ euphorik.Conversations.prototype.ajouterMessage = function(element, numConversat
    \r
    if (!this.conversations[numConversation]) {\r
       nouvelleConversation = true;\r
-      this.nouvelleConversation(\r
-         numConversation,\r
-         function(num) { // fermeture de la conversation\r
-            thisConversations.supprimerConversation(num);\r
-         },\r
-         function(num) { // insertion du lien vers la conversation\r
-            thisPage.util.replaceSelection(\r
-               $("form#posterMessage input.message")[0],\r
-               "{" + thisConversations.client.conversations[num-1].root.toString(36) + "}"\r
-            );\r
-         }\r
-      );\r
+      this.nouvelleConversation(numConversation);\r
    }\r
 \r
    this.conversations[numConversation].ajouterMessage(message);\r
    return nouvelleConversation;\r
 };\r
 \r
-euphorik.Conversations.prototype.nouvelleConversation = function(num, funFermer, funLien)\r
+euphorik.Conversations.prototype.nouvelleConversation = function(num)\r
 {\r
    var thisMessages = this;\r
 \r
    this.conversations[num] = new euphorik.Conversation(this, num);\r
       \r
-   if (funFermer) {\r
-      this.conversations[num].eventFermer(funFermer);\r
-   }\r
-   \r
-   if (funLien) {\r
-      this.conversations[num].eventLien(funLien);\r
-   }\r
-\r
    this.conversations[num].setFunPage(\r
       function(num) { // page suivante\r
          thisMessages.client.pageSuivante(num - 1);\r
index 0383346..4db3de1 100755 (executable)
@@ -136,7 +136,7 @@ div#info {
        top: 0px;
        background-color: #841919;
        border-bottom: 1px solid #FFFFFF;
-       z-index: 20;
+       z-index: 100;
        color: #f0df95
 }
 div#info div.fermer {
index 6f386ce..d8fa986 100755 (executable)
        background-image: url(img/reduire_conv_hover.png);
 }      
 
+#page.minichat #conversations .fermer {
+   background-image: url(img/fermer_conv.png);    
+}
+   
 #page.minichat #conversations .titre .nav .fermer {
        margin-top: 1px;
        margin-left: 5px;
        float: right;
        width: 13px;
        height: 13px;
-       background-image: url(img/fermer_conv.png);
+       background-image: url(img/fermer_conv.png);    
        cursor: pointer;
 }
 #page.minichat #conversations .titre .nav .fermer:hover {