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"
-<?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>
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>
(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
}\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
$("#" + 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
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
\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
top: 0px;
background-color: #841919;
border-bottom: 1px solid #FFFFFF;
- z-index: 20;
+ z-index: 100;
color: #f0df95
}
div#info div.fermer {
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 {