Visualisierungsmodul für SuperX
http://www.superx-projekt.de/doku/viz_modul/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
263 lines
9.1 KiB
263 lines
9.1 KiB
<?xml version="1.0" encoding="UTF-8"?> |
|
<xsl:stylesheet version="1.0" |
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils"> |
|
<xsl:import href="resultset_html.xsl" /> |
|
<xsl:import href="interLinks_html.xsl" /> |
|
<xsl:import href="nd_templates.xsl" /> |
|
<xsl:import href="pageComponents_html.xsl" /> |
|
<xsl:import href="viz_components.xsl" /> |
|
<!--In diesem Stylesheet können Sie individuelle templates unterbringen, |
|
die in ihrer Präzedenz das normale Stylesheet |
|
pageComponents_html.xsl überragt. --> |
|
<xsl:import href="pageComponents_html_final.xsl" /> |
|
|
|
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," /> |
|
|
|
<!-- wichtig für DOJO!--> |
|
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" |
|
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/> |
|
|
|
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable> |
|
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable> |
|
|
|
<xsl:variable name="defaultRenderer" select="'plot'" /> |
|
<xsl:variable name="availableRendererPlot" select="'true'" /> |
|
<xsl:variable name="availableRendererD3" select="'true'" /> |
|
|
|
<xsl:template match="/"> |
|
<xsl:variable name="maskenname"> |
|
<xsl:choose> |
|
<xsl:when test="/ergebnisse/@isMakro='true'"> |
|
<xsl:value-of select="/ergebnisse/makro/name" /> |
|
</xsl:when> |
|
<xsl:otherwise> |
|
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" /> |
|
</xsl:otherwise> |
|
</xsl:choose> |
|
</xsl:variable> |
|
<html> |
|
<head> |
|
<xsl:call-template name="nd_htmlhead"> |
|
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" /> |
|
</xsl:call-template> |
|
|
|
<link rel="stylesheet" href="../style/sx_tabelle.css" /> |
|
<!--<link rel="stylesheet" href="../style/superx.css" />--> |
|
|
|
</head> |
|
<xsl:call-template name="nd_htmlscript" /> |
|
<xsl:call-template name="nd_tableJavascript" /> |
|
<xsl:call-template name="nd_tableCSS" /> |
|
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template> |
|
|
|
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();"> |
|
<!--#Template Beginn Top-Navigation--> |
|
<xsl:call-template name="nd_navi_top" /> |
|
<!--#Template Ende Top-Navigation--> |
|
|
|
<div class="columns"> |
|
|
|
<!--#Template Beginn Navigations-Panel Auswertungen--> |
|
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist --> |
|
<xsl:for-each select="/ergebnisse"> |
|
<xsl:call-template name="nd_navi_panel" /> |
|
</xsl:for-each> |
|
</xsl:if> |
|
<!--#Template Ende Navigations-Panel Auswertungen--> |
|
|
|
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung--> |
|
<section class="hero-body"> |
|
<div class="container"> |
|
<div class="columns is-mobile is-left"> |
|
<div class="column is-full"> |
|
<div class="card "> |
|
<div class="card-content"> |
|
|
|
<xsl:call-template name="nd_progressbar" /> |
|
|
|
<xsl:call-template name="viz_viewer_columnwise"/> |
|
<xsl:call-template name="bottombar" /> |
|
<xsl:comment>customfooter</xsl:comment> |
|
</div> <!--Ende content --> |
|
</div> <!--Ende card-content--> |
|
</div> <!--Ende card-background --> |
|
</div> <!--Ende column--> |
|
</div> <!--Ende hero-columns--> |
|
|
|
</section> <!--Ende hero = Berichts-Card--> |
|
</div> <!--Ende site-columns--> |
|
<xsl:call-template name="modalCards" /> |
|
</body> |
|
<!-- end body --> |
|
</html> |
|
</xsl:template> |
|
<!-- end main --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
<xsl:template name="viz_viewer_columnwise"> |
|
<xsl:if test="/ergebnisse/@isMakro='true'"> |
|
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1> |
|
</xsl:if> |
|
<p></p> |
|
<xsl:call-template name="buildVizMetadata" /> |
|
|
|
<!-- end Kopf--> |
|
<!-- start Grafiken--> |
|
<!-- Berechne den Umbruch der Spalten für die Kacheln |
|
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle |
|
Formel: ANZ / 2 kaufm. gerundet |
|
--> |
|
<xsl:variable name="spalten_anz"> |
|
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/> |
|
</xsl:variable> |
|
<xsl:variable name="colwidth"> |
|
<xsl:value-of select="12 div $spalten_anz"/> |
|
</xsl:variable> |
|
|
|
<xsl:variable name="ergebniselemente_anz"> |
|
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/> |
|
</xsl:variable> |
|
<xsl:variable name="ergebniselemente_umbruch"> |
|
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/> |
|
</xsl:variable> |
|
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/> |
|
</p>--> |
|
<span class="separator"> </span> |
|
<!--Beginn Selektions-Card--> |
|
<!--Beginn Berichtstitel, Pfad, Knopfleiste--> |
|
<section class="hero-body has-background-light"> |
|
<section class="container"> <!--Beginn Kartenreihe --> |
|
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe --> |
|
|
|
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement"> |
|
<xsl:variable name="ergebniselement_counter" select="position()" /> |
|
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable> |
|
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable> |
|
|
|
|
|
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>--> |
|
<div> |
|
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute> |
|
<xsl:call-template name="viewer_kachel"> |
|
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/> |
|
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" /> |
|
</xsl:call-template> |
|
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>--> |
|
</div> |
|
<!-- neue Zeile wenn counter mod Spaltenanz. =0 --> |
|
|
|
<xsl:if test="$ergebniselement_counter >= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0"> |
|
<xsl:text disable-output-escaping="yes"><![CDATA[ |
|
</div> |
|
</section> |
|
<section class="container"> |
|
<div class="columns features is-mobile is-left"> |
|
]]></xsl:text> |
|
</xsl:if> |
|
</xsl:for-each> |
|
</div><!-- der columns --> |
|
</section><!-- der letzten Kartenreihe --> |
|
</section><!-- des Portals --> |
|
</xsl:template> |
|
<!--<xsl:template name="viewer_kachel"> |
|
<xsl:param name="caption" /> |
|
<xsl:param name="ergebniselement_ordnr" /> |
|
<div class="card is-shady"> |
|
<div class="card-image"> |
|
<div id="{concat('chartDiv',$ergebniselement_ordnr)}"> |
|
Platzhalter |
|
</div> |
|
</div> |
|
<p> |
|
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}"> |
|
<span class="button is-success is-small modal-button">Vergrößern ...</span></a> |
|
|
|
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}"> |
|
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a> |
|
|
|
</p> |
|
|
|
</div> |
|
|
|
</xsl:template>--> |
|
<xsl:template name="importVizJavascriptLibsViewer"> |
|
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" /> |
|
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script> |
|
<xsl:call-template name="tableJavascript_viz" /> |
|
<script language="Javascript" type="text/javascript"> |
|
<xsl:text><![CDATA[ |
|
|
|
function initPage() |
|
{ |
|
var myChartModelStr=""; |
|
var myDiv=""; |
|
]]></xsl:text> |
|
<xsl:for-each select="ergebnisse"> |
|
<xsl:for-each select="ergebnis/ergebniselement"> |
|
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable> |
|
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable> |
|
<xsl:if test="$chart_id != ''"> |
|
<xsl:text> |
|
myChartModelStr='</xsl:text> |
|
<xsl:call-template name="getChartModel"> |
|
<xsl:with-param name="chart_id" select="$chart_id"/> |
|
<xsl:with-param name="useMiniatureIfAvailable" select="'true'"/> |
|
</xsl:call-template> |
|
<xsl:text>'; |
|
myDiv="</xsl:text> |
|
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" /> |
|
<xsl:text><![CDATA["; |
|
createViewer(myChartModelStr,myDiv); |
|
myDiv="]]></xsl:text> |
|
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" /> |
|
<xsl:text>"; |
|
myChartModelStr='</xsl:text> |
|
<xsl:call-template name="getChartModel"> |
|
<xsl:with-param name="chart_id" select="$chart_id"/> |
|
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/> |
|
</xsl:call-template> |
|
<xsl:text>'; |
|
|
|
createViewer(myChartModelStr,myDiv); |
|
myDiv="</xsl:text> |
|
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" /> |
|
<xsl:text>"; |
|
myChartModelStr='</xsl:text> |
|
<xsl:call-template name="getChartModel"> |
|
<xsl:with-param name="chart_id" select="$chart_id"/> |
|
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/> |
|
</xsl:call-template> |
|
<xsl:text>'; |
|
createViewer(myChartModelStr,myDiv); |
|
</xsl:text> |
|
</xsl:if> |
|
</xsl:for-each> |
|
</xsl:for-each> |
|
<xsl:text><![CDATA[ |
|
} |
|
|
|
function createViewer(myChartModelStr,chartDiv) |
|
{ |
|
myChartModel=JSON.parse(myChartModelStr); |
|
renderChart(chartDiv,myChartModel); |
|
} |
|
|
|
function toggleLegendeDisplay(legendeDiv) |
|
{ |
|
var myDiv=document.getElementById(legendeDiv); |
|
if(myDiv.style.display=="block") |
|
myDiv.style.display="none"; |
|
else |
|
myDiv.style.display="block"; |
|
|
|
} |
|
|
|
]]></xsl:text> |
|
</script> |
|
|
|
</xsl:template> |
|
</xsl:stylesheet>
|
|
|