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.
 
 
 
 
 

2070 lines
73 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="xsl_functions.xsl" />
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="menue_html_dojo.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:template match="/">
<xsl:call-template name="table"/>
</xsl:template>
<!-- start table main-->
<xsl:template name="table">
<html>
<xsl:choose>
<xsl:when test="/ergebnisse/@hisinone_active='true'">
<xsl:call-template name="head_hisinone" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="tableCSS"></xsl:call-template>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_javascript'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_javascript'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tableJavascript_viz"></xsl:call-template>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_javascript'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_javascript'"></xsl:with-param></xsl:call-template>
<!-- start Body-->
<body onload="document.getElementById('progressbar').style.display='none';tableonload();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript -->
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA">
<p>&#160;<b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="menuFrame" />
</xsl:for-each>
</xsl:if>
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute>
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="topbar_menue" />
</xsl:for-each>
</xsl:if>
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute>
</xsl:if>
<xsl:call-template name="customheader"/>
<xsl:call-template name="topbar_table" />
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_center'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_center'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="viz_canvas"/>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_center'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_center'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tableDialogs"></xsl:call-template>
<!--<div class="dontprint" id="dojoDebug"></div>-->
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div>
</div>
<xsl:call-template name="footer" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<!-- start css -->
<xsl:template name="tableCSS">
<style type="text/css">
.dojoDialog {background : #eee; border : 1px solid #999;-moz-border-radius : 5px;padding : 4px;width:650;height:420px;overflow:scroll}
.treebutton {
border:none;
margin: 0 4px 0 0;
}
@media print{
.dontprint{display:none;}
}
div.bar {
width:20px;
height:20px;
margin-top:2px;
background-color:darkblue;
color:white;
font:10px san-serif;
text-align:right;
padding:3px;
}
div.section
{
margin-bottom:5px;
padding-bottom:10px;
/*border-bottom:thick solid gray;*/
}
</style>
</xsl:template>
<!-- end css -->
<!-- start Javascript-->
<xsl:template name="tableJavascript_viz">
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" />
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/vizTypes/vizType[@srcpath !='/superx/xml/js/viz/d3.min.js' and @srcpath != '/superx/xml/js/viz/plot.js']">
<script language="Javascript" type="text/javascript" src="{@srcpath}" />
</xsl:for-each>
<script><xsl:text><![CDATA[
//document.body.append(Plot.plot(options));
function commonChartProperty(name,
caption,
isMandatory,
inputType,
staticValues,
range_from,
range_to,
defaultValue,
explanation,
groupCaption,
groupUniquename,
rendererUniquename,
groupVariableName,
variableName,
propValueType
)
{
this.name=name;
this.caption=caption;
this.staticValues=staticValues;
this.range_from=range_from;
this.range_to=range_from;
this.isMandatory=isMandatory;
this.inputType=inputType;
this.defaultValue=defaultValue;
this.explanation=explanation;
this.groupCaption=groupCaption;
this.groupUniquename=groupUniquename;
this.rendererUniquename=rendererUniquename;
this.groupVariableName=groupVariableName;
this.variableName=variableName;
this.propValueType=propValueType;
this.getValueResultset = function () {
var valueOptions=[];
var optionCounter=0;
var staticValueArray = staticValues.split(/\|/);
for(var j=0;j < staticValueArray.length;j++)
{
var isDefault=false;
if(staticValueArray[j])
{
if(staticValueArray[j]==this.defaultValue)
isDefault=true;
var o=new selectionPropertyValue(optionCounter,staticValueArray[j],staticValueArray[j],isDefault);
valueOptions[optionCounter]=o;
optionCounter++;
}
}
return valueOptions;
}
}
function commonChartPropertyGroup(caption,groupUniquename,groupVariableName)
{
this.caption=caption;
this.groupUniquename=groupUniquename;
this.groupVariableName=groupVariableName;
}
var commonChartProperties=[];
]]></xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/chartProperties/commonChartProperty">
<xsl:text>
var newCommonChartProperty = new commonChartProperty("</xsl:text>
<xsl:value-of select="@prop_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>",</xsl:text><xsl:choose>
<xsl:when test="@is_mandatory=1"><xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
<xsl:text>,"</xsl:text>
<xsl:value-of select="@input_type_uniquename" />
<xsl:text>"
,"</xsl:text>
<xsl:value-of select="@static_values" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_range_from" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_range_to" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_default" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@explanation" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@group_caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@group_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@renderer_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@group_variable_name" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@variable_name" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@propValueType" />
<xsl:text>");
commonChartProperties.push(newCommonChartProperty);
</xsl:text>
</xsl:for-each>
<!--<xsl:text>
var newCommonChartProperty = new commonChartProperty("caption",
"Titel des Diagramms",
false,
"TEXTAREA",
"",
"",
"",
"</xsl:text>
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname" /><xsl:text>",
"wird unter dem Diagramm angezeigt",
"Diagrammkopf",
"",
"plot",
"layout",
"caption",
"string");
commonChartProperties.push(newCommonChartProperty);
</xsl:text>-->
<xsl:text>
function vizType(uniquename,caption,rendererUniquename)
{
this.caption=caption;
this.uniquename=uniquename;
this.rendererUniquename=rendererUniquename;
}
var vizTypes=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizTypes/vizType">
<xsl:text>
var newVizType = new vizType("</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@renderer_uniquename" />
<xsl:text>");
vizTypes.push(newVizType);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,explanation)
{
this.propUniquename=propUniquename;
this.caption=caption;
this.groupUniquename=groupUniquename;
this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory;
this.explanation=explanation;
}
var vizTypeProperties=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/viz_type_properties/viz_type_property">
<xsl:text>
var newVizTypeProperty = new vizTypeProperty("</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@viz_type_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@viz_property_group_uniquename" />
<xsl:text>",</xsl:text>
<xsl:choose>
<xsl:when test="@is_mandatory='1'">
<xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>false</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>,""
);
vizTypeProperties.push(newVizTypeProperty);
</xsl:text>
</xsl:for-each>
</script>
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" />
</xsl:template>
<xsl:template name="tableJavascript">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript">
function getTid(){
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:text>tid=</xsl:text><xsl:value-of select="/ergebnisse/makro/@id" /><xsl:text>;
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /><xsl:text>;
</xsl:text>
</xsl:otherwise>
</xsl:choose>
return tid;
}
<xsl:call-template name="jsHis1Pinger" />
function jsDisableInput(datei) {
var dateiendungArray = datei.split(".");
var dateiendung = dateiendungArray[dateiendungArray.length - 1];
if(dateiendung=="jrxml") {
document.Weiterverarbeitung.jr_contenttype.disabled=false;
}
else {
document.Weiterverarbeitung.jr_contenttype.disabled=true;
}
}
</script>
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<script language="JavaScript" type="text/javascript">
var isTreeTable=false;
<xsl:if test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable='true'">
isTreeTable=true;
</xsl:if>
</script>
<!-- start normale Abfragen - nicht makros dojo/ggfs. Treetable-->
<xsl:if test="/ergebnisse/@isMakro!='true'">
<script language="JavaScript" type="text/javascript">
djConfig = {
bindEncoding: "UTF-8",
isDebug: false,
debugAtAllCosts:false,
debugContainerId:"dojoDebug"
};
</script>
<script language="JavaScript" type="text/javascript" src="../xml/js/dojo/dojo.js"></script>
<script language="JavaScript" type="text/javascript">
dojo.require("dojo.widget.Dialog");
dojo.require("dojo.widget.Button");
dojo.require("dojo.event.*");
dojo.require("dojo.dnd.*");
dojo.require("dojo.io.*");
dojo.require("dojo.widget.ContentPane");
dojo.require("dojo.widget.DropdownContainer");
dojo.hostenv.writeIncludes();
var configdlg;
var spaltenliste,spaltentrash;
</script>
<!-- javascript array mit Feldern - bei Makros ist Feld-XML noch nicht drin-->
<xsl:text disable-output-escaping="yes"><![CDATA[<script type="text/javascript">
// für Druck ohne Menü
function printDiv(divName) {
var printContents = document.getElementById(divName).innerHTML;
w=window.open();
w.document.write(printContents);
w.print();
w.close();
}
var felder = new Array();]]></xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld">
<xsl:text>felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]= new Object();
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["htmlname"]='</xsl:text><xsl:value-of select="@varname"/><xsl:text>';
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["name"]='</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template><xsl:text>';
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["cb_name"]='</xsl:text><xsl:call-template name="umlaut_urlencode"><xsl:with-param name="s1"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template><xsl:text>';
</xsl:text>
<!-- in sql-variablen könnte auch " vorkommen als %22 codieren-->
<xsl:variable name="quot">"</xsl:variable>
<xsl:variable name="r"><xsl:value-of disable-output-escaping="yes" select="value"/></xsl:variable>
<xsl:text>felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["value"]="</xsl:text>
<xsl:call-template name="search_replace">
<xsl:with-param name="string" select="$r"/>
<xsl:with-param name="search" select="$quot" />
<xsl:with-param name="replace" select="'%22'" />
</xsl:call-template><xsl:text>";
</xsl:text>
</xsl:for-each>
var stylesheetcontenttype = new Array();
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet">
stylesheetcontenttype['<xsl:value-of select="filename"/>'] = '<xsl:value-of select="contenttype"/>';
</xsl:for-each>
<xsl:text disable-output-escaping="yes"><![CDATA[</script>]]></xsl:text>
<!-- start x für Tabellenfixierung-->
<script type='text/javascript' src='../xml/js/x/x_core.js'></script>
<script type='text/javascript' src='../xml/js/x/lib/xaddeventlistener.js'></script>
<script type='text/javascript' src='../xml/js/x/lib/xtablefixed.js'></script>
<!-- start xTableHeaderFixed -->
<script type='text/javascript'>
var addBehavior = false, ss = '../xml/js/x/xthf.css';
if (window.XMLHttpRequest) {
addBehavior = true;
}
else {
/*@cc_on
@if (@_jscript_version == 5.6) // IE6
if(navigator.appName=="Microsoft Internet Explorer" )
ss = '../xml/js/x/xthf_ie6.css';
addBehavior = false;
@end @*/
}
if (addBehavior) {
var e = document.createElement('link');
e.rel = 'stylesheet';
e.type = 'text/css';
e.href = ss;
document.getElementsByTagName('head')[0].appendChild(e);
xAddEventListener(window, 'load', appOnload, false);
xAddEventListener(window, 'unload', function(){if (window.xthf) window.xthf.unload();}, false);
}
function appOnload()
{
//window.xthf = new xTableHeaderFixed('idFixedHeaderContainer', 'clsFixedHeaderTable', 'leftColumn', 1, 1, 'table1', 'table2', 'table3');
//window.xthf = new xTableHeaderFixed('idFixedHeaderContainer', 'clsFixedHeaderTable', 'leftColumn', 1, 1);
// window.xtcf = new xTableColumnsFixed('idFixedColumnsContainer', 'clsFixedColumnsTable', 'leftColumn', 1, 1,false,2,'table1');
var fixedColumnCount=<xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@fixed_column_count"/>;
window.xthf = new xTableFixed('idFixedHeaderContainer', 'clsFixedHeaderTable','idFixedColumnsContainer', 'clsFixedColumnsTable', 'leftColumn', 1, 1,false,fixedColumnCount,'table1');
//dojo.debug(window.xthf);
}
</script>
<!-- end xtableheaderfixed -->
<!-- end x-->
<!-- start xy-->
<script language="JavaScript" type="text/javascript">
<xsl:text>headers=eval("([</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/header[not (starts-with(f_name,'hidden'))]">
<xsl:text>{key:'</xsl:text><xsl:value-of select="f_name"/><xsl:text>',name:'</xsl:text>
<xsl:call-template name='json_adapt'>
<xsl:with-param name="string" select="wert" />
</xsl:call-template><xsl:text>'}</xsl:text>
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text>])");
var count=1;
<![CDATA[for (var i=0;i<headers.length;i++) if (headers[i].name.replace(/\s+$/,"")=='') {headers[i].name='Leerspalte '+count;count++;}]]>
</xsl:text>
<xsl:text>complete_headers=eval("([</xsl:text>
<!--MB 04/2010 versteckte Spalten nicht -->
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/sqlerg/complete_headers/header[not (starts-with(f_name,'hidden'))]">
<xsl:text>{key:'</xsl:text><xsl:value-of select="f_name"/><xsl:text>',name:'</xsl:text>
<xsl:call-template name='json_adapt'>
<xsl:with-param name="string" select="wert" />
</xsl:call-template><xsl:text>'}</xsl:text>
<xsl:if test="position() != last()"><xsl:text>,</xsl:text></xsl:if>
</xsl:for-each>
<xsl:text>])");</xsl:text>
var count=1;
<![CDATA[for (var i=0;i<complete_headers.length;i++) if (complete_headers[i].name.replace(/\s+$/,"")=='') {complete_headers[i].name='Leerspalte '+count;count++;}]]>
function init(e) {
configdlg = dojo.widget.byId("configdlg");
spaltenliste=document.getElementById('spaltenliste');
//spaltentrash=document.getElementById('spaltentrash');
new dojo.dnd.HtmlDropTarget(spaltenliste, ["spaltenobjekt"]);
//new dojo.dnd.HtmlDropTarget(document.getElementById('spaltentrash'), ["spaltenobjekt"]);
document.getElementById('progressbar').style.display="none";
}
dojo.addOnLoad(init);
<!-- start showConfig -->
function showConfig()
{
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@hasAggregationHeaders='true'">
alert("Konfiguration bei diesem komplexen Layout nicht moeglich");
</xsl:when>
<xsl:otherwise>
//Spaltenreihenfolge
while (spaltenliste.hasChildNodes())
spaltenliste.removeChild(spaltenliste.childNodes[0]);
//while (spaltentrash.hasChildNodes()) spaltentrash.removeChild(spaltentrash.childNodes[0]);
//var newLI = document.createElement("li"); newLI.appendChild(document.createTextNode("nicht dargestellte Spalten")); spaltentrash.appendChild(newLI);
<![CDATA[
for (var i=0;i<complete_headers.length;i++)
{
var newLI = document.createElement("li");
newLI.setAttribute("key",complete_headers[i].key);
spaltenliste.appendChild(newLI);
var newLIText = document.createTextNode(complete_headers[i].name+" ");
var b = document.createElement ("b");
b.setAttribute("style","cursor:pointer;");
var sp= document.createElement("span");
b.appendChild(sp);
sp.appendChild(newLIText);
newLI.appendChild(b);
var cb = document.createElement("input");
cb.type = "checkbox";
cb.name = "checkboxHeader"+i;
cb.id= "checkboxHeader"+i;
var vis=false;
for (var i2=0;i2<headers.length;i2++)
{
if (complete_headers[i].key==headers[i2].key) vis=true;
}
cb.checked = cb.defaultChecked=vis;
newLI.appendChild(cb);
newLI.appendChild(document.createTextNode("anzeigen"));
}
var lis = document.getElementById('spaltenliste').getElementsByTagName("li");
for(var x=0; x<lis.length; x++){
new dojo.dnd.HtmlDragSource(lis[x], "spaltenobjekt");
}
]]>
//Spaltensortierung
var sortierspalten=document.getElementById('sortierspalten');
while (sortierspalten.hasChildNodes()) sortierspalten.removeChild(sortierspalten.childNodes[0]);
<![CDATA[
if (!isTreeTable){
for (var i=0;i<complete_headers.length&&i<5;i++)
{
var lbl=document.createElement("label");
lbl.innerHTML=(i+1)+".";
sortierspalten.appendChild(lbl);
var newSelect = document.createElement("select");
newSelect.id="sortcol"+i;
newSelect.options[0]=new Option("","nocol_selected");
for (var i2=0;i2<complete_headers.length;i2++)
{newSelect.options[i2+1]=new Option(complete_headers[i2].name,complete_headers[i2].key);}
sortierspalten.appendChild(newSelect);
var asc=document.createElement("select");
asc.id = "sortcol"+i+"-asc";
asc.options[0]=new Option("aufsteigend","-A");
asc.options[1]=new Option("absteigend","-D");
sortierspalten.appendChild(asc);
sortierspalten.appendChild(document.createElement("br"));
}
}
]]>
configdlg.show();
</xsl:otherwise>
</xsl:choose>
}
<!-- end show config-->
<!-- start tableReload-->
function tableReload(colsetParam,colsortParam)
{
document.getElementById('progressbar').style.display="";
<xsl:text>var callurl="../servlet/SuperXmlTabelle</xsl:text>
<!--<xsl:if test="/ergebnisse/@jsessionid!=''">;jsessionid=<xsl:value-of select="/ergebnisse/@jsessionid"/></xsl:if>-->
<xsl:text>?tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/@id"/>
<xsl:text><![CDATA[&navi=true&stylesheet=tabelle_html.xsl&reuseresult=true&colset=";]]></xsl:text>
<![CDATA[
if (colsetParam=='restore')
callurl+='restore';
else
{
var lis = document.getElementById('spaltenliste').getElementsByTagName("li");
for(var x=0; x<lis.length; x++){
if (lis[x].getElementsByTagName('input')[0].checked)
{
for (var i=0;i<complete_headers.length;i++)
if (complete_headers[i].key==lis[x].getAttribute("key")) callurl+=escape(complete_headers[i].key);
if (x<(lis.length-1)){ callurl+="%7C";} //Pipe Zeichen selbst wird als unsicher betrachtet, muss codiert werden
}
}
}
if (!isTreeTable)
{
callurl+='&colsort=';
if (colsortParam=='restore')
callurl+='restore';
else
{
for (var i=0;i<complete_headers.length&&i<5;i++)
{
var sortcol=document.getElementById('sortcol'+i);
var sortcolasc=document.getElementById('sortcol'+i+'-asc');
var sel=sortcol.options[sortcol.selectedIndex].value;
if (i==0&&sel!='nocol_selected') callurl+=sel+sortcolasc.options[sortcolasc.selectedIndex].value;
if (i>0&&sel!='nocol_selected') callurl+="%7C"+sel+sortcolasc.options[sortcolasc.selectedIndex].value;//Pipe Zeichen selbst wird als unsicher betrachtet, muss codiert werden
}
}
}
]]>
;
self.location=callurl;
}
<!-- end table reload -->
</script>
<!-- end dojo-->
<!-- start treetable -->
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable='true'">
<script type="text/javascript" src="../xml/js/treetable.js"></script>
<script type="text/javascript">
treetable_callbacks['eventRowStateChanged'] = 'treetable_eventRowChanged';
function treetable_eventRowChanged(rowId, state) {
try{
//normalerweise ist Grafik in erster Spalte, kann aber auch 2. sein
//var row=document.getElementById(rowId); //macht im FF plötzlich Ärger
//dojo.debug("rowid:"+rowId);
var row=xGetElementById(rowId);
//dojo.debug("row"+row);
var tds= row.getElementsByTagName('td');
//dojo.debug("tds:"+tds);
//todo komisch hier läuft was schief??!
//dojo.debug("tds length"+tds.length);
var td0=tds[0]
var td0img= td0.getElementsByTagName('img');
if (td0img.length>0) img=td0img[0];
else
{
tds=row.getElementsByTagName('td');
//dojo.debug("tds :"+tds);
//dojo.debug("tds length"+tds.length);
var td1=tds[1];
var td1img= td1.getElementsByTagName('img');
if (td1img.length>0) img = td1img[0];
}
if (state == 1) {
img.src = '../xml/minus_circ.svg';
} else {
img.src = '../xml/plus_circ.svg';
}
}
catch (e) {
}
return (true);
}
</script>
<script type="text/javascript">
function ajaxNodeToggle(nodeid, internalrowno)
{
//if children already loaded, no ajax request necessary
//dojo.debug(document.getElementById(nodeid+"_0"));
if (!document.getElementById(nodeid+"_0"))
{
document.getElementById('progressbar').style.display="";
<xsl:text>var callurl="../servlet/SuperXmlTabelle</xsl:text>
<!-- <xsl:if test="/ergebnisse/@jsessionid!=''">;jsessionid=<xsl:value-of select="/ergebnisse/@jsessionid"/></xsl:if>-->
<xsl:text>?tid=</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/@id"/><xsl:text>";
</xsl:text>
<![CDATA[
callurl+="&treetableid="+nodeid+"&getKidRows="+internalrowno;
]]>
dojo.io.bind({url:callurl,encoding: "ISO-8859-1",method: "post",
handler: function(type,data,evt)
{
// dojo.debug(data);
document.getElementById('progressbar').style.display="none";
if (type=='error') {
msg='Fehler beim Lesen der Daten!\n';
if (data.message) msg+=data.message;
else msg+=data.error;
alert(msg);
//dojo.debugDeep(data);
}
else
{
var help=document.createElement("div");
help.innerHTML=data;
var pos=document.getElementById(nodeid).sectionRowIndex;
//dojo.debug("pos: "+pos);
var newrows=help.getElementsByTagName("tr");
<![CDATA[
for (i=0;i<newrows.length;i++)
{
var newrow=document.getElementById("table1").tBodies[0].insertRow(pos+i+1);
newrow.id=nodeid+"_"+i;
//IE kann nicht in TR-innerHTML schreiben
//newrow.innerHTML=newrows[i].innerHTML;
for (i2=0;i2<newrows[i].attributes.length;i2++)
{
newrow.setAttribute(newrows[i].attributes[i2].name,newrows[i].getAttribute(newrows[i].attributes[i2].name));
}
//fuck IE
newrow.setAttribute("className", newrows[i].getAttribute("className"));
for (i2=0;i2<newrows[i].cells.length;i2++)
{
newcell=newrow.insertCell(i2);
newcell.innerHTML=newrows[i].cells[i2].innerHTML;
//Attribut wie class wird nicht durch innerHTML übernommen
for (i3=0;i3<newrows[i].cells[i2].attributes.length;i3++)
{
newcell.setAttribute(newrows[i].cells[i2].attributes[i3].name,newrows[i].cells[i2].getAttribute(newrows[i].cells[i2].attributes[i3].name));
}
//fuck IE
newcell.setAttribute("className", newrows[i].cells[i2].getAttribute("className"));
}
}
treetable_toggleRow(nodeid,1,1);
treetable_eventRowChanged(nodeid, 1);
if (window.xthf) window.xthf.init();
document.getElementById('progressbar').style.display="none";
]]>
}
}
}
);
}
else //kein Nachladen per Dojo nötig
{
treetable_toggleRow(nodeid);
// treetable_zuklappen(nodeid);
// var starttime=(new Date).getTime();
// while (starttime+400>(new Date).getTime()){};
// treetable_toggleRow(nodeid,-1,-1);
}
if (window.xthf) window.xthf.init();
//dojo.debugDeep(window.xthf);
}
</script>
</xsl:if>
<!-- end treetable-->
<!-- start Lesezeichen/applyMerkmale-->
<script language="JavaScript" type="text/javascript">
<!-- von Lesezeichen oder template Merkmale eintragen
geht nur für normale Masken da Javascript-array für Felder korrekt gefüllt sein muss
anders definiert als in maske_html, muss genauso heißen, damit allgemeine Vorlage sowohl masken als auch bei Tabellen greifen
-->
function applyMerkmale(merkmale)
{
<xsl:text><![CDATA[url=location.protocol+'//'+location.host+"../servlet/SuperXmlTabelle";]]>
</xsl:text>
<!-- <xsl:if test="/ergebnisse/@jsessionid!=''"><xsl:text>url+=';jsessionid=</xsl:text><xsl:value-of select="/maske/@jsessionid"/><xsl:text>';
</xsl:text></xsl:if>-->
<xsl:text>url+="?tid="+getTid();</xsl:text>
<xsl:if test="/ergebnisse/@MandantenID!='default'">
<xsl:text><![CDATA[url+="&MandantenID=]]></xsl:text><xsl:value-of select="/ergebnisse/@MandantenID"/><xsl:text>";</xsl:text>
</xsl:if>
var merkmale2=merkmale.replace(/n:'/g,'n:"');
var merkmale3=merkmale2.replace(/',k:'/g,'",k:"');
var merkmale4=merkmale3.replace(/'}/g,'"}');
var merkmale5=merkmale4.replace(/',sichtparam:'/g,'",sichtparam:"');
var merkmale6=merkmale5.replace(/',standparam:'/g,'",standparam:"');
var m=purgeval(merkmale6);
<![CDATA[
for (i=0;i<m.length;i++)
{
url+="&"+getEncoded(m[i].n)+"="+getEncoded(m[i].k);
if (m[i].sichtparam) url+="&"+getEncoded(m[i].n)+"-Sicht="+getEncoded(m[i].sichtparam);
if (m[i].standparam) url+="&"+getEncoded(m[i].n)+"-Stand="+m[i].standparam;
}
]]>
<!--falls ein Feld nicht als Merkmal belegt ist und es für ein Feld auf der Maske eine Auswahl gibt, diese übernehmen-->
<![CDATA[
for(var i1=1;i1<= felder.length-1; i1++)
{
var merkmalvorhanden=false;
for (i=0;i<m.length;i++)
{
if (getEncoded(m[i].n)==getEncoded(felder[i1]["htmlname"])) merkmalvorhanden=true;
}
if (!merkmalvorhanden)
{
var val=felder[i1]["value"];
url+="&"+getEncoded(felder[i1]["htmlname"])+"="+getEncoded(val);
}
}
]]>
<xsl:if test="/ergebnisse/@isMakro!='true'">
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset!=''">
<xsl:text><![CDATA[url+="&colset=]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset"/><xsl:text>";
</xsl:text>
</xsl:if>
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort!=''">
<xsl:text><![CDATA[url+="&colsort=]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort"/><xsl:text>";
</xsl:text>
</xsl:if>
</xsl:if>
//dojo.debug(url);
document.getElementById('progressbar').style.display="";
location.href=url;
}
<!-- für Zurück-Button bei normalen Abfragen und Lesezeichen
-->
function getParams(method) <!--direkt für Zurückbutton, ohne Speicherung als Bookmarklet-->
{
// check for fieldsep argument
var fieldsep = '&amp;'; // default
var params="";
//alert("getparams - method: " + method);
if (method!='direkt') params+="p=[";
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld">
<xsl:if test="@varname!='##line##'">
<xsl:if test="value!='' and value!='null' and @art!='8' and @art!='13'"> <!-- bei Duisburger Sichten vorgekommen-->
if (method!='direkt')
<xsl:text>params+="{\"n\":\"</xsl:text><xsl:value-of select="@varname"/><xsl:text>\",\"k\":\"</xsl:text>
<xsl:value-of select="value"/><xsl:text>\"},";
</xsl:text>
else
<xsl:text><![CDATA[params+=fieldsep+getEncoded("]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>")+"="+getEncoded("</xsl:text><xsl:value-of select="value"/><xsl:text>");
</xsl:text>
<!-- Probleme im IE wenn kleiner als, Prozent oder sowas vorkommt
title+=" </xsl:text>
<xsl:choose> <xsl:when test="caption_short!= '' and caption_short != 'null'"><![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise> <xsl:value-of select="@varname" /> </xsl:otherwise> </xsl:choose><xsl:text>: </xsl:text><xsl:value-of select="value"/><xsl:text>";
</xsl:text>
-->
</xsl:if>
<!-- MB Stand und Sicht in Lesezeichen -->
<xsl:if test="@stand!=''">
<xsl:text>var stand="</xsl:text><xsl:value-of select="@stand"/><xsl:text>";
</xsl:text>
if (<![CDATA[stand&&isDate(stand)&&!isToday(stand)]]>) <!-- wenn Stand today ist, braucht er nicht in bookmarklet noch in zurückbutton-->
{
if (method!='direkt')
<xsl:text>params+="{\"n\":\"</xsl:text><xsl:value-of select="@varname"/><xsl:text>-Stand\",\"k\":\"</xsl:text><xsl:value-of select="@stand"/><xsl:text>\"},";
</xsl:text>
else
<xsl:text><![CDATA[params+=fieldsep+"]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>"+"-Stand=</xsl:text><xsl:value-of select="@stand"/><xsl:text>";
</xsl:text>
}
</xsl:if>
<xsl:if test="sicht/@name_intern!=''">
if (method!='direkt')
<xsl:text>params+="{\"n\":\"</xsl:text><xsl:value-of select="@varname"/><xsl:text>-Sicht\",\"k\":\"</xsl:text><xsl:value-of select="sicht/@name_intern"/><xsl:text>\"},";
</xsl:text>
else
<xsl:text><![CDATA[params+=fieldsep+"]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>"+"-Sicht="+"</xsl:text><xsl:value-of select="sicht/@name_intern"/><xsl:text>";
</xsl:text>
</xsl:if>
</xsl:if>
</xsl:for-each>
<!-- bei Methode direkt auch -leer- uebergeben -->
<xsl:for-each select="/ergebnisse/ergebnis/completefields/feld">
<xsl:if test="(value='' or value='null') and @art!='8' and @art!='13'">
<xsl:text><![CDATA[ if (method=='direkt') params+="&"+getEncoded("]]></xsl:text><xsl:value-of select="@varname"/><xsl:text>")+"=--leer--";</xsl:text>
</xsl:if>
</xsl:for-each>
if (method!='direkt') params=params.substring(0,params.length-1)+"]";//letztes Komma überschreiben
//alert(params);
return params;
}
<!-- Tabelle_esezeichen erstellen - bei Makros ist dojo zu aufwändig-->
function lesezeichen_erstellen()
{
params=getParams();
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
title='Tab <xsl:value-of select="/ergebnisse/makro/name" />';
</xsl:when>
<xsl:otherwise>
title='Tab <xsl:value-of select="/ergebnisse/ergebnis/maskenname"/>';
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset!=''">
<xsl:text><![CDATA[params+=";p[p.length]={\"n\":\"colset\",\"k\":\"]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset"/><xsl:text>\"}";
</xsl:text>
</xsl:if>
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort!=''">
<xsl:text><![CDATA[params+=";p[p.length]={\"n\":\"colsort\",\"k\":\"]]></xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort"/><xsl:text>\"}";
</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
//dojo.debug(params);
//lesezeichen funktion setzt nur noch Titel, Params hier obsolet
<xsl:text>lesezeichen('../servlet/SuperXmlTabelle',getTid(),'</xsl:text><xsl:value-of select="/ergebnisse/@MandantenID"/><xsl:text>',params,title);
createLinkForTable('</xsl:text><xsl:value-of select="/ergebnisse/@hisinone_refapp" /><xsl:text>','</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colset"/><xsl:text>','</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@colsort"/><xsl:text>');</xsl:text>
dojo.widget.byId("lesezeichendlg").show();
}
function deeplink_dialog()
{
dojo.widget.byId("deeplinkdlg").show();
}
</script>
<!-- end lesezeichen -->
</xsl:if>
<!-- end normale Abfragen - nicht makros-->
</xsl:template>
<!-- end javascript-->
<!-- start tablecenter-->
<xsl:template name="tableCenter">
<form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8">
<xsl:attribute name="action">
<!-- MB 9/14 encode URL ignoriert jsession id -->
<xsl:value-of select="HtmlUtils:encodeURL('SuperXmlTabelle',/ergebnisse/@jsessionid)" /></xsl:attribute>
<!-- start Kopf-->
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_inform'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_inform'"></xsl:with-param></xsl:call-template>
<input name="navi" type="hidden" value="{/ergebnisse/@showNavigation}" />
<input type="hidden" name="tid">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/makro/@id" /></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</input>
<input type="hidden" name="UserID"><xsl:attribute name="value"><xsl:value-of select="/ergebnisse/userID" /></xsl:attribute></input>
<input type="hidden" name="reuseresult" value="true"/> <!-- gecachte Ergebnis benutzen-->
<input type="hidden" name="maxoffset" value=""/> <!--im Normalfall wird Servleteinstellung genutzt - nur Druckversion übergibt Wert-->
<input type="hidden" name="stylesheet" value="" />
<input type="hidden" name="contenttype" value="" />
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
<input type="hidden" name="irowno" value="" />
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld">
<input type="hidden">
<xsl:attribute name="name"><xsl:value-of select="@varname" /></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="value" /></xsl:attribute>
</input>
</xsl:for-each>
<xsl:call-template name="tablePrintsaveexport"/>
<xsl:call-template name="tablepretitle"/> <!--defined in pageComponents-->
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<!-- end Kopf-->
<!-- start tabelle-->
<xsl:for-each select="ergebnisse/ergebnis/ergebniselement">
<xsl:choose>
<xsl:when test="@typ='image'">
<img><xsl:attribute name="src"><xsl:value-of select="@url" /></xsl:attribute></img><hr/>
<xsl:text>
</xsl:text>
</xsl:when>
<xsl:when test="@typ='tabelle'">
<xsl:call-template name="tableSingletable"/>
</xsl:when>
<xsl:otherwise>
<xsl:text> Nicht unterstützter Ergebnistyp </xsl:text><xsl:value-of select="@type" />
</xsl:otherwise>
</xsl:choose>
<!-- end tabelle-->
<!-- start fuß-->
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable!='true'">
<xsl:call-template name="navigationsfuss" />
</xsl:when>
<xsl:otherwise> <!-- input für offset ist wichtig für Exporte, normalerweise im Navigationsfuß definiert -->
<input type="hidden" name="offset">
<xsl:attribute name="value"><xsl:value-of select="sqlerg/@offset" /></xsl:attribute>
</input>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_explanation'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_explanation'"></xsl:with-param></xsl:call-template>
<xsl:choose>
<xsl:when test="/menue/@hisinone_active='true'">
<script language="Javascript">
var platform='his1';
</script>
</xsl:when>
<xsl:otherwise>
<script language="Javascript">
var platform='superx';
</script>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="count(sqlerg/headers/header/caption_long) &gt; 0"><xsl:call-template name="explanation" /></xsl:if>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_explanation'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_explanation'"></xsl:with-param></xsl:call-template>
</xsl:for-each>
</form>
<!-- end fuß-->
</xsl:template>
<!-- end tablecenter-->
<!-- start printsaveExport-->
<!-- printsave/export in pageComponents definiert - kann also überlagert werden-->
<xsl:template name="tablePrintsaveexport">
<table class="dontprint" border="0"><tr><td align="left">
<xsl:call-template name="printsaveButtons" />
</td>
<td align="right"><xsl:call-template name="exportButtons" />
</td>
</tr></table>
</xsl:template>
<!-- end printsave -->
<!-- start singleTable-->
<xsl:template name="tableSingletable">
<xsl:comment>Template tableSingletable in file tabelle_html.xsl</xsl:comment>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_pre_title'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_pre_title'"></xsl:with-param></xsl:call-template>
<p class="maskentitel"><xsl:value-of select="../maskenname" /></p>
<xsl:call-template name="pccustomize"><xsl:with-param name="position" select="'table_post_title'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="tablecustomize"><xsl:with-param name="position" select="'table_post_title'"></xsl:with-param></xsl:call-template>
<xsl:call-template name="legende" />
<xsl:if test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@max &gt; 19">
<xsl:call-template name="navigationsmenue" />
</xsl:if>
</xsl:template>
<xsl:template name="tableheader">
<!--Spaltenüberschriften: zunächst wird geprüft, ob Spaltenüberschriften verknüpft werden sollen
<xsl:variable name="spanned_cols">
<xsl:for-each select="sqlerg/headers/header">
<xsl:if test="contains(wert,'\000')">
<xsl:text>true</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:when test="contains($spanned_cols,'true')">
<xsl:variable name="headers_str">
<xsl:for-each select="sqlerg/headers/header">
<xsl:value-of select="concat('^',wert)" />
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="HtmlUtils:headers2html($headers_str)" disable-output-escaping="yes"/>
-->
<xsl:choose>
<xsl:when test="/ergebnisse/ergebnis/ergebniselement/sqlerg/headers/@hasAggregationHeaders='true'">
<xsl:for-each select="sqlerg/aggregationHeaders/tr">
<tr>
<!--auch bei aggregierten Headers Spalten die mit hidden_starten nicht anzeigen-->
<xsl:for-each select="th [not (starts-with(@f_name,'hidden')) and @isHidden!='true']">
<th class="header">
<xsl:if test="@colspan!=''"><xsl:attribute name="colspan"><xsl:value-of select="@colspan"/></xsl:attribute></xsl:if>
<xsl:if test="@rowspan!=''"><xsl:attribute name="rowspan"><xsl:value-of select="@rowspan"/></xsl:attribute></xsl:if>
<xsl:attribute name="scope">
<xsl:choose>
<xsl:when test="@colspan!='' and @colspan!='1'"><xsl:text>colgroup</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>col</xsl:text></xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when test="@isopen='true'">
<a class='bildnavi' >
<xsl:attribute name="href"><xsl:text>javascript:setHeaderExpanded('</xsl:text>
<xsl:value-of select="/ergebnisse/@jsessionid"/><xsl:text>',</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
<xsl:text>,</xsl:text><xsl:value-of select="@id"/><xsl:text>,false);</xsl:text></xsl:attribute>
<img border='0' src='../xml/folder_green_open.gif'/>&#160;
<xsl:call-template name="removeBackslashN" >
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
</xsl:call-template>
</a>
</xsl:when>
<xsl:when test="@isopen='false'">
<a class='bildnavi'>
<xsl:attribute name="href"><xsl:text>javascript:setHeaderExpanded('</xsl:text>
<xsl:value-of select="/ergebnisse/@jsessionid"/><xsl:text>',</xsl:text><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
<xsl:text>,</xsl:text><xsl:value-of select="@id"/><xsl:text>,true);</xsl:text></xsl:attribute>
<img border='0' src='../xml/folder_green.gif'/>&#160;
<xsl:call-template name="removeBackslashN" >
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
</xsl:call-template>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="removeBackslashN" >
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</th>
</xsl:for-each>
</tr>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<!-- alt Normale headers -->
<xsl:variable name="headers_str">
<xsl:for-each select="sqlerg/headers/header[not (starts-with(f_name,'hidden'))]">
<xsl:value-of select="concat('^',wert)" />
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="HtmlUtils:headers2html($headers_str)" disable-output-escaping="yes"/>
<!--<xsl:call-template name="removeBackslashN" >
<xsl:with-param name="derwert"><xsl:value-of select="." /></xsl:with-param>
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
</xsl:call-template>
<tr>
<xsl:for-each select="sqlerg/headers/header">
<th class="header" scope="col">
<xsl:call-template name="removeBackslashN" >
<xsl:with-param name="derwert"><xsl:value-of select="wert" /></xsl:with-param>
<xsl:with-param name="format"><xsl:value-of select="'html'" /></xsl:with-param>
</xsl:call-template>
</th>
</xsl:for-each>
</tr>-->
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="tablebody">
<xsl:variable name="erglevelmax"><xsl:text>5</xsl:text>
<!-- todo: auch bei treetable variable Zeilenebenen
<xsl:if test="count(sqlerg/row/col [ f_name = 'ebene' ]) &gt; 0">
<xsl:choose>
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '4']) &gt; 0">
<xsl:text>4</xsl:text>
</xsl:when>
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '3']) &gt; 0">
<xsl:text>3</xsl:text>
</xsl:when>
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '2']) &gt; 0">
<xsl:text>2</xsl:text>
</xsl:when>
<xsl:when test="count(sqlerg/row/col [ f_name = 'ebene' ] /wert [ . = '1']) &gt; 0">
<xsl:text>1</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>5</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>-->
</xsl:variable>
<xsl:for-each select="sqlerg/row">
<!-- MB ausgelagert nach resultset.xsl-->
<xsl:call-template name="resultrow">
<xsl:with-param name="row" select="."/>
<xsl:with-param name="erglevelmax" select="$erglevelmax"/>
<!-- wenn versteckte Links angegeben sind, nach dem Schema hidden_fname diese anzeigen-->
<xsl:with-param name="showlinks"><xsl:text>true</xsl:text></xsl:with-param>
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<!-- end singleTable-->
<!-- start DOJO Dialoge-->
<xsl:template name="tableDialogs">
<!--todo:Export nach SVG, PDF etc.-->
</xsl:template>
<!-- end DOjo dialoge-->
<!-- start obsolet -->
<xsl:template name="tabwert">
<xsl:choose>
<xsl:when test="wert/@type='numeric'"><xsl:value-of select="wert" />
<!--<xsl:value-of select="format-number(wert,'#.###.##0,00','de_DE')" />-->
</xsl:when>
<xsl:otherwise><xsl:value-of select="wert" /></xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- end -->
<!-- start customize standard ist leer, kann von Spezialstylesheets überlagert werden -->
<xsl:template name="tablecustomize">
<xsl:param name="position"/>
</xsl:template>
<!-- end customize-->
<xsl:template name="viz_canvas">
<xsl:comment>Template viz_canvas in file viz_html_barchart_horiz.xsl</xsl:comment>
<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 Grafik-->
<xsl:for-each select="ergebnisse">
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<div class="columns is-mobile is-left">
<div class="card has-background-light">
<div class="card-content">
<p class="title is-4">Konfigurationsassistent Datenvisualisierung</p>
<!--Beginn NavTabs-->
<div class="tabs is-left is-small" id="viznav">
<ul>
<li data-target="viznav-tab1" id="1">
<a onclick="showVizNavTab(1);"><span>Diagramm-Daten</span></a>
</li>
<li data-target="viznav-tab2" id="2">
<a onclick="updateChartModel();renderChart('chartDiv',myChartModel);showVizNavTab(2);"><span>Diagramm-Layout</span></a>
</li>
<li data-target="viznav-tab3" id="3">
<a onclick="showVizNavTab(3);"><span>Diagramm-Nutzung</span></a>
</li>
</ul>
</div>
<div class="tab-content">
<!-- tab-1-->
<div class="viznav-tab1" id="tab-1" style="display:block"> <!--Diagramm-Daten-->
<xsl:call-template name="diagrammdaten" />
</div>
<div class="viznav-tab2" id="tab-2" style="display:none"> <!--Diagramm-Layout-->
<xsl:call-template name="diagrammlayout" />
</div>
<div class="viznav-tab3" id="tab-3" style="display:none"> <!--Diagramm-Nutzung-->
<xsl:call-template name="diagrammnutzung" />
</div>
</div><!--tab-content -->
</div> <!-- card-content -->
</div><!--card -->
</div> <!-- column -->
</section>
</xsl:for-each>
</xsl:template>
<xsl:template name="getColumnNameJS">
<xsl:param name="columnNameFromDB" />
<xsl:choose>
<xsl:when test="contains($columnNameFromDB,'?')">
<xsl:value-of select="concat('column_',@id+1)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$columnNameFromDB"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="head_superx_viz">
<xsl:param name="css" />
<xsl:param name="title" />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</meta><!-- <link rel="stylesheet" type="text/css" href="../xml/his1/css.._menue_html.css" /> -->
<link rel="stylesheet" type="text/css" href="../style/superx.css"/>
<link rel="stylesheet" type="text/css" href="../xml/menue_html.css"/>
<link rel="stylesheet" type="text/css" href="../xml/superxml_html.css"/>
<link rel="stylesheet" type="text/css" href="../xml/maske_html.css" />
<link rel="stylesheet" type="text/css" href="../xml/tabelle_html.css" />
<link rel="stylesheet" type="text/css" href="../xml/css/fontello-codes.css" />
<link rel="stylesheet" type="text/css" href="../xml/css/start_portlet.css" />
<link rel="stylesheet" type="text/css" href="../style/bulma.css" />
<link rel="stylesheet" type="text/css" href="../style/bulma-tooltip.min.css" />
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
</head>
</xsl:template>
<xsl:template name="buildVizMetadata">
<xsl:variable name="vizInitialName">
<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>
<xsl:call-template name="navigationsmenue" />
<script language="Javascript">
<xsl:text>
var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>';
function dataRowMetaData(tableId,nr,colname,colcaption,coltype,colfunction)
{
this.tableId=tableId;
this.nr=nr;
this.colname=colname;
this.colcaption=colcaption;
this.coltype=coltype;
this.colfunction=colfunction;
}
function tableMetaData(nr,value,name,isDefault)
{
this.value=value;
this.nr=nr;
this.name=name
this.isDefault=isDefault;
}
var rsTableMetaData=new Array();
var rsColumnMetaData=new Array();
var rs=new Array();
</xsl:text>
</script>
</xsl:template>
<xsl:template name="buildVizData">
<xsl:param name="tableId" />
<script language="Javascript">
<xsl:text>
rsTableMetaData.push(new tableMetaData(
</xsl:text>
<xsl:value-of select="position()"/>
<xsl:text>,'</xsl:text>
<xsl:value-of select="$tableId"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="concat('Tab. ',$tableId+1)"/>
<xsl:text>',
</xsl:text>
<xsl:choose>
<xsl:when test="position()=1">
<xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>false</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
));
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array();
var myChartModel=new chartModel(1,"","",rsTableMetaData);
function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>,</xsl:text>
<xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template>
</xsl:for-each>
<xsl:text>
)
{
this.rownr=rownr;
</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>this.</xsl:text><xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template><xsl:text>=</xsl:text>
<xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template><xsl:text>;
</xsl:text>
</xsl:for-each><xsl:text>
}
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array();
</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:variable name="rownr">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:text>
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRowMetaData('</xsl:text>
<xsl:value-of select="$tableId"/><xsl:text>',</xsl:text>
<xsl:value-of select="$rownr"/>
<xsl:text>,'</xsl:text>
<xsl:call-template name="getColumnNameJS">
<xsl:with-param name="columnNameFromDB" select="f_name"/>
</xsl:call-template>
<xsl:text>','</xsl:text>
<xsl:call-template name="remove_linebreaksAndQuot">
<xsl:with-param name="volltext" select="wert" />
</xsl:call-template>
<xsl:text>',0,null));</xsl:text> <!--coltype noch unbekannt, colfunction unnötig-->
</xsl:for-each>
<xsl:for-each select="sqlerg/row">
<xsl:variable name="rownr">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:if test="$rownr=1">
<!-- first metadata -->
<xsl:for-each select="col">
<xsl:variable name="colnr">
<xsl:value-of select="position()"/>
</xsl:variable>
<xsl:text>
rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>][</xsl:text><xsl:value-of select="number($colnr)-1"/><xsl:text>].coltype=</xsl:text><xsl:value-of select="@typ"/>
<xsl:text>;
</xsl:text>
</xsl:for-each>
</xsl:if>
<!--now resultset-->
<xsl:text>
//rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]= new Array();
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(new dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(</xsl:text><xsl:value-of select="$rownr"/>
<xsl:for-each select="col">
<xsl:text>,</xsl:text>
<xsl:choose>
<xsl:when test="@typ='1'"><xsl:text>'</xsl:text>
<xsl:call-template name="remove_linebreaksAndQuot">
<xsl:with-param name="volltext" select="wert" />
</xsl:call-template>
<xsl:text>'</xsl:text></xsl:when>
<!--todo:Typ Datum -->
<xsl:when test="string-length(wert)=0"><xsl:text>null</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="wert"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:text>));
</xsl:text>
</xsl:for-each>
</script>
</xsl:template>
<xsl:template name="diagrammdaten">
<xsl:for-each select="ergebnis/ergebniselement">
<p class="title is-5"><xsl:value-of select="../maskenname" /></p>
<xsl:call-template name="legende" />
<!--<xsl:if test="/ergebnisse/@isMakro!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable!='true' and /ergebnisse/ergebnis/ergebniselement/sqlerg/@max &gt; 19">
<xsl:call-template name="navigationsmenue" />
</xsl:if>-->
<xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" />
</xsl:call-template>
</xsl:for-each>
<span class="separator">&#160;</span>
<!--Aufruf/Anzeige Diagrammdaten-->
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="tableId"><xsl:value-of select="@ordnr"/></xsl:variable>
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong><xsl:text>Daten-Tabelle </xsl:text><xsl:value-of select="../maskenname"/></strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--<button class="button is-small is-rounded is-white is-outlined"
onClick="showDataTable('dataDivTable',rs,rsMetaData,10);">
<span class="icon is-small"><i class="../images/more.svg"></i>
<img src="../images/more.svg" title="Laden" />
</span>
</button>-->
<a>
<xsl:attribute name="onClick">
<xsl:text>showDataTable('dataDivTable</xsl:text>
<xsl:value-of select="$tableId"/>
<xsl:text>',rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>],rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>],10);</xsl:text>
</xsl:attribute>
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="dataDiv"> <!--class="section">-->
<div id="{concat('dataDivTable',$tableId)}"> <!--style="border:thin solid black">-->
</div>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
</xsl:for-each>
<!--Aufruf/Anzeige Formular Datenauswahl-->
<!--
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Daten-Auswahl</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="fillDataSelectionForm('dataSelectionFormDiv');">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="dataSelectionDiv">
<form name="dataSelectionForm" id="dataSelectionForm">
<div id="dataSelectionFormDiv" style="display:none">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Dimension 1</label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth is-focused">
<select class="maskinputPflicht" id="dimension1" name="dimension1" tabindex="210">
<option class="maskinput" value="" selected="selected"></option>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth">
<select id="dimension1_fn" name="dimension1_fn" tabindex="210">
<option class="maskinput" value="" selected="selected">Optional: Vordefinierte Transformation></option>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
</div>
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Dimension 2</label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth is-focused">
<select class="maskinputPflicht" id="dimension2" name="dimension2" tabindex="210">
<option class="maskinput" value="" selected="selected"></option>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth">
<select id="dimension2_fn" name="dimension2_fn" tabindex="210">
<option class="maskinput" value="" selected="selected">Optional: Vordefinierte Transformation</option>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
</div>
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Maß</label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth">
<select class="maskinputPflicht" id="measure1" name="measure1" tabindex="230" >
<option class="maskinput" value="" selected="selected"></option>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth is-focused">
<select id="measure1_fn" name="measure1_fn" tabindex="230">
<option class="maskinput" value="" selected="selected">Optional: Vordefinierte Transformation</option>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
</div>
</div>
</form>
</div>-->
<!--Ende Formular Datenauswahl-->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--Aufruf/Anzeige Daten-Vorschau-->
<!--<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Daten-Vorschau</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="selectionResultPreview('selectionResultPreviewTable');">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="selectionResultPreview">
<div id="selectionResultPreviewTable" style="display:none"></div>
</div>
-->
<!--footer BF: nach unten verschoben-->
<footer class="card-footer">
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" onclick="selectionResultPreview('selectionResultPreviewTable');">Daten-Vorschau</button></p>-->
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit">Speichern</button></p>
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>
</footer>
</xsl:template>
<xsl:template name="diagrammlayout">
<!--Formular Allg. Layoutmerkmale-->
<div id="chartProperties"> <!--class="section">-->
<form name="chartPropertiesForm">
<div class="columns">
<div class="column is-one-quarter">
<p class="bd-notification is-primary">
Diagramm
</p>
<!--<p><span class="button is-link is-outlined is-small" onClick="updateChartModel();renderChart('chartDiv',myChartModel);">Erzeugen</span></p>-->
</div>
<div class="column is-half">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Name</label>
</div>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth">
<textarea class="maskinput" id="chartName" name="chartName" rows="3" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);"/>
</div>
</p>
</div>
<xsl:call-template name="Infobutton" />
</div>
</div>
<div class="column">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Renderer</label>
</div>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth">
<select class="maskinputPflicht" id="fldVizRenderer" NAME="fldVizRenderer" tabindex="1" onChange="" >
<option class="maskinput" value="plot" selected="selected">Observable Plot</option>
<option class="maskinput" value="d3js" >D3JS</option>
</select>
</div>
</p>
</div>
<xsl:call-template name="Infobutton" />
</div>
</div>
</div>
<!-- Beginn Eigenschaften+ Vorschau-->
<div class="columns">
<div class="column is-one-third">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Layoutmerkmale</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="showChartPropertiesFormDiv('generalChartPropertiesFormDiv','generalChartPropertiesFormElementsDiv',document.getElementById('fldVizRenderer').value);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="generalChartPropertiesFormDiv" style="display:none">
<div id="generalChartPropertiesFormElementsDiv"> </div>
</div>
<!-- Box Diagrammelemente -->
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Diagrammelemente</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="showChartPropertiesFormDiv('ChartElementsDiv','ChartElementListDiv',document.getElementById('fldVizRenderer').value);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="ChartElementsDiv" style="display:none">
<div id="ChartElementListDiv">
</div>
<div id="ChartElementListFooterDiv">
Elemente: <input class="is-small" type="text" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
<a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value,null)"><img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" /></a>
<span class="separator">&#160;</span><a onClick="removeChartElementConfig()"><img src="../images/minus-circled.svg" width="12" height="12" title="Letztes Element entfernen" /></a>
</div>
<div id="ChartElementConfig1Div"> </div>
<div id="ChartElementConfig2Div"> </div>
</div>
</div> <!-- Ende der Spalte Eigenschaften -->
<div class="column">
<p class="bd-notification is-fojeisj">Vorschau</p>
<div id="chartCanvas">
<div id="chartDiv">
<svg viewBox="0 0 650 450">
<rect x="0" y="0" width="650" height="450" fill="#cccccc"></rect>
</svg></div>
</div>
</div>
</div><!--Ende Eigenschaften + Vorschau-->
</form>
</div>
<!--
<div class="label-container">
<label class="label is-required is-small"><strong>Basismerkmale</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Diagramm-Typ</label>
</div>
<div class="field is-active">
<p class="control-new">
<div class="select is-small is-fullwidth">
<select class="maskinputPflicht" id="viz_chart_type" NAME="viz_chart_type" tabindex="200" onChange="prepareChartProperties(this.value)" >
<option class="maskinput" value="" selected="selected">Bitte wählen Sie</option>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/vizTypes/vizType">
<option class="maskinput" value="{@uniquename}"><xsl:value-of select="@caption" /></option>
</xsl:for-each>
</select>
</div>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
</div>
<div id="chartPropertiesForm"> </div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
-->
<!--Formular Erweiterte Layoutmerkmale-->
<!--
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Zusatzmerkmale</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="showChartPropertiesForm();">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="chartPropertiesFormDetails" style="display:none"> </div>
-->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--Aufruf/Anzeige Layout-Vorschau-->
<!--
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Layout-Vorschau</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="showChartDiv('chartDiv');">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="chartCanvas">
<div id="chartDiv"> </div>
</div>
-->
<!--footer (BF nach unten verschoben)-->
<footer class="card-footer">
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit" onClick="alert('noch nicht implementiert)');">Speichern</button></p>
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset" onClick="return resetChartPropertiesForm();">Zurücksetzen</button></p>
</footer>
</xsl:template>
<xsl:template name="diagrammnutzung">
<!-- Aufruf/Anzeige Diagramm-Vorschau-->
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Diagramm-Vorschau</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--<button class="button is-small is-rounded is-white is-outlined"
onClick="createChart('chartDiv2');">
<span class="icon is-small"><i class="../images/more.svg"></i>
<img src="../images/more.svg" title="Laden" />
</span>
</button>-->
<a
onClick="showChartDiv('chartDiv2'); renderChart('chartDiv2',myChartModel);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="chartCanvas"> <!--class="section"-->
<!--<div id="chartCanvasHeader"> </div>-->
<div id="chartDiv2"> </div>
<!--<div id="chartCanvasFooter"></div>-->
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!-- Aufruf/Anzeige SVG-Quellcode-->
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Diagramm-Code (svg)</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--<button class="button is-small is-rounded is-white is-outlined"
onClick="showSrcCode();">
<span class="icon is-small"><i class="../images/more.svg"></i>
<img src="../images/more.svg" title="Laden" />
</span>
</button>-->
<a
onClick="showSrcCode(myChartModel.renderer);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="chartSVGsrcDiv"> <!--class="section">-->
<div id="chartSVGsrc" style="display:none">
<textarea id="chartSrc" name="chartSrc" class="textarea" placeholder="Quellcode..."> <!--cols="100" rows="20"--></textarea><!--<button class="sx_buttondiv_submit" onClick="copySrcCode('chartSrc');">Kopieren</button>-->
</div>
</div>
<!--footer (BF eingefügt *** Klärungsbedarf bzgl. notwendiger Buttons)-->
<footer class="card-footer">
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" onClick="createChart();">Diagramm-Vorschau</button></p> -->
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit" onClick="copySrcCode('chartSrc');">Kopieren</button></p>
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>-->
</footer>
</xsl:template>
<xsl:template name="Infobutton">
<xsl:param name="targetUrl" select="'https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm'" />
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="info">
<xsl:attribute name="onclick">
<xsl:text>window.open('</xsl:text>
<xsl:value-of select="$targetUrl"/>
<xsl:text>','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');</xsl:text>
</xsl:attribute>
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>
</xsl:template>
</xsl:stylesheet>