1.1 --- a/java/nekurak.net-web/web/WEB-INF/tags/nekurak/hlasovani.tag Tue Apr 27 13:14:23 2010 +0200
1.2 +++ b/java/nekurak.net-web/web/WEB-INF/tags/nekurak/hlasovani.tag Tue Apr 27 16:13:36 2010 +0200
1.3 @@ -6,14 +6,23 @@
1.4 version="2.0">
1.5
1.6 <jsp:directive.attribute name="podnik" type="java.lang.Integer" required="true" description="ID podniku"/>
1.7 - <jsp:directive.attribute name="hlasuAno" type="java.lang.Integer" required="true" description="počet hlasů pro ano – aby se tu kouřilo"/>
1.8 - <jsp:directive.attribute name="hlasuNe" type="java.lang.Integer" required="true" description="počet hlasů pro ne – aby se tu nekouřilo"/>
1.9 + <jsp:directive.attribute name="hlasuAno" type="java.lang.Integer" required="false" description="počet hlasů pro ano – aby se tu kouřilo"/>
1.10 + <jsp:directive.attribute name="hlasuNe" type="java.lang.Integer" required="false" description="počet hlasů pro ne – aby se tu nekouřilo"/>
1.11 <jsp:directive.attribute name="svgUvnitrXhtml" type="java.lang.Boolean" required="false" description="true = SVG vložené přímo do XHTML (XML) | false = SVG jako externí obrázek – <img src='…'/>"/>
1.12
1.13 + <!-- výchozí hodnota -->
1.14 <c:if test="${svgUvnitrXhtml == null}">
1.15 <c:set var="svgUvnitrXhtml" value="${true}"/>
1.16 </c:if>
1.17
1.18 + <!-- hodnoty nejsou uvedeny → načteme si je -->
1.19 + <c:if test="${hlasuAno == null || hlasuNe == null}">
1.20 + <jsp:useBean id="hlasovani" class="cz.frantovo.nekurak.web.Hlasovani" scope="request"/>
1.21 + <jsp:setProperty name="hlasovani" property="podnik" value="${podnik}"/>
1.22 + <c:set var="hlasuAno" value="${hlasovani.vysledek.hlasuAno}"/>
1.23 + <c:set var="hlasuNe" value="${hlasovani.vysledek.hlasuNe}"/>
1.24 + </c:if>
1.25 +
1.26 <c:choose>
1.27 <c:when test="${svgUvnitrXhtml}">
1.28 <svg width="200" height="200"
1.29 @@ -59,7 +68,7 @@
1.30 <!-- pozadí – přechod -->
1.31 <defs>
1.32 <linearGradient id="pozadi_prechod" x1="0%" y1="0%" x2="100%" y2="100%">
1.33 - <stop offset="0%" style="stop-color:white; stop-opacity:0.5"/>
1.34 + <stop offset="20%" style="stop-color:rgb(245,245,255); stop-opacity:0.5"/>
1.35 <stop offset="100%" style="stop-color:silver; stop-opacity:0.8"/>
1.36 </linearGradient>
1.37 </defs>
1.38 @@ -92,19 +101,28 @@
1.39 <rect x="0" y="0" width="200" height="200" class="pozadi"/>
1.40 <line x1="10" y1="180" x2="190" y2="180" class="ramecek"/>
1.41
1.42 - <!-- Nadpis grafu -->
1.43 + <!-- nadpis grafu -->
1.44 <text x="60" y="20">Mělo by se tu:</text>
1.45
1.46 + <!-- žádné hlasy -->
1.47 + <c:if test="${hlasuAno == 0 && hlasuNe == 0}">
1.48 + <text x="30" y="100">(zatím nikdo nehlasoval)</text>
1.49 + </c:if>
1.50 +
1.51 + <!-- vypočteme si výšky sloupců grafu -->
1.52 + <c:set var="hlasuNeVyska" value="${150*hlasuNe/(hlasuAno+hlasuNe)}"/>
1.53 + <c:set var="hlasuAnoVyska" value="${150*hlasuAno/(hlasuAno+hlasuNe)}"/>
1.54 +
1.55 <!-- nekuřáci -->
1.56 - <a xlink:href="javascript:alert('To čumíš, co? :-)')" xlink:title="Hlasů: ${hlasuNe}">
1.57 + <a xlink:href="javascript:hlasovani.hlasuj(${podnik}, false);" xlink:title="hlasů: ${hlasuNe}">
1.58 <text x="30" y="195" class="ne">nekouřit</text>
1.59 - <rect x="30" y="${180 - (150*hlasuNe/(hlasuAno+hlasuNe))}" width="50" height="${150*hlasuNe/(hlasuAno+hlasuNe)}" class="ne"/>
1.60 + <rect x="30" y="${180 - hlasuNeVyska}" width="50" height="${hlasuNeVyska}" class="ne"/>
1.61 </a>
1.62
1.63 <!-- kuřáci -->
1.64 - <a xlink:href="javascript:alert('To čumíš, co? :-)')" xlink:title="Hlasů: ${hlasuAno}">
1.65 + <a xlink:href="javascript:hlasovani.hlasuj(${podnik}, true);" xlink:title="hlasů: ${hlasuAno}">
1.66 <text x="130" y="195" class="ano">kouřit</text>
1.67 - <rect x="120" y="${180 - (150*hlasuAno/(hlasuAno+hlasuNe))}" width="50" height="${150*hlasuAno/(hlasuAno+hlasuNe)}" class="ano"/>
1.68 + <rect x="120" y="${180 - hlasuAnoVyska}" width="50" height="${hlasuAnoVyska}" class="ano"/>
1.69 </a>
1.70 </svg>
1.71 </c:when>