1 <?xml version="1.0" encoding="UTF-8"?>
2 <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
3 xmlns:c="http://java.sun.com/jsp/jstl/core"
4 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
5 xmlns:fn="http://java.sun.com/jsp/jstl/functions"
8 <jsp:directive.attribute name="podnik" type="java.lang.Integer" required="true" description="ID podniku"/>
9 <jsp:directive.attribute name="hlasuAno" type="java.lang.Integer" required="false" description="počet hlasů pro ano – aby se tu kouřilo"/>
10 <jsp:directive.attribute name="hlasuNe" type="java.lang.Integer" required="false" description="počet hlasů pro ne – aby se tu nekouřilo"/>
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='…'/>"/>
13 <!-- výchozí hodnota -->
14 <c:if test="${svgUvnitrXhtml == null}">
15 <c:set var="svgUvnitrXhtml" value="${true}"/>
18 <!-- hodnoty nejsou uvedeny → načteme si je -->
19 <c:if test="${hlasuAno == null || hlasuNe == null || (hlasuAno == 0 && hlasuNe == 0)}">
20 <jsp:useBean id="hlasovani" class="cz.frantovo.nekurak.web.Hlasovani" scope="request"/>
21 <jsp:setProperty name="hlasovani" property="podnik" value="${podnik}"/>
22 <c:set var="hlasuAno" value="${hlasovani.vysledek.hlasuAno}"/>
23 <c:set var="hlasuNe" value="${hlasovani.vysledek.hlasuNe}"/>
27 <c:when test="${svgUvnitrXhtml}">
28 <svg xmlns="http://www.w3.org/2000/svg"
29 xmlns:xlink="http://www.w3.org/1999/xlink"
30 width="200" height="200">
33 <style type="text/css">
35 fill: url(#ne_prechod);
39 fill: url(#ano_prechod);
43 a:hover rect.ano, a:hover rect.ne {
44 fill: url(#zvyrazneny_prechod);
58 fill: url(#pozadi_prechod);
68 <!-- pozadí – přechod -->
70 <linearGradient id="pozadi_prechod" x1="0%" y1="0%" x2="100%" y2="100%">
71 <stop offset="20%" style="stop-color:rgb(245,245,255); stop-opacity:0.5"/>
72 <stop offset="100%" style="stop-color:silver; stop-opacity:0.8"/>
76 <!-- nekuřácký graf – přechod -->
78 <linearGradient id="ne_prechod" x1="0%" y1="0%" x2="100%" y2="100%">
79 <stop offset="0%" style="stop-color:white; stop-opacity:1"/>
80 <stop offset="100%" style="stop-color:blue; stop-opacity:1"/>
84 <!-- zvýrazněný graf – přechod -->
86 <linearGradient id="zvyrazneny_prechod" x1="0%" y1="0%" x2="100%" y2="100%">
87 <stop offset="0%" style="stop-color:white; stop-opacity:1"/>
88 <stop offset="100%" style="stop-color:green; stop-opacity:1"/>
92 <!-- kuřácký graf – přechod -->
94 <linearGradient id="ano_prechod" x1="0%" y1="0%" x2="100%" y2="100%">
95 <stop offset="0%" style="stop-color:white; stop-opacity:1"/>
96 <stop offset="100%" style="stop-color:red; stop-opacity:1"/>
100 <!-- pozadí a linka -->
101 <rect x="0" y="0" width="200" height="200" class="pozadi"/>
102 <line x1="10" y1="180" x2="190" y2="180" class="ramecek"/>
104 <!-- nadpis grafu -->
105 <text x="60" y="20"><fmt:message key="hlasovani.graf.nadpis"/>:</text>
108 <c:if test="${hlasuAno == 0 && hlasuNe == 0}">
109 <text x="30" y="100"><fmt:message key="hlasovani.graf.zadneHlasy"/></text>
112 <!-- vypočteme si výšky sloupců grafu -->
113 <c:set var="hlasuNeVyska" value="${150*hlasuNe/(hlasuAno+hlasuNe)}"/>
114 <c:set var="hlasuAnoVyska" value="${150*hlasuAno/(hlasuAno+hlasuNe)}"/>
117 <fmt:message key="hlasovani.graf.popisSloupce" var="hlasuNeLokalizace">
118 <fmt:param value="${hlasuNe}"/>
120 <a xlink:href="javascript:hlasovani.hlasuj(${podnik}, false);" xlink:title="${hlasuNeLokalizace}">
121 <text x="30" y="195" class="ne"><fmt:message key="hlasovani.graf.nekourit"/></text>
122 <rect x="30" y="${180 - hlasuNeVyska}" width="50" height="${hlasuNeVyska}" class="ne"/>
126 <fmt:message key="hlasovani.graf.popisSloupce" var="hlasuAnoLokalizace">
127 <fmt:param value="${hlasuAno}"/>
129 <a xlink:href="javascript:hlasovani.hlasuj(${podnik}, true);" xlink:title="${hlasuAnoLokalizace}">
130 <text x="130" y="195" class="ano"><fmt:message key="hlasovani.graf.kourit"/></text>
131 <rect x="120" y="${180 - hlasuAnoVyska}" width="50" height="${hlasuAnoVyska}" class="ano"/>
136 <object data="hlasovani-svg.jsp?podnik=${podnik}&amp;hlasuAno=${hlasuAno}&amp;hlasuNe=${hlasuNe}" type="image/svg+xml"/>