Test: Geo – test vzdálené služby pro převod adres na souřadnice.
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:svg xmlns:svg="http://www.w3.org/2000/svg"
29 xmlns:xlink="http://www.w3.org/1999/xlink"
30 version="1.1" baseProfile="full"
31 width="200" height="200">
34 <svg:style type="text/css">
36 fill: url(#ne_prechod_${podnik});
40 fill: url(#ano_prechod_${podnik});
44 a:hover rect.ano, a:hover rect.ne {
45 fill: url(#zvyrazneny_prechod_${podnik});
59 fill: url(#pozadi_prechod_${podnik});
69 <!-- pozadí – přechod -->
71 <svg:linearGradient id="pozadi_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
72 <svg:stop offset="20%" style="stop-color:rgb(245,245,255); stop-opacity:0.5"/>
73 <svg:stop offset="100%" style="stop-color:silver; stop-opacity:0.8"/>
77 <!-- nekuřácký graf – přechod -->
79 <svg:linearGradient id="ne_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:blue; stop-opacity:1"/>
85 <!-- zvýrazněný graf – přechod -->
87 <svg:linearGradient id="zvyrazneny_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:green; stop-opacity:1"/>
93 <!-- kuřácký graf – přechod -->
95 <svg:linearGradient id="ano_prechod_${podnik}" x1="0%" y1="0%" x2="100%" y2="100%">
96 <svg:stop offset="0%" style="stop-color:white; stop-opacity:1"/>
97 <svg:stop offset="100%" style="stop-color:red; stop-opacity:1"/>
101 <!-- pozadí a linka -->
102 <svg:rect x="0" y="0" width="200" height="200" class="pozadi"/>
103 <svg:line x1="10" y1="180" x2="190" y2="180" class="ramecek"/>
105 <!-- nadpis grafu -->
106 <svg:text x="60" y="20"><fmt:message key="hlasovani.graf.nadpis"/>:</svg:text>
109 <c:if test="${hlasuAno == 0 && hlasuNe == 0}">
110 <svg:text x="30" y="100"><fmt:message key="hlasovani.graf.zadneHlasy"/></svg:text>
113 <!-- vypočteme si výšky sloupců grafu -->
114 <c:set var="hlasuNeVyska" value="${150*hlasuNe/(hlasuAno+hlasuNe)}"/>
115 <c:set var="hlasuAnoVyska" value="${150*hlasuAno/(hlasuAno+hlasuNe)}"/>
118 <fmt:message key="hlasovani.graf.popisSloupce" var="hlasuNeLokalizace">
119 <fmt:param value="${hlasuNe}"/>
121 <svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, false);" xlink:title="${hlasuNeLokalizace}">
122 <svg:text x="30" y="195" class="ne"><fmt:message key="hlasovani.graf.nekourit"/></svg:text>
123 <svg:rect x="30" y="${180 - hlasuNeVyska}" width="50" height="${hlasuNeVyska}" class="ne"/>
127 <fmt:message key="hlasovani.graf.popisSloupce" var="hlasuAnoLokalizace">
128 <fmt:param value="${hlasuAno}"/>
130 <svg:a xlink:href="javascript:hlasovani.hlasuj(${podnik}, true);" xlink:title="${hlasuAnoLokalizace}">
131 <svg:text x="130" y="195" class="ano"><fmt:message key="hlasovani.graf.kourit"/></svg:text>
132 <svg:rect x="120" y="${180 - hlasuAnoVyska}" width="50" height="${hlasuAnoVyska}" class="ano"/>
137 <object data="hlasovani-svg.jsp?podnik=${podnik}&amp;hlasuAno=${hlasuAno}&amp;hlasuNe=${hlasuNe}" type="image/svg+xml"/>