java/nekurak.net-web/web/WEB-INF/tags/nekurak/hlasovani.tag
changeset 107 e8371105fcc8
parent 106 6209f3d550c5
child 108 f74a9fc683da
     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 – &lt;img src='…'/&gt;"/>
    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 &amp;&amp; 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>