Browse Source

Export Shortcut Buttons #9

master
Daniel Quathamer 5 days ago
parent
commit
d6b1afc2c8
  1. 2
      src/de/superx/servlet/SuperXmlTabelle.java
  2. BIN
      superx/WEB-INF/lib/superx5.2.jar
  3. 298
      superx/xml/nd_templates.xsl

2
src/de/superx/servlet/SuperXmlTabelle.java

@ -1907,6 +1907,8 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1907,6 +1907,8 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
String rptPageFormatX=request.getParameter("RPTPageFormatX");
String rptPageFormatY=request.getParameter("RPTPageFormatY");
//X- und Y Werte haben höhere Prio, das ist flexibler:
transformer.setParameter("RPTContentype", rptContentype);
if(rptPageFormatX!=null && !rptPageFormatX.equalsIgnoreCase("")
&&rptPageFormatY!=null && !rptPageFormatY.equalsIgnoreCase(""))

BIN
superx/WEB-INF/lib/superx5.2.jar

Binary file not shown.

298
superx/xml/nd_templates.xsl

@ -3849,28 +3849,214 @@ var platform='superx'; @@ -3849,28 +3849,214 @@ var platform='superx';
<!-- druckversion übergibt maxoffset 10000000 damit alle Sätze angezeigt werden -->
<xsl:if test="count(/ergebnisse/stylesheets/stylesheet[filename='rpta_assistent.xsl']) !=0">
<input name="RPTContentype" type="hidden" value="" />
<input name="RPTPageFormat" type="hidden" value="A3" />
<xsl:call-template name="nd_tableExportHiddenFieldsRPTA" />
<xsl:if test="/ergebnisse/user/@admin='true'">
<xsl:call-template name="nd_tableExportButtonsRPTA" />
</xsl:if>
</xsl:if>
<xsl:if test="count(/ergebnisse/stylesheets/stylesheet[filename='viz_html_chart.xsl']) !=0
and /ergebnisse/user/@admin='true'">
<xsl:call-template name="nd_tableExportButtonsVIZ" />
</xsl:if>
<xsl:call-template name="nd_tableExportButtonsHTML" />
<xsl:call-template name="nd_tableExportButtonsXML" />
<xsl:call-template name="nd_tableExportButtonsPDF" >
<xsl:with-param name="useRPTA" select="count(/ergebnisse/stylesheets/stylesheet[filename='rpta_assistent.xsl'])" />
</xsl:call-template>
<xsl:call-template name="nd_tableExportButtonsXLSX" >
<xsl:with-param name="useRPTA" select="count(/ergebnisse/stylesheets/stylesheet[filename='rpta_assistent.xsl'])" />
</xsl:call-template>
<xsl:call-template name="nd_tableExportButtonsCSV" />
<xsl:if test="/ergebnisse/user [@admin='true']">
<xsl:call-template name="nd_tableButtonMaskeninfo" />
<xsl:call-template name="nd_tableButtonSachgebiet" />
<xsl:call-template name="nd_tableButtonStylesheet" />
</xsl:if>
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[is_generic='0']">
<xsl:if test="not(ends-with(filename,'.jrxml'))">
<a><xsl:attribute name="href">javascript:document.forms[0].stylesheet.value='<xsl:value-of select="filename" />';document.forms[0].contenttype.value='<xsl:value-of select="contenttype" />'; document.forms[0].submit();</xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="description" /></xsl:attribute>
<![CDATA[]]><xsl:value-of select="caption" /><![CDATA[]]></a>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="nd_tableExportHiddenFieldsRPTA" >
<!--<input name="RPTContentype" type="hidden" value="" />
<input name="RPTPageFormat" type="hidden" value="A3" />-->
<script language="JavaScript" type="text/javascript"><xsl:text>
<![CDATA[ function setPageFormat(selectFormat)
{
var frmFieldX=document.getElementById("RPTPageFormatX");
var frmFieldY=document.getElementById("RPTPageFormatY");
switch (selectFormat.value) {
case "A4":
frmFieldX.value="842";
frmFieldY.value="595";
break;
case "A3":
frmFieldX.value="1191";
frmFieldY.value="842";
break;
case "A0":
frmFieldX.value="3370";
frmFieldY.value="2384";
break;
default:
//A4
frmFieldX.value="842";
frmFieldY.value="595";
break;
}
return true;
}
function exportSubmit(whichFormat)
{
if(document.getElementById("dlg_treedata1") && document.getElementById("dlg_treedata1").checked)
{
exportTreeContents("some rows");
}
if(document.getElementById("dlg_treedata2") && document.getElementById("dlg_treedata2").checked)
{
exportTreeContents("all rows");
}
if(document.getElementById("dlg_exportformat1").checked)
{
//unformatiert:
if (whichFormat == 'XLSX') {
document.forms[0].stylesheet.value = 'tabelle_xls.xsl';
document.forms[0].contenttype.value =
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
}
if (whichFormat == 'PDF') {
document.forms[0].stylesheet.value = 'tabelle_fo_pdf.xsl';
document.forms[0].contenttype.value = 'application/pdf';
}
}
else
{
var filename="tabelle_jrxml_a4_quer.xsl";
var contenttype="application/jrxml";
setPageFormat(document.getElementById("RPTPageFormat"));
document.forms[0].stylesheet.value=filename;
if(contenttype !="")
document.forms[0].contenttype.value=contenttype;
}
dojo.widget.byId("rpta_export_shortcut_dlg").hide();
document.forms[0].target="_blank";
document.forms[0].offset.value='0';
document.forms[0].maxoffset.value = '1000000';
document.forms[0].reuseresult.value = 'true';
document.forms[0].submit();
}
function prepareRptaExportShortcutDlg(contenttype,outFormat)
{
document.getElementById("RPTContentype").value=contenttype;
document.getElementById("dlg_outformat").innerHTML=outFormat;
dojo.widget.byId("rpta_export_shortcut_dlg").show();
}
function exportTreeContents(what) {
rows = '';
if (what == 'some rows') {
tableId = "table1";
table = document.getElementById(tableId);
rowChildren = table.getElementsByTagName('tr');
for (i = 0; i < rowChildren.length; i++) {
if (index = rowChildren[i].id.indexOf('_')) {
if (rowChildren[i].style.display == '') rows = rows + rowChildren[i].getAttribute(
"irowno") + ",";
}
}
rows = rows.replace("null,", "");
}
document.forms[0].irowno.value = rows;
} ]]>
</xsl:text>
</script>
<input type="hidden" id="RPTPageFormatX" name="RPTPageFormatX" />
<input type="hidden" id="RPTPageFormatY" name="RPTPageFormatY" />
<br />
<input name="RPTContentype" id="RPTContentype" type="hidden" value="" />
<!-- nun der Dialog:-->
<div dojoType="dialog" id="rpta_export_shortcut_dlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="250" closeNode="rpta_export_shortcut_dlg" style="display:none">
<p align="center"><strong>Exportmenü für <label id="dlg_outformat">Dokumentformate</label></strong></p>
<table width="100%" border="1">
<xsl:if test="/ergebnisse/ergebnis/ergebniselement/sqlerg/@istreetable='true'">
<tr><td width="30%">Welche Daten sollen exportiert werden?</td>
<td colspan="2">
<input type="radio" class="maskinput" name="dlg_treedata" id="dlg_treedata1" value="some rows" checked="true" title="Nur die sichtbaren Tabellenzeilen" />
&#160;<label for="dlg_treedata1">Nur die sichtbaren Tabellenzeilen</label><br />
<input type="radio" class="maskinput" name="dlg_treedata" id="dlg_treedata2" value="all rows" title="Alle Daten" />
&#160;<label for="dlg_treedata2">Alle Daten</label><br />
</td>
</tr>
<!--
<input type="button" id="treesomedata" class="clsButtonStyle" onclick="exportandhideRptaDlg('some rows');exportSubmit();" value=""></input>&#160;
<input type="button" id="treealldata" class="clsButtonStyle" onclick="exportandhideRptaDlg('all rows')" value="Alle Daten"></input>&#160;-->
</xsl:if>
<tr><td width="30%">Exportformat</td>
<td width="30%"><input type="radio" class="maskinput" name="dlg_exportformat" id="dlg_exportformat1" value="classic" title="Unformatiert" />
&#160;<label for="dlg_exportformat1">Unformatiert</label></td>
<td width="30%">
<input type="radio" class="maskinput" name="dlg_exportformat" id="dlg_exportformat2" value="rpta" checked="true" title="Formatiert" />
&#160;<label for="dlg_exportformat2">Formatiert</label>
<br />
<select name="RPTPageFormat" id="RPTPageFormat">
<option value="A4">DIN A 4</option>
<option value="A3" selected="selected">DIN A 3</option>
<option value="A0">DIN A 0</option>
</select></td>
</tr>
</table>
<div class="buttons">
<button class="button is-primary is-outlined" id="ok" onclick="exportSubmit(document.getElementById('dlg_outformat').innerHTML);">Export</button>&#160;
<button class="button" id="abbrechen" onclick="dojo.widget.byId('rpta_export_shortcut_dlg').hide();">Abbrechen</button>
</div>
</div>
</xsl:template>
<xsl:template name="nd_tableExportButtonsRPTA" >
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true" style="cursor: pointer;"><xsl:attribute name="onclick"><xsl:text>setTemplatePropertiesAndSubmit('rpta_assistent.xsl|text/html');</xsl:text>
</xsl:attribute>
<img title="Berichtsassistent" alt="Berichtsassistent"
src="../images/icons/magic.svg" border="0" class="svg_icon" />
</a><span class="separator">&#160;</span><span class="separator">&#160;</span>
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[stylesheet_type='XSL_JRXML']">
<a onMouseOver="window.status='Export xls starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true" style="cursor: pointer;">
<xsl:attribute name="onclick"><xsl:text>document.forms[0].elements['RPTContentype'].value='</xsl:text><xsl:value-of select="contenttype"/><xsl:text>';setTemplatePropertiesAndSubmit('</xsl:text><xsl:value-of select="filename"/><xsl:text>|application/jrxml');</xsl:text>
</xsl:attribute>
<img title="{caption}" alt="{description}"
src="{toolbar_icon_filepath}" border="0" class="svg_icon" />
</a>
</xsl:for-each>
</xsl:if>
<xsl:if test="count(/ergebnisse/stylesheets/stylesheet[filename='viz_html_chart.xsl']) !=0
and /ergebnisse/user/@admin='true'">
</xsl:template>
<xsl:template name="nd_tableExportButtonsVIZ" >
<script language="Javascript">
function prepareExportChart()
{
@ -3893,8 +4079,10 @@ document.forms[0].target = '_blank'; @@ -3893,8 +4079,10 @@ document.forms[0].target = '_blank';
<img title="Ausgabe als Diagramm" alt="Ausgabe in Diagramm"
src="../images/icons/chart-bar.svg" border="0" class="svg_icon" />
</a>
</xsl:template>
<xsl:template name="nd_tableExportButtonsHTML" >
</xsl:if>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:prepareExport('druckversion')</xsl:text>
</xsl:attribute>
@ -3903,6 +4091,8 @@ document.forms[0].target = '_blank'; @@ -3903,6 +4091,8 @@ document.forms[0].target = '_blank';
<img title="Ausgabe in HTML" alt="Ausgabe in HTML"
src="../images/into_html.svg" class="svg_icon" border="0" />
</a>
</xsl:template>
<xsl:template name="nd_tableExportButtonsXML" >
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:prepareExport('xml')</xsl:text>
</xsl:attribute>
@ -3910,6 +4100,22 @@ document.forms[0].target = '_blank'; @@ -3910,6 +4100,22 @@ document.forms[0].target = '_blank';
<img title="Ausgabe in XML" alt="Ausgabe in XML"
src="../images/into_xml.svg" class="svg_icon" border="0" />
</a>
</xsl:template>
<xsl:template name="nd_tableExportButtonsPDF" >
<xsl:param name="useRPTA" select="0" />
<xsl:choose>
<xsl:when test="$useRPTA=1">
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[stylesheet_type='XSL_JRXML']">
<xsl:call-template name="nd_button_rpta_export_shortcut" >
<xsl:with-param name="outFormat" select="'PDF'" />
<xsl:with-param name="outFormatIcon" select="'../images/into_pdf.svg'" />
<xsl:with-param name="RPTContentype" select="'application/pdf'" />
</xsl:call-template>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:prepareExport('pdf')</xsl:text>
</xsl:attribute>
@ -3919,7 +4125,22 @@ document.forms[0].target = '_blank'; @@ -3919,7 +4125,22 @@ document.forms[0].target = '_blank';
src="../images/into_pdf.svg" class="svg_icon" border="0" />
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="nd_tableExportButtonsXLSX" >
<xsl:param name="useRPTA" select="0" />
<xsl:choose>
<xsl:when test="$useRPTA=1">
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[stylesheet_type='XSL_JRXML']">
<xsl:call-template name="nd_button_rpta_export_shortcut" >
<xsl:with-param name="outFormat" select="'XLSX'" />
<xsl:with-param name="outFormatIcon" select="'../images/into_excel_normal.svg'" />
<xsl:with-param name="RPTContentype" select="'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'" />
</xsl:call-template>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:prepareExport('excel')</xsl:text>
</xsl:attribute>
@ -3928,6 +4149,11 @@ document.forms[0].target = '_blank'; @@ -3928,6 +4149,11 @@ document.forms[0].target = '_blank';
<img title="Ausgabe in Excel" alt="Ausgabe in Excel"
src="../images/into_excel_normal.svg" class="svg_icon" border="0" />
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="nd_tableExportButtonsCSV" >
<a onMouseOver="window.status='Export starten';return true" onFocus="window.status='Download starten';return true" onMouseOut="window.status='Download starten';return true"><xsl:attribute name="href"><xsl:text>javascript:document.forms[0].contenttype.value='text/csv';document.forms[0].reuseresult.value='true';document.forms[0].submit();</xsl:text>
</xsl:attribute>
@ -3937,9 +4163,8 @@ document.forms[0].target = '_blank'; @@ -3937,9 +4163,8 @@ document.forms[0].target = '_blank';
<img title="Ausgabe als CSV" alt="Ausgabe als CSV"
src="../images/into_csv_text.svg" class="svg_icon" border="0" />
</a>
<xsl:if test="/ergebnisse/user [@admin='true']">
</xsl:template>
<xsl:template name="nd_tableButtonMaskeninfo">
<xsl:variable name="url" select="concat('../edit/kern/maskeninfo_edit.jsp?tid=',/ergebnisse/ergebnis/maskenname/@id)"/>
<a>
<xsl:attribute name="href"><xsl:value-of select="$url" />
@ -3949,8 +4174,10 @@ document.forms[0].target = '_blank'; @@ -3949,8 +4174,10 @@ document.forms[0].target = '_blank';
<img title="Maskeninfo verwalten" alt="Maskeninfo verwalten"
src="../images/icons/book_open_edit.svg" class="svg_icon" border="0" />
</a>
</xsl:template>
<xsl:template name="nd_tableButtonSachgebiet">
<xsl:variable name="url" select="concat('../edit/kern/sachgeb_maske_bez_edit.jsp?maskeninfo_id=',/ergebnisse/ergebnis/maskenname/@id)"/>
<xsl:variable name="url" select="concat('../edit/kern/sachgeb_maske_bez_edit.jsp?maskeninfo_id=',/ergebnisse/ergebnis/maskenname/@id)"/>
<a>
<xsl:attribute name="href"><xsl:value-of select="$url" />
@ -3960,6 +4187,8 @@ document.forms[0].target = '_blank'; @@ -3960,6 +4187,8 @@ document.forms[0].target = '_blank';
<img title="Sachgebiet zuordnen" alt="Sachgebiet zuordnen"
src="../images/icons/folder_edit.svg" class="svg_icon" border="0" />
</a>
</xsl:template>
<xsl:template name="nd_tableButtonStylesheet" >
<xsl:variable name="url" select="concat('../edit/kern/maskeninfo_style.jsp?tid=',/ergebnisse/ergebnis/maskenname/@id)"/>
@ -3971,17 +4200,7 @@ document.forms[0].target = '_blank'; @@ -3971,17 +4200,7 @@ document.forms[0].target = '_blank';
<img title="Stylesheets zuordnen" alt="Stylesheets zuordnen"
src="../images/icons/copy_edit.svg" class="svg_icon" border="0" />
</a>
</xsl:if>
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[is_generic='0']">
<xsl:if test="not(ends-with(filename,'.jrxml'))">
<a><xsl:attribute name="href">javascript:document.forms[0].stylesheet.value='<xsl:value-of select="filename" />';document.forms[0].contenttype.value='<xsl:value-of select="contenttype" />'; document.forms[0].submit();</xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="description" /></xsl:attribute>
<![CDATA[]]><xsl:value-of select="caption" /><![CDATA[]]></a>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="nd_tableExportWeiterverarbeitung">
<!--<div class="buttonbar">--><!--071024 BF deaktiviert-->
<!--<div class="field is-grouped is-grouped-multiline">--><!--071024 BF deaktiviert-->
@ -4300,6 +4519,23 @@ document.forms[0].target = '_blank'; @@ -4300,6 +4519,23 @@ document.forms[0].target = '_blank';
<xsl:variable name="dd" select="substring($date_str,1,2)" />
<xsl:value-of select="concat($yyyy,'-',$mm,'-',$dd)" />
</xsl:template>
<xsl:template name="nd_button_rpta_export_shortcut">
<xsl:param name="outFormat" select="'XLSX'" />
<xsl:param name="outFormatIcon" select="'../images/into_excel_normal.svg'" />
<xsl:param name="RPTContentype" select="'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'" />
<xsl:variable name="quote"><xsl:text>'</xsl:text></xsl:variable>
<!--Export Button-->
<span class="svg_icon"><img src="{$outFormatIcon}" alt="{concat('Export nach ',$outFormat)}" class="svg_icon" title="{concat('Export nach ',$outFormat)}" border="0" onClick="{concat('prepareRptaExportShortcutDlg(',$quote,$RPTContentype,$quote,',',$quote,$outFormat,$quote,');')}"/></span>
</xsl:template>
</xsl:stylesheet>

Loading…
Cancel
Save