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="true" description="počet hlasů pro ano – aby se tu kouřilo"/>
10 <jsp:directive.attribute name="hlasuNe" type="java.lang.Integer" required="true" 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}"/>
19 <c:when test="${svgUvnitrXhtml}">
20 <svg:svg xmlns:svg="http://www.w3.org/2000/svg"
21 xmlns:xlink="http://www.w3.org/1999/xlink"
22 version="1.1" baseProfile="full"
23 width="200" height="200">
26 <svg:style type="text/css">
28 fill: url(#ne_prechod_${podnik});
32 fill: url(#ano_prechod_${podnik});
36 a:hover rect.ano, a:hover rect.ne {
37 fill: url(#zvyrazneny_prechod_${podnik});
51 fill: url(#pozadi_prechod_${podnik});
61 <!-- pozadí – přechod -->
63 <svg:linearGradient id="pozadi_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
64 <svg:stop offset="20%" style="stop-color:rgb(245,245,255); stop-opacity:0.5"/>
65 <svg:stop offset="100%" style="stop-color:silver; stop-opacity:0.8"/>
69 <!-- nekuřácký graf – přechod -->
71 <svg:linearGradient id="ne_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
72 <svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
73 <svg:stop offset="100%" style="stop-color:blue; stop-opacity:1"/>
77 <!-- zvýrazněný graf – přechod -->
79 <svg:linearGradient id="zvyrazneny_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
80 <svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
81 <svg:stop offset="100%" style="stop-color:green; stop-opacity:1"/>
85 <!-- kuřácký graf – přechod -->
87 <svg:linearGradient id="ano_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
88 <svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
89 <svg:stop offset="100%" style="stop-color:red; stop-opacity:1"/>
93 <!-- pozadí a linka -->
94 <svg:rect x="0" y="0" width="200" height="200" class="pozadi"/>
95 <svg:line x1="10" y1="180" x2="190" y2="180" class="ramecek"/>
98 <svg:text x="60" y="20"><fmt:message key="hlasovani.graf.nadpis"/>:</svg:text>
101 <c:if test="${hlasuAno == 0 && hlasuNe == 0}">
102 <svg:text x="30" y="100"><fmt:message key="hlasovani.graf.zadneHlasy"/></svg:text>
105 <!-- vypočteme si výšky sloupců grafu -->
106 <c:set var="hlasuNeVyska" value="${150*hlasuNe/(hlasuAno+hlasuNe)}"/>
107 <c:set var="hlasuAnoVyska" value="${150*hlasuAno/(hlasuAno+hlasuNe)}"/>
110 <fmt:message key="hlasovani.graf.popisSloupce" var="hlasuNeLokalizace">
111 <fmt:param value="${hlasuNe}"/>
113 <svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, false);" xlink:title="${hlasuNeLokalizace}">
114 <svg:text x="30" y="195" class="ne"><fmt:message key="hlasovani.graf.nekourit"/></svg:text>
115 <svg:rect x="30" y="${180 - hlasuNeVyska}" width="50" height="${hlasuNeVyska}" class="ne"/>
119 <fmt:message key="hlasovani.graf.popisSloupce" var="hlasuAnoLokalizace">
120 <fmt:param value="${hlasuAno}"/>
122 <svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, true);" xlink:title="${hlasuAnoLokalizace}">
123 <svg:text x="130" y="195" class="ano"><fmt:message key="hlasovani.graf.kourit"/></svg:text>
124 <svg:rect x="120" y="${180 - hlasuAnoVyska}" width="50" height="${hlasuAnoVyska}" class="ano"/>
129 <object data="hlasovani-svg.jsp?podnik=${podnik}&amp;hlasuAno=${hlasuAno}&amp;hlasuNe=${hlasuNe}" type="image/svg+xml"/>