java/nekurak.net-web/web/WEB-INF/tags/nekurak/hlasovani.tag
changeset 145 0efefbf5f8b6
parent 116 6d9647a51193
child 164 e146e2e3b80b
     1.1 --- a/java/nekurak.net-web/web/WEB-INF/tags/nekurak/hlasovani.tag	Wed Apr 28 01:29:22 2010 +0200
     1.2 +++ b/java/nekurak.net-web/web/WEB-INF/tags/nekurak/hlasovani.tag	Sun Jun 20 14:46:47 2010 +0200
     1.3 @@ -1,141 +1,141 @@
     1.4  <?xml version="1.0" encoding="UTF-8"?>
     1.5  <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
     1.6 -	  xmlns:c="http://java.sun.com/jsp/jstl/core"
     1.7 -	  xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
     1.8 -	  xmlns:fn="http://java.sun.com/jsp/jstl/functions"
     1.9 -	  version="2.0">
    1.10 +		  xmlns:c="http://java.sun.com/jsp/jstl/core"
    1.11 +		  xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
    1.12 +		  xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    1.13 +		  version="2.0">
    1.14  
    1.15 -    <jsp:directive.attribute name="podnik" type="java.lang.Integer" required="true" description="ID podniku"/>
    1.16 -    <jsp:directive.attribute name="hlasuAno" type="java.lang.Integer" required="false" description="počet hlasů pro ano – aby se tu kouřilo"/>
    1.17 -    <jsp:directive.attribute name="hlasuNe" type="java.lang.Integer" required="false" description="počet hlasů pro ne – aby se tu nekouřilo"/>
    1.18 -    <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.19 +	<jsp:directive.attribute name="podnik" type="java.lang.Integer" required="true" description="ID podniku"/>
    1.20 +	<jsp:directive.attribute name="hlasuAno" type="java.lang.Integer" required="false" description="počet hlasů pro ano – aby se tu kouřilo"/>
    1.21 +	<jsp:directive.attribute name="hlasuNe" type="java.lang.Integer" required="false" description="počet hlasů pro ne – aby se tu nekouřilo"/>
    1.22 +	<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.23  
    1.24 -    <!-- výchozí hodnota -->
    1.25 -    <c:if test="${svgUvnitrXhtml == null}">
    1.26 -	<c:set var="svgUvnitrXhtml" value="${true}"/>
    1.27 -    </c:if>
    1.28 +	<!-- výchozí hodnota -->
    1.29 +	<c:if test="${svgUvnitrXhtml == null}">
    1.30 +		<c:set var="svgUvnitrXhtml" value="${true}"/>
    1.31 +	</c:if>
    1.32  
    1.33 -    <!-- hodnoty nejsou uvedeny → načteme si je -->
    1.34 -    <c:if test="${hlasuAno == null || hlasuNe == null || (hlasuAno == 0 &amp;&amp; hlasuNe == 0)}">
    1.35 -	<jsp:useBean id="hlasovani" class="cz.frantovo.nekurak.web.Hlasovani" scope="request"/>
    1.36 -	<jsp:setProperty name="hlasovani" property="podnik" value="${podnik}"/>
    1.37 -	<c:set var="hlasuAno" value="${hlasovani.vysledek.hlasuAno}"/>
    1.38 -	<c:set var="hlasuNe" value="${hlasovani.vysledek.hlasuNe}"/>
    1.39 -    </c:if>
    1.40 +	<!-- hodnoty nejsou uvedeny → načteme si je -->
    1.41 +	<c:if test="${hlasuAno == null || hlasuNe == null || (hlasuAno == 0 &amp;&amp; hlasuNe == 0)}">
    1.42 +		<jsp:useBean id="hlasovani" class="cz.frantovo.nekurak.web.Hlasovani" scope="request"/>
    1.43 +		<jsp:setProperty name="hlasovani" property="podnik" value="${podnik}"/>
    1.44 +		<c:set var="hlasuAno" value="${hlasovani.vysledek.hlasuAno}"/>
    1.45 +		<c:set var="hlasuNe" value="${hlasovani.vysledek.hlasuNe}"/>
    1.46 +	</c:if>
    1.47  
    1.48 -    <c:choose>
    1.49 -	<c:when test="${svgUvnitrXhtml}">
    1.50 -	    <svg:svg xmlns:svg="http://www.w3.org/2000/svg"
    1.51 -		     xmlns:xlink="http://www.w3.org/1999/xlink"
    1.52 -		     version="1.1" baseProfile="full"
    1.53 -		     width="200" height="200">
    1.54 +	<c:choose>
    1.55 +		<c:when test="${svgUvnitrXhtml}">
    1.56 +			<svg:svg xmlns:svg="http://www.w3.org/2000/svg"
    1.57 +					 xmlns:xlink="http://www.w3.org/1999/xlink"
    1.58 +					 version="1.1" baseProfile="full"
    1.59 +					 width="200" height="200">
    1.60  
    1.61  
    1.62 -		<svg:style type="text/css">
    1.63 -		    rect.ne {
    1.64 +				<svg:style type="text/css">
    1.65 +			rect.ne {
    1.66  			fill:  url(#ne_prechod_${podnik});
    1.67  			stroke: black;
    1.68 -		    }
    1.69 -		    rect.ano {
    1.70 +			}
    1.71 +			rect.ano {
    1.72  			fill: url(#ano_prechod_${podnik});
    1.73  			stroke: black;
    1.74 -		    }
    1.75 +			}
    1.76  
    1.77 -		    a:hover rect.ano, a:hover rect.ne {
    1.78 +			a:hover rect.ano, a:hover rect.ne {
    1.79  			fill: url(#zvyrazneny_prechod_${podnik});
    1.80 -		    }
    1.81 +			}
    1.82  
    1.83 -		    a:hover text {
    1.84 +			a:hover text {
    1.85  			fill: green;
    1.86 -		    }
    1.87 +			}
    1.88  
    1.89 -		    line.ramecek {
    1.90 +			line.ramecek {
    1.91  			stroke: black;
    1.92  			stroke-width: 2;
    1.93 -		    }
    1.94 +			}
    1.95  
    1.96  
    1.97 -		    rect.pozadi {
    1.98 +			rect.pozadi {
    1.99  			fill: url(#pozadi_prechod_${podnik});
   1.100 -		    }
   1.101 +			}
   1.102  
   1.103 -		    text {
   1.104 +			text {
   1.105  			font-size: 12px;
   1.106  			font-family: Sans;
   1.107 -		    }
   1.108 +			}
   1.109  
   1.110 -		</svg:style>
   1.111 +				</svg:style>
   1.112  
   1.113 -		<!-- pozadí – přechod -->
   1.114 -		<svg:defs>
   1.115 -		    <svg:linearGradient id="pozadi_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.116 -			<svg:stop offset="20%" style="stop-color:rgb(245,245,255); stop-opacity:0.5"/>
   1.117 -			<svg:stop offset="100%" style="stop-color:silver; stop-opacity:0.8"/>
   1.118 -		    </svg:linearGradient>
   1.119 -		</svg:defs>
   1.120 +				<!-- pozadí – přechod -->
   1.121 +				<svg:defs>
   1.122 +					<svg:linearGradient id="pozadi_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.123 +						<svg:stop offset="20%" style="stop-color:rgb(245,245,255); stop-opacity:0.5"/>
   1.124 +						<svg:stop offset="100%" style="stop-color:silver; stop-opacity:0.8"/>
   1.125 +					</svg:linearGradient>
   1.126 +				</svg:defs>
   1.127  
   1.128 -		<!-- nekuřácký graf – přechod -->
   1.129 -		<svg:defs>
   1.130 -		    <svg:linearGradient id="ne_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.131 -			<svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
   1.132 -			<svg:stop offset="100%" style="stop-color:blue; stop-opacity:1"/>
   1.133 -		    </svg:linearGradient>
   1.134 -		</svg:defs>
   1.135 +				<!-- nekuřácký graf – přechod -->
   1.136 +				<svg:defs>
   1.137 +					<svg:linearGradient id="ne_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.138 +						<svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
   1.139 +						<svg:stop offset="100%" style="stop-color:blue; stop-opacity:1"/>
   1.140 +					</svg:linearGradient>
   1.141 +				</svg:defs>
   1.142  
   1.143 -		<!-- zvýrazněný graf – přechod -->
   1.144 -		<svg:defs>
   1.145 -		    <svg:linearGradient id="zvyrazneny_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.146 -			<svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
   1.147 -			<svg:stop offset="100%" style="stop-color:green; stop-opacity:1"/>
   1.148 -		    </svg:linearGradient>
   1.149 -		</svg:defs>
   1.150 +				<!-- zvýrazněný graf – přechod -->
   1.151 +				<svg:defs>
   1.152 +					<svg:linearGradient id="zvyrazneny_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.153 +						<svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
   1.154 +						<svg:stop offset="100%" style="stop-color:green; stop-opacity:1"/>
   1.155 +					</svg:linearGradient>
   1.156 +				</svg:defs>
   1.157  
   1.158 -		<!-- kuřácký graf – přechod -->
   1.159 -		<svg:defs>
   1.160 -		    <svg:linearGradient id="ano_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.161 -			<svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
   1.162 -			<svg:stop offset="100%" style="stop-color:red; stop-opacity:1"/>
   1.163 -		    </svg:linearGradient>
   1.164 -		</svg:defs>
   1.165 +				<!-- kuřácký graf – přechod -->
   1.166 +				<svg:defs>
   1.167 +					<svg:linearGradient id="ano_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
   1.168 +						<svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
   1.169 +						<svg:stop offset="100%" style="stop-color:red; stop-opacity:1"/>
   1.170 +					</svg:linearGradient>
   1.171 +				</svg:defs>
   1.172  
   1.173 -		<!-- pozadí a linka -->
   1.174 -		<svg:rect x="0" y="0" width="200" height="200" class="pozadi"/>
   1.175 -		<svg:line x1="10" y1="180" x2="190" y2="180" class="ramecek"/>
   1.176 +				<!-- pozadí a linka -->
   1.177 +				<svg:rect x="0" y="0" width="200" height="200" class="pozadi"/>
   1.178 +				<svg:line x1="10" y1="180" x2="190" y2="180" class="ramecek"/>
   1.179  
   1.180 -		<!-- nadpis grafu -->
   1.181 -		<svg:text x="60" y="20"><fmt:message key="hlasovani.graf.nadpis"/>:</svg:text>
   1.182 +				<!-- nadpis grafu -->
   1.183 +				<svg:text x="60" y="20"><fmt:message key="hlasovani.graf.nadpis"/>:</svg:text>
   1.184  
   1.185 -		<!-- žádné hlasy -->
   1.186 -		<c:if test="${hlasuAno == 0 &amp;&amp; hlasuNe == 0}">
   1.187 -		    <svg:text x="30" y="100"><fmt:message key="hlasovani.graf.zadneHlasy"/></svg:text>
   1.188 -		</c:if>
   1.189 +				<!-- žádné hlasy -->
   1.190 +				<c:if test="${hlasuAno == 0 &amp;&amp; hlasuNe == 0}">
   1.191 +					<svg:text x="30" y="100"><fmt:message key="hlasovani.graf.zadneHlasy"/></svg:text>
   1.192 +				</c:if>
   1.193  
   1.194 -		<!-- vypočteme si výšky sloupců grafu -->
   1.195 -		<c:set var="hlasuNeVyska" value="${150*hlasuNe/(hlasuAno+hlasuNe)}"/>
   1.196 -		<c:set var="hlasuAnoVyska" value="${150*hlasuAno/(hlasuAno+hlasuNe)}"/>
   1.197 +				<!-- vypočteme si výšky sloupců grafu -->
   1.198 +				<c:set var="hlasuNeVyska" value="${150*hlasuNe/(hlasuAno+hlasuNe)}"/>
   1.199 +				<c:set var="hlasuAnoVyska" value="${150*hlasuAno/(hlasuAno+hlasuNe)}"/>
   1.200  
   1.201 -		<!-- nekuřáci -->
   1.202 -		<fmt:message key="hlasovani.graf.popisSloupce" var="hlasuNeLokalizace">
   1.203 -		    <fmt:param value="${hlasuNe}"/>
   1.204 -		</fmt:message>
   1.205 -		<svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, false);" xlink:title="${hlasuNeLokalizace}">
   1.206 -		    <svg:text x="30" y="195" class="ne"><fmt:message key="hlasovani.graf.nekourit"/></svg:text>
   1.207 -		    <svg:rect x="30" y="${180 - hlasuNeVyska}" width="50" height="${hlasuNeVyska}" class="ne"/>
   1.208 -		</svg:a>
   1.209 +				<!-- nekuřáci -->
   1.210 +				<fmt:message key="hlasovani.graf.popisSloupce" var="hlasuNeLokalizace">
   1.211 +					<fmt:param value="${hlasuNe}"/>
   1.212 +				</fmt:message>
   1.213 +				<svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, false);" xlink:title="${hlasuNeLokalizace}">
   1.214 +					<svg:text x="30" y="195" class="ne"><fmt:message key="hlasovani.graf.nekourit"/></svg:text>
   1.215 +					<svg:rect x="30" y="${180 - hlasuNeVyska}" width="50" height="${hlasuNeVyska}" class="ne"/>
   1.216 +				</svg:a>
   1.217  
   1.218 -		<!-- kuřáci -->
   1.219 -		<fmt:message key="hlasovani.graf.popisSloupce" var="hlasuAnoLokalizace">
   1.220 -		    <fmt:param value="${hlasuAno}"/>
   1.221 -		</fmt:message>
   1.222 -		<svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, true);" xlink:title="${hlasuAnoLokalizace}">
   1.223 -		    <svg:text x="130" y="195" class="ano"><fmt:message key="hlasovani.graf.kourit"/></svg:text>
   1.224 -		    <svg:rect x="120" y="${180 - hlasuAnoVyska}" width="50" height="${hlasuAnoVyska}" class="ano"/>
   1.225 -		</svg:a>
   1.226 -	    </svg:svg>
   1.227 -	</c:when>
   1.228 -	<c:otherwise>
   1.229 -	    <object data="hlasovani-svg.jsp?podnik=${podnik}&amp;amp;hlasuAno=${hlasuAno}&amp;amp;hlasuNe=${hlasuNe}" type="image/svg+xml"/>
   1.230 -	</c:otherwise>
   1.231 -    </c:choose>
   1.232 +				<!-- kuřáci -->
   1.233 +				<fmt:message key="hlasovani.graf.popisSloupce" var="hlasuAnoLokalizace">
   1.234 +					<fmt:param value="${hlasuAno}"/>
   1.235 +				</fmt:message>
   1.236 +				<svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, true);" xlink:title="${hlasuAnoLokalizace}">
   1.237 +					<svg:text x="130" y="195" class="ano"><fmt:message key="hlasovani.graf.kourit"/></svg:text>
   1.238 +					<svg:rect x="120" y="${180 - hlasuAnoVyska}" width="50" height="${hlasuAnoVyska}" class="ano"/>
   1.239 +				</svg:a>
   1.240 +			</svg:svg>
   1.241 +		</c:when>
   1.242 +		<c:otherwise>
   1.243 +			<object data="hlasovani-svg.jsp?podnik=${podnik}&amp;amp;hlasuAno=${hlasuAno}&amp;amp;hlasuNe=${hlasuNe}" type="image/svg+xml"/>
   1.244 +		</c:otherwise>
   1.245 +	</c:choose>
   1.246  
   1.247  </jsp:root>
   1.248 \ No newline at end of file