Compare commits

..

6 Commits

  1. 1
      src-modules/module/viz/conf/includes.txt
  2. 333
      src-modules/module/viz/conf/viz.xml
  3. 2
      src-modules/module/viz/masken/44020_maske_system_bez.unl
  4. 2
      src-modules/module/viz/masken/44070_maske_system_bez.unl
  5. 2
      src-modules/module/viz/masken/44100_maske_system_bez.unl
  6. 2
      src-modules/module/viz/masken/44130_maske_system_bez.unl
  7. 2
      src-modules/module/viz/masken/44130_maskeninfo.unl
  8. 2
      src-modules/module/viz/masken/44160_maske_system_bez.unl
  9. 2
      src-modules/module/viz/masken/44190_maske_system_bez.unl
  10. 8
      src-modules/module/viz/masken/44220_felderinfo.unl
  11. 2
      src-modules/module/viz/masken/44220_maske_system_bez.unl
  12. 2
      src-modules/module/viz/masken/44220_maskeninfo.unl
  13. 2
      src-modules/module/viz/masken/44250_maske_system_bez.unl
  14. 2
      src-modules/module/viz/masken/44250_maskeninfo.unl
  15. 2
      src-modules/module/viz/masken/44280_maske_system_bez.unl
  16. 2
      src-modules/module/viz/masken/44280_maskeninfo.unl
  17. 12
      src-modules/module/viz/masken/44310_felderinfo.unl
  18. 2
      src-modules/module/viz/masken/44310_maske_system_bez.unl
  19. 2
      src-modules/module/viz/masken/44310_maskeninfo.unl
  20. 2
      src-modules/module/viz/masken/44340_maske_system_bez.unl
  21. 2
      src-modules/module/viz/masken/44340_maskeninfo.unl
  22. 10
      src-modules/module/viz/masken/44510_felderinfo.unl
  23. 2
      src-modules/module/viz/masken/44510_maske_system_bez.unl
  24. 1
      src-modules/module/viz/masken/44510_masken_felder_bez.unl
  25. 2
      src-modules/module/viz/masken/44510_maskeninfo.unl
  26. 2
      src-modules/module/viz/masken/44540_maske_system_bez.unl
  27. 45
      src-modules/module/viz/masken/44570_felderinfo.unl
  28. 2
      src-modules/module/viz/masken/44570_maske_system_bez.unl
  29. 3
      src-modules/module/viz/masken/44570_masken_felder_bez.unl
  30. 2
      src-modules/module/viz/masken/44600_maske_system_bez.unl
  31. 2
      src-modules/module/viz/masken/44600_maskeninfo.unl
  32. 2
      src-modules/module/viz/masken/44630_felderinfo.unl
  33. 65
      src-modules/module/viz/masken/44630_maskeninfo.unl
  34. 2
      src-modules/module/viz/masken/44660_maske_system_bez.unl
  35. 2
      src-modules/module/viz/masken/44690_maske_system_bez.unl
  36. 53
      src-modules/module/viz/masken/44720_felderinfo.unl
  37. 2
      src-modules/module/viz/masken/44720_maske_system_bez.unl
  38. 2
      src-modules/module/viz/masken/44720_masken_felder_bez.unl
  39. 116
      src-modules/module/viz/masken/44720_maskeninfo.unl
  40. 1
      src-modules/module/viz/masken/44750_felderinfo.unl
  41. 1
      src-modules/module/viz/masken/44750_maske_system_bez.unl
  42. 1
      src-modules/module/viz/masken/44750_masken_felder_bez.unl
  43. 46
      src-modules/module/viz/masken/44750_maskeninfo.unl
  44. 1
      src-modules/module/viz/masken/44750_sachgeb_maske_bez.unl
  45. 120
      src-modules/module/viz/schluesseltabellen/chart2layout_fuellen.sql
  46. 24
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  47. 165
      src-modules/module/viz/schluesseltabellen/fm_templates.unl
  48. 4
      src-modules/module/viz/schluesseltabellen/konstanten_fuellen.sql
  49. 21
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  50. 103
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql
  51. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_zeitreihe_fuellen.sql
  52. 76
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql
  53. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_zeitreihe_fuellen.sql
  54. 46
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql
  55. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql
  56. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql
  57. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql
  58. 12
      src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql
  59. 109
      src-modules/module/viz/schluesseltabellen/sx_captions_fuellen.sql
  60. 26
      src-modules/module/viz/schluesseltabellen/sx_repository_customxmladd.unl
  61. 26
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  62. 680
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  63. 70
      src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql
  64. 52
      src-modules/module/viz/schluesseltabellen/viz_chart_unload.x
  65. 19
      src-modules/module/viz/schluesseltabellen/viz_chart_upload.x
  66. 11
      src-modules/module/viz/schluesseltabellen/viz_colorscheme_fuellen.sql
  67. 131
      src-modules/module/viz/schluesseltabellen/viz_dashboard_STUDABSOLV_fuellen.sql
  68. 106
      src-modules/module/viz/schluesseltabellen/viz_dashboard_STUD_fuellen.sql
  69. 250
      src-modules/module/viz/schluesseltabellen/viz_dashboard_element_fuellen.sql
  70. 10
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql
  71. 1
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql
  72. 1
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql
  73. 1
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_pie_fuellen.sql
  74. 43
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_sankey_fuellen.sql
  75. 56
      src-modules/module/viz/schluesseltabellen/viz_properties_viz_basistools_crosstab_fuellen.sql
  76. 54
      src-modules/module/viz/schluesseltabellen/viz_properties_viz_basistools_simple_table_fuellen.sql
  77. 130
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  78. 1
      src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl
  79. 1
      src-modules/module/viz/schluesseltabellen/viz_renderer.unl
  80. 25
      src-modules/module/viz/upgrade/viz_upgrade_man.sql
  81. 1071
      superx/style/sx_viz_muster.css
  82. 22
      superx/xml/js/viz/viz_assistent.js
  83. 757
      superx/xml/js/viz/viz_viewer.js
  84. 476
      superx/xml/viz_components.xsl
  85. 632
      superx/xml/viz_html_chart.xsl
  86. 5
      superx/xml/viz_html_chart_viewer.xsl
  87. 1
      superx/xml/viz_html_chart_viewer_mask.xsl
  88. 433
      superx/xml/viz_html_chart_viewer_mask_and_detailchart.xsl
  89. 7
      superx/xml/viz_html_chart_viewer_mask_and_table.xsl

1
src-modules/module/viz/conf/includes.txt

@ -73,7 +73,6 @@ xml/viz_html_chart_sankey.xsl @@ -73,7 +73,6 @@ xml/viz_html_chart_sankey.xsl
xml/viz_html_chart_viewer.xsl
xml/viz_html_chart_viewer_mask.xsl
xml/viz_html_chart_viewer_mask_and_table.xsl
xml/viz_html_chart_viewer_mask_and_detailchart.xsl
xml/viz_html_chart_viewer_grid.xsl
xml/viz_components.xsl
xml/viz_tableComponents.xsl

333
src-modules/module/viz/conf/viz.xml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="viz" version="0.4b" sachgebiet_id="320"
<module name="viz" version="0.3" sachgebiet_id="320"
sachgebiet="Visualisierungen" systeminfo_id="320"
system="Visualisierungen" thema="Visualisierungen" thema_parent="Abfragen">
<database name="superx" system="superx">
@ -130,24 +130,15 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -130,24 +130,15 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="chart_position" type="CHAR" size="10" default="" notnull="" description="Position des Diagramms"><comment>CENTER,TOP,BOTTOM,LEFT,RIGHT,INLINE</comment></column>
<column name="chart_active" type="SMALLINT" size="2"
default="1" notnull="false" description="Grafik aktiv"></column>
<column name="chart_width" type="VARCHAR" size="255" default="600" notnull="" description="Breite des Diagramms"><comment>Wenn keine Einheit angegeben ist, ni in px</comment></column>
<column name="chart_height" type="VARCHAR" size="255" default="400" notnull="" description="Höhe des Diagramms"><comment>Default in px</comment></column>
<column name="chart_miniature_width" type="VARCHAR" size="255" default="200" notnull="" description="Breite der Diagramm-Miniatur"><comment>in px</comment></column>
<column name="chart_miniature_height" type="VARCHAR" size="255" default="100" notnull="" description="Höhe der Diagramm-Miniatur"><comment>in px</comment></column>
<column name="chart_width" type="INTEGER" size="10" default="600" notnull="" description="Breite des Diagramms"><comment>in px</comment></column>
<column name="chart_height" type="INTEGER" size="10" default="400" notnull="" description="Höhe des Diagramms"><comment>in px</comment></column>
<column name="chart_miniature_width" type="INTEGER" size="10" default="200" notnull="" description="Breite der Diagramm-Miniatur"><comment>in px</comment></column>
<column name="chart_miniature_height" type="INTEGER" size="10" default="100" notnull="" description="Höhe der Diagramm-Miniatur"><comment>in px</comment></column>
<column name="is_custom" type="SMALLINT" size="255"
default="1" notnull="false" description="Grafik der Hochschule">
<comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h.
Auslieferung der Software</comment>
</column>
<column name="js_handler" type="VARCHAR" size="255" default="" notnull="" description="JS-Handler" ><comment>JS-Datei für optionale Methode zum Aufruf</comment></column>
<column name="chart_card_class" type="VARCHAR" size="255" default="" notnull="" description="CSS-Klasse der Kachel" ></column>
<column name="chart_container_class" type="VARCHAR" size="255" default="" notnull="" description="CSS-Klasse des Kachelinhalts" ></column>
<column name="chart_container_id" type="VARCHAR" size="255" default="" notnull="" description="HTML-Element-ID des Kachelinhalts" ><comment>für Javascript Interaktion</comment></column>
<column name="chart_class_name" type="VARCHAR" size="255" default="" notnull="" description="CSS-Klasse der Grafik" ><comment>für Größenangaben</comment></column>
<column name="chart_element_id" type="VARCHAR" size="255" default="" notnull="" description="HTML-Element-ID der Grafik" ><comment>für Javascript Interaktion</comment></column>
<column name="chart_title_position" type="VARCHAR" size="255" default="" notnull="" description="Position des Grafiktitels" ><comment>top,bottom,inline (also im Chart-Code selbst definiert)</comment></column>
<column name="detail_chart_id" type="INTEGER" size="255" default="" notnull="" description="Detailvisualisierung" ><comment>Visualisierung mit gleicher Datenquelle, z.B. Kreuztabelle unter eine Grafik</comment></column>
</columns>
<primaryKeys><rs>
<row>
@ -237,7 +228,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -237,7 +228,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="range_from" type="INTEGER" size="255" default="" notnull="" description="Minimalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column>
<column name="range_to" type="INTEGER" size="255" default="" notnull="" description="Maximalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column>
<column name="prop_value_type" type="VARCHAR" size="255" default="string" notnull="false" description="Datentyp" ><comment>string,integer,float,boolean</comment></column>
<column name="dynamic_value_obj" type="VARCHAR" size="255" default="" notnull="false" description="Dynamischer Wertebereich" ><comment>JS-Object mit Schlüssel und Name (uniquename,caption)</comment></column>
@ -630,119 +620,6 @@ caption="Staaten (Geocodes)" releaseUnload="demo"> @@ -630,119 +620,6 @@ caption="Staaten (Geocodes)" releaseUnload="demo">
</primaryKeys>
<indexes>
</indexes>
</table>
<!-- in Planung:
<table name="viz_dashboard_menu" thema="Visualisierungen" typ="Datentabelle"
releaseUnload="demo">
<description>Dashboard-Menü Metadaten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="dashboard_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Dashboard" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="maskeninfo_id" type="INTEGER" size="255" default="" notnull="" description="Maske" />
<column name="js_handler" type="VARCHAR" size="255" default="" notnull="" description="Javascript Methode" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_dashboard_menu</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_dashboard_menu_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="viz_dashboard_menu2element" thema="Visualisierungen" typ="Datentabelle"
releaseUnload="demo">
<description>Verlinkung Dashboard-Menü zu Elementen</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="dashboard_menu_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Dashboard-Menü" />
<column name="dashboard_element_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Dashboard-Element" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_dashboard_menu2element</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_dashboard_menu2element_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
<table name="viz_dashboard_element" thema="Visualisierungen" typ="Datentabelle"
releaseUnload="demo">
<description>Dashboard-Elemente</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="dashboard_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Dashboard" />
<column name="dashboard_tab_id" type="INTEGER" size="255" default="" isKey="true" notnull="false" description="Dashboard-Tab" ><comment>(optional)</comment></column>
<column name="datasource_type" type="INTEGER" size="255" default="1" notnull="" description="Datenquelle Art" ><comment>1=Makrobericht</comment></column>
<column name="datasource" type="VARCHAR" size="255" default="" notnull="" description="Datenquelle" ><comment>Bei Makroberichten die Ergebniselement-Nr., perspektivisch bei REST API der REST-Aufruf</comment></column>
<column name="chart_id" type="INTEGER" size="255" default="" notnull="" description="Grafik" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="onclick_event" type="VARCHAR" size="255" default="" notnull="" description="Mausklick-Ereignis" ><comment>JS-Hander, wenn auf das Element geklickt wird</comment></column>
<column name="sortnr" type="SMALLINT" size="255" default="0" notnull="false" description="Sortiernr." sortable="true" ><comment></comment></column>
<column name="description" type="VARCHAR" size="255" default="" notnull="" description="Beschreibung" />
<column name="open_modal_card_detail" type="SMALLINT" size="255" default="1" notnull="" description="Grafik bei Mausklick vergrößern" />
<column name="link_maskennummer" type="INTEGER" size="255" default="" notnull="" description="Detail-Maske" />
<column name="link_chart_uniquename" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Grafik" />
<column name="link_tablestylesheet" type="VARCHAR" size="255" default="" notnull="" description="Detail-Maske Stylesheet" />
<column name="active" type="SMALLINT" size="" default="1"
notnull="true" description="Aktiv" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_dashboard_element</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_dashboard_element_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
-->
<table name="viz_chart2layout" thema="Visualisierungen" typ="Datentabelle"
releaseUnload="demo">
<description>Dashboard-Tab Metadaten</description>
<columns>
<column name="tid" type="SERIAL" size="" default="" notnull="true" description="tid" isKey="true"/>
<column name="chart_id" type="INTEGER" size="255" default="" isKey="true" notnull="true" description="Grafik" />
<column name="layout_id" type="INTEGER" size="255" default="" notnull="" description="Spaltenlayout" />
<column name="caption" type="VARCHAR" size="255" default="" notnull="" description="Bezeichnung" />
<column name="sortnr" type="SMALLINT" size="255" default="0" notnull="false" description="Sortiernr." sortable="true" />
</columns>
<primaryKeys><rs>
<row>
<fld name='table_cat'>superx</fld>
<fld name='table_schem'>superx</fld>
<fld name='table_name'>viz_chart2layout</fld>
<fld name='column_name'>tid</fld>
<fld name='key_seq'>1</fld>
<fld name='pk_name'>viz_chart2layout_pk</fld>
</row>
</rs>
</primaryKeys>
<indexes>
</indexes>
</table>
@ -816,7 +693,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -816,7 +693,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44100" name="Studierende Zeitreihe (VIZ)" thema="">
<maske tid="44100" name="Studierende Zeitreihe (VIZ)" thema="Visualisierungen">
<description>Studierende gesamt / 1. FS / 1.HS </description>
<src>
<path>$VIZ_PFAD/masken</path>
@ -870,12 +747,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -870,12 +747,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44510" name="Studierende nach Jahr" thema="">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44540" name="Studierende nach Semester und Studiengang" thema="">
<description> </description>
<src>
@ -918,12 +789,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -918,12 +789,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44750" name="Dashboard-Elemente" thema="">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
</masken>
@ -996,70 +861,21 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -996,70 +861,21 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="viz_property_id" />
</relation>
</data-integrity>
<!--viz_dashboard-->
<relation from="maskeninfo" to="viz_dashboard" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" />
</relation>
<relation from="sx_stylesheets" to="viz_dashboard" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="filename" to="booklet_stylesheet" />
</relation>
<relation from="viz_dashboard" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_id" />
</relation>
<relation from="sx_stylesheets" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="filename" to="booklet_stylesheet" />
</relation>
<!--
<relation from="viz_dashboard" to="viz_dashboard_element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_id" />
</relation>
<relation from="viz_dashboard_tab" to="viz_dashboard_element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_tab_id" />
</relation>
<relation from="viz_chart" to="viz_dashboard_element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="chart_id" />
</relation>
<relation from="maskeninfo" to="viz_dashboard_element" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="link_maskennummer" />
</relation>
<relation from="sx_stylesheets" to="viz_dashboard_element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="filename" to="link_tablestylesheet" />
</relation>
<relation from="viz_dashboard" to="viz_dashboard_menu" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_id" />
</relation>-->
<relation from="maskeninfo" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" />
</relation>
<!--<relation from="maskeninfo" to="viz_dashboard_menu" delete="FALSE"
displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" />
</relation>
<relation from="viz_dashboard_menu" to="viz_dashboard_menu2element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_menu_id" />
</relation>
<relation from="viz_dashboard_element" to="viz_dashboard_menu2element" delete="FALSE"
displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_element_id" />
</relation>-->
</data-integrity>
</database>
@ -1106,42 +922,38 @@ gueltig_bis DATE @@ -1106,42 +922,38 @@ gueltig_bis DATE
version integer default 1
) ;"
scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_chart(
<nativeaction sql="create table tmp_viz_dashboard(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
description TEXT ,
chartmodel TEXT ,
preview_svg TEXT ,
userinfo_id INTEGER ,
creation_date DATE default today(),
update_date DATE default today(),
maskeninfo_id INTEGER ,
mask_params TEXT ,
renderer_id INTEGER ,
chartmodel_miniature TEXT ,
chart_position CHAR(10) ,
chart_active SMALLINT default 1 ,
chart_width varchar(255) default '600' ,
chart_height varchar(255) default '400' ,
chart_miniature_width varchar(255) default '200' ,
chart_miniature_height varchar(255) default '100' ,
is_custom SMALLINT,
js_handler varchar(255),
chart_card_class varchar(255),
chart_container_class varchar(255),
chart_container_id varchar(255),
chart_class_name varchar(255),
chart_element_id varchar(255),
chart_title_position varchar(255),
detail_chart_uniquename varchar(255)
booklet_stylesheet VARCHAR(255) ,
gridtitle_felderinfo_id integer
)
;" scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard_tab(
tid SERIAL not null,
dashboard_id INTEGER not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
sortnr SMALLINT default 0 ,
select_clause VARCHAR(255) ,
fact_table VARCHAR(255) ,
where_clause TEXT ,
optional_filter_name VARCHAR(255) ,
optional_filter_value VARCHAR(255) ,
booklet_stylesheet VARCHAR(255)
)
;" scriptfile="" database=""/>
</action>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable>
<loadtable refresh="false" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository_customxmladd.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_templates"><file path="$VIZ_PFAD/schluesseltabellen/fm_templates.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard_tab"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
@ -1150,18 +962,16 @@ detail_chart_uniquename varchar(255) @@ -1150,18 +962,16 @@ detail_chart_uniquename varchar(255)
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group_renderer.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_type_property.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_chart"><file path="$VIZ_PFAD/schluesseltabellen/viz_chart.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_chart"><file path="$VIZ_PFAD/schluesseltabellen/viz_chart.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_staat_isocode"><file path="$VIZ_PFAD/schluesseltabellen/viz_staat_isocode.unl"/></loadtable>
</action>
<action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_STUDABSOLV_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_captions_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/>
@ -1180,6 +990,7 @@ detail_chart_uniquename varchar(255) @@ -1180,6 +990,7 @@ detail_chart_uniquename varchar(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_pie_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_d3js_fuellen.sql" database=""/>
@ -1187,10 +998,6 @@ detail_chart_uniquename varchar(255) @@ -1187,10 +998,6 @@ detail_chart_uniquename varchar(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_d3js_sankey_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_d3js_worldmap_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_viz_basistools_crosstab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_viz_basistools_simple_table_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/studierende_datenblatt_dashboard.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql" database=""/>
@ -1217,9 +1024,6 @@ detail_chart_uniquename varchar(255) @@ -1217,9 +1024,6 @@ detail_chart_uniquename varchar(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bildungstyp_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql" database=""/>
</action>
@ -1306,6 +1110,7 @@ gueltig_bis DATE @@ -1306,6 +1110,7 @@ gueltig_bis DATE
) ;"
scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_chart(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
description TEXT ,
@ -1320,23 +1125,38 @@ renderer_id INTEGER , @@ -1320,23 +1125,38 @@ renderer_id INTEGER ,
chartmodel_miniature TEXT ,
chart_position CHAR(10) ,
chart_active SMALLINT default 1 ,
chart_width varchar(255) default '600' ,
chart_height varchar(255) default '400' ,
chart_miniature_width varchar(255) default '200' ,
chart_miniature_height varchar(255) default '100' ,
is_custom SMALLINT,
js_handler varchar(255),
chart_card_class varchar(255),
chart_container_class varchar(255),
chart_container_id varchar(255),
chart_class_name varchar(255),
chart_element_id varchar(255),
chart_title_position varchar(255),
detail_chart_uniquename varchar(255)
chart_width INTEGER default 600 ,
chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT
)
;" scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
booklet_stylesheet VARCHAR(255) ,
gridtitle_felderinfo_id integer
)
;" scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_dashboard_tab(
tid SERIAL not null,
dashboard_id INTEGER ,
caption VARCHAR(255) ,
maskeninfo_id INTEGER ,
sortnr SMALLINT default 0 ,
select_clause VARCHAR(255) ,
fact_table VARCHAR(255) ,
where_clause TEXT ,
optional_filter_name VARCHAR(255) ,
optional_filter_value VARCHAR(255) ,
booklet_stylesheet VARCHAR(255)
)
;" scriptfile="" database=""/>
</action>
<action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable>
@ -1346,6 +1166,8 @@ detail_chart_uniquename varchar(255) @@ -1346,6 +1166,8 @@ detail_chart_uniquename varchar(255)
<!--<loadtable refresh="true" delimiter="^" header="false" tabname="viz_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property"><file path="$VIZ_PFAD/schluesseltabellen/viz_property.unl"/></loadtable>
-->
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_viz_dashboard_tab"><file path="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_group"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_group.unl"/></loadtable>
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_renderer.unl"/></loadtable>
@ -1356,22 +1178,22 @@ detail_chart_uniquename varchar(255) @@ -1356,22 +1178,22 @@ detail_chart_uniquename varchar(255)
<loadtable refresh="true" delimiter="^" header="false" tabname="viz_staat_isocode"><file path="$VIZ_PFAD/schluesseltabellen/viz_staat_isocode.unl"/></loadtable>
</action>
<action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/upgrade/viz_upgrade_man.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_STUDABSOLV_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_captions_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/konstanten_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/upgrade/viz_upgrade_man.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_plot_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_plot_line_bar_boxplot_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_echarts_pie_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_d3js_fuellen.sql" database=""/>
@ -1379,9 +1201,6 @@ detail_chart_uniquename varchar(255) @@ -1379,9 +1201,6 @@ detail_chart_uniquename varchar(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_d3js_sankey_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_d3js_worldmap_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_viz_basistools_crosstab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_properties_viz_basistools_simple_table_fuellen.sql" database=""/>
</action>
<action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
@ -1407,17 +1226,11 @@ detail_chart_uniquename varchar(255) @@ -1407,17 +1226,11 @@ detail_chart_uniquename varchar(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_bildungstyp_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql" database=""/>
</action>
<action>
@ -1492,14 +1305,6 @@ mode="full"> @@ -1492,14 +1305,6 @@ mode="full">
<customfield name="chart_height" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_width" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_height" visibleSize="10" nullFieldValue="" />
<customfield name="js_handler" visibleSize="50" nullFieldValue="" />
<customfield name="chart_card_class" visibleSize="50" nullFieldValue="" />
<customfield name="chart_container_class" visibleSize="50" nullFieldValue="" />
<customfield name="chart_container_id" visibleSize="50" nullFieldValue="" />
<customfield name="chart_class_name" visibleSize="50" nullFieldValue="" />
<customfield name="chart_element_id" visibleSize="50" nullFieldValue="" />
<customfield name="chart_title_position" visibleSize="10" nullFieldValue="" />
<customfield name="chart_active" nullFieldValue="" visibleSize="30" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" />
@ -1736,14 +1541,14 @@ mode="full"> @@ -1736,14 +1541,14 @@ mode="full">
<customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" />
<customfield name="Elemente" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="colorscheme_id"
maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="viz_colorscheme_id"
orderBy="sortnr" allowNew="true"
mode="full">
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="colorscheme_id" type="hidden" overrideValue="tid" />
<customfield name="viz_colorscheme_id" type="hidden" overrideValue="tid" />
<customfield name="colorcode" nullFieldValue="" visibleSize="30" />
<!--TODO: <customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />-->
<customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />
<customfield name="sortnr" visibleSize="10" nullFieldValue="" />
</customfield>
</form>

2
src-modules/module/viz/masken/44020_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44020^320^
44020^7^

2
src-modules/module/viz/masken/44070_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44070^320^
44070^7^

2
src-modules/module/viz/masken/44100_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44100^320^
44100^7^

2
src-modules/module/viz/masken/44130_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44130^320^
44130^7^

2
src-modules/module/viz/masken/44130_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44160_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44160^320^
44160^120^

2
src-modules/module/viz/masken/44190_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44190^320^
44190^7^

8
src-modules/module/viz/masken/44220_felderinfo.unl

@ -13,7 +13,7 @@ and R.systeminfo_id=7)\ @@ -13,7 +13,7 @@ and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl_dashboard')\
order by sortnr, caption limit 1\
;^
44221^Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44221^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -24,8 +24,8 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw @@ -24,8 +24,8 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw
44223^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44224^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44225^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44220 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44220 order by 2 limit 1;^
44226^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^999^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44227^Bis Semester^20^350^-1^140^80^1^integer^30^0^999^<<SQL>> --freemarker template \
44226^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44227^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -38,6 +38,6 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw @@ -38,6 +38,6 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw
44231^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44232^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44233^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44234^Semestertyp^22^350^-1^140^80^1^integer^255^0^999^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44234^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44238^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44242^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^

2
src-modules/module/viz/masken/44220_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44220^320^
44220^7^

2
src-modules/module/viz/masken/44220_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44220^Studierende nach Geschlecht^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Geschlecht in verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44220^Studierende nach Geschlecht^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Geschlecht in verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44250_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44250^320^
44250^7^

2
src-modules/module/viz/masken/44250_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44250^Studierende nach Staaten^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Staat (Staatsangehörigkeit, Staat der Hochschulzugangsberechtigung) als Datenblatt oder Weltkarte^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44250^Studierende nach Staaten^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Staat (Staatsangehörigkeit, Staat der Hochschulzugangsberechtigung) als Datenblatt oder Weltkarte^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44280_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44280^320^
44280^7^

2
src-modules/module/viz/masken/44280_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44280^Studierende nach Fakultät^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Fakultät mit verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44280^Studierende nach Fakultät^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Fakultät mit verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

12
src-modules/module/viz/masken/44310_felderinfo.unl

@ -3,9 +3,9 @@ @@ -3,9 +3,9 @@
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard')\
and R.systeminfo_id=7)\
and uniquename not in ('sos_stud_geschl_dashboard','sos_stud_sem_dashboard','sos_stud_dashboard_jahr')\
and uniquename in ('sos_stud_abgrp_dashboard','sos_stud_la_dashboard')\
order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard')\
@ -13,7 +13,7 @@ and R.systeminfo_id=7)\ @@ -13,7 +13,7 @@ and R.systeminfo_id=7)\
and uniquename in ('sos_stud_abgrp_dashboard')\
order by sortnr, caption limit 1\
;^
44311^Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44311^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -24,8 +24,8 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw @@ -24,8 +24,8 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw
44313^Abschluss^40^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44314^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44315^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44310 and chart_active=1 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44310 and chart_active=1 order by 2 limit 1;^
44316^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^999^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44317^Bis Semester^20^350^-1^140^80^1^integer^30^0^999^<<SQL>> --freemarker template \
44316^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44317^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -38,6 +38,6 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw @@ -38,6 +38,6 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw
44321^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44322^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^ ^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44323^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44324^Semestertyp^22^350^-1^140^80^1^integer^255^0^999^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44324^Semestertyp^22^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44328^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44332^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^

2
src-modules/module/viz/masken/44310_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44310^320^
44310^7^

2
src-modules/module/viz/masken/44310_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44310^Studierende nach Abschluss^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Fakultät mit verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44310^Studierende nach Abschluss^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Fakultät mit verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44340_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44340^320^
44340^7^

2
src-modules/module/viz/masken/44340_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44340^Studierende nach Bildungstyp^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Bildungsinländer / -ausländer^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44340^Studierende nach Bildungstyp^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Bildungsinländer / -ausländer^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

10
src-modules/module/viz/masken/44510_felderinfo.unl

@ -1,11 +1,8 @@ @@ -1,11 +1,8 @@
44510^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where 1=1\
and resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat',\
'sos_stud_astat_dashboard')\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7)\
and uniquename like '%jahr%'\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
caption\
@ -20,9 +17,9 @@ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ @@ -20,9 +17,9 @@ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44512^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
44513^Abschluss^8^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44513^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44514^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^1^
44515^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2;^^ ^
44515^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2 limit 1;^
44516^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44517^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
@ -36,6 +33,5 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw @@ -36,6 +33,5 @@ order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() betw
44520^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44510 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44510 order by ord limit 1^
44521^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44522^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44523^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^
44528^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44532^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^

2
src-modules/module/viz/masken/44510_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44510^320^
44510^7^

1
src-modules/module/viz/masken/44510_masken_felder_bez.unl

@ -11,6 +11,5 @@ @@ -11,6 +11,5 @@
44510^44520^
44510^44521^
44510^44522^
44510^44523^
44510^44528^
44510^44532^

2
src-modules/module/viz/masken/44510_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44510^Studierende nach Jahr^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Geschlecht in verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44510^Studienanfänger_innen nach Jahr^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Geschlecht in verschiedenen Visualisierungen (z.B. Tortendiagramm)^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44540_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44540^320^
44540^7^

45
src-modules/module/viz/masken/44570_felderinfo.unl

@ -1,18 +1,17 @@ @@ -1,18 +1,17 @@
44570^Köpfe oder Fälle ?^1^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44571^Seit Semester^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44570^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44571^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44572^Stichtag^21^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44572^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44573^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^
44574^Status^60^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44575^Hörerstatus^65^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44576^viz_label_Status^50^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44574^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44575^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44577^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44579^Bis Semester^24^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44579^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -21,7 +20,7 @@ and sem_beginn <=today()\ @@ -21,7 +20,7 @@ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44580^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^
44581^Geschlecht^37^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44583^Studiengang^30^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44583^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44584^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44585^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44570 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44570 order by ord limit 1^
44586^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^
@ -29,31 +28,17 @@ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today( @@ -29,31 +28,17 @@ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today(
44588^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard','sos_stud_astat')\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\
and R.systeminfo_id=7)\
and uniquename like 'sos_stud_sem%'\
order by sortnr, caption\
;^hidden^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\
and R.systeminfo_id=7) and uniquename='sos_stud_sem_dashboard';^
44589^Semestertyp^25^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44590^viz_label_Zeitraum^20^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44591^Abschluss^35^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44592^viz_label_Studiengang^29^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44593^viz_label_koepfe_faelle^0^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44594^_customVorbelegung^40^0^0^100^100^1^char^5000^0^1^<<SQL>> select 'splitFields(''Grafikausgabe'')','Ausgabe';^{InputCheck:disabled}^<<SQL>> select 'splitFields(''Grafikausgabe'')','Ausgabe';^
44595^Grafikausgabe^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select 'Grafik='||C.uniquename||'*Spaltenlayout='||L.uniquename, CL.caption\
from viz_chart C, viz_chart2layout CL, rpta_column_layout L\
where C.tid=CL.chart_id\
and CL.layout_id=L.tid\
and C.maskeninfo_id=44570 \
order by CL.sortnr,2\
;^ ^<<SQL>> select 'Grafik='||C.uniquename||'*Spaltenlayout='||L.uniquename, CL.caption\
from viz_chart C, viz_chart2layout CL, rpta_column_layout L\
where C.tid=CL.chart_id\
and CL.layout_id=L.tid\
and C.maskeninfo_id=44570 \
order by CL.sortnr,2\
limit 1\
;^
44589^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44590^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44591^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44592^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44593^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

2
src-modules/module/viz/masken/44570_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44570^320^
44570^7^

3
src-modules/module/viz/masken/44570_masken_felder_bez.unl

@ -4,7 +4,6 @@ @@ -4,7 +4,6 @@
44570^44573^
44570^44574^
44570^44575^
44570^44576^
44570^44577^
44570^44579^
44570^44580^
@ -20,5 +19,3 @@ @@ -20,5 +19,3 @@
44570^44591^
44570^44592^
44570^44593^
44570^44594^
44570^44595^

2
src-modules/module/viz/masken/44600_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44600^320^
44600^7^

2
src-modules/module/viz/masken/44600_maskeninfo.unl

@ -1 +1 @@ @@ -1 +1 @@
44600^Studierende nach Region^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Landkreis/Bundesland^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
44600^Studierende nach Region^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Ausgabe der Studierenden nach Landkreis/Bundesland^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^

2
src-modules/module/viz/masken/44630_felderinfo.unl

@ -13,7 +13,7 @@ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today( @@ -13,7 +13,7 @@ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today(
44636^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
44637^Dashboard^1000^300^-1^170^150^1^char^30^1^1^<<SQL>> select uniquename,uniquename from viz_dashboard order by 2;^ ^ ^
44645^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord^hidden^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord limit 1^
44647^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> SELECT 0,'Dynamisch' from xdummy \

65
src-modules/module/viz/masken/44630_maskeninfo.unl

@ -57,6 +57,42 @@ FROM viz_dashboard_tab T, viz_dashboard D\ @@ -57,6 +57,42 @@ FROM viz_dashboard_tab T, viz_dashboard D\
\
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
\
<#assign kennzahlen = [\
{"name":"Studierende", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')",\
"optionalFilterName":"",\
"optionalFilterValue":"",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. HS", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and "+SOS_HSSEM_1,\
"optionalFilterName":"Filter Studierende",\
"optionalFilterValue":"SOS_HSSEM_1",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. FS", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and fach_sem_zahl=1",\
"optionalFilterName":"bis Fachsemester",\
"optionalFilterValue":"1",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
}\
\
] />\
\
create temp table tmp_erg(\
ord integer,\
@ -82,11 +118,7 @@ gridtitle_felderinfo_id\ @@ -82,11 +118,7 @@ gridtitle_felderinfo_id\
)\
select 1,\
'${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\
<#if dashboard.maskeninfo_id?exists>\
${dashboard.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${dashboard.booklet_stylesheet}',\
val('${dashboard.gridtitle_felderinfo_id}')\
from xdummy;\
@ -95,7 +127,6 @@ from xdummy;\ @@ -95,7 +127,6 @@ from xdummy;\
<#foreach kennzahl in dashboard_tabs>\
<#assign ord=ord+1 />\
\
\
insert into tmp_erg(\
ord,\
kennz,\
@ -105,15 +136,9 @@ hidden_optional_filter_name,\ @@ -105,15 +136,9 @@ hidden_optional_filter_name,\
hidden_optional_filter_value,\
hidden_booklet_stylesheet\
)\
<#if kennzahl.select_clause?exists && kennzahl.select_clause?string !="" >\
select ${ord},\
'${kennzahl.name}' as kennz,\
select ${ord},'${kennzahl.name}',\
${kennzahl.select_clause},\
<#if kennzahl.maskeninfo_id?exists && kennzahl.maskeninfo_id?string !="" >\
${kennzahl.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${kennzahl.optional_filter_name}',\
'${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\
@ -123,22 +148,6 @@ and 's_' || tid_stg in <@printkeys Studiengang.allNeededKeysList/>\ @@ -123,22 +148,6 @@ and 's_' || tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
and ${kennzahl.where_clause}\
group by 1,2;\
\
<#else>\
--keine select-clause, somit auch kein Summenwert in der header-Zeile:\
select ${ord},\
'${kennzahl.name}' as kennz,\
null::integer as wert,\
<#if kennzahl.maskeninfo_id?exists && kennzahl.maskeninfo_id?string !="" >\
${kennzahl.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${kennzahl.optional_filter_name}',\
'${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\
from xdummy\
;\
</#if>\
</#foreach>\
\
select ord,\

2
src-modules/module/viz/masken/44660_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44660^320^
44660^7^

2
src-modules/module/viz/masken/44690_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44690^320^
44690^7^

53
src-modules/module/viz/masken/44720_felderinfo.unl

@ -1,29 +1,29 @@ @@ -1,29 +1,29 @@
44720^Köpfe oder Fälle ?^4^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
44721^Seit Semester^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44720^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
44721^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^
44722^Stichtag Prüfungen^21^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^
44723^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^ ^
44724^viz_label_Studiengang^5^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^ ^
44722^Stichtag^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^
44723^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^
44724^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44725^Hörerstatus^33^0^0^140^170^1^sql^255^0^13^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^ ^ ^
44729^Bis Semester^24^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44729^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44730^viz_label_koepfe_faelle^1^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^ ^
44731^Geschlecht^37^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^
44733^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
44734^Jahr^110^0^0^140^80^1^integer^30^0^13^^ ^ ^
44730^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^hidden^^
44731^Geschlecht^37^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44733^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44734^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44735^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44720 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44720 order by ord limit 1^
44736^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^^{InputCheck:disabled}^ ^
44736^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^
44737^Grafik^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44720 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44720 order by 2 limit 1;^
44738^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
@ -31,24 +31,13 @@ FROM rpta_column_layout \ @@ -31,24 +31,13 @@ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7)\
order by sortnr, caption\
;^hidden^ ^
44739^Semestertyp^25^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^ ^
44740^##line##^30^0^0^100^100^1^char^5000^0^8^^ ^1^
;^^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^
44739^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44740^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44741^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44742^viz_label_Zeitraum^20^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^ ^
44743^##line##^40^0^0^100^100^1^char^5000^0^8^^ ^1^
44744^_customVorbelegung^40^0^0^100^100^1^char^5000^0^1^<<SQL>> select 'splitFields(''Grafikausgabe'')','Ausgabe';^{InputCheck:disabled}^<<SQL>> select 'splitFields(''Grafikausgabe'')','Ausgabe';^
44745^Grafikausgabe^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select 'Grafik='||C.uniquename||'*Spaltenlayout='||L.uniquename, CL.caption\
from viz_chart C, viz_chart2layout CL, rpta_column_layout L\
where C.tid=CL.chart_id\
and CL.layout_id=L.tid\
and C.maskeninfo_id=44720 \
order by CL.sortnr,2\
;^ ^<<SQL>> select 'Grafik='||C.uniquename||'*Spaltenlayout='||L.uniquename, CL.caption\
from viz_chart C, viz_chart2layout CL, rpta_column_layout L\
where C.tid=CL.chart_id\
and CL.layout_id=L.tid\
and C.maskeninfo_id=44720 \
order by CL.sortnr,2\
limit 1\
;^
44742^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44743^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

2
src-modules/module/viz/masken/44720_maske_system_bez.unl

@ -1 +1 @@ @@ -1 +1 @@
44720^320^
44720^7^

2
src-modules/module/viz/masken/44720_masken_felder_bez.unl

@ -19,5 +19,3 @@ @@ -19,5 +19,3 @@
44720^44741^
44720^44742^
44720^44743^
44720^44744^
44720^44745^

116
src-modules/module/viz/masken/44720_maskeninfo.unl

@ -39,9 +39,7 @@ select caption,\ @@ -39,9 +39,7 @@ select caption,\
<sqlvar name="rpta_column_layout" type="hash"><![CDATA[\
select L.uniquename,\
L.caption,\
L.whereclause,\
R.is_virtual,\
L.sortclause\
L.whereclause\
from rpta_resultset R, rpta_column_layout L\
where L.resultset_id=R.tid\
and R.uniquename='${basetable.name}'\
@ -56,12 +54,10 @@ C.is_aggregate,\ @@ -56,12 +54,10 @@ C.is_aggregate,\
(case when string_not_null(CL.caption)='' then C.caption else CL.caption end) as caption,\
CL.is_visible,\
CL.visible_size as visible_width,\
F.sql_code as format_sql,\
F.uniquename as format_uniquename,\
(select F.sql_code from rpta_format_code F where F.tid=CL.format_code_id) as format_sql,\
C.col_function as colfunction,\
(case when string_not_null(CL.description)='' then C.description else CL.description end) as description\
FROM rpta_column_layout L, rpta_column C, rpta_column_type T,rpta_column2layout CL \
left outer join rpta_format_code F on (F.tid=CL.format_code_id)\
FROM rpta_column_layout L, rpta_column2layout CL, rpta_column C, rpta_column_type T\
where L.tid=CL.layout_id\
and C.tid=CL.column_id\
and T.tid=C.column_type\
@ -110,7 +106,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -110,7 +106,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_der_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag Prüfungen>> */\
/* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
@ -142,7 +138,107 @@ and ${filter}\ @@ -142,7 +138,107 @@ and ${filter}\
\
\
\
<@rpta_interpret_column_layout nonvirtualTableFilter=filter />\
select \
--zuerst die Basisdaten:\
<#foreach column in columns>\
<#if column.coltype="physicalColumn">\
${column.srcfieldname},\
<#elseif column.coltype="logicalColumn">\
${column.colfunction} as ${column.targetfieldname},\
<#elseif column.coltype="lookupColumn">\
(${column.colfunction}) as ${column.targetfieldname},\
<#elseif column.coltype="computedColumn">\
null::decimal(19,6) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud\
from ${basetable.runtime_tablename}\
<#if rpta_column_layout.whereclause !="">\
where ${rpta_column_layout.whereclause}\
</#if>\
;\
\
\
--ergebnistabelle:\
select \
--zuerst die nicht-Aggregate:\
<#assign groupby=0 />\
<#foreach column in columns>\
<#if column.is_aggregate==0>\
<#assign groupby=groupby+1 />\
${column.targetfieldname},\
</#if>\
</#foreach>\
--dann die Aggregate:\
<#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname}) as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_stud2\
from tmp_stud\
where 1=1\
/* ${<<Zusatzfilter>>} */\
group by\
<#list 1..groupby as i>${i}\
<#if i != groupby>\
,\
</#if>\
</#list>\
;\
--für Prozentwerte alle Aggregate summieren:\
select <#foreach column in columns>\
<#if column.is_aggregate==1 && column.coltype!="computedColumn">\
sum(${column.targetfieldname})::float as ${column.targetfieldname},\
</#if>\
</#foreach>\
null::char(1) as dummycol\
into temp tmp_gesamt\
from tmp_stud2\
where 1=1\
;\
\
<#assign number_of_visible_colums=0 />\
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign number_of_visible_colums=number_of_visible_colums+1 />\
</#if>\
</#foreach>\
<#assign colnr=0 />\
select \
<#foreach column in columns>\
<#if column.is_visible!=0>\
<#assign colnr=colnr+1 />\
<#assign format_sql="" />\
<#if column.format_sql?string != "">\
<#assign format_sql=column.format_sql />\
</#if>\
\
<#if column.coltype=="computedColumn">\
(${column.colfunction})${format_sql} as ${column.targetfieldname}\
<#else>\
${column.targetfieldname}${format_sql} as ${column.targetfieldname}\
</#if>\
\
<#if colnr &lt; number_of_visible_colums>,</#if>\
</#if> --wenn sichtbar\
</#foreach>\
from tmp_stud2\
order by <#list 1..number_of_visible_colums as i>${i}\
<#if i != number_of_visible_colums>\
,\
</#if>\
</#list>\
;\
<#if basetable.is_virtual==1>\
drop table if exists ${basetable.runtime_tablename};\
</#if>\
\
\
drop table if exists tmp_stud;\
drop table if exists tmp_gesamt;\
\
\
</#if> --wenn columns?has_content^--Freemarker Template\
@ -158,4 +254,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -158,4 +254,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^0^1^^

1
src-modules/module/viz/masken/44750_felderinfo.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
44757^Dashboard^1000^300^-1^170^150^1^char^30^1^1^<<SQL>> select uniquename,uniquename from viz_dashboard order by 2;^ ^ ^

1
src-modules/module/viz/masken/44750_maske_system_bez.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
44750^320^

1
src-modules/module/viz/masken/44750_masken_felder_bez.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
44750^44757^

46
src-modules/module/viz/masken/44750_maskeninfo.unl

@ -1,46 +0,0 @@ @@ -1,46 +0,0 @@
44750^Dashboard-Elemente^select E.sortnr,\
C.caption as chart_caption,\
E.caption, \
D.uniquename as hiddendashboard_uniquename,\
E.datasource as hiddendatasource,\
C.uniquename as hiddenchart_uniquename,\
E.onclick_event as hiddenonclick_event,\
E.open_modal_card_detail as hiddenopen_modal_card_detail,\
link_maskennummer as hiddenlink_maskennummer,\
link_chart_uniquename as hiddenlink_chart_uniquename,\
link_tablestylesheet as hiddenlink_tablestylesheet\
FROM viz_dashboard_element E, viz_dashboard D, viz_chart C\
where E.dashboard_id=D.tid\
and E.chart_id=C.tid\
and D.uniquename=<<Dashboard>>\
and E.datasource_type=1 --Makrobericht\
and E.active=1\
order by E.sortnr;\
\
;^XIL List\
sizable_columns horizontal_scrolling\
white_space_color=COLOR_WHITE fixed_columns=1\
drop_and_delete movable_columns\
min_heading_height=55\
Column CID=0 heading_text="Nr." explanation="" center_heading\
row_selectable heading_platform readonly\
width=3\
Column CID=0 heading_text="Element" explanation="" center_heading\
row_selectable heading_platform readonly\
width=15\
Column CID=0 heading_text="Beschreibung" explanation="" center_heading\
row_selectable heading_platform readonly\
width=20\
Column CID=0 heading_text="Dashboard" explanation="" center_heading\
row_selectable heading_platform readonly\
width=40\
Column CID=0 heading_text="Datenquelle" explanation="" center_heading\
row_selectable heading_platform readonly\
width=10\
Column CID=0 heading_text="Grafik" explanation="" center_heading\
row_selectable heading_platform readonly\
width=10\
Column CID=0 heading_text="Onclick Event" explanation="" center_heading\
row_selectable heading_platform readonly\
width=30\
@@@^ ^ ^Liste der im Dashboard genutzten Elemente^ ^^3^700^360^0^1^ ^

1
src-modules/module/viz/masken/44750_sachgeb_maske_bez.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
320^44750^

120
src-modules/module/viz/schluesseltabellen/chart2layout_fuellen.sql

@ -1,120 +0,0 @@ @@ -1,120 +0,0 @@
--Freemarker Template
--Achtung: Macro fügt Inhalte ein
--Bitte nur Freemarker Variablen füllen
<#assign chart2layout = [
{"chart":"simplePivotTable_44720_absolv_rsz", "layout":"rpta_sos_lab_aggr_in_rsz_jahr", "caption":"", "sortnr":"20"},
{"chart":"ABSOLV_RSZ_JAHR_BAR", "layout":"rpta_sos_lab_aggr_in_rsz_jahr", "caption":"", "sortnr":"20"},
{"chart":"ABSOLV_SEM_LINE", "layout":"rpta_sos_lab_aggr_sem", "caption":"", "sortnr":"20"},
{"chart":"ABSOLV_RSZ_SEM_BAR", "layout":"rpta_sos_lab_aggr_in_rsz_sem", "caption":"", "sortnr":"20"},
{"chart":"simplePivotTable_44720_abgrp_jahr", "layout":"rpta_sos_lab_aggr_abgrp_jahr", "caption":"", "sortnr":"20"},
{"chart":"ABSOLV_ABGRP_JAHR_AREA", "layout":"rpta_sos_lab_aggr_abgrp_jahr", "caption":"", "sortnr":"20"},
{"chart":"simplePivotTable_44720_absolv", "layout":"rpta_sos_lab_aggr_jahr", "caption":"", "sortnr":"20"},
{"chart":"ABSOLV_SEM_JAHR", "layout":"rpta_sos_lab_aggr_jahr", "caption":"", "sortnr":"20"},
{"chart":"ABSOLV_ABGRP_SEM_AREA", "layout":"rpta_sos_lab_aggr_abgrp_sem", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_ABGRP_BAR_Y_ECHART", "layout":"sos_stud_abgrp_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_LEHRAMT_DONUT", "layout":"sos_stud_abgrp_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_ALTER_BOXPLOT_H", "layout":"sos_stud_nach_alter", "caption":"", "sortnr":"20"},
{"chart":"STUD_BILDUNGSTYP_DONUT", "layout":"sos_stud_bildungstyp_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_FAK_ABGRP_STG_SUNBURST", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_FAK_PIE", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_FAK_KURZ_DONUT_JB", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_FAK_BAR", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_FAK_BAR_X_ECHART", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_FAK_BAR_Y_ECHART", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"hms_torte_stud_fak", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_FAK_KURZ_PIE", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_FAK_KURZ_DONUT", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_FAK_KURZ_DONUT_JB", "layout":"sos_stud_fak_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_GESCHL_W_DONUT", "layout":"sos_stud_geschl_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_GESCHL_W_PIE", "layout":"sos_stud_geschl_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_GESCHL_W_DONUT_JB", "layout":"sos_stud_geschl_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_HZB_LAND_BAR", "layout":"sos_stud_hzb_bland_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_STAAT", "layout":"sos_stud_hzb_staat", "caption":"Studierende nach Staat der HZB", "sortnr":"20"},
{"chart":"STUD_STAAT", "layout":"sos_stud_ca12_staat", "caption":"Studierende nach Staatsangehörigkeit", "sortnr":"20"},
{"chart":"simplePivotTable_44570_jahr", "layout":"sos_stud_dashboard_jahr", "caption":"", "sortnr":"20"},
{"chart":"STUDANF_JAHR_LINE", "layout":"sos_stud_dashboard_jahr", "caption":"", "sortnr":"20"},
{"chart":"simplePivotTable_44570", "layout":"sos_stud_sem_dashboard", "caption":"", "sortnr":"20"},
{"chart":"STUD_SEM_LINE", "layout":"sos_stud_sem_dashboard", "caption":"", "sortnr":"20"}
] />
--Achtung: ab hier nicht ändern, Mutterdatei ist $SUPERX_DIR/db/module/sos/schluesseltabellen/sx_stylesheets_fuellen.sql
<@chart2layout_insert
m_chart2layout=chart2layout
/>
<#macro chart2layout_insert m_chart2layout>
--Sicherstellen, dass keine Duplikate vorkommen:
--####################################################################################################
<#foreach c2l in m_chart2layout>
delete from viz_chart2layout where chart_id in (select tid from viz_chart where uniquename ='${c2l.chart}') and layout_id in (select tid from rpta_column_layout where uniquename ='${c2l.layout}');
</#foreach>
-- chart2layout füllen
--####################################################################################################
create temp table tmp_chart2layout (
tid serial not null,
chart_id INTEGER ,
layout_id INTEGER,
caption varchar(255),
sortnr smallint
);
create temp table tmp_hilf (tid integer);
insert into tmp_hilf select max(tid) from viz_chart2layout;
update tmp_hilf set tid=1 where tid is null;
<#assign counter_tid = 1 />
<#foreach c2l in m_chart2layout>
insert into tmp_chart2layout (tid,chart_id,layout_id,caption,sortnr)
select
max(tid)+${counter_tid},
(select max(tid) from viz_chart where uniquename='${c2l.chart}'),
(select max(tid) from rpta_column_layout where uniquename='${c2l.layout}'),
'${c2l.caption}',
${c2l.sortnr}
from tmp_hilf;
<#assign counter_tid = counter_tid + 1 />
</#foreach>
insert into viz_chart2layout ( tid, chart_id, layout_id, caption, sortnr)
SELECT tid, chart_id, layout_id, caption, sortnr
FROM tmp_chart2layout;
update viz_chart2layout CL set caption=C.caption
from viz_chart C
where C.tid=CL.chart_id
and CL.caption=''
;
drop table tmp_chart2layout;
drop table tmp_hilf;
<#if SQLdialect='Postgres'>
select sp_update_sequence('viz_chart2layout');
</#if>
</#macro>

24
src-modules/module/viz/schluesseltabellen/customxmladd.sql

@ -128,19 +128,10 @@ V.chart_width, @@ -128,19 +128,10 @@ V.chart_width,
V.chart_height,
V.chart_miniature_width,
V.chart_miniature_height,
V.maskeninfo_id,
V.js_handler,
V.chart_card_class,
V.chart_container_class,
V.chart_container_id,
V.chart_class_name,
V.chart_element_id,
V.chart_title_position,
V.detail_chart_id,
V2.uniquename as detail_chart_uniquename
FROM viz_renderer R,viz_chart V left outer join viz_chart V2 on (V2.tid=V.detail_chart_id and V2.chart_active=1)
V.maskeninfo_id
FROM viz_chart V, viz_renderer R
where R.tid=V.renderer_id
and V.chart_active=1
and chart_active=1
order by 3
;
</sqlvar>
@ -321,15 +312,6 @@ order by 2,5,3 @@ -321,15 +312,6 @@ order by 2,5,3
chart_miniature_width="${ch.chart_width}"
chart_miniature_height="${ch.chart_height}"
maskeninfo_id="${ch.maskeninfo_id}"
js_handler="${ch.js_handler}"
chart_card_class="${ch.chart_card_class}"
chart_container_class="${ch.chart_container_class}"
chart_container_id="${ch.chart_container_id}"
chart_class_name="${ch.chart_class_name}"
chart_element_id="${ch.chart_element_id}"
chart_title_position="${ch.chart_title_position}"
detail_chart_id="${ch.detail_chart_id}"
detail_chart_uniquename="${ch.detail_chart_uniquename}"
/>
</#foreach>
</#if>

165
src-modules/module/viz/schluesseltabellen/fm_templates.unl

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
171^VIZ-Makros^<#macro create_temp_tables>\
97^VIZ-Makros^<#macro create_temp_tables>\
\
CREATE temp TABLE tmp_viz_property_renderer\
(\
@ -181,7 +181,7 @@ set caption=T.caption,\ @@ -181,7 +181,7 @@ set caption=T.caption,\
prop_default=T.prop_default,\
prop_unit=T.prop_unit,\
is_generic=T.is_generic,\
static_values=T.static_values,\
--static_values=T.static_values,\
is_mandatory=T.is_mandatory,\
input_type_id=T.input_type_id,\
property_group_id=T.property_group_id,\
@ -202,7 +202,7 @@ in (select ${renderer},P.tid\ @@ -202,7 +202,7 @@ in (select ${renderer},P.tid\
from viz_property P, tmp_viz_property T\
where P.prop_uniquename=T.prop_uniquename);\
\
select sp_update_sequence('viz_property_renderer');\
\
\
insert into viz_property_renderer(\
renderer_id,\
@ -343,163 +343,4 @@ and P.prop_uniquename='${viz_prop.viz_property_uniquename}'\ @@ -343,163 +343,4 @@ and P.prop_uniquename='${viz_prop.viz_property_uniquename}'\
;\
</#foreach>\
\
</#macro>\
\
\
<#macro viz_dashboard_fuellen>\
insert into tmp_dashboard ( uniquename,\
caption,\
maskeninfo_id,\
booklet_stylesheet,\
gridtitle_felderinfo_id)\
select '${viz_dashboard.uniquename}',\
'${viz_dashboard.caption}',\
${viz_dashboard.maskeninfo_id},\
'${viz_dashboard.booklet_stylesheet}',\
${viz_dashboard.gridtitle_felderinfo_id}\
from xdummy;\
\
update tmp_dashboard T set tid=(select D.tid\
from viz_dashboard D\
where D.uniquename=T.uniquename);\
\
update viz_dashboard D set caption=T.caption,\
maskeninfo_id=T.maskeninfo_id,\
booklet_stylesheet=T.booklet_stylesheet,\
gridtitle_felderinfo_id=T.gridtitle_felderinfo_id\
from tmp_dashboard T\
where T.tid=D.tid;\
insert into viz_dashboard ( uniquename,\
caption,\
maskeninfo_id,\
booklet_stylesheet,\
gridtitle_felderinfo_id)\
select uniquename,\
caption,\
maskeninfo_id,\
booklet_stylesheet,\
gridtitle_felderinfo_id\
from tmp_dashboard T\
where T.tid is null;\
update tmp_dashboard T set tid=(select D.tid\
from viz_dashboard D\
where D.uniquename=T.uniquename)\
where T.tid is null;\
\
delete from viz_dashboard_tab\
where dashboard_id in (select T.tid\
from tmp_dashboard T);\
delete from viz_dashboard_element\
where dashboard_id in (select T.tid\
from tmp_dashboard T);\
\
\
<#foreach tab in viz_dashboard_tabs>\
insert into viz_dashboard_tab(dashboard_id,\
caption,\
maskeninfo_id,\
sortnr,\
select_clause,\
fact_table,\
where_clause,\
optional_filter_name,\
optional_filter_value,\
booklet_stylesheet)\
select\
T.tid as dashboard_id,\
'${tab.caption}' as caption,\
${tab.maskeninfo_id},\
${tab.sortnr},\
'${tab.select_clause}',\
'${tab.fact_table}',\
'${tab.where_clause}',\
'${tab.optional_filter_name}',\
'${tab.optional_filter_value}',\
'${tab.booklet_stylesheet}'\
from tmp_dashboard T;\
\
</#foreach>\
<#foreach elem in viz_dashboard_elements>\
insert into viz_dashboard_element(dashboard_id,\
datasource_type,\
datasource,\
chart_id,\
onclick_event,\
sortnr,\
caption,\
open_modal_card_detail,\
link_maskennummer,\
link_chart_uniquename,\
link_tablestylesheet, \
active)\
select\
T.tid as dashboard_id,\
${elem.datasource_type},\
'${elem.datasource}',\
V.tid as chart_id,\
'${elem.onclick_event}',\
${elem.sortnr},\
'${elem.caption}',\
${open_modal_card_detail},\
V.maskeninfo_id as link_maskennummer,\
V.uniquename as link_chart_uniquename,\
'${link_tablestylesheet}',\
${elem.active}\
from tmp_dashboard T, viz_chart V\
where V.uniquename='${elem.chart_uniquename}';\
\
</#foreach>\
</#macro>\
\
<#macro create_temp_tables_dashboard>\
\
create temp table tmp_dashboard(\
tid integer, \
uniquename VARCHAR(255) not null, \
caption VARCHAR(255) , \
maskeninfo_id INTEGER , \
booklet_stylesheet VARCHAR(255) , \
gridtitle_felderinfo_id INTEGER \
\
) \
;\
create temp table tmp_dashboard_tab(\
\
dashboard_id INTEGER not null, \
caption VARCHAR(255) , \
maskeninfo_id INTEGER , \
sortnr SMALLINT default 0 , \
select_clause VARCHAR(255) , \
fact_table VARCHAR(255) , \
where_clause TEXT , \
optional_filter_name VARCHAR(255) , \
optional_filter_value VARCHAR(255) , \
booklet_stylesheet VARCHAR(255) \
\
) \
;\
\
create temp table tmp_dashboard_element(\
dashboard_id INTEGER not null, \
datasource_type INTEGER default 1 , \
datasource VARCHAR(255) , \
chart_id INTEGER , \
onclick_event VARCHAR(255) , \
sortnr SMALLINT default 0 , \
caption VARCHAR(255) , \
open_modal_card_detail SMALLINT default 1 , \
link_maskennummer INTEGER , \
link_chart_uniquename VARCHAR(255) , \
link_tablestylesheet VARCHAR(255) , \
active SMALLINT default 1 not null\
) \
;\
\
</#macro>\
\
<#macro drop_temp_tables_dashboard>\
drop table if exists tmp_dashboard;\
drop table if exists tmp_dashboard_tab;\
drop table if exists tmp_dashboard_element;\
\
</#macro>^Makros zum Umgang mit Visualisierungen^ ^1^

4
src-modules/module/viz/schluesseltabellen/konstanten_fuellen.sql

@ -35,9 +35,9 @@ beschreibung, @@ -35,9 +35,9 @@ beschreibung,
ab_version,
gruppe,
sachgebiete_id)
values (10,
values (20,
'VIZ_ZEITR_SEM_ANZ',
10,
20,
'Anzahl Semester rückwirkend in Zeitreihen',
320,
'https://www.superx-projekt.de/doku/viz_modul/admin/f_Konstanten.htm',--doku link

21
src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql

@ -1,18 +1,4 @@ @@ -1,18 +1,4 @@
--freemarker template
<sqlvars>
<sqlvar name="sos_stud_stichtag_tagesaktuell">
select tid from sos_stichtag where appl_key='0';
</sqlvar>
<sqlvar name="sos_stud_stichtag_amtlich">
select tid from sos_stichtag where appl_key='1';
</sqlvar>
<sqlvar name="sos_pruef_stichtag_tagesaktuell">
select tid from sos_stichtag where appl_key='2';
</sqlvar>
<sqlvar name="sos_pruef_stichtag_amtlich">
select tid from sos_stichtag where appl_key='4';
</sqlvar>
</sqlvars>
<#assign makros = [
{"tid":"44070"},
@ -45,13 +31,11 @@ select tid from sos_stichtag where appl_key='4'; @@ -45,13 +31,11 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44190", "tid":"44600", "sortnr":"60"},
{"makro":"44660", "tid":"44630", "sortnr":"0"},
{"makro":"44660", "tid":"44750", "sortnr":"5"},
{"makro":"44660", "tid":"44570", "sortnr":"10"},
{"makro":"44660", "tid":"44570", "sortnr":"20"},
{"makro":"44660", "tid":"44570", "sortnr":"30"},
{"makro":"44690", "tid":"44630", "sortnr":"0"},
{"makro":"44690", "tid":"44750", "sortnr":"5"},
{"makro":"44690", "tid":"44570", "sortnr":"10"},
{"makro":"44690", "tid":"44570", "sortnr":"20"},
{"makro":"44690", "tid":"44570", "sortnr":"30"},
@ -167,7 +151,6 @@ select tid from sos_stichtag where appl_key='4'; @@ -167,7 +151,6 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44190", "sortnr":"60", "feldname":"Nur Endsemester", "value":"1"},
{"makro":"44660", "sortnr":"0", "feldname":"Dashboard", "value":"STUD"},
{"makro":"44660", "sortnr":"5", "feldname":"Dashboard", "value":"STUDABSOLV"},
{"makro":"44660", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44660", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
@ -189,17 +172,14 @@ select tid from sos_stichtag where appl_key='4'; @@ -189,17 +172,14 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44660", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"0", "feldname":"Dashboard", "value":"STUDABSOLV"},
{"makro":"44690", "sortnr":"5", "feldname":"Dashboard", "value":"STUDABSOLV"},
{"makro":"44690", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"10", "feldname":"Stichtag", "value":sos_stud_stichtag_tagesaktuell},
{"makro":"44690", "sortnr":"10", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"20", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"20", "feldname":"Stichtag", "value":sos_stud_stichtag_tagesaktuell},
{"makro":"44690", "sortnr":"20", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"20", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.HS"},
{"makro":"44690", "sortnr":"20", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
@ -207,7 +187,6 @@ select tid from sos_stichtag where appl_key='4'; @@ -207,7 +187,6 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44690", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44690", "sortnr":"30", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
{"makro":"44690", "sortnr":"30", "feldname":"Stichtag", "value":sos_stud_stichtag_tagesaktuell},
{"makro":"44690", "sortnr":"30", "feldname":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"30", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.FS"},
{"makro":"44690", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"},

103
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql

@ -1,103 +0,0 @@ @@ -1,103 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_abgrp_jahr",
"caption":"Absolvierende nach Abschlussgruppe und Jahr",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende nach Abschlussgruppe und Jahr",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_der_pruefung,''A'')",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"absolv_ba",
"caption_der_spalte":"BA",
"caption_in_ergebnistabelle":"Bachelor",
"srcfieldname":"",
"targetfieldname":"absolv_ba",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A24'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=0) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Bachelor ohne Lehramt"
},
{"uniquename":"absolv_ba_la",
"caption_der_spalte":"LA BA",
"caption_in_ergebnistabelle":"Bachelor Lehramt",
"srcfieldname":"",
"targetfieldname":"absolv_ba_la",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A24'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=1) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Bachelor Lehramt"
},
{"uniquename":"absolv_ma",
"caption_der_spalte":"MA",
"caption_in_ergebnistabelle":"Master",
"srcfieldname":"",
"targetfieldname":"absolv_ma",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A37'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=0) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Master"
},
{"uniquename":"absolv_ma_la",
"caption_der_spalte":"MA LA",
"caption_in_ergebnistabelle":"Master Lehramt",
"srcfieldname":"",
"targetfieldname":"absolv_ma_la",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A37'' and dim_studiengang_abschluss_astat_bund in (select K.abschluss_astat_bund from k_astat_abschl_grp K where ist_lehramt=1) then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Master Lehramt"
},
{"uniquename":"absolv_prom",
"caption_der_spalte":"Promotion",
"caption_in_ergebnistabelle":"Promotion",
"srcfieldname":"",
"targetfieldname":"absolv_prom",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''G_Prom'' then summe else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Promotion"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

1
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_zeitreihe_fuellen.sql

@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330; @@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330;
"caption":"Absolvierende nach Abschlussgruppe und Semester",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"sortclause":"sem_der_pruefung",
"description":"Absolvierende nach Abschlussgruppe und Semester",
"is_virtual":1
}

76
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql

@ -1,76 +0,0 @@ @@ -1,76 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_in_rsz_jahr",
"caption":"Absolvierende in oder über RSZ nach Jahr",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende in oder über RSZ nach Jahr",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_der_pruefung,''A'')",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"absolv_in_rsz_summe",
"caption":"Absolv. in der RSZ",
"srcfieldname":"",
"targetfieldname":"absolv_in_rsz",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl <= dim_studiengang_regel then summe
else 0 end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"1",
"description":"Absolv. unter RSZ"
},
{"uniquename":"absolv_ueber_rsz_summe",
"caption":"Absolv. über der RSZ",
"srcfieldname":"",
"targetfieldname":"absolv_ueber_rsz",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl > dim_studiengang_regel then summe
else 0 end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"1",
"description":"Absolv. über RSZ"
},
{"uniquename":"absolv_unbek_rsz_summe",
"caption_der_spalte":"Absolv. unbek. RSZ",
"caption_in_ergebnistabelle":"Unbekannt",
"srcfieldname":"",
"targetfieldname":"absolv_unbek_rsz",
"column_type":"logicalColumn",
"col_function":"(case when fach_sem_zahl is null or dim_studiengang_regel is null then summe
else 0 end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"1",
"description":"Absolv. unbek RSZ"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

1
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_zeitreihe_fuellen.sql

@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330; @@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330;
"caption":"Absolvierende in oder über RSZ nach Semester",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"sortclause":"sem_der_pruefung",
"description":"Absolvierende in oder über RSZ nach Semester",
"is_virtual":1
}

46
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql

@ -1,46 +0,0 @@ @@ -1,46 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_jahr",
"caption":"Absolvierende nach Jahr",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende nach Semester",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_der_pruefung,''P'')",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS) Das Prüfungsjahr 2018 umfasst beispielsweise das Wintersemester 2017/2018 und das Sommersemester 2018."
},
{"uniquename":"summe",
"caption":"Anzahl der Absolvierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Absolvierenden"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

1
src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql

@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330; @@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330;
"caption":"Absolvierende nach Semester",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"sortclause":"sem_der_pruefung",
"description":"Absolvierende nach Semester",
"is_virtual":1
}

1
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql

@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330; @@ -10,7 +10,6 @@ select count(*) from systeminfo where tid=330;
"caption":"Studierende nach Semester DB",
"rpta_resultset":"sos_stud_astat_dashboard",
"whereclause":"",
"sortclause":"sem_rueck_beur_ein",
"description":"Studierende nach Semester für Dashboard",
"is_virtual":1
}

45
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_dashboard_jahr",
"caption":"Studierende nach Studienjahr",
"rpta_resultset":"sos_stud_astat_dashboard",
"whereclause":"",
"description":"Studierende nach Studienjahr"
}
/>
<#assign rpta_columns = [
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_rueck_beur_ein",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_rueck_beur_ein,''A'')",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

12
src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql

@ -11,8 +11,8 @@ select name @@ -11,8 +11,8 @@ select name
from sx_tables where name ='sos_stg_aggr';
</sqlvar>
<sqlvar name="logical_fields" type="hashsequence"><![CDATA[
<#if sos_stg_aggr_exists==1>
<sqlvar name="logical_fields" type="hashsequence">
drop table if exists rpta_sos_hzb_bland;
create table rpta_sos_hzb_bland as
select W.astat as wohnsitz_astat, W.bland as wohnsitz_bland, B.druck as bland_druck, B.astat as bland_astat
@ -68,9 +68,9 @@ select 'sos_stud_astat_dashboard' as tablename, @@ -68,9 +68,9 @@ select 'sos_stud_astat_dashboard' as tablename,
from xdummy
;
</#if>
]]>
</sqlvar>
<sqlvar name="added_tables" type="hashsequence"><![CDATA[
@ -117,7 +117,7 @@ select '(''tid_stg'',''sem_rueck_beur_ein'',''stichtag'',''geschlecht'', ''hzbar @@ -117,7 +117,7 @@ select '(''tid_stg'',''sem_rueck_beur_ein'',''stichtag'',''geschlecht'', ''hzbar
from xdummy;
</sqlvar>
<sqlvar name="added_table_fields">
select '(''fb'', ''abschluss_grp'', ''abschluss_grp_str'', ''fb_str'',''abschluss_astat_bund'',''regel'')'
select '(''fb'', ''abschluss_grp'', ''abschluss_grp_str'', ''fb_str'',''abschluss_astat_bund'')'
from xdummy;
</sqlvar>
@ -384,7 +384,7 @@ left outer join ${logical_field.join_field} @@ -384,7 +384,7 @@ left outer join ${logical_field.join_field}
';
--whereclause erstmal primitiv
update tmp_rpta_resultset set whereclause = 'and stichtag in (select tid from sos_stichtag where appl_key in (''0'',''1'')) and hrst in (select apnr from sos_k_hrst HRST where HRST.astat in (''1'',''2'')) and kz_rueck_beur_ein in (1,2,3)';
update tmp_rpta_resultset set whereclause = 'and stichtag in (select tid from sos_stichtag where appl_key=''0'') and hrst in (select apnr from sos_k_hrst HRST where HRST.astat in (''1'',''2'')) and kz_rueck_beur_ein in (1,2,3)';
select * into temp tmp_rs1
from rpta_resultset
;

109
src-modules/module/viz/schluesseltabellen/sx_captions_fuellen.sql

@ -1,109 +0,0 @@ @@ -1,109 +0,0 @@
--freemarker template
<#if SQLdialect='Postgres'>
select setval('sx_captions_tid_seq',(select max(tid) from sx_captions));
</#if>
<#assign sachgebiete_id="16" />
<#assign table_name="felderinfo" />
<#assign locale="de" />
<#assign sx_captions = [
{"field_name":"viz_label_koepfe_faelle",
"contents_short":"Studierendenzählung",
"contents_long":"Dient zur Einschränkung Köpfe, Fälle etc.",
"doku_link":"",
"export_to_glossar":"1"} ,
{"field_name":"viz_label_Zeitraum",
"contents_short":"Zeitraum",
"contents_long":"Dient zur Einschränkung Semester, Jahr etc.",
"doku_link":"",
"export_to_glossar":"1"} ,
{"field_name":"viz_label_Studiengang",
"contents_short":"Studiengang",
"contents_long":"Dient zur Einschränkung Studiengang etc.",
"doku_link":"",
"export_to_glossar":"1"} ,
{"field_name":"viz_label_Status",
"contents_short":"Filter nach Status",
"contents_long":"Dient zur Einschränkung Status",
"doku_link":"",
"export_to_glossar":"1"}
] />
--Ab hier braucht man nichts ändern:
CREATE TEMP TABLE tmp_sx_captions
(
id char(200),
table_name char(200),
field_name char(200),
record_no integer,
locale char(10),
contents_short char(255),
contents_long text,
equalitystatus smallint,
sachgebiete_id integer,
doku_link varchar(255),
export_to_glossar integer
);
<#foreach caption in sx_captions>
insert into tmp_sx_captions
(
id,
table_name,
field_name,
record_no,
locale,
contents_short,
contents_long,
equalitystatus,
doku_link,
export_to_glossar,
sachgebiete_id
)
select
null,
'${table_name}',
'${caption.field_name}',
null,
'${locale}',
'${caption.contents_short}',
'${caption.contents_long}',
null,
'${caption.doku_link}',
${caption.export_to_glossar},
${sachgebiete_id}
from xdummy;
</#foreach>
delete from tmp_sx_captions where table_name = '${table_name}' and (field_name in (select field_name from sx_captions));
insert into sx_captions
(
id,
table_name,
field_name,
record_no,
locale,
contents_short,
contents_long,
equalitystatus,
doku_link,
export_to_glossar,
sachgebiete_id
)
select
id,
table_name,
field_name,
record_no,
locale,
contents_short,
contents_long,
equalitystatus,
doku_link,
export_to_glossar::integer,
sachgebiete_id
from tmp_sx_captions;

26
src-modules/module/viz/schluesseltabellen/sx_repository_customxmladd.unl

@ -128,19 +128,10 @@ V.chart_width,\ @@ -128,19 +128,10 @@ V.chart_width,\
V.chart_height,\
V.chart_miniature_width,\
V.chart_miniature_height,\
V.maskeninfo_id,\
V.js_handler,\
V.chart_card_class,\
V.chart_container_class,\
V.chart_container_id,\
V.chart_class_name,\
V.chart_element_id,\
V.chart_title_position,\
V.detail_chart_id,\
V2.uniquename as detail_chart_uniquename\
FROM viz_renderer R,viz_chart V left outer join viz_chart V2 on (V2.tid=V.detail_chart_id and V2.chart_active=1) \
V.maskeninfo_id\
FROM viz_chart V, viz_renderer R\
where R.tid=V.renderer_id\
and V.chart_active=1\
and chart_active=1\
order by 3\
;\
</sqlvar>\
@ -169,7 +160,7 @@ R.uniquename as renderer_uniquename,\ @@ -169,7 +160,7 @@ R.uniquename as renderer_uniquename,\
R.tid as renderer_id,\
P.tid as prop_tid,\
P.prop_uniquename,\
(select P2.prop_uniquename from viz_property P2\
(select min(P2.prop_uniquename) from viz_property P2\
where P2.tid=N.parent_property_id) as parent_property_uniquename,\
N.sortnr,\
N.is_mandatory\
@ -321,15 +312,6 @@ order by 2,5,3\ @@ -321,15 +312,6 @@ order by 2,5,3\
chart_miniature_width="${ch.chart_width}"\
chart_miniature_height="${ch.chart_height}"\
maskeninfo_id="${ch.maskeninfo_id}"\
js_handler="${ch.js_handler}" \
chart_card_class="${ch.chart_card_class}"\
chart_container_class="${ch.chart_container_class}"\
chart_container_id="${ch.chart_container_id}"\
chart_class_name="${ch.chart_class_name}"\
chart_element_id="${ch.chart_element_id}"\
chart_title_position="${ch.chart_title_position}"\
detail_chart_id="${ch.detail_chart_id}"\
detail_chart_uniquename="${ch.detail_chart_uniquename}"\
/>\
</#foreach>\
</#if>\

26
src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql

@ -10,12 +10,10 @@ @@ -10,12 +10,10 @@
{"mask":"44100", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44130", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44130", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44160", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44190", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44190", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
@ -25,50 +23,41 @@ @@ -25,50 +23,41 @@
{"mask":"44220", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44220", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44220", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44220", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44280", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44280", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44280", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44280", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44280", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44510", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44510", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44510", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44510", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44510", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44250", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44250", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44250", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44250", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44250", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44570", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44570", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44570", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44570", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44570", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44600", "filename":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44600", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44600", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44600", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44600", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44310", "filename":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44310", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44310", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44310", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44310", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44340", "filename":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44340", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44340", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44340", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44340", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"44660", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44660", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
@ -84,13 +73,11 @@ @@ -84,13 +73,11 @@
{"mask":"44720", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44720", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44720", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44720", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"},
{"mask":"48460", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"48460", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"48460", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"48460", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"48460", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"}
{"mask":"48460", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"}
] />
@ -151,17 +138,6 @@ @@ -151,17 +138,6 @@
"stylesheet_type":"XSL",
"jr_datasource":""
},
{"filename":"viz_html_chart_viewer_mask_and_detailchart.xsl",
"caption":"Diagramm, dynamische Tabelle + Maskenfelder",
"description":"Viewer-Stylesheet für VIZ Charts mit zusätzlichem Detailchart und Maskenfeldern",
"relation":"table",
"contenttype":"text/html",
"is_generic":"0",
"toolbar_icon_filepath":"",
"usage_resultset_data":"T",
"stylesheet_type":"XSL",
"jr_datasource":""
},
{"filename":"viz_report_44660_xmlsource.jrxml",
"caption":"Campus Dashboard Druckversion",
"description":"Ausgabe pro Reiter",

680
src-modules/module/viz/schluesseltabellen/viz_chart.unl

File diff suppressed because one or more lines are too long

70
src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql

@ -16,7 +16,6 @@ where uniquename in ( @@ -16,7 +16,6 @@ where uniquename in (
'STUDANF_GESCHL_PIE',
'STUDANF_HZB_LAND_BAR',
'STUDANF_JAHR_BAR',
'STUDANF_JAHR_LINE',
'STUDANF_KOHORTEN_BAR_Y_ECHART',
'STUDANF_KOHORTEN_BAR_Y_ECHART_INVERTED',
'STUDANF_SEM_LINE_TEXT',
@ -46,39 +45,8 @@ where uniquename in ( @@ -46,39 +45,8 @@ where uniquename in (
'STUD_ZEITR_BAR_LINE_DOT',
'STUD_ZEITR_BAR_LINE_DOT_TEXT');
alter table tmp_viz_chart add column ist_neu smallint default 0,
add column detail_chart_id integer ;
update viz_chart V set chartmodel=T.chartmodel,
preview_svg=T.preview_svg,
userinfo_id=T.userinfo_id,
creation_date=T.creation_date,
update_date=T.update_date,
maskeninfo_id=T.maskeninfo_id,
mask_params=T.mask_params,
renderer_id=T.renderer_id,
chartmodel_miniature=T.chartmodel_miniature,
chart_position=T.chart_position,
chart_active=T.chart_active,
chart_width=T.chart_width,
chart_height=T.chart_height,
chart_miniature_width=T.chart_miniature_width,
chart_miniature_height=T.chart_miniature_height,
is_custom=T.is_custom,
js_handler=T.js_handler,
chart_card_class=T.chart_card_class,
chart_container_class=T.chart_container_class,
chart_container_id=T.chart_container_id,
chart_class_name=T.chart_class_name,
chart_element_id=T.chart_element_id,
chart_title_position=T.chart_title_position
from tmp_viz_chart T
where V.uniquename=T.uniquename
and V.uniquename in (select T2.uniquename from tmp_viz_chart T2);
update tmp_viz_chart T set ist_neu=1
where not exists (select V.uniquename from viz_chart V
where V.uniquename=T.uniquename);
delete from viz_chart where uniquename in (select uniquename from tmp_viz_chart)
and is_custom=0;
select sp_update_sequence('viz_chart');
@ -101,15 +69,7 @@ uniquename, @@ -101,15 +69,7 @@ uniquename,
chart_height,
chart_miniature_width,
chart_miniature_height,
is_custom,
js_handler,
chart_card_class,
chart_container_class,
chart_container_id,
chart_class_name,
chart_element_id,
chart_title_position,
detail_chart_id)
is_custom)
select
uniquename,
@ -130,29 +90,9 @@ uniquename, @@ -130,29 +90,9 @@ uniquename,
chart_height,
chart_miniature_width,
chart_miniature_height,
is_custom,
js_handler,
chart_card_class,
chart_container_class,
chart_container_id,
chart_class_name,
chart_element_id,
chart_title_position,
detail_chart_id
is_custom
FROM tmp_viz_chart
where ist_neu=1;
update tmp_viz_chart T set detail_chart_id=V.tid
from viz_chart V
where V.uniquename=T.detail_chart_uniquename;
update viz_chart V set detail_chart_id=T.detail_chart_id
from tmp_viz_chart T
where T.uniquename =V.uniquename;
where is_custom=0;
drop table tmp_viz_chart;

52
src-modules/module/viz/schluesseltabellen/viz_chart_unload.x

@ -1,37 +1,25 @@ @@ -1,37 +1,25 @@
#!/bin/bash
#entlädt nur die charts, die Teil der Auslieferung sind:
DOQUERY "select
V.uniquename,
V.caption,
V.description,
V.chartmodel,
V.preview_svg,
V.userinfo_id,
V.creation_date,
V.update_date,
V.maskeninfo_id,
V.mask_params,
V.renderer_id,
V.chartmodel_miniature,
V.chart_position,
V.chart_active,
V.chart_width,
V.chart_height,
V.chart_miniature_width,
V.chart_miniature_height,
V.is_custom,
V.js_handler ,
V.chart_card_class,
V.chart_container_class,
V.chart_container_id,
V.chart_class_name,
V.chart_element_id,
V.chart_title_position,
V2.uniquename as detail_chart_uniquename
from viz_chart V left outer join viz_chart V2 on (V2.tid=V.detail_chart_id)
where V.is_custom=0
and V.maskeninfo_id in (select M.maskeninfo_id from maske_system_bez M where M.systeminfo_id=320)
order by V.uniquename" false ^ viz_chart.unl txt
DOQUERY "select tid,
uniquename,
caption,
description,
chartmodel,
preview_svg,
userinfo_id,
creation_date,
update_date,
maskeninfo_id,
mask_params,
renderer_id,
chartmodel_miniature,
chart_position,
chart_active,
chart_width,
chart_height,
chart_miniature_width,
chart_miniature_height,
is_custom from viz_chart where is_custom=0 order by uniquename" false ^ viz_chart.unl txt

19
src-modules/module/viz/schluesseltabellen/viz_chart_upload.x

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
DOQUERY "drop table if exists tmp_viz_chart ;"
DOQUERY "create table tmp_viz_chart(
tid SERIAL not null,
uniquename VARCHAR(255) not null,
caption VARCHAR(255) ,
description TEXT ,
@ -17,19 +18,11 @@ renderer_id INTEGER , @@ -17,19 +18,11 @@ renderer_id INTEGER ,
chartmodel_miniature TEXT ,
chart_position CHAR(10) ,
chart_active SMALLINT default 1 ,
chart_width VARCHAR(255) default '600' ,
chart_height VARCHAR(255) default '400' ,
chart_miniature_width VARCHAR(255) default '200' ,
chart_miniature_height VARCHAR(255) default '100' ,
is_custom SMALLINT,
js_handler TEXT,
chart_card_class VARCHAR(255) ,
chart_container_class VARCHAR(255) ,
chart_container_id VARCHAR(255) ,
chart_class_name VARCHAR(255) ,
chart_element_id VARCHAR(255) ,
chart_title_position VARCHAR(255) ,
detail_chart_uniquename VARCHAR(255)
chart_width INTEGER default 600 ,
chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT
)
;"

11
src-modules/module/viz/schluesseltabellen/viz_colorscheme_fuellen.sql

@ -21,9 +21,7 @@ @@ -21,9 +21,7 @@
{"uniquename":"fak", "caption":"Fakultäten"},
{"uniquename":"quadroColor", "caption":"Vier Farben"},
{"uniquename":"blandLocalized", "caption":"Bundesland (eigenes)"},
{"uniquename":"colorGrades", "caption":"Blautöne"},
{"uniquename":"in_rsz", "caption":"In oder über Regelstudienzeit"}
{"uniquename":"colorGrades", "caption":"Blautöne"}
]
/>
@ -130,13 +128,6 @@ @@ -130,13 +128,6 @@
{"colorscheme":"colorGrades",
"colorcode":"#f6f7fc"}
,
{"colorscheme":"in_rsz",
"colorcode":"#004a93"},
{"colorscheme":"in_rsz",
"colorcode":"#afcde4"},
{"colorscheme":"in_rsz",
"colorcode":"##ccffff"}
]

131
src-modules/module/viz/schluesseltabellen/viz_dashboard_STUDABSOLV_fuellen.sql

@ -1,131 +0,0 @@ @@ -1,131 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
</sqlvars>
<#assign viz_dashboard =
{ "caption":"im Überblick",
"uniquename":"STUDABSOLV",
"maskeninfo_id":44690,
"booklet_stylesheet":"viz_report_44690_xmlsource.jrxml",
"gridtitle_felderinfo_id":"null" }
/>
<#assign link_tablestylesheet="viz_html_chart_viewer_mask_and_table.xsl" />
<#assign open_modal_card_detail="0" />
<#assign viz_dashboard_tabs = [
{
"caption":"Studierende",
"maskeninfo_id":"44190",
"sortnr":10,
"select_clause":"sum(summe) as summe",
"fact_table":"sos_stg_aggr",
"where_clause":"studiengang_nr=1
and fach_nr=1
and stichtag=(select I.tid from sos_stichtag I where I.appl_key=''0'')",
"optional_filter_name":"",
"optional_filter_value":"",
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"
},
{
"caption":"Studienanfänger*innen im 1. HS",
"maskeninfo_id":"44190",
"sortnr":20,
"select_clause":"sum(summe) as summe",
"fact_table":"sos_stg_aggr",
"where_clause":"studiengang_nr=1
and fach_nr=1
and stichtag=(select I.tid from sos_stichtag I where I.appl_key=''0'')
and hssem=1",
"optional_filter_name":"",
"optional_filter_value":"",
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"
},
{
"caption":"Studienanfänger*innen im 1. FS",
"maskeninfo_id":"44190",
"sortnr":30,
"select_clause":"sum(summe) as summe",
"fact_table":"sos_stg_aggr",
"where_clause":"studiengang_nr=1
and fach_nr=1
and stichtag=(select I.tid from sos_stichtag I where I.appl_key=''0'')
and fach_sem_zahl=1",
"optional_filter_name":"",
"optional_filter_value":"",
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"
}
]
/>
<#assign viz_dashboard_elements = [
{
"datasource_type":1,
"datasource":"2",
"sortnr":10,
"chart_uniquename":"STUD_SEM_LINE",
"caption":"Studierende gesamt",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"3",
"sortnr":20,
"chart_uniquename":"STUD_SEM_LINE",
"caption":"Studierende 1. Hochschulsemester",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"4",
"sortnr":30,
"chart_uniquename":"STUD_SEM_LINE",
"caption":"Studierende 1. Fachsemester",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"5",
"sortnr":40,
"chart_uniquename":"ABSOLV_SEM_LINE",
"caption":"Absolvent*innen (Zeitreihe)",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"6",
"sortnr":50,
"chart_uniquename":"ABSOLV_RSZ_SEM_BAR",
"caption":"Absolvent*innen in der Regelstudienzeit (Zeitreihe)",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"7",
"sortnr":60,
"chart_uniquename":"ABSOLV_ABGRP_SEM_AREA",
"caption":"Absolvent*innen nach Abschlussgruppe (Zeitreihe)",
"onclick_event":"",
"active":"1"
}
] />
<@create_temp_tables_dashboard />
<@viz_dashboard_fuellen />
<@drop_temp_tables_dashboard />

106
src-modules/module/viz/schluesseltabellen/viz_dashboard_STUD_fuellen.sql

@ -1,106 +0,0 @@ @@ -1,106 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
</sqlvars>
<#assign viz_dashboard =
{ "caption":"im Überblick",
"uniquename":"STUD",
"maskeninfo_id":44660,
"booklet_stylesheet":"viz_report_44660_xmlsource.jrxml",
"gridtitle_felderinfo_id":"null" }
/>
<#assign link_tablestylesheet="viz_html_chart_viewer_mask_and_table.xsl" />
<#assign open_modal_card_detail="0" />
<#assign viz_dashboard_tabs = [
{
"caption":"Studierende",
"maskeninfo_id":"44190",
"sortnr":10,
"select_clause":"sum(summe) as summe",
"fact_table":"sos_stg_aggr",
"where_clause":"studiengang_nr=1
and fach_nr=1
and stichtag=(select I.tid from sos_stichtag I where I.appl_key=''0'')",
"optional_filter_name":"",
"optional_filter_value":"",
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"
},
{
"caption":"Studienanfänger*innen im 1. HS",
"maskeninfo_id":"44190",
"sortnr":20,
"select_clause":"sum(summe) as summe",
"fact_table":"sos_stg_aggr",
"where_clause":"studiengang_nr=1
and fach_nr=1
and stichtag=(select I.tid from sos_stichtag I where I.appl_key=''0'')
and hssem=1",
"optional_filter_name":"",
"optional_filter_value":"",
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"
},
{
"caption":"Studienanfänger*innen im 1. FS",
"maskeninfo_id":"44190",
"sortnr":30,
"select_clause":"sum(summe) as summe",
"fact_table":"sos_stg_aggr",
"where_clause":"studiengang_nr=1
and fach_nr=1
and stichtag=(select I.tid from sos_stichtag I where I.appl_key=''0'')
and fach_sem_zahl=1",
"optional_filter_name":"",
"optional_filter_value":"",
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"
}
]
/>
<#assign viz_dashboard_elements = [
{
"datasource_type":1,
"datasource":"2",
"sortnr":10,
"chart_uniquename":"STUD_SEM_LINE",
"caption":"Studierende gesamt",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"3",
"sortnr":20,
"chart_uniquename":"STUD_SEM_LINE",
"caption":"Studierende 1. Hochschulsemester",
"onclick_event":"",
"active":"1"
},
{
"datasource_type":1,
"datasource":"4",
"sortnr":30,
"chart_uniquename":"STUD_SEM_LINE",
"caption":"Studierende 1. Fachsemester",
"onclick_event":"",
"active":"1"
}
] />
<@create_temp_tables_dashboard />
<@viz_dashboard_fuellen />
<@drop_temp_tables_dashboard />

250
src-modules/module/viz/schluesseltabellen/viz_dashboard_element_fuellen.sql

@ -1,250 +0,0 @@ @@ -1,250 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='viz';
</sqlvar>
</sqlvars>
<#assign viz_properties = [
{ "caption":"Dimensionen",
"prop_uniquename":"dimensionsNode",
"explanation":"Dimensionen",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"NODE",
"sortnr":"1",
"range_from":"",
"range_to":"",
"prop_value_type":"NODE",
"parent_property_uniquename":"",
"variableName":"encode"
},
{ "caption":"Zeilendimension 1",
"prop_uniquename":"rowdim1",
"explanation":"Zeilendimension oberste Ebene für Kreuztabellen",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"1",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"608",
"range_from":"",
"range_to":"",
"prop_value_type":"string",
"parent_property_uniquename":"dimensionsNode"
},
{ "caption":"Spaltendimension 1",
"prop_uniquename":"coldim1",
"explanation":"Spaltendimension obersete Ebene für Kreuztabellen",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"1",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"610",
"range_from":"",
"range_to":"",
"prop_value_type":"string",
"parent_property_uniquename":"dimensionsNode"
},
{ "caption":"Dimension 1",
"prop_uniquename":"dimension1",
"explanation":"Dimension 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"1",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"608",
"range_from":"",
"range_to":"",
"prop_value_type":"string",
"parent_property_uniquename":"dimensionsNode"
},
{ "caption":"Maß 1",
"prop_uniquename":"measure1",
"explanation":"Maß 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"1",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"MEASURE",
"sortnr":"610",
"range_from":"",
"range_to":"",
"prop_value_type":"string",
"parent_property_uniquename":"dimensionsNode"
},
{ "caption":"Titel",
"prop_uniquename":"titleNode",
"explanation":"Titel-Element",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"NODE",
"sortnr":"1",
"range_from":"",
"range_to":"",
"prop_value_type":"NODE",
"parent_property_uniquename":"",
"variableName":"subtitle"
},
{ "caption":"Untertitel-Text",
"prop_uniquename":"subtitle",
"explanation":"Text",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"titleNode"
},
{ "caption":"Untertitel CSS-Klasse",
"prop_uniquename":"subtitleCssClass",
"explanation":"Formatierung mit CSS-Klasse",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"titleNode"
},
{ "caption":"CSS-Klassen",
"prop_uniquename":"CssClassesNode",
"explanation":"",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"NODE",
"property_group_uniquename":"",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"NODE",
"parent_property_uniquename":"",
"variableName":"CssClassesNode"
},
{ "caption":"Tabelle CSS-Klasse",
"prop_uniquename":"tableCssClass",
"explanation":"Formatierung mit CSS-Klasse",
"prop_default":"table",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"CssClassesNode"
},
{ "caption":"Tabellenheader CSS-Klasse",
"prop_uniquename":"theadCssClass",
"explanation":"Formatierung mit CSS-Klasse",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"CssClassesNode"
},
{ "caption":"Spaltenüberschrift CSS-Klasse",
"prop_uniquename":"thCssClass",
"explanation":"Formatierung mit CSS-Klasse",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"CssClassesNode"
},
{ "caption":"Daten-Zellen CSS-Klasse",
"prop_uniquename":"tdDataCssClass",
"explanation":"Formatierung mit CSS-Klasse",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"CssClassesNode"
},
{ "caption":"Tabellenfooter CSS-Klasse",
"prop_uniquename":"tfootCssClass",
"explanation":"Formatierung mit CSS-Klasse",
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"10",
"range_from":"",
"range_to":"",
"prop_value_type":"STRING",
"parent_property_uniquename":"CssClassesNode"
}
]
/>
<@create_temp_tables />
<@fill_viz_properties />
<@drop_temp_tables />

10
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql

@ -630,10 +630,10 @@ @@ -630,10 +630,10 @@
{ "caption":"Ausrichtung Wertelabel (vertikal)",
"prop_uniquename":"position_valueLabel",
"explanation":"",
"prop_default":"inside",
"prop_default":"top",
"prop_unit":"",
"is_generic":"1",
"static_values":"top|left|right|bottom|inside|insideLeft|insideRight|insideTop|insideBottom|insideTopLeft|insideBottomLeft|insideTopRight|insideBottomRight",
"static_values":"top|center|bottom",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
@ -717,9 +717,9 @@ @@ -717,9 +717,9 @@
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"static_values":"D3_Tableau10|D3_category10|D3_Accent|D3_Dark2|D3_observable10|D3_Paired|D3_Pastel1|D3_Pastel2|D3_Set1|D3_Set2|D3_Set3|unique|dichotom|abgrp|fak|quadroColor|blandLocalized|colorGrades",
"is_mandatory":"0",
"input_type_uniquename":"COLORPALETTE",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"410",
"range_from":"",
@ -764,7 +764,7 @@ @@ -764,7 +764,7 @@
},
{ "caption":"Äußerer Radius in %",
"prop_uniquename":"outerRadius",
"explanation":"Äußerer Radius bei Tortendiagrammen (Faktor in %). Parameter definiert den Anteil des Kreises am ganzen Rechteck. Wird bei Serien-Kreisdiagrammen nicht ausgewertet bzw. automatisch berechnet.",
"explanation":"Äußerer Radius bei Tortendiagrammen (Faktor in %). Parameter definiert den Anteil des Kreises am ganzen Rechteck",
"prop_default":"80",
"prop_unit":"%",
"is_generic":"0",

1
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql

@ -37,7 +37,6 @@ @@ -37,7 +37,6 @@
"is_mandatory":"1"},
{"viz_property_uniquename":"y",
"is_mandatory":"1"},
{"viz_property_uniquename":"stroke","is_mandatory":"0"},
{"viz_property_uniquename":"xAxisNode"},
{"viz_property_uniquename":"xAxisName"},
{"viz_property_uniquename":"xAxisNameLocation"},

1
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--Freemarker Template
--obsolet
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>

1
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_pie_fuellen.sql

@ -21,7 +21,6 @@ @@ -21,7 +21,6 @@
"is_mandatory":"1"},
{"viz_property_uniquename":"measure1",
"is_mandatory":"1"},
{"viz_property_uniquename":"stroke","is_mandatory":"0"},
{"viz_property_uniquename":"innerRadius"},
{"viz_property_uniquename":"outerRadius"},
{"viz_property_uniquename":"cornerRadiusRounded"}

43
src-modules/module/viz/schluesseltabellen/viz_properties_echarts_sankey_fuellen.sql

@ -1,43 +0,0 @@ @@ -1,43 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='echarts';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"echarts_sankey", "caption":"Sankey-Diagramm",
"orientation":"Z",
"description":"Flussiagramm",
"explanation":""}
]
/>
<#assign viz_type_properties = [
{"viz_property_uniquename":"dimension1",
"is_mandatory":"1"},
{"viz_property_uniquename":"dimension2",
"is_mandatory":"1"},
{"viz_property_uniquename":"measure1",
"is_mandatory":"1"},
{"viz_property_uniquename":"nodeGap"}
]
/>
<@create_temp_tables />
<#foreach viz_type in viz_types>
<@fill_viz_types viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>

56
src-modules/module/viz/schluesseltabellen/viz_properties_viz_basistools_crosstab_fuellen.sql

@ -1,56 +0,0 @@ @@ -1,56 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='viz';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"simplePivotTable", "caption":"Einfache pivotierte Tabelle",
"orientation":"Z",
"description":"Einfache pivotierte Datentabelle",
"explanation":""}
]
/>
<#assign viz_type_properties = [
{"viz_property_uniquename":"coldim1",
"is_mandatory":"1"},
{"viz_property_uniquename":"measure1",
"is_mandatory":"1"},
{"viz_property_uniquename":"subtitle",
"is_mandatory":"0"},
{"viz_property_uniquename":"subtitleCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"tableCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"theadCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"thCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"tdDataCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"tfootCssClass",
"is_mandatory":"0"}
]
/>
<@create_temp_tables />
<#foreach viz_type in viz_types>
<@fill_viz_types viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>
<@drop_temp_tables />

54
src-modules/module/viz/schluesseltabellen/viz_properties_viz_basistools_simple_table_fuellen.sql

@ -1,54 +0,0 @@ @@ -1,54 +0,0 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<#include "VIZ-Makros"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='viz';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"simpleTable", "caption":"Einfache Datentabelle",
"orientation":"Z",
"description":"Einfache Kopie der Datentabelle",
"explanation":""}
]
/>
<#assign viz_type_properties = [
{"viz_property_uniquename":"subtitle",
"is_mandatory":"0"},
{"viz_property_uniquename":"subtitleCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"tableCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"theadCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"thCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"tdDataCssClass",
"is_mandatory":"0"},
{"viz_property_uniquename":"tfootCssClass",
"is_mandatory":"0"}
]
/>
<@create_temp_tables />
<#foreach viz_type in viz_types>
<@fill_viz_types viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>
<@drop_temp_tables />

130
src-modules/module/viz/schluesseltabellen/viz_property.unl

@ -1,60 +1,70 @@ @@ -1,60 +1,70 @@
214^Wertelabel offset (vertikal)^offset_y_valueLabel^ ^ ^1^ ^0^1^^Wertelabel wird vertikal leicht verschoben, z.B. 40 bedeutet 40 Pixel nach unten^4100^^^STRING^^
215^Wertelabel offset (horizontal)^offset_x_valueLabel^ ^ ^1^ ^0^1^^Wertelabel wird horizontal leicht verschoben, z.B. 30 bedeutet 30 Pixel nach rechts^4000^^^STRING^^
173^Rand oben in %^margin.top^16^%^1^ ^0^1^^Oberer Rand in %^1900^^^integer^^
172^Rand rechts in %^margin.right^0^%^1^ ^0^1^^Rechter Rand in %^1800^^^integer^^
171^Rand links in %^margin.left^20^%^1^ ^0^1^^Linker Rand in %^1700^^^integer^^
213^Gestapelte Balken^barStacked^false^ ^0^true|false^0^2^^ ^5100^^^STRING^^
199^Abgerundete Ecken^cornerRadiusRounded^true^ ^0^true|false^0^2^^Abgerundete Ecken der Tortenstücke^4800^^^STRING^^
187^Y-Achse Beschriftung^yAxisLabelNode^ ^ ^0^ ^0^7^^Y-Achse-Beschriftung^3000^^^NODE^^
185^Y-Achse^yAxisNode^ ^ ^0^ ^0^7^^Y-Achse-Element^2800^^^NODE^^
181^X-Achse Beschriftung^xAxisLabelNode^ ^ ^0^ ^0^7^^X-Achse-Beschriftung^2400^^^NODE^^
178^X-Achse^xAxisNode^ ^ ^0^ ^0^7^^X-Achse-Element^2100^^^NODE^^
170^Ränder^marginNode^ ^ ^1^ ^0^7^^ ^1600^^^NODE^^
206^Legende^legendNode^ ^ ^1^ ^0^7^^Legenden-Element^1100^^^NODE^^
174^X-Achse^x^ ^ ^0^ ^1^2^5^X-Achse^200^^^string^^
166^Titel^titleNode^ ^ ^1^ ^0^7^^Titel-Element^700^^^NODE^^
161^Innerer Radius^innerRadius^0^ ^0^ ^0^1^10^Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^700^0^100^string^^
165^Leerzeilen-Maskierung^null_value_mask^ ^ ^0^ ^0^1^10^Text, der ersetzt wird, wenn eine Dimension leer ist, z.B. *Andere Hochschule* bei BA-MA-Übergang^1100^^^string^^
156^Diagrammelement^seriesNode^ ^ ^1^ ^0^7^^Layout der Diagrammelemente^600^^^NODE^^
159^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^400^^^string^^
191^Y: Distanz Beschriftung^distance_y^0^ ^0^ ^0^1^^Y-Achse Abstand Beschriftung zum Item^3400^^^integer^^
190^Y: Beschriftung Breite^width_y^50^px^0^ ^0^1^^Y-Achse Breite Beschriftung^3300^^^integer^^
189^Y: Abstand Beschriftung^padding_y^5^ ^0^ ^0^1^^Y-Achse Abstand Beschriftung zur Achsenlinie^3200^^^integer^^
179^X-Achse Name^xAxisName^ ^ ^0^ ^0^1^^X-Achse-Name^2200^^^STRING^^
177^Rand unten in %^margin.bottom^20^%^1^ ^0^1^^Unterer Rand in %^2000^^^integer^^
160^Dimension 3^dimension3^ ^ ^0^ ^0^2^5^Dimension 3^500^^^string^^
167^Untertitel-Text^subtitle^ ^ ^1^ ^0^1^^Text^800^^^STRING^^
162^Beschriftung Radius^labelRadiusFactor^80^ ^0^ ^0^1^10^Beschriftungs-Radius Faktor bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^800^0^100^string^^
216^Farbpalette Ziel^seriesColorBy^series^ ^0^series|data^0^2^^Farbpalette gilt für die Serie oder zur Untrscheidung der Daten^4500^^^STRING^^
163^Kanten-Radius^cornerRadius^10^px^0^ ^0^1^10^Ecken-Radius bei Tortendiagrammen (in Pixel). Bei 0 wird keine gerundete Kante genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^900^0^50^string^^
197^Farbpalette (vordef.)^schemeArray^ ^ ^1^D3_Tableau10|D3_category10|D3_Accent|D3_Dark2|D3_observable10|D3_Paired|D3_Pastel1|D3_Pastel2|D3_Set1|D3_Set2|D3_Set3|unique|dichotom|abgrp|fak|quadroColor|blandLocalized|colorGrades^0^2^^Farbpalette^4400^^^STRING^^
196^Ausrichtung Wertelabel (vertikal)^position_valueLabel^top^ ^1^top|center|bottom^0^2^^ ^3900^^^STRING^^
194^Label anzeigen^valueLabelShow^true^ ^1^true|false^0^2^^ ^3700^^^STRING^^
192^Ausrichtung Y-Label (vertikal)^position_y^center^ ^1^top|center|bottom^0^2^^ ^3500^^^STRING^^
180^X-Achse Name Position^xAxisNameLocation^end^ ^0^start|center|end^0^2^^Position der X-Achsenbezeichnung^2300^^^STRING^^
211^Legende scrollbar^legend.scroll^false^ ^1^true|false^0^2^^ ^1500^^^STRING^^
212^Legenden-Ausrichtung (horizontal)^legend.left^left^ ^1^left|center|right^0^2^^ ^1400^^^STRING^^
208^Legenden-Ausrichtung (vertikal)^legend.top^bottom^ ^1^top|middle|bottom^0^2^^ ^1300^^^STRING^^
207^Legende anzeigen^legendShow^true^ ^1^true|false^0^2^^ ^1200^^^STRING^^
169^Titel-Ausrichtung (vertikal)^title.top^top^ ^1^top|center|bottom^0^2^^ ^1000^^^STRING^^
205^X: Skala^scale_x^linear^ ^1^linear|identity|point|band|time^0^2^18^ ^1000^^^string^^
168^Titel-Ausrichtung (horiz.)^title.left^left^ ^1^left|center|right^0^2^^ ^900^^^STRING^^
193^Wertelabel^valueLabelNode^ ^ ^1^ ^0^7^^Beschriftung der Diagrammelemente^3600^^^NODE^^
203^Strichfarbe^stroke_static^ ^ ^0^ ^0^3^11^Strichfarbe (einfach)^800^^^string^^
204^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^900^^^string^^
201^Spaltenselektion bei Serien^series_selection_column^ ^ ^0^ ^0^1^^Optionale Auswahl der Spalten einer Tabelle. Sie können mit Operator größer, kleiner, oder komma-getrennten Listen der Spaltennummern arbeiten.^5000^^^STRING^^
200^Zeilenselektion bei Serien^series_selection_line^ ^ ^0^ ^0^1^^Optionale Auswahl der Zeilen einer Tabelle. Sie können mit Operator größer, kleiner, oder komma-getrennten Listen der Zeilennummern arbeiten.^4900^^^STRING^^
198^Äußerer Radius in %^outerRadius^80^%^0^ ^0^1^^Äußerer Radius bei Tortendiagrammen (Faktor in %). Parameter definiert den Anteil des Kreises am ganzen Rechteck^4700^^^INTEGER^^
195^Wertelabel: Distanz Beschriftung^distance_valueLabel^10^ ^1^ ^0^1^^Wertelabel Abstand Beschriftung zum Item. Wird nur ausgewertet wenn Ausrichtung Wertelabel (vertikal)=top gesetzt wird.^3800^^^integer^^
188^Y: Schriftneigung^tickRotate_y^ ^ ^0^ ^0^1^^Y-Achse-Beschriftung Schriftneigung^3100^-90^90^integer^^
186^Y-Achse Name^yAxisName^ ^ ^0^ ^0^1^^Y-Achse-Name^2900^^^STRING^^
184^X: Abstand Beschriftung^padding_x^5^ ^0^ ^0^1^^X-Achse Abstand Beschriftung zur Achsenlinie^2700^^^integer^^
183^X: Beschriftung Breite^width_x^100^px^0^ ^0^1^^X-Achse Breite Beschriftung^2600^^^integer^^
182^X: Schriftneigung^tickRotate_x^30^ ^0^ ^0^1^^X-Achse-Beschriftung Schriftneigung^2500^-90^90^integer^^
164^Label-Deckungsgrad^labelOpacity^70^ ^0^ ^0^1^10^Deckungsgrad Faktor bei Beschriftungen (Faktor in %). Bei 100 ist maximale Deckung erreicht^1000^0^100^string^^
175^Y-Achse^y^ ^ ^0^ ^1^2^5^Y-Achse^300^^^string^^
176^Serien-Dimension^stroke^ ^ ^0^ ^1^2^5^Serien-Dimension^600^^^string^^
202^Einzelfarbe^singleColor^ ^ ^0^ ^0^3^11^Linien- oder Balkenfarbe (einfach). Wird mit höherer Priorität ausgewertet als die Palette^4300^^^string^^
155^Dimensionen^dimensionsNode^ ^ ^0^ ^0^7^^Dimensionen^100^^^NODE^^
157^Dimension 1^dimension1^ ^ ^0^ ^1^2^5^Dimension 1^200^^^string^^
158^Maß 1^measure1^ ^ ^0^ ^1^2^6^Maß 1^300^^^string^^
1^Grafik-Höhe^height^450^ ^1^ ^0^4^10^Diagrammhöhe (exkl. Skalenbeschriftung). Wird nur ausgewertet wenn es keine Y-Achse gibt!^101^^^integer^
2^Grafik-Breite^width^650^ ^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^
3^Werte-Label-Breite^valueLabelWidth^^^0^^0^1^18^^^^^integer^
4^Hintergrundfarbe^backgroundColor^#ffffff^ ^0^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^
5^Schriftfarbe^color^ ^ ^0^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^
6^Schriftgröße^fontSize^^px^0^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^
7^Schriftfamilie^fontFamily^^ ^0^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^
8^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^1300^^^string^
11^X: Schriftneigung^tickRotate_x^^ ^0^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^
12^X: Skalierung^ticks_x^^ ^0^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^
13^X: Schriftgröße^tickSize_x^^ ^0^ ^0^1^18^Größe der Achsenwerte^603^^^integer^
15^X: Label-Ausrichtung^labelAnchor_x^^ ^0^left|center|right^0^2^18^Label-Position^601^^^string^
16^Außenrand links^marginLeft^100^^0^ ^0^4^10^Abstand zwischen Grafik und linkem Hintergrundrand^103^^^integer^
17^Außenrand rechts^marginRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und rechtem Hintergrundrand^104^^^integer^
18^Außenrand oben^marginTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und oberem Hintergrundrand^105^^^integer^
19^Außenrand unten^marginBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und unterem Hintergrundrand^106^^^integer^
20^Innenrand oben^insetTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung oben^107^^^integer^
21^Innenrand unten^insetBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung unten^108^^^integer^
22^Innenrand links^insetLeft^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung links^109^^^integer^
23^Innenrand rechts^insetRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung rechts^110^^^integer^
24^Farbschema^scheme^ ^ ^0^blues|greens|greys|oranges|purples|reds|paired|set1|pastel1|pastel2|tableau10|category10|accent|dark2|custom1^0^2^22^Nur für Grafikelemente Balken, Linien, Torten: Farbtonschema für Serien.^303^^^string^
25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^
43^Deckungsgrad Farbe^fillOpacity^ ^ ^0^ ^0^1^11^Deckungsrad (opacity) zwischen 0 und 1^1800^0^1^string^
45^Strichlinie Breite^strokeWidth^ ^px^0^ ^0^1^11^Strichbreite in Pixel^2100^^^integer^
56^Fortlaufende Skala^continous scales^^ ^0^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^
57^Kategorie-Skala^categorical scales^^ ^0^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^
58^Datums-Skala^date scales^^ ^0^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^
60^Farbschema-Typ^schemetype^^ ^0^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^20^Art der Farbverteilung in Diagrammelementen^304^^^string^
61^Grafik-Elementtyp^marks^ ^ ^0^Plot.line|Plot.dot|Plot.areaX|Plot.areaY.|Plot.barX|Plot.barY|Plot.rectX|Plot.rectY|Plot.ruleX|Plot.ruleY|Plot.tickX|Plot.tickY|Plot.arrow|Plot.cell|Plot.text|Plot.link|Plot.image^0^2^12^Ausrichtung und Form der grafischen Elemente^301^^^string^
63^X: Label-Abstand^labelOffset_x^^^0^ ^0^1^18^Label-Abstand von Achse^602^^^integer^
68^Maß: Chart-Abstand^gridChartOffset^^ ^0^ ^0^1^18^ ^607^^^string^
69^Maß: Label-Höhe^gridLabelHeight^^^0^ ^0^1^18^ ^608^^^integer^
70^X-Achse^x^ ^ ^0^ ^0^1^5^X-Achsendefinition^100^^^string^
72^Y-Achse^y^ ^ ^0^ ^0^1^5^Y-Achsendefinition^200^^^string^
73^Maß 1^measure1^ ^ ^0^ ^0^2^5^Maß^300^^^string^
76^Serien-Dimension^stroke^ ^ ^0^ ^0^1^5^Serien-Dimension zusätzlich zu Achsen^300^^^string^
78^Legende^legend^ ^ ^0^true|false^0^2^22^ ^303^^^boolean^
79^Beschriftung^text^ ^ ^0^ ^0^1^5^Nur für Grafikelement Wertelabel^400^^^string^
80^Serienfarbe^fill^ ^ ^0^ ^0^1^22^Nur für Grafikelemente Balken und Linien: Merkmal der Serien-Dimension^305^^^string^
81^Y: Label-Abstand^labelOffset_y^^^0^ ^0^1^21^Label-Abstand von Achse^602^^^integer^
82^Y: Label-Ausrichtung^labelAnchor_y^^ ^0^left|center|right^0^2^21^Label-Position^601^^^string^
83^Y: Schriftgröße^tickSize_y^^ ^0^ ^0^1^21^Größe der Achsenwerte^603^^^integer^
84^Y: Schriftneigung^tickRotate_y^^ ^0^ ^0^1^21^Neigungswinkel der Achsenwerte^604^^^integer^
85^Y: Skalierung^ticks_y^^ ^0^ ^0^1^21^Feinheit der Wertegliederung^605^^^integer^
86^X: Label^label_x^^ ^0^ ^0^1^18^Label X-Achse^602^^^string^
87^Y: Label^label_y^^ ^0^ ^0^1^21^Label Y-Achse^602^^^string^
88^Punktdicke^r^^ ^0^ ^0^1^5^Punktdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^
91^Quell-Dimension^viz_source^^ ^0^ ^0^1^5^ ^608^^^string^
92^Ziel-Dimension 1^viz_target1^^ ^0^ ^0^1^5^ ^608^^^string^
93^X: Linie^line_x^true^ ^0^true|false^0^2^18^Linie X-Achse^602^^^boolean^
94^Y: Linie^line_y^true^ ^0^true|false^0^2^21^Linie Y-Achse^602^^^boolean^
95^Dimension 1^dimension1^ ^ ^0^ ^0^2^5^Dimension 1^100^^^string^
96^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^200^^^string^
97^Leerzeilen-Maskierung^null_value_mask^ ^ ^0^ ^0^1^10^Text, der ersetzt wird, wenn eine Dimension leer ist, z.B. *Andere Hochschule* bei BA-MA-Übergang^700^^^string^
98^Y-Wertebereich^domain^ ^ ^0^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^
99^X: Skala^scale_x^band^ ^0^linear|identity|point|band|time^0^2^18^ ^1000^^^string^
100^Strichlinie Abstand-Intervalle^strokeDasharray^ ^ ^0^ ^0^1^11^Abstand von Bindestrichen (Komma-separierte Pixel), z.B. [10,5] für 10 und dann 5 Pixel Abstand^2000^^^string^
101^Offset (horizontal)^dx^ ^px^0^ ^0^1^10^Horizontales Offset des Grafikelements in Pixel^1600^^^integer^
102^Offset (vertikal)^dy^ ^px^0^ ^0^1^10^Vertikales Offset des Grafikelements in Pixel^1700^^^integer^
103^Textuelle Beschreibung des Grafikelements^ariaDescription^ ^ ^0^ ^0^1^11^für barrierearme Grafiken^1100^^^string^
104^CSS-Klasse^className^ ^ ^0^ ^0^1^11^Klassenname des Grafikelements für CSS-basierte Layouts^1400^^^string^
105^CSS-Filter für Bilder^imageFilter^ ^ ^0^ ^0^1^11^z.B. blur(5px)^1500^^^string^
106^Deckungsgrad Objekt^opacity^ ^ ^0^ ^0^1^11^Deckungsrad (opacity) des Grafikelements zwischen 0 und 1^1900^0^1^string^
107^Tooltip einschalten^tip^ ^ ^0^true|false^0^2^10^Sollen implizite Tooltips angezeigt werden (true,false)^2200^^^boolean^
108^Strichfarbe^stroke_static^ ^ ^0^ ^0^3^11^Strichfarbe (einfach)^1200^^^string^
109^Zusätzl. Sortierung^sortchannel^ ^ ^0^ ^0^1^5^Standardmäßig wird nach den Achsendimensionen alphabetisch aufsteigend sortiert. Wenn Sie nach einem anderen Merkmal sortieren wollen, geben Sie dies hier an (z.B. die Zeilennummer, um die Sortierung der Datentabelle zu nutzen). Nützlich z.B. um Semesternamen zu sortieren.^500^^^string^
110^Innerer Radius^innerRadius^0^ ^0^ ^0^1^10^Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^400^0^100^string^
111^Beschriftung Radius^labelRadiusFactor^80^ ^0^ ^0^1^10^Beschrftungs-Radius Faktor bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^500^0^100^string^
112^Kanten-Radius^cornerRadius^10^px^0^ ^0^1^10^Ecken-Radius bei Tortendiagrammen (in Pixel). Bei 0 wird keine gerundete Kante genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.^600^0^50^string^
113^Label-Deckungsgrad^labelOpacity^70^ ^0^ ^0^1^10^Deckungsgrad Faktor bei Beschriftungen (Faktor in %). Bei 100 ist maximale Deckung erreicht^700^0^100^string^

1
src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl

@ -5,4 +5,3 @@ @@ -5,4 +5,3 @@
5^TEXTAREA^Großes Textfeld^
6^CHECKBOX^Ankreuzfeld^
7^NODE^Knotenelement^
8^COLORPALETTE^Farbpalette^

1
src-modules/module/viz/schluesseltabellen/viz_renderer.unl

@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
1^d3js^D3JS (V7)^
2^plot^Observable Plot^
3^echarts^Apache Echarts^
4^viz^VIZ Basistools^

25
src-modules/module/viz/upgrade/viz_upgrade_man.sql

@ -5,16 +5,11 @@ select sp_table_exists('k_astat_abschl_grp') from xdummy; @@ -5,16 +5,11 @@ select sp_table_exists('k_astat_abschl_grp') from xdummy;
</sqlvar>
</sqlvars>
alter table viz_chart alter column chart_width type varchar(255);
alter table viz_chart alter column chart_height type varchar(255);
alter table viz_chart alter column chart_miniature_width type varchar(255);
alter table viz_chart alter column chart_miniature_height type varchar(255);
update viz_chart set chart_width=600 where chart_width is null;
update viz_chart set chart_height=400 where chart_height is null;
update viz_chart set chart_width='600' where chart_width is null;
update viz_chart set chart_height='400' where chart_height is null;
update viz_chart set chart_miniature_width='600' where chart_miniature_width is null;
update viz_chart set chart_miniature_height='400' where chart_miniature_height is null;
update viz_chart set chart_miniature_width=600 where chart_miniature_width is null;
update viz_chart set chart_miniature_height=400 where chart_miniature_height is null;
<#if k_astat_abschl_grp_exists==1>
--Querabhängigkeit zum Kernmodul 5.2 abwärtskomp.:
@ -47,15 +42,3 @@ alter table dim_studiengang add column ist_lehramt smallint default 0; @@ -47,15 +42,3 @@ alter table dim_studiengang add column ist_lehramt smallint default 0;
</#if>
--obsolete Masken oder in Entwicklung:
update themenbaum set gueltig_bis=date_val('01.01.2000') where maskeninfo_id=44100;
update viz_chart set chart_active=0
where uniquename in ('STUD_FAK_ABGRP_STG_SUNBURST','STUD_FAK_KURZ_PIE','STUD_FAK_KURZ_DONUT_JB');
delete from viz_type_property where viz_type_id in (
select T.tid from viz_type T
where T.uniquename in ('echarts_bar_x_series','echarts_bar_y_series','echarts_line_x_series','echarts_line_y_series'));
delete from viz_type
where uniquename in ('echarts_bar_x_series','echarts_bar_y_series','echarts_line_x_series','echarts_line_y_series');

1071
superx/style/sx_viz_muster.css

File diff suppressed because it is too large Load Diff

22
superx/xml/js/viz/viz_assistent.js

@ -656,7 +656,7 @@ function resetChartPropertiesForm(chosenRenderer) @@ -656,7 +656,7 @@ function resetChartPropertiesForm(chosenRenderer)
myChartModel=new chartModel(1,"",document.getElementById("fldVizRenderer").value,rsTableMetaData);
renderChart('chartDiv',myChartModel);
//Show Plot Code if renderer =plot:
/*var myDiv=document.getElementById("chartCodeDiv");
var myDiv=document.getElementById("chartCodeDiv");
if(chosenRenderer=="plot" || chosenRenderer=="echarts")
myDiv.style.display="block";
else
@ -666,7 +666,7 @@ function resetChartPropertiesForm(chosenRenderer) @@ -666,7 +666,7 @@ function resetChartPropertiesForm(chosenRenderer)
document.getElementById("fldChartTypeSelection").style="display:block;";
else
document.getElementById("fldChartTypeSelection").style="display:none;";
*/
createChartElementConfig1Form(chosenRenderer,null);
return true;
}
@ -1039,30 +1039,12 @@ function renderTreeInput(chartProperty,inputId, previousValue) @@ -1039,30 +1039,12 @@ function renderTreeInput(chartProperty,inputId, previousValue)
zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">";
zs+="</input></span>";
break;
case "COLORPALETTE":
zs="&nbsp;<span class=\"field\"><select " +styleAttr+" id=\""+inputId+"\" name=\""+inputId+"\"";
zs+=" value=\""+previousValue +"\" onChange=\"treeInputOnchange('chartDiv',myChartModel);\" >";
var opts=convertvizColorSchemesToInputValues(); //vizColorSchemes.map(vizColorScheme => vizColorScheme.uniquename);
zs+=getTreeInputSelectOptions(opts,previousValue,chartProperty.isMandatory) ;
zs+="</select></span>";
break;
default:
zs="Unbekannter Feldtyp";
break;
}
return zs;
}
function convertvizColorSchemesToInputValues()
{
var vals=[];
for(var i=0;i<vizColorSchemes.length;i++){
var o=new selectionPropertyValue(i,vizColorSchemes[i].caption,vizColorSchemes[i].uniquename,false)
vals.push(o);
}
return vals;
}
function changeColorWithColorPicker(colorpickerInput,targetInputid)
{
document.getElementById(targetInputid).value=colorpickerInput.value;

757
superx/xml/js/viz/viz_viewer.js

@ -160,76 +160,33 @@ function openModalCardDetail(ergebniselementOrdnr) @@ -160,76 +160,33 @@ function openModalCardDetail(ergebniselementOrdnr)
}
function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel,seriesDistinctColumnValues)
function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
{
var dataset =new Array();
var dataset0=new Array();
var chartType=(currentChartModel!=null)?currentChartModel.chartElements[0].vizTypeUniquename : "echarts_generic";
var chartType=currentChartModel.chartElements[0].vizTypeUniquename;
//Identify dimensions and measures:
switch (chartType) {
case "echarts_pie":
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","measure1");
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension1");
var seriesFldname=getChartElementPropertyValueFromModel(currentChartModel,"1","stroke");
dataset0={source:fillEchartsDataSetNameValue(rs[0],rsColumnMetaData[0],dimension1Fldname,measure1Fldname,seriesFldname,seriesDistinctColumnValues)};
dataset.push(dataset0);
//dataset=fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure1Fldname,seriesFldname,seriesDistinctColumnValues);
if(seriesFldname && seriesDistinctColumnValues && seriesDistinctColumnValues.length>0)
{
dataset=(getEchartsDatasetWithTransformFilters(dataset,seriesFldname,seriesDistinctColumnValues));
}
dataset=fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure1Fldname);
break;
case "echarts_bar_y_series":
case "echarts_line_y_series":
//obsolet
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","stroke");
var seriesSelectionLine=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_line");
var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column");
dataset=fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn);
break;
case "echarts_generic":
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break;
default:
//dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
var seriesFldname=getChartElementPropertyValueFromModel(currentChartModel,"1","stroke");
dataset0=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
//{source:fillEchartsDataSetNameValue(rs[0],rsColumnMetaData[0],dimension1Fldname,measure1Fldname,seriesFldname,seriesDistinctColumnValues)};
dataset.push(dataset0);
//dataset=fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure1Fldname,seriesFldname,seriesDistinctColumnValues);
if(seriesFldname && seriesDistinctColumnValues && seriesDistinctColumnValues.length>0)
{
dataset=(getEchartsDatasetWithTransformFilters(dataset,seriesFldname,seriesDistinctColumnValues));
}
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break;
}
return dataset;
}
function getEchartsDatasetWithTransformFilters(myDataset,seriesFieldname,seriesDistinctColumnValues)
{
var i=0;
seriesDistinctColumnValues.forEach((row) => {
var transformObj={
transform: {
type: 'filter',
config: { dimension: seriesFieldname, value: row}
}
}
i++;
if(i<10)
{
//mehr als 10 Serien sind nicht darstellbar, eigentlich sollten es 2-3 sein
myDataset.push(transformObj);
}
});
return myDataset;
}
function fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn)
{
var myDimensions=[];
@ -439,7 +396,7 @@ function fillEchartsDataSetCrosstab(myRs,myRsMetaData,dimension1Fldname,dimensio @@ -439,7 +396,7 @@ function fillEchartsDataSetCrosstab(myRs,myRsMetaData,dimension1Fldname,dimensio
}*/
return datasetSourceRow;
}
function fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure1Fldname,seriesFldname,seriesDistinctColumnValues)
function fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure1Fldname)
{
var datasetSourceRow=new Array();
var datasetSourceCol=new Array();
@ -447,20 +404,13 @@ function fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure @@ -447,20 +404,13 @@ function fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure
var columnCount=myRsMetaData.length;
var rowCount=myRs.length;
if(seriesFldname)
{
datasetSourceCol=[dimension1Fldname,measure1Fldname,seriesFldname];
}
else
{
datasetSourceCol=[dimension1Fldname,measure1Fldname];
}
datasetSourceCol=[dimension1Fldname,measure1Fldname];
datasetSourceRow.push(datasetSourceCol);
//now the data:
//bei pie chartdimensions:myDimensionss ist die erste Spalte der Name, die zweite der Wert:
var dimension1Value;
var seriesFldValue;
var measure1Value;
myRs.forEach((row) => {
for (var col in row) {
@ -469,17 +419,11 @@ function fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure @@ -469,17 +419,11 @@ function fillEchartsDataSetNameValue(myRs,myRsMetaData,dimension1Fldname,measure
dimension1Value=row[col];
if(col==measure1Fldname)
measure1Value=row[col];
if(col==seriesFldname)
seriesFldValue=row[col];
}
var datasetSourceCol=new Array();
datasetSourceCol.push(dimension1Value);
datasetSourceCol.push(measure1Value);
if(seriesFldname)
{
datasetSourceCol.push(seriesFldValue);
}
datasetSourceCol.push(measure1Value);
datasetSourceRow.push(datasetSourceCol);
@ -539,9 +483,6 @@ function renderChartSVGFromModel(currentChartModel,targetDiv,ergebniselementOrdn @@ -539,9 +483,6 @@ function renderChartSVGFromModel(currentChartModel,targetDiv,ergebniselementOrdn
case "echarts":
renderEChart2(currentChartModel,targetDiv,ergebniselementOrdnr,title);
break;
case "viz":
renderVizBaseTools(currentChartModel,targetDiv,ergebniselementOrdnr,title);
break;
default:
alert("No renderer");
break;
@ -1525,7 +1466,6 @@ function getPlotOptionsObj(chartPropertiesUsed,currentChartModel) @@ -1525,7 +1466,6 @@ function getPlotOptionsObj(chartPropertiesUsed,currentChartModel)
/*echarts:*/
function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitle)
{
var seriesDistinctColumnValues=new Array();
//first empty the element, if necessary:
var chartDivElem=document.getElementById(chartDiv);
while (chartDivElem.firstChild) {
@ -1540,12 +1480,7 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl @@ -1540,12 +1480,7 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
var titleText=chartTitle;
if(chartTitle=="")
titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption");
var seriesFieldname=getChartElementPropertyValueFromModel(currentChartModel,"1","stroke");
if(seriesFieldname && seriesFieldname!="")
{
seriesDistinctColumnValues=getDistinctColumnValues(rs[ergebniselementOrdnr],seriesFieldname);
}
var myDataset=fillEchartsDataSet(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],currentChartModel,seriesDistinctColumnValues);
var myDataset=fillEchartsDataSet(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],currentChartModel);
if(chartType=="echarts_native_interactive")
{
var option;
@ -1651,7 +1586,7 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl @@ -1651,7 +1586,7 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
case "echarts_line_x":
case "echarts_line_y":
case "echarts_bar_y":
option=getEchartOptionsBarLine(currentChartModel,myDataset,chartType,titleText,seriesDistinctColumnValues);
option=getEchartOptionsBarLine(currentChartModel,myDataset,chartType,titleText);
break;
case "echarts_bar_y_series":
case "echarts_line_y_series":
@ -1659,13 +1594,9 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl @@ -1659,13 +1594,9 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
break;
case "echarts_pie":
option=getEchartOptionsPie(currentChartModel,myDataset,seriesDistinctColumnValues);
option=getEchartOptionsPie(currentChartModel,myDataset,titleText);
break;
case "echarts_sankey":
option=getEchartOptionsSankey(currentChartModel,myDataset);
break;
case "echarts_native":
case "echarts_native":
option=getEchartOptionsNative(currentChartModel,myDataset,titleText);
break;
@ -1680,150 +1611,10 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl @@ -1680,150 +1611,10 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
document.getElementById("chartCodeTextArea").innerHTML=prettifyJson(JSON.stringify(option));
myChart.setOption(option);
window.addEventListener('resize', myChart.resize);
}
}
function renderVizBaseTools(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitle)
{
var chartType=currentChartModel.chartElements[0].vizTypeUniquename;
var titleText=chartTitle;
if(chartTitle=="")
titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption");
//first empty the element, if necessary:
var chartDivElem=document.getElementById(chartDiv);
while (chartDivElem.firstChild) {
chartDivElem.removeChild(chartDivElem.firstChild);
}
switch (chartType)
{
case "simpleTable":
var zs=vizBaseToolSimpleTable(currentChartModel,rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],rs[ergebniselementOrdnr].length,titleText);
break;
case "simplePivotTable":
var rowdim1Prop=currentChartModel.chartElements[0].elementTypeProperties.find(o => o.vizTypePropertyUniquename == "rowdim1");
var rowdim1 =rowdim1Prop?rowdim1Prop.propertyValue:null;
var coldim1Prop=currentChartModel.chartElements[0].elementTypeProperties.find(o => o.vizTypePropertyUniquename == "coldim1");
var coldim1 =coldim1Prop?coldim1Prop.propertyValue:null;
var measure1Prop=currentChartModel.chartElements[0].elementTypeProperties.find(o => o.vizTypePropertyUniquename == "measure1");
var measure1 =measure1Prop?measure1Prop.propertyValue:null;
//TODO: rowdim2, coldim2 etc.
var tableArray=generateCrosstab(rs[ergebniselementOrdnr],rsColumnMetaData[ergebniselementOrdnr],rowdim1,coldim1,measure1);
zs=vizBaseToolArray2Table(currentChartModel,tableArray,tableArray.length,titleText)
//zs=JSON.stringify(tableArray);
break;
default:
zs="Unknown VIZ type";
break;
}
chartDivElem.innerHTML=zs;
}
function vizBaseToolSimpleTable(currentChartModel,mydata,metadata,rowcount,titleText)
{
var tableClass=getCssClassAttr(currentChartModel,"tableCssClass");
var theadCssClass=getCssClassAttr(currentChartModel,"theadCssClass");
var thCssClass=getCssClassAttr(currentChartModel,"thCssClass");
var tdDataCssClass=getCssClassAttr(currentChartModel,"tdDataCssClass");
var tfootCssClass=getCssClassAttr(currentChartModel,"tfootCssClass");
var title_display=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title_display");
zs=vizBaseToolTableHead(titleText,tableClass,theadCssClass,title_display);
zs+="<tr>";
for(var col=0;col < metadata.length;col++)
{
if(metadata[col].nr)
{
zs+="<th"+thCssClass+">"+metadata[col].colcaption+"</th>";
}
}
zs +="</tr></thead><tbody>";
for(row=0;row<rowcount;row++)
{
if(mydata[row])
{
zs+="<tr>";
for(var col=0;col < metadata.length;col++)
{
if(metadata[col].nr)
{
zs+="<td"+tdDataCssClass+">"+mydata[row][metadata[col].colname]+"</td>";
}
}
zs+="</tr>";
}
}
zs+="</tbody>";
//TODO:tfoot wenn Summenzeile da ist
zs+="</table>";
return zs;
}
function vizBaseToolTableHead(titleText,tableClass,theadCssClass,title_display)
{
var zs="<table"+tableClass+">";
if(title_display=="embedded" )
{
zs+="<caption>"+titleText+"</caption>";
}
zs+="<thead"+theadCssClass+">";
return zs;
}
function vizBaseToolArray2Table(currentChartModel,mydata,rowcount,titleText)
{
var tableClass=getCssClassAttr(currentChartModel,"tableCssClass");
var theadCssClass=getCssClassAttr(currentChartModel,"theadCssClass");
var thCssClass=getCssClassAttr(currentChartModel,"thCssClass");
var tdDataCssClass=getCssClassAttr(currentChartModel,"tdDataCssClass");
var tfootCssClass=getCssClassAttr(currentChartModel,"tfootCssClass");
var title_display=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title_display");
zs=vizBaseToolTableHead(titleText,tableClass,theadCssClass,title_display);
zs+="<tr>";
for(var col=0;col < mydata[0].length;col++)
{
if(mydata[0][col])
{
zs+="<th"+thCssClass+">"+mydata[0][col]+"</th>";
}
}
zs +="</tr></thead><tbody>";
for(row=1;row<rowcount;row++)
{
if(mydata[row])
{
zs+="<tr>";
for(var col=0;col < mydata[row].length;col++)
{
if(mydata[row][col])
{
zs+="<td"+tdDataCssClass+">"+mydata[row][col]+"</td>";
}
}
zs+="</tr>";
}
}
zs+="</tbody></table>";
return zs;
}
function getCssClassAttr(currentChartModel,cssClassName)
{
var ret="";
var propval=getChartPropertyValue(currentChartModel.chartPropertiesUsed,cssClassName);
if(propval!="")
{
ret=" class=\""+propval+"\"";
}
return ret;
}
/*
function determineChartSkeleton(datasourceDef,ergebniselementOrdnr)
{
@ -1880,7 +1671,7 @@ function closeModalCardDetail(ergebniselementOrdnr) @@ -1880,7 +1671,7 @@ function closeModalCardDetail(ergebniselementOrdnr)
myModalCard.classList.remove('is-active');
}
function getEchartOptionsBarLine(currentChartModel,myDataset,chartType,titleText,seriesDistinctColumnValues)
function getEchartOptionsBarLine(currentChartModel,myDataset,chartType,titleText)
{
//TODO: bar_x und y abfangen'
var chartTypes = chartType.split(/_/);
@ -1905,7 +1696,7 @@ if(orientation=="x") @@ -1905,7 +1696,7 @@ if(orientation=="x")
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
//var measure1Fldname=getChartPropertyValue(currentChartModel.chartPropertiesUsed,measure1Axis);
var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myDataset,dimension1Axis,measure1Axis,seriesDistinctColumnValues,myPalette);
var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,dimension1Axis,measure1Axis,myPalette);
//var dimension1Fldname=getChartPropertyValue(currentChartModel.chartPropertiesUsed,dimension1Axis);
@ -1960,7 +1751,7 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myD @@ -1960,7 +1751,7 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myD
axisLabel: {
inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_x"),
fontSize: "1.5em",
fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_x"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_x"),
/*formatter: function (value, index) {
@ -1976,7 +1767,7 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myD @@ -1976,7 +1767,7 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myD
axisLabel: {
inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"),
fontSize: "2em",
fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_y"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_y"),
distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_y"),
@ -1991,9 +1782,8 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myD @@ -1991,9 +1782,8 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,myD
return option;
}
function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimension1Axis,measure1Axis,myPalette)
function getEchartSeriesArray(currentChartModel,chartType,orientation,dimension1Axis,measure1Axis,myPalette)
{
//obsolet
var seriesArray= new Array();
for(var k=0;k < currentChartModel.chartElements.length;k++) {
@ -2018,7 +1808,7 @@ function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimensi @@ -2018,7 +1808,7 @@ function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimensi
color: '#dfe4f2'
},
margin: 50,
fontSize: "2em",
fontSize: 14,
colorBy: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"seriesColorBy"),//'series',// 'data',
//color: myPalette,
lineStyle: {
@ -2027,7 +1817,7 @@ function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimensi @@ -2027,7 +1817,7 @@ function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimensi
label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="false")?false:true, //true
fontWeight:'bolder',
fontSize: "2em",
fontSize: 14,
distance:30,
//offset:[30, 40],
// position:"bottom",
@ -2051,111 +1841,6 @@ function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimensi @@ -2051,111 +1841,6 @@ function getEchartSeriesArrayAlt(currentChartModel,chartType,orientation,dimensi
}
function getEchartSeriesArray(currentChartModel,chartType,orientation,myDataset,dimension1Axis,measure1Axis,seriesDistinctColumnValues,myPalette)
{
var seriesArray= new Array();
for(var k=0;k < currentChartModel.chartElements.length;k++) {
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,k+1,measure1Axis);
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,k+1,dimension1Axis);
var encodeObj={x:dimension1Fldname,y:measure1Fldname};
var datasource=currentChartModel.dataSources[0].value;
var measureCaption=getMetadataOfVizTypeProperty(rsColumnMetaData[datasource],measure1Fldname);
if(orientation=="x")
encodeObj={y:dimension1Fldname,x:measure1Fldname};
var seriesFldname=getChartElementPropertyValueFromModel(currentChartModel,k+1,"stroke");
if(seriesFldname && seriesFldname !="")
{
var dsIndex=1;
seriesDistinctColumnValues.forEach((row) => {
var seriesObj=createBarLineSeriesObj(currentChartModel,chartType,orientation,row,encodeObj,dsIndex);
seriesArray.push(seriesObj);
dsIndex++;
});
//var sdn=new sankeyDataNode(sourceName,sdnl);
}
else
{
//keine Serien-Dimension:
var mySeriesObj=createBarLineSeriesObj(currentChartModel,chartType,orientation,measureCaption,encodeObj,0);
seriesArray.push(mySeriesObj);
}
} //Ende Schleife chartElements
return seriesArray;
}
function getDistinctColumnValues(myRs,fieldname)
{
var distinctValues=new Array();
myRs.forEach(row => {
var newName = row[fieldname];
if(newName !="")
{
if( distinctValues.length==0)
{
distinctValues.push(newName);
}
else if( distinctValues.length>0 && !distinctValues.includes(newName))
{
distinctValues.push(newName);
}
}
});
return distinctValues;
}
function createBarLineSeriesObj(currentChartModel,chartType,orientation,measureCaption,encodeObj,datasetIndex)
{
var localSeriesObj={
type: chartType, //bar,line,
name:measureCaption,
smooth: true,
encode: encodeObj,
datasetIndex:datasetIndex,
stack:"myStack",
barWidth: '30%',
showBackground: true,
backgroundStyle: {
color: '#dfe4f2'
},
margin: 50,
fontSize: "2em",
colorBy: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"seriesColorBy"),//'series',// 'data',
//color: myPalette,
lineStyle: {
width: 7
},
label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="false")?false:true, //true
fontWeight:'bolder',
fontSize: "2em",
distance:30,
//offset:[30, 40],
// position:"bottom",
/*labelLayout:{}*/
position:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"position_valueLabel"), //"bottom",
offset: getOffsetValuelabelArray(getChartPropertyValue(currentChartModel.chartPropertiesUsed,"offset_x_valueLabel"),
getChartPropertyValue(currentChartModel.chartPropertiesUsed,"offset_y_valueLabel")),
formatter: function (params) {
return params.value[params.dimensionNames[params.encode.y[0]]].toLocaleString()
}
},
labelLayout(params) {
return getLabelLayout(chartType,params,orientation)
}
};
return localSeriesObj;
}
function getEchartOptionsBarLineSeries(currentChartModel,myDataset,chartType,titleText)
{
//TODO: bar_x und y abfangen'
@ -2261,7 +1946,7 @@ var option = { @@ -2261,7 +1946,7 @@ var option = {
axisLabel: {
inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_x"),
fontSize: "1.5em",
fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_x"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_x"),
/*formatter: function (value, index) {
@ -2278,7 +1963,7 @@ var option = { @@ -2278,7 +1963,7 @@ var option = {
axisLabel: {
inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"),
fontSize: "1.5em",
fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_y"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_y"),
distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_y"),
@ -2345,7 +2030,7 @@ function getEchartOptionsNative(currentChartModel,myDataset) @@ -2345,7 +2030,7 @@ function getEchartOptionsNative(currentChartModel,myDataset)
return options;
}
function getEchartOptionsPie(currentChartModel,myDataset,seriesDistinctColumnValues)
function getEchartOptionsPie(currentChartModel,myDataset)
{
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","measure1");
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension1");
@ -2353,32 +2038,12 @@ var titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"capti @@ -2353,32 +2038,12 @@ var titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"capti
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray");
var myPalette=getPaletteArray(scheme,"");
var echartsSeriesPie=new Array;
var titleTextArray=new Array;
if(seriesDistinctColumnValues && seriesDistinctColumnValues.length>1)
{
var dsIndex=1;
//bei Serien bekommt jede Torte eine Überschrift:
titleTextArray=getSeriesTitleArray(seriesDistinctColumnValues);
seriesDistinctColumnValues.forEach((row) => {
echartsSeriesPie.push(getEchartsSeriesPie(dsIndex,seriesDistinctColumnValues.length,currentChartModel,myPalette));
dsIndex++;
});
}
else
{
//nur eine Serie:
echartsSeriesPie.push(getEchartsSeriesPie(0,0,currentChartModel,myPalette));
}
var titleObj;
if(titleTextArray && titleTextArray.length>0)
{
titleObj=titleTextArray;
}
else
{
titleObj={
var option = {
dataset: {
source: myDataset
},
title: {
text: titleText,
subtext: subtitleText,
left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.left"), //"center",
@ -2389,54 +2054,15 @@ else @@ -2389,54 +2054,15 @@ else
subtextStyle: {
fontSize: 15
}
}
}
var option = {
dataset: myDataset,
title: titleObj,
series: echartsSeriesPie
};
return option;
},
}
function getSeriesTitleArray(seriesDistinctColumnValues)
{
var iMax=seriesDistinctColumnValues.length;
var titleArray=new Array();
var i=1;
seriesDistinctColumnValues.forEach((row) => {
var xCoord=(i*100/(iMax+1)).toString()+"%";
titleArray.push({text: row,left:xCoord });
i++;
});
return titleArray;
}
function getEchartsSeriesPie(dsIndex,dsIndexMax,currentChartModel,myPalette)
{
var centerObj=new Array();
var outerRadius=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"outerRadius");
if(dsIndex==0)
{
centerObj.push("50%"); //horizontaler Einzug
centerObj.push("25%"); //vertikaler Einzug
}
else
{
var xCoord=dsIndex*100/(dsIndexMax+1);//bei 2 Grafiken startet die erste bei 33%, die zweite bei 66%
//bei 3 Grafiken wären es 25%,50% und 75%
centerObj.push(xCoord.toString()+"%"); //horizontale Ausrichtung
centerObj.push("25%"); //y-Coord
outerRadius=100/(dsIndexMax+1);
}
var serieObj={
series: [
{
type: 'pie',// sunburst
/*encode: {
value: measure1Fldname,
name: dimension1Fldname
},*/
center:centerObj,
tooltip: {
trigger: "item"
},
@ -2465,224 +2091,12 @@ function getEchartsSeriesPie(dsIndex,dsIndexMax,currentChartModel,myPalette) @@ -2465,224 +2091,12 @@ function getEchartsSeriesPie(dsIndex,dsIndexMax,currentChartModel,myPalette)
return getLabelLayout(chartTypes[1],params,orientation)
}*/,
fontSize: 12,
radius: [getChartPropertyValue(currentChartModel.chartPropertiesUsed,"innerRadius"),outerRadius],// ['30%', '80%'], //1. Parameter inside radius, macht ihn zum Donut. 2.Parameter definiert den Anteil des Kreises am ganzen Viewport"
color: myPalette,
itemStyle: {
borderRadius: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"cornerRadiusRounded")=="true" ? [20, 5, 5, 10] :[]),
//borderRadius: [20, 5, 5, 10], //abgerundete Ecken der Tortenstücke
borderColor: '#fff',
borderWidth: 2
},
datasetIndex: dsIndex
}
return serieObj;
}
function getEchartOptionsSankey(currentChartModel,myDataset)
{
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","measure1");
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension1");
var dimension2Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension2");
var titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption");
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray");
var myPalette=getPaletteArray(scheme,"");
/*const sourceData = [
{"rownr":1,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"LA Master","ma_anfaenger_summe":2,"ba_ma_ueberg_quote":0},
{"rownr":2,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"Master","ma_anfaenger_summe":706,"ba_ma_ueberg_quote":0.36},
{"rownr":3,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"kein Master","ma_anfaenger_summe":1256,"ba_ma_ueberg_quote":0.64},
{"rownr":4,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"LA Master","ma_anfaenger_summe":1258,"ba_ma_ueberg_quote":0.9},
{"rownr":5,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"Master","ma_anfaenger_summe":21,"ba_ma_ueberg_quote":0.02},
{"rownr":6,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"kein Master","ma_anfaenger_summe":113,"ba_ma_ueberg_quote":0.08}
];*/
const sourceData =myDataset.source;
// DEBUG: Zeige die Rohdaten an
console.log('DATEN:', sourceData);
// Farbzuordnung (intensivere Töne für besseren Kontrast)
const colorMap = {
'Bachelor': '#3a5a2c',
'LA Bachelor': '#8a9e7a',
'Master': '#001e30',
'LA Master': '#5a7a90',
'kein Master': '#c0c8d0'
};
// ✅ Erstelle ein Map für die Gesamtwerte der Quellknoten (ba_abschluesse_summe)
const sourceTotalMap = new Map();
sourceData.forEach(row => {
const sourceName = row.ba_abschluss_grp_str;
const total = row.ba_abschluesse_summe;
if (!sourceTotalMap.has(sourceName)) {
sourceTotalMap.set(sourceName, total);
} else if (sourceTotalMap.get(sourceName) !== total) {
console.warn(` Inkonsequenter Gesamtwert für Quellknoten "${sourceName}": ${total} vs ${sourceTotalMap.get(sourceName)}`);
}
});
// DEBUG: Zeige die Quellgesamtwerte an
console.log('Gesamtwerte der Quellknoten (ba_abschluesse_summe):', Object.fromEntries(sourceTotalMap));
// ✅ Generiere die Links mit Farbverlauf (Gradienten)
const links = sourceData.map(row => {
const source = row.ba_abschluss_grp_str;
const target = row.ma_abschluss_grp_str;
const value = row.ma_anfaenger_summe;
const sourceColor = colorMap[source];
const targetColor = colorMap[target];
return {
source,
target,
value,
lineStyle: {
width: 2,
color: echartsSankeyCreateGradientColor(sourceColor, targetColor),
opacity: 0.3
}
};
});
// DEBUG: Zeige die generierten Links an
console.log('GENERIERTE LINKS mit Gradienten:', links);
// ECharts Option
var option = {
title: {
text: 'Übergang von Bachelor zu Master',
left: 'center',
textStyle: { fontSize: 16 }
},
tooltip: {
trigger: 'item',
triggerOn: 'mousemove',
formatter: function (params) {
if (params.dataType === 'node') {
const nodeName = params.name;
// Knotenfarbe als Tooltip-Farbe
const color = colorMap[nodeName] || '#ccc';
// Prüfe, ob der Knoten als Quelle oder Ziel vorkommt
const isSource = links.some(link => link.source === nodeName);
const isTarget = links.some(link => link.target === nodeName);
if (isSource && !isTarget) {
// Nur Quelle (links): Name + ba_abschluesse_summe
const total = sourceTotalMap.get(nodeName);
return `<span style="color:${color}; font-weight:bold">${nodeName}-Abschlüsse: ${total}`;
} else if (isTarget) {
// Ziel (rechts): Name + summierte ankommende Werte
const incomingValue = links
.filter(link => link.target === nodeName)
.reduce((sum, link) => sum + link.value, 0);
return `<span style="color:${color}; font-weight:bold">${nodeName}-Studiengänge: ${incomingValue}`;
} else {
return nodeName;
}
} else {
// Link-Tooltip
return params.data.source + ' --> ' + params.data.target + ': ' + params.data.value;
}
}
},
series: {
name: 'Bachelor-Master Übergänge',
type: 'sankey',
layout: 'none',
nodeGap: 25, // ← Erhöhter vertikaler Abstand
nodeWidth: 60, // ← Breite der Knoten
emphasis: {
focus: 'adjacency'
},
data: [
{
name: 'Bachelor',
itemStyle: { color: colorMap['Bachelor'] },
label: { position: 'left', show: true, fontSize: 12, color: '#333' }
},
{
name: 'LA Bachelor',
itemStyle: { color: colorMap['LA Bachelor'] },
label: { position: 'left', show: true, fontSize: 12, color: '#333' }
},
{
name: 'Master',
itemStyle: { color: colorMap['Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
},
{
name: 'LA Master',
itemStyle: { color: colorMap['LA Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
},
{
name: 'kein Master',
itemStyle: { color: colorMap['kein Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
}
],
links: links,
label: {
show: true,
fontSize: 12,
color: '#333'
},
lineStyle: {
width: 2,
color: 'source'
// , opacity: 0.9,
// curveness: 0.3
}
}
};
var option2 = {
dataset: {
source: myDataset
},
title: {
text: titleText,
subtext: subtitleText,
left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.left"), //"center",
top: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.top"), //"top",
textStyle: {
fontSize: 20
},
subtextStyle: {
fontSize: 15
}
},
series: [
{
type: 'pie',// sunburst
/*encode: {
value: measure1Fldname,
name: dimension1Fldname
},*/
tooltip: {
trigger: "item"
},
stillShowZeroSum: false,
label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="true")?true:false, //true
fontWeight:'bolder',
formatter: '{c}'
} ,
fontSize: 12,
radius: [getChartPropertyValue(currentChartModel.chartPropertiesUsed,"innerRadius"),getChartPropertyValue(currentChartModel.chartPropertiesUsed,"outerRadius")],// ['30%', '80%'], //1. Parameter inside radius, macht ihn zum Donut. 2.Parameter definiert den Anteil des Kreises am ganzen Viewport"
color: myPalette,
itemStyle: {
borderRadius: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"cornerRadiusRounded")=="true" ? [20, 5, 5, 10] :[]),
//borderRadius: [20, 5, 5, 10], //abgerundete Ecken der Tortenstücke
borderColor: '#fff',
borderWidth: 2
}
@ -2693,18 +2107,6 @@ var option2 = { @@ -2693,18 +2107,6 @@ var option2 = {
return option;
}
// ✅ Funktion: Erzeugt einen Farbverlauf von sourceColor zu targetColor
function echartsSankeyCreateGradientColor(sourceColor, targetColor) {
return {
type: 'linear',
x: 0, y: 0, x2: 1, y2: 0,
colorStops: [
{ offset: 0, color: sourceColor },
{ offset: 1, color: targetColor }
]
};
}
function getChartPropertyValue(propArray,propName)
{
@ -3201,7 +2603,7 @@ function openKachelDetails(ergebniselementOrdnr,formName,maskeninfoTID,grafikUni @@ -3201,7 +2603,7 @@ function openKachelDetails(ergebniselementOrdnr,formName,maskeninfoTID,grafikUni
function exportVizBooklet(contenttype,stylesheet)
{
document.forms['Weiterverarbeitung'].stylesheet.value = stylesheet;
document.forms['Weiterverarbeitung'].tablestylesheet.value = stylesheet;
//document.forms['Weiterverarbeitung'].tablestylesheet.value = stylesheet;
document.forms['Weiterverarbeitung'].contenttype.value = contenttype;
document.forms['Weiterverarbeitung'].target = '_blank';
document.forms['Weiterverarbeitung'].submit();
@ -3368,87 +2770,6 @@ function pivotTable(rsData,rsMetaData,srcColNrStart) @@ -3368,87 +2770,6 @@ function pivotTable(rsData,rsMetaData,srcColNrStart)
console.log(rsDataPivot);
*/
return rsDataPivot;
}
function generateCrosstab(rsData,rsMetaData,rowdim1,coldim1,measure1)
{
/*erzeugt einen Array als Kreuztabelle
TODO: rowdim1 auswerten, derzeit noch nicht impl.*/
var rsDataPivot=new Array();
var nrSourceRows=rsData.length;
var nrSouceCols=rsMetaData.length;
var rsRow=new Array();
var zs="";
var targetRownr=0;
var rowdim1Prop=rsMetaData.find(obj => obj.colname == rowdim1);
var rowdim1Nr =rowdim1Prop?rowdim1Prop.nr:null;
var coldim1Prop=rsMetaData.find(obj => obj.colname == coldim1);
var coldim1Nr =coldim1Prop?coldim1Prop.nr:null;
var measure1Prop=rsMetaData.find(obj => obj.colname == measure1);
var measure1Nr =measure1Prop?measure1Prop.nr:null;
var coldim1Caption=rsMetaData.find(obj => obj.colname == coldim1).colcaption;
//first line will have headers:
var rownr=0;
//Variable zs ist nur zum Debuggen
zs+=coldim1Caption+"|";
rsRow[rownr]=coldim1Caption; //TODO: rowdim1
rownr++;
rsData.forEach((row) => {
var colnr=0;
for (var col in row) {
if(colnr==coldim1Nr)
{
zs+=row[col]+"|";
rsRow[rownr]=row[col];
}
colnr++;
}
rownr++;
}
);
zs +="\n";
targetRownr++;
rsDataPivot.push(rsRow);
//now the data:
var metaDataColnr=0;
rsMetaData.forEach((col) => {
if(metaDataColnr>=measure1Nr && col.colcaption.trim()!="")
{
//start a new row:
var rsRow=new Array();
var colname=col.colname;
zs+=col.colcaption +"|";
rsRow[0]=col.colcaption;
var targetColnr=1;
var rownr=0;
rsData.forEach((row) => {
var colnr=0;
for (var col in row) {
if(colnr==metaDataColnr)
{
zs+=row[col]+"|";
rsRow[targetColnr]=row[col];
targetColnr++;
}
colnr++;
};
rownr++;
});
zs+="\n";
rsDataPivot.push(rsRow);
}
metaDataColnr++;
});
return rsDataPivot;
}
/* color schemes from d3js */
@ -3458,12 +2779,4 @@ function colorSpecifierToArray(specifier) { @@ -3458,12 +2779,4 @@ function colorSpecifierToArray(specifier) {
return colors;
}
function toggleVizNavpanelFrame(buttonElem) {
buttonElem.classList.toggle('is-active');
if(document.getElementById("navpanelFrame").style.display=="none")
document.getElementById("navpanelFrame").style.display="flex";
else
document.getElementById("navpanelFrame").style.display="none";
}

476
superx/xml/viz_components.xsl

@ -333,9 +333,6 @@ vizTypeProperties.push(newVizTypeProperty); @@ -333,9 +333,6 @@ vizTypeProperties.push(newVizTypeProperty);
<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="importRendererLibs" />
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/viz_charts/viz_chart[@js_handler !='']">
<script language="Javascript" type="text/javascript" src="{ @js_handler }" />
</xsl:for-each>
<!--<script language="JavaScript" type="text/javascript" src="../xml/js/viz/echarts.min.js"></script>-->
<script language="JavaScript" type="text/javascript" src="../xml/js/viz/viz_viewer.js"></script>
@ -663,43 +660,50 @@ var myChartModelStr=""; @@ -663,43 +660,50 @@ var myChartModelStr="";
var myDiv="";
var rsNr=0;
]]></xsl:text>
<xsl:choose>
<xsl:when test="count(/ergebnisse/ergebnis/ergebniselement[@id='44750'])=100">
<!--TODO: DashboardMakro-->
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@id='44750']/sqlerg/row">
<xsl:variable name="ergebniselement_nr" select="col[f_name='sortnr']/wert" />
<xsl:variable name="chart_uniquename" select="col[f_name='hiddenchart_uniquename']/wert" />
<xsl:variable name="chart_title" select="col[f_name='caption']/wert" />
<xsl:variable name="ergebniselement_ordnr" select="col[f_name='hiddendatasource']/wert" />
<xsl:call-template name="buildchartDivRenderers">
<xsl:with-param name="chart_uniquename" select="$chart_uniquename" />
<xsl:with-param name="chart_title" select="$chart_title" />
<xsl:with-param name="chartDiv" select="concat('chartDiv',$ergebniselement_nr)" />
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<!--TODO: kein Dashboard Makro:-->
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="chart_title"><xsl:value-of select="../felder/feld[@varname='Grafiktitel']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_uniquename != ''">
<xsl:text>
var myRenderer='</xsl:text>
<xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@renderer" />
<xsl:text>';
</xsl:text>
<xsl:text><![CDATA[
var myChartModel=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[;
<xsl:call-template name="buildchartDivRenderers">
<xsl:with-param name="chart_uniquename" select="$chart_uniquename" />
<xsl:with-param name="chart_title" select="$chart_title" />
<xsl:with-param name="chartDiv" select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
rsNr=]]></xsl:text>
<xsl:value-of select="$ergebniselement_ordnr" />
<xsl:text><![CDATA[;
chartTitle="]]></xsl:text>
<xsl:value-of select="$chart_title" />
<xsl:text><![CDATA[";
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
myDiv="]]></xsl:text>
<!--<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text>";
//Detailseite mit Legende:
myChartModelStr='Platzhalter d';
createEchartsViewer(myChartModel,myDiv,rsNr);
myDiv="</xsl:text>
-->
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='Platzhalter_dl';
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
<xsl:text><![CDATA[
}
@ -709,10 +713,6 @@ if(myRenderer=="echarts") @@ -709,10 +713,6 @@ if(myRenderer=="echarts")
{
renderEChart2(chartModel,chartDiv,rsNr,chartTitle);
}
else if(myRenderer=="viz")
{
renderVizBaseTools(chartModel,chartDiv,rsNr,chartTitle);
}
else
{
//d3js or plot:
@ -734,57 +734,8 @@ if(myDiv.style.display=="block") @@ -734,57 +734,8 @@ if(myDiv.style.display=="block")
]]></xsl:text>
</script>
</xsl:template>
<xsl:template name="buildchartDivRenderers">
<xsl:param name="chart_uniquename" />
<xsl:param name="chart_title" />
<xsl:param name="chartDiv" select="'chartDiv0'" />
<xsl:param name="ergebniselement_ordnr" select="0" />
<xsl:if test="$chart_uniquename != ''">
<xsl:text>
var myRenderer='</xsl:text>
<xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@renderer" />
<xsl:text>';
myDiv="</xsl:text>
<xsl:value-of select="$chartDiv" />
<xsl:text><![CDATA[";
rsNr=]]></xsl:text>
<xsl:value-of select="$ergebniselement_ordnr" />
<xsl:text><![CDATA[;
chartTitle="]]></xsl:text>
<xsl:value-of select="$chart_title" />
<xsl:text>";
</xsl:text>
<xsl:choose>
<xsl:when test="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@js_handler !=''">
<xsl:text>
render_</xsl:text><xsl:value-of select="$chart_uniquename" /><xsl:text>("</xsl:text>
<xsl:value-of select="$chartDiv" />
<xsl:text>",rsNr,chartTitle);
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text><![CDATA[
var myChartModel=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel,'§',$quote)" />
<xsl:text>;
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text>
<xsl:text><![CDATA[
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='Platzhalter_dl';
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
<xsl:template name="buildVizMetadata">
<xsl:param name="fillChartModel" select="'true'" />
<xsl:variable name="vizInitialName">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
@ -837,14 +788,13 @@ var rs=new Array(); @@ -837,14 +788,13 @@ var rs=new Array();
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" />
<xsl:with-param name="fillChartModel" select="$fillChartModel" />
</xsl:call-template>
</xsl:for-each>
</xsl:template>
<xsl:template name="buildVizData">
<xsl:param name="tableId" />
<xsl:param name="fillChartModel" select="'true'" />
<script language="Javascript">
<xsl:text>
@ -869,14 +819,9 @@ rsTableMetaData.push(new tableMetaData( @@ -869,14 +819,9 @@ rsTableMetaData.push(new tableMetaData(
<xsl:text>
));
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array();
</xsl:text>
<xsl:if test="$fillChartModel='true'"><xsl:text>
var myChartModel=new chartModel(1,"","",rsTableMetaData);
</xsl:text>
</xsl:if>
<xsl:text>
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>
@ -908,7 +853,7 @@ rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(ne @@ -908,7 +853,7 @@ rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(ne
<xsl:text>,'rownr','Zeilennr.',0,4));
</xsl:text>
<xsl:variable name="headersCount" select="sqlerg/complete_headers/@count" />
<xsl:variable name="headersCount" select="sqlerg/complete_headers/header" />
<xsl:for-each select="sqlerg/complete_headers/header">
<xsl:variable name="rownr">
<xsl:value-of select="position()"/>
@ -998,39 +943,6 @@ textarea.editform { @@ -998,39 +943,6 @@ textarea.editform {
textarea.editform:focus {
height: 40em;
}
.textarea, .is-small.textarea { /*20251210 eingefügt*/
color: black;
background: white;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em;
}
.field.is-grouped { /*20251210 eingefügt*/
gap: 0.2rem; }
/*Hell-/Dunkel-Modus*/ /*20251210 eingefügt*/
@media (prefers-color-scheme: dark) {
:root { color-scheme: dark; }
.label.is-small, strong {color: black !important; }
.table th { color: black !important; }
.table {--bulma-table-background-color: white !important; }
.table {--bulma-table-color: black !important; }
.table th { color: black !important; }
.box { background-color: white !important; }
.button {
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em; }
.select:not(.is-multiple) {
background: white;
color: black; }
textarea.editform {
color: black;
background: white;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em; }
}
</style>
</xsl:template>
@ -1127,7 +1039,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> @@ -1127,7 +1039,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<div class="card">
<div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
<xsl:attribute name="style"><xsl:value-of select="concat('width:',$kachelbreite,';height:',$kachelhoehe,';')" />
<xsl:attribute name="style"><xsl:value-of select="concat('width:',$kachelbreite,'px;height:',$kachelhoehe,'px;')" />
</xsl:attribute>
<!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
</div>-->
@ -1194,7 +1106,7 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -1194,7 +1106,7 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:template name="viz_viewer_grid">
<xsl:param name="openModalCardDetail" select="'1'" />
<xsl:param name="openModalCardDetail" select="'true'" />
<!-- Variableninitialisierung fürs Dashboard:
-->
<xsl:variable name="spalten_anz">
@ -1265,32 +1177,13 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -1265,32 +1177,13 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:template name="viz_viewer_grid_cells">
<xsl:param name="kachelbreite" select="800"/>
<xsl:param name="kachelhoehe" select="600"/>
<xsl:param name="openModalCardDetail" select="'1'" />
<xsl:choose>
<xsl:when test="count(/ergebnisse/ergebnis/ergebniselement[@id='44750'])=100">
<!--TODO: Dashboard Makro:-->
<xsl:for-each select="ergebnisse/ergebnis/ergebniselement[@id='44750']/sqlerg/row">
<xsl:variable name="ergebniselement_nr" select="col[f_name='sortnr']/wert" />
<xsl:variable name="chart_uniquename" select="col[f_name='hiddenchart_uniquename']/wert" />
<xsl:variable name="caption" select="col[f_name='caption']/wert" />
<xsl:variable name="ergebniselement_ordnr" select="col[f_name='hiddendatasource']/wert" />
<xsl:variable name="link_maskennummer"><xsl:value-of select="col[f_name='hiddenlink_maskennummer']/wert" /></xsl:variable>
<xsl:variable name="link_chart_uniquename"><xsl:value-of select="col[f_name='hiddenlink_chart_uniquename']/wert" /></xsl:variable>
<xsl:variable name="link_tablestylesheet"><xsl:value-of select="col[f_name='hiddenlink_tablestylesheet']/wert" /></xsl:variable>
<xsl:variable name="open_modal_card_detail"><xsl:value-of select="col[f_name='hiddenopen_modal_card_detail']/wert" /></xsl:variable>
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:param name="openModalCardDetail" select="'true'" />
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:variable name="caption" select="../felder/feld[@varname='Grafik']/value_caption" />
<xsl:variable name="link_maskennummer"><xsl:value-of select="@id" /></xsl:variable>
<xsl:variable name="link_chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="link_tablestylesheet"><xsl:value-of select="'viz_html_chart_viewer_mask_and_detailchart.xsl'" /></xsl:variable>
<xsl:variable name="open_modal_card_detail"><xsl:value-of select="$openModalCardDetail" /></xsl:variable>
<xsl:variable name="maskennummer"><xsl:value-of select="@id" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
@ -1304,22 +1197,20 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -1304,22 +1197,20 @@ Stand: <xsl:value-of select="../stand" /></p>
</xsl:call-template>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="$caption"/>
<xsl:with-param name="caption" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
<xsl:with-param name="kachelbreite" select="$kachelbreite - 5 "/><!-- wegen abgerundeter Ecken etwas kleiner-->
<xsl:with-param name="kachelhoehe" select="$kachelhoehe - 15"/>
<xsl:with-param name="chart_tid" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@tid"/>
<xsl:with-param name="showEdit" select="/ergebnisse/user/@admin" />
<xsl:with-param name="link_maskennummer" select="$link_maskennummer"/>
<xsl:with-param name="link_chart_uniquename" select="$link_chart_uniquename" />
<xsl:with-param name="link_tablestylesheet" select="$link_tablestylesheet"/>
<xsl:with-param name="openModalCardDetail" select="$open_modal_card_detail" />
<xsl:with-param name="link_maskennummer" select="$maskennummer"/>
<xsl:with-param name="link_chart_uniquename" select="$chart_uniquename" />
<xsl:with-param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
<xsl:with-param name="openModalCardDetail" select="$openModalCardDetail" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="viewer_kachel">
@ -1332,52 +1223,16 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -1332,52 +1223,16 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:param name="chart_tid" />
<xsl:param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
<xsl:param name="showEdit" select="'false'" />
<xsl:param name="openModalCardDetail" select="'1'" />
<xsl:param name="chart_card_class" select="'card is-shady'" />
<xsl:param name="chart_container_class" select="'card-image'" />
<xsl:param name="chart_container_id" select="concat('cardImage',$ergebniselement_ordnr)" />
<xsl:param name="chart_class_name" select="''" />
<xsl:param name="chart_element_id" select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:param name="chart_title_position" select="'inline'" />
<xsl:variable name="imgStyleAttr">
<xsl:if test="$kachelhoehe !=''">
<xsl:text>height: </xsl:text><xsl:value-of select="$kachelhoehe" />
<xsl:call-template name="getWidthHeightPx">
<xsl:with-param name="wert" select="$kachelhoehe"/>
</xsl:call-template>
<xsl:text>;</xsl:text>
</xsl:if>
<xsl:if test="$kachelbreite !=''">
<xsl:text>width: </xsl:text><xsl:value-of select="$kachelbreite" />
<xsl:call-template name="getWidthHeightPx">
<xsl:with-param name="wert" select="$kachelbreite"/>
</xsl:call-template>
<xsl:text>;</xsl:text>
</xsl:if>
</xsl:variable>
<div class="{$chart_card_class}">
<xsl:if test="$chart_title_position ='top'">
<h3><xsl:value-of select="$caption" /></h3>
</xsl:if>
<div class="{$chart_container_class}" id="{$chart_container_id}">
<xsl:param name="openModalCardDetail" select="'true'" />
<div class="card is-shady">
<div class="card-image" id="{concat('cardImage',$ergebniselement_ordnr)}">
<!--zum Debuggen: <a onClick="initPage()">Anzeigen</a><br />-->
<xsl:choose>
<xsl:when test="$openModalCardDetail='1'">
<xsl:when test="$openModalCardDetail='true'">
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<div id="{$chart_element_id}">
<xsl:choose>
<xsl:when test="$chart_class_name !=''">
<xsl:attribute name="class">
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style" select="$imgStyleAttr" />
</xsl:otherwise>
</xsl:choose>
</div>
<!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{}"></div>-->
<div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{concat('width: ',$kachelbreite,'px;height:',$kachelhoehe,'px;')}"></div>
</a>
<xsl:if test="$link_maskennummer!=''">
<br />
@ -1413,24 +1268,10 @@ Details... @@ -1413,24 +1268,10 @@ Details...
<xsl:value-of select="$link_tablestylesheet" />
<xsl:text>',false);</xsl:text>
</xsl:attribute>
<div id="{$chart_element_id}">
<xsl:choose>
<xsl:when test="$chart_class_name !=''">
<xsl:attribute name="class">
<xsl:value-of select="$chart_class_name" />
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="style" select="$imgStyleAttr" />
</xsl:otherwise>
</xsl:choose>
</div>
<div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{concat('width: ',$kachelbreite,'px;height:',$kachelhoehe,'px;')}"></div>
</a>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$chart_title_position ='bottom'">
<p><xsl:value-of select="$caption" /></p>
</xsl:if>
<xsl:if test="$showEdit='true' and $chart_tid!=''">
<span class="separator">&#160;|&#160; </span>
@ -1554,13 +1395,8 @@ Platzhalter @@ -1554,13 +1395,8 @@ Platzhalter
<xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/>
<xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/>
<xsl:with-param name="feldart" select="$feldart"/>
<xsl:with-param name="tooltipPosition" select="'left'"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$feldart='8'">
<p class="subheaderMaskDialogs"><xsl:value-of select="$feldcaption"/></p>
</xsl:when>
<xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/>
<br />
</xsl:otherwise>
@ -1672,7 +1508,6 @@ Platzhalter @@ -1672,7 +1508,6 @@ Platzhalter
<xsl:param name="FeldnameEscaped" />
<xsl:param name="feldZeilenanzahl" select="1"/>
<xsl:param name="feldart" select="1"/>
<xsl:param name="tooltipPosition" select="'bottom'"/>
<xsl:variable name="capNotNull">
<xsl:choose>
<xsl:when test="$Feldcaption !='' and $Feldcaption !='null' ">
@ -1702,7 +1537,7 @@ Platzhalter @@ -1702,7 +1537,7 @@ Platzhalter
<div class="field is-grouped">
<div class="vizLabel-container" lang="de">
<label class="label is-small trennung">
<span class="button is-link is-link is-outlined is-hovered">
<span class="button is-link is-link is-outlined is-hovered" style="font-weight:bold;font-size:1.5em">
<!--<a class="button is-link is-outlined is-small is-fullwidth">-->
<xsl:attribute name="onClick">
<xsl:value-of select="$jsCall"/>
@ -1719,7 +1554,7 @@ Platzhalter @@ -1719,7 +1554,7 @@ Platzhalter
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input>
<div class="control is-expanded">
<input class="sideBarInput" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}">
<input class="input is-small is-link is-fullwidth" style="font-size:1.1rem;font-weight:normal" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}">
<xsl:attribute name="onclick"><xsl:value-of select="$jsCall"/>
</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute>
@ -1757,24 +1592,12 @@ Platzhalter @@ -1757,24 +1592,12 @@ Platzhalter
</xsl:if>
</xsl:if>
</div>
<xsl:if test="/*/*/felder/feld [@varname = $Feldname]/caption_long != ''">
<div class="control"> <!--220424BFeingefügt-->
<button class="{concat('button is-small is-rounded has-tooltip-',$tooltipPosition)}" onClick="return false;"> <!--220424BFgeändert-->
<xsl:attribute name="data-tooltip">
<xsl:call-template name="br_to_newline">
<xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/caption_long"/><![CDATA[]]></xsl:with-param>
<xsl:with-param name="search">&lt;br&gt;</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<span class="icon" aria-hidden="true">
<img src="../images/information_grey_liberation.svg" alt="Info" title="Info" />
</span>
</button> <!--220424BFeingefügt-->
</div>
<!--220424BFdeaktiviert-->
</xsl:if>
<!--Ende tooltip -->
<div class="control">
<button class="button is-small is-rounded is-link has-tooltip-bottom" style="font-size:1.1rem;font-weight:normal;" onclick="return false;" tabindex="1353" data-tooltip="Muss noch ergänzt werden.">
<span class="icon" aria-hidden="true">
<img src="../images/information_white_liberation.svg" alt="Info" title="Info" /></span>
</button>
</div><!--Ende control -->
</div>
@ -1871,17 +1694,7 @@ Platzhalter @@ -1871,17 +1694,7 @@ Platzhalter
</div>
</div>
<a class="navbar-burger is-active" onclick="toggleVizNavpanelFrame(this);">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
<!-- <button class="closebutton" title="Menü schließen" aria-label="Menü schließen" onclick="toggleNavpanelFrame(this);"></button>
</div> -->
</div>
</div>
<div class="navbar-end">
<a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL }">
@ -1927,10 +1740,10 @@ Platzhalter @@ -1927,10 +1740,10 @@ Platzhalter
</xsl:if><!-- wenn JR Stylesheet -->
</p>
<!-- Felder sind in sidebar<xsl:call-template name="weiterverarbeitungHiddenInputs" >
<xsl:call-template name="weiterverarbeitungHiddenInputs" >
<xsl:with-param name="formName" select="'Weiterverarbeitung'" />
<xsl:with-param name="ergebniselement_ordnr" select="0" />
</xsl:call-template>-->
</xsl:call-template>
</div>
</div>
</div>
@ -1956,7 +1769,8 @@ Platzhalter @@ -1956,7 +1769,8 @@ Platzhalter
<xsl:variable name="currentTabNr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" />
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row[col[f_name='hidden_link_maskeninfo_id']/wert !='']">
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row">
<xsl:call-template name="tabBox">
<xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/>
<xsl:with-param name="currentTabNr" select="$currentTabNr"/>
@ -1965,6 +1779,7 @@ Platzhalter @@ -1965,6 +1779,7 @@ Platzhalter
<xsl:with-param name="optional_filter_name" select="col[f_name='hidden_optional_filter_name']/wert" />
<xsl:with-param name="optional_filter_value" select="col[f_name='hidden_optional_filter_value']/wert" />
</xsl:call-template>
</xsl:for-each>
</ul>
<xsl:call-template name="vizGridTitle" >
@ -2058,12 +1873,43 @@ Platzhalter @@ -2058,12 +1873,43 @@ Platzhalter
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<p class="teiltabelle_titel" style="font-size:3em;">
<xsl:text>Datentabelle </xsl:text><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnTable',@ordnr+1, $colon,',',$colon, 'table',@ordnr+1,$colon,');')}"> <img id="{concat('toggleBtnTable',@ordnr+1)}" src="../images/minus-circled.svg" height="20px" style="height:20px" border="0" /></a></p>
<style>
table.ergtabelle
{
padding-left:100px;
}
table.ergtabelle th {
background-color: #b8c3ef;
color: black;
border: 1px solid black;
border-collapse: separate;
font-size:2em;
}
td.integer {
color: black;
border: 1px solid black;
border-collapse: separate;
font-size:1.5em;
}
table td.ergfeld {
empty-cells: show;
vertical-align: top;
border: thin solid gray;
font-size:1.5em;
}
table td.decimal {
empty-cells: show;
vertical-align: top;
border: thin solid gray;
font-size:1.5em;
}
</style>
<xsl:call-template name="nd_singleTable">
<xsl:with-param name="ergebniselement_ordnr" select="@ordnr" />
<xsl:with-param name="showPager" select="'none'" />
</xsl:call-template>
<!--<xsl:call-template name="vizPivotTable" />-->
</xsl:for-each>
</div>
</xsl:template>
@ -2166,6 +2012,32 @@ Platzhalter @@ -2166,6 +2012,32 @@ Platzhalter
<xsl:template name="vizSidebar" >
<xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
<xsl:param name="collapsible" select="'true'" />
<style>
.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}
.vizLabel-container {
display: flex;
background: inherit;
min-width: 13.5rem;
}
.label.is-small { width: 100%; } /*einheitliche Labelbreite*/
.button { font-weight: bold; }
/* Tooltip-Farbe */
[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,
[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
[data-tooltip]:not([disabled]).has-tooltip-bottom::before {
background-color: #a6a6a6ff; /*#333;*/
color: white;
}
</style>
<xsl:choose>
<xsl:when test="$collapsible='true'">
<style>
@ -2187,7 +2059,7 @@ Platzhalter @@ -2187,7 +2059,7 @@ Platzhalter
position: fixed;
top: 50%;
z-index: 700;
left: calc(100vw - 50% - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
left: calc(100vw - 545px - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */
}
@ -2199,7 +2071,7 @@ Platzhalter @@ -2199,7 +2071,7 @@ Platzhalter
padding-right: 0.7em;
right: 0em;
bottom: 0;
width: 50%; /*Breite nach Bedarf */
width: 545px; /*Breite nach Bedarf */
background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto;
@ -2401,97 +2273,5 @@ Platzhalter @@ -2401,97 +2273,5 @@ Platzhalter
</p>
</div>
</xsl:template>
<xsl:template name="nd_TabelleFormWeiterverarbeitungHiddenInputs">
<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="'SuperXmlTabelle'" /></xsl:attribute>
<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="text/xsl" />
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
<input type="hidden" name="irowno" value="" />
<xsl:for-each-group select="/*/*/felder/feld[@art !='1']" group-by=".">
<!--<xsl:for-each select="distinct-values(//ergebnisse/ergebnis/felder/feld [@varname !='Lehreinheit' and @varname != 'Fakultät' and @varname != 'Studiengang'])">-->
<!-- #198418 Problem bei Feldart 1 Typ SQL Beispiel Zeitraum in COB Maske Kosten und Erlöse (Primär und Sekundär) Attribut value aus default/wert key wird nicht richtig escaped
vergl. https://stackoverflow.com/questions/8944513/disable-output-escaping-yes-no-not-working-amp-outputted-twice-in-sharepoint-
Versuche mit <option value="{key}"> sind auch fehlgeschlagen, vermutlich weil XSTL bei Attributen keine Änderung des Escapings vorsieht
https://stackoverflow.com/questions/7887016/disable-output-escaping-not-working-for-attribute-in-xslt
alter Code:
<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>
neuer Code: -->
<xsl:text disable-output-escaping="yes"><![CDATA[<input type="hidden" name="]]></xsl:text><xsl:value-of disable-output-escaping="no" select="@varname"/><xsl:text>" value="</xsl:text>
<xsl:value-of disable-output-escaping="no" select="value"/><xsl:text>"</xsl:text>
<xsl:text disable-output-escaping="yes"><![CDATA[</input>
]]></xsl:text>
</xsl:for-each-group>
</form>
</xsl:template>
<xsl:template name="getWidthHeightPx">
<xsl:param name="wert" />
<xsl:if test="ends-with($wert,'0') or
ends-with($wert,'1') or
ends-with($wert,'2') or
ends-with($wert,'3') or
ends-with($wert,'4') or
ends-with($wert,'5') or
ends-with($wert,'6') or
ends-with($wert,'7') or
ends-with($wert,'8') or
ends-with($wert,'9') ">
<xsl:text>px</xsl:text>
</xsl:if>
</xsl:template>
<xsl:template name="viz_html_chart_viewer_css">
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
</xsl:template>
<xsl:template name="vizPivotTable">
<table>
<tr><th></th>
<xsl:for-each select="sqlerg/row/col[@id=0]">
<th><xsl:value-of select="wert" /></th>
</xsl:for-each>
</tr>
<tr><td></td>
<xsl:for-each select="sqlerg/row">
<xsl:call-template name="pivot">
<xsl:with-param name="heading" select="wert"/>
</xsl:call-template>
</xsl:for-each>
</tr>
</table>
</xsl:template>
<xsl:template name="pivot">
<xsl:param name="heading"/>
<xsl:for-each select="sqlerg/row[col[@id=0]/[wert=$heading]]">
<td><xsl:value-of select="col/wert"/></td>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

632
superx/xml/viz_html_chart.xsl

@ -41,9 +41,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -41,9 +41,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<link rel="stylesheet" href="../style/sx_treeform.css" />
<link rel="stylesheet" href="../style/sx_viz_muster.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
@ -204,9 +203,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -204,9 +203,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</div>
<!-- <div style="clear: both;"></div> -->
</div>
</xsl:template>
<!--Grafikdaten-->
</xsl:template>
<xsl:template name="grafikdaten">
<xsl:for-each select="ergebnis/ergebniselement">
@ -222,10 +220,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -222,10 +220,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="tableId"><xsl:value-of select="@ordnr"/></xsl:variable>
<div class="field is-grouped">
<!--202606 entfernt: <div class="label-container">-->
<!--202606 entfernt: is-required-->
<label class="label is-small"><strong>Datentabelle</strong></label>
<!--202606: entfernt:</div>-->
<div class="label-container">
<label class="label is-required is-small"><strong>Datentabelle</strong></label>
</div>
<!--<a onClick="exportDataTable(rs[0],rsColumnMetaData[0])">EXPORT</a>-->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
@ -318,55 +316,56 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -318,55 +316,56 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>-->
</footer>
</xsl:template><!--Ende template grafikdaten-->
</xsl:template>
<!--Grafiklayout-->
<xsl:template name="grafiklayout">
<!--Formular Allg. Layoutmerkmale-->
<div id="chartProperties"> <!--class="section">-->
<form name="chartPropertiesForm">
<div class="columns">
<div class="column is-two-fifths"><!--column links-->
<div class="columns">
<div class="column is-two-fifths">
<!--<p><span class="button is-link is-outlined is-small" onClick="updateChartModel();renderChart('chartDiv',myChartModel);">Erzeugen</span></p>-->
<div class="field is-grouped">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-small"><strong>Grafiktitel</strong></label> <!--202606 deaktiviert is-required-->
<label class="label is-required is-small"><strong>Grafiktitel</strong></label>
</div>
<div class="field has-addons"> <!--202606 geändert: is-active in has-addons-->
<!--202606 entfernt <p class="control-new">-->
<div class="chartName">
<textarea class="textarea is-small" id="chartName" name="chartName"
rows="2" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);" />
<div class="field is-active">
<p class="control-new">
<div class="chartName">
<textarea class="textarea is-small" id="chartName" name="chartName" rows="2" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);"/>
<input type="hidden" id="fldMaskennr">
<xsl:attribute name="value"><xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/@id"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</input>
</div><!-- Ende chartNamne-->
<!--202606 entfernt</p>-->
</div>
</div><!-- Ende field is-grouped-->
</div><!--Ende column is-two-fifths = column links-->
<!--202606 entfernt: <span class="separator">&#160;</span>
<span class="separator">&#160;</span>-->
<xsl:attribute name="value"><xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/@id"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</input>
</div>
</p>
</div>
</div>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="column"><!--column rechts-->
<div class="field is-grouped">
<div class="column">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-small"> <!--202606 deaktiviert:is-required -->
<strong>Grafiktool</strong></label>
<label class="label is-required is-small"><strong>Grafiktool</strong></label>
</div>
<div class="field has-addons"><!--202606 geändert: is-active in has-addons-->
<!--202606 deaktivert: <p class="control-new">-->
<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="resetChartPropertiesForm(this.value);" >
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizRenderers/vizRenderer">
@ -374,18 +373,21 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -374,18 +373,21 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</xsl:for-each>
</select>
</div>
<!--202606 deaktivert:</p>-->
<xsl:call-template name="Infobutton" />
</div> <!--202606: Template Infobutton in field has-addons verlagert-->
</div><!-- Ende field is-grouped-->
</div><!-- Ende column rechts-->
</div><!-- Ende columns-->
</p>
</div>
<xsl:call-template name="Infobutton" />
</div>
</div>
</div>
<!-- Beginn Grafikelemente+ Vorschau-->
<div class="columns">
<div class="column is-two-fifths">
<!-- Box Grafikelemente-->
<!-- Box Grafikelemente -->
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Grafikelemente</strong></label>
@ -408,12 +410,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -408,12 +410,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="chartPropertiesTreeForm" />
</xsl:otherwise>
</xsl:choose>
<!--Beginn Quellcode-->
<div class="field is-grouped">
<!--Beginn Quellcode-->
<div class="field is-grouped">
<div class="label-container">
<label class="label is-small"><!-- 202606 entfernt: is-required -->
<strong>Quellcode</strong></label>
<label class="label is-required is-small"><strong>Quellcode</strong></label>
</div>
<span class="separator">&#160;</span>
@ -421,90 +421,86 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -421,90 +421,86 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<a onClick="showChartModelCode();">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="chartModelsrcDiv"> <!--class="section">-->
<div id="chartModelsrc" style="display:none">
<!--202606 ergänzt zu textarea: class="textarea is-small"; entfernt: class="editform"-->
<textarea class="textarea is-small" id="chartModelSrcCode" name="chartModelSrcCode"
placeholder="Quellcode ..." />
<!--202606 Separator ergänzt:-->
<span class="separator">&#160;</span>
<textarea id="chartModelSrcCode" name="chartModelSrcCode" class="editform" placeholder="Quellcode..."> <!--cols="100" rows="20"--></textarea>
<div class="field is-grouped">
<p class="control">
<!--202606 Color geändert von button: is-info -->
<button class="button is-small is-link is-outlined" onclick="copySrcCode('chartModelSrcCode');return false;">Kopieren</button>
<button class="button is-small is-info is-outlined" onclick="copySrcCode('chartModelSrcCode');return false;">Kopieren</button>
</p>
<p class="control">
<!--202606 Style u color geändert von button: is-small is-info is-inverted is-outlined-->
<button class="button is-small is-link is-outlined" onclick="loadChartModelCode('chartModelSrcCode','chartDiv');return false;">Einspielen</button>
<button class="button is-small is-info is-inverted is-outlined" onclick="loadChartModelCode('chartModelSrcCode','chartDiv');return false;">Einspielen</button>
</p>
</div>
<!--<a class="button" onClick="copySrcCode('chartModelSrcCode');">Kopieren</a>-->
</div><!-- Ende chartModelsrc-->
</div><!-- Ende chartModelsrcDiv-->
</div><!--column is-two-fifths-->
</div>
</div>
</div>
<div class="column"><!--column rechts-->
<div class="label-container">
<label class="label is-required is-small"><strong>Grafikvorschau</strong></label>
<div class="column">
<div class="label-container">
<label class="label is-required is-small"><strong>Grafikvorschau</strong></label>
</div>
<!--202606 deaktiviert:<span class="separator">&#160;</span>-->
<span class="separator">&#160;</span>
<!--202606: rect-height geänd. von 450px-->
<span class="separator">&#160;</span>
<div id="chartCanvas">
<div id="chartDiv" style="width:800px;height:600px;">
<svg><rect x="0" y="0" width="650" height="600" fill="#cccccc"></rect></svg>
</div>
</div>
<xsl:call-template name="chartLoadMenu" />
<svg>
<rect x="0" y="0" width="650" height="450" fill="#cccccc"></rect>
</svg></div>
</div>
<xsl:call-template name="chartLoadMenu" />
<!--Beginn chartCode-->
<div class="field is-grouped" id="chartCodeDiv"> <!--20251210 entfernt: style="display:block">-->
<div class="label-container">
<!--202606: deaktiviert: is-required-->
<label class="label is-small"><strong>Chart-Code</strong></label>
</div>
<!--202606 deaktivier<span class="separator">&#160;</span>-->
<span class="separator">&#160;</span>
<a onClick="showChartCode();">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
<div id="chartCodeTextAreaDiv" style="display:none">
<!--202606 geändert: class="editform/ergänzt style-->
<textarea id="chartCodeTextArea" name="chartCodeTextArea" class="textarea is-small"
style="margin-left:1em;" placeholder="Chart-Code..." /><!--readonly="readonly" disabled="disabled" cols="100" rows="20"-->
<div class="field is-grouped" id="chartCodeDiv" style="display:block">
<div class="label-container">
<label class="label is-required is-small"><strong>Chart-Code</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a onClick="showChartCode();">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
<div id="chartCodeTextAreaDiv" style="display:none">
<textarea id="chartCodeTextArea" name="chartCodeTextArea" class="editform" placeholder="Chart-Quellcode..." > <!--readonly="readonly" disabled="disabled" cols="100" rows="20"-->
</textarea>
<div class="field is-grouped">
<p class="control">
<button class="button is-small is-info is-outlined" onclick="copySrcCode('chartCodeTextArea');return false;">Kopieren</button>
</p>
<p class="control">
<button class="button is-small is-info is-inverted is-outlined" onclick="loadNativeCode('chartCodeTextArea','chartDiv');return false;">Laden</button>
<!--202606 ergänzt für Abstand zu den Buttons: -->
<span class="separator">&#160;</span>
</p>
</div>
</div>
<div class="field is-grouped">
<!--202606 ergänzt für Buttonausrichtung links: -->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<p class="control">
<!--202606 color geändert von: button is-info-->
<button class="button is-small is-link is-outlined" onclick="copySrcCode('chartCodeTextArea');return false;">Kopieren</button>
</p>
<p class="control">
<!--202606 color u Style geändert von: button is-info is-inverted is-outlined-->
<button class="button is-small is-link is-outlined" onclick="loadNativeCode('chartCodeTextArea','chartDiv');return false;">Laden</button>
</p>
</div>
</div><!--Ende chartCodeTextAreaDiv-->
</div><!--Ende field is-grouped-->
</div><!--Ende column rechs-->
</div><!--Ende columns-->
</form><!--Ende chartPropertiesForm-->
</div><!--Ende chartProperties-->
</div>
</div>
</div><!--Ende Eigenschaften + Vorschau viewBox="0 0 650 450"-->
</form>
</div>
<!--
<div class="label-container">
@ -568,6 +564,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -568,6 +564,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="chartPropertiesFormDetails" style="display:none"> </div>
-->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
@ -594,32 +592,33 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -594,32 +592,33 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</div>
-->
<!--footer (BF nach unten verschoben)-->
</xsl:template> <!-- Ende Template Grafiklayout-->
<!--Grafiknutzung-->
</xsl:template>
<xsl:template name="grafiknutzung">
<!-- Aufruf/Anzeige Diagramm-Vorschau-->
<div class="field is-grouped">
<div class="label-container">
<!--202606 entfernt zu label: is-required -->
<label class="label is-small"><strong>Grafikvorschau</strong>
<!--202606 deaktiviert: <span class="separator">&#160;</span>-->
<label class="label is-required is-small"><strong>Grafikvorschau</strong><span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a onClick="showChartDiv('chartDiv2'); renderChart('chartDiv2',myChartModel);">
<a
onClick="showChartDiv('chartDiv2'); renderChart('chartDiv2',myChartModel);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</label>
</a></label>
</div>
<!--<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>-->
</div><!-- Ende field is-grouped-->
</div>
<div id="chartCanvas"> <!--class="section"-->
<!--<div id="chartCanvasHeader"> </div>-->
@ -633,204 +632,198 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -633,204 +632,198 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!-- Aufruf/Anzeige SVG-Quellcode-->
<div class="field is-grouped">
<div class="label-container">
<!--202606 entfernt zu label: is-required -->
<label class="label is-small"><strong>Grafikcode (svg)</strong>
<label class="label is-required is-small"><strong>Grafikcode (svg)</strong>
<span class="separator">&#160;</span>
<a onClick="showSrcCode(myChartModel.renderer);">
<a
onClick="showSrcCode(myChartModel.renderer);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</label>
</a>
</label>
</div>
</div>
<div id="chartSVGsrcDiv"> <!--class="section">-->
<div id="chartSVGsrc" style="display:none">
<!--202606 ergänzt zu textarea: is-small-->
<textarea id="chartSrc" name="chartSrc" class="textarea is-small" placeholder="Grafikcode (svg)..." />
<!--cols="100" rows="20"--><!--<button class="sx_buttondiv_submit" onClick="copySrcCode('chartSrc');">Kopieren</button>-->
<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>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!-- Grafikdefintion-->
<!-- Aufruf/Anzeige SVG-Quellcode-->
<div class="field is-grouped">
<div class="label-container">
<!--202606 entfernt zu label: is-required -->
<label class="label is-small">
<strong>Grafikdefinition speichern</strong>
<label class="label is-required is-small"><strong>Grafikdefinition speichern</strong>
<span class="separator">&#160;</span>
<a onClick="showVizChartSaveDialog('showLoadSaveDialogDiv');">
<a
onClick="showVizChartSaveDialog('showLoadSaveDialogDiv');">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</label>
</a>
</label>
</div>
</div><!-- Ende field is-grouped-->
</div>
<div id="showLoadSaveDialog"> <!--class="section">-->
<div id="showLoadSaveDialogDiv" style="display:none">
<div class="field is-horizontal">
<div class="field-label is-normal">
<!--202606: geändert: has-tooltip-bottom-->
<label class="label has-tooltip-right"
data-tooltip="Gafikdefinition, die Sie gerade erstellt haben, in der Datenbank speichern. Sie müssen einen Namen und Schlüssel vergeben, und können entscheiden ob die entworfene Grafik eine Normalansicht ist oder eine Miniatur.
Das eigentliche Speichern geschieht im Folgedialog.">Grafikdefinition speichern:
</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_id" id="viz_chart_id"><option>Keine Auswahl möglich</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_variant" id="viz_chart_variant">
<option value="chartmodel">Normalgröße</option>
<option value="chartmodel_miniature">Miniatur</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<a target="nextedit" onclick="openVizChartDBForm(document.getElementById('viz_chart_id').value)">
<img src="../images/pencil.svg" class="svg_icon" border="0" alt="Bearbeiten" title="Aufruf des Formulars um Metadaten zu bearbeiten und zu speichern" /></a>
<div id="showLoadSaveDialogDiv" style="display:none">
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label has-tooltip-bottom" data-tooltip="Gafikdefinition, die Sie gerade erstellt haben, in der Datenbank speichern. Sie müssen einen Namen und Schlüssel vergeben, und können entscheiden ob die entworfene Grafik eine Normalansicht ist oder eine Miniatur. Das eigentliche Speichern geschieht im Folgedialog.">Grafikdefinition speichern:</label>
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_id" id="viz_chart_id"><option>Keine Auswahl möglich</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_variant" id="viz_chart_variant">
<option value="chartmodel">Normalgröße</option>
<option value="chartmodel_miniature">Miniatur</option></select>
</p>
</div>
</div><!-- Ende field-body-->
</div><!-- Ende field is-horizontal-->
</div>
<div class="field is-narrow">
<p class="control">
<a target="nextedit" onclick="openVizChartDBForm(document.getElementById('viz_chart_id').value)">
<img src="../images/pencil.svg" class="svg_icon" border="0" alt="Bearbeiten" title="Aufruf des Formulars um Metadaten zu bearbeiten und zu speichern" /></a>
</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label"></label>
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">(Im nachfolgenden Dialog können Sie weitere Metadaten bearbeiten)</p>
</div>
</div>
</div>
<div class="field is-horizontal">
<div class="field-label is-normal">
<label class="label"></label>
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">(Im nachfolgenden Dialog können Sie weitere Metadaten bearbeiten)</p>
</div>
</div><!-- Ende field-body-->
</div><!-- Ende field is-horizontal-->
<!--<div class="field">
<div class="label">Oder neue Grafik: </div>-->
<!--<div class="input">
<div class="label">Oder neue Grafik: </div><div class="input">
<input name="viz_chart_new_uniquename" id="viz_chart_new_uniquename" type="text" />
Link...</div>
Link...
</div>
</div>-->
</div><!-- Ende showLoadSaveDialogDiv-->
</div><!-- Ende showLoadSaveDialog-->
</xsl:template> <!--Ende template Grafiknutzung-->
</div>
</div>
</xsl:template>
<xsl:template name="Infobutton">
<xsl:param name="targetUrl" select="'http://www.superx-projekt.de/doku/viz_modul/nutzung/f_Grafiklayout.htm'" />
<!--202606 entfernt:<span class="separator">&#160;</span>-->
<span class="separator">&#160;</span>
<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><!-- Ende template infobutton-->
<!--VIZ-Legende-->
<xsl:template name="legende_viz">
<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:template name="legende_viz">
<xsl:param name="ordnr" />
<xsl:variable name="legendeDivId"><xsl:text>legende</xsl:text><xsl:value-of select="$ordnr" />
</xsl:variable>
<a><xsl:attribute name="onClick"><xsl:text>toggleLegendeDisplay('</xsl:text><xsl:value-of select="$legendeDivId" /><xsl:text>');</xsl:text></xsl:attribute>
<span class="button is-link modal-button">Legende ...</span>
</a>
<xsl:variable name="legendeDivId"><xsl:text>legende</xsl:text><xsl:value-of select="$ordnr" /></xsl:variable>
<a>
<xsl:attribute name="onClick"><xsl:text>toggleLegendeDisplay('</xsl:text><xsl:value-of select="$legendeDivId" /><xsl:text>');</xsl:text></xsl:attribute>
<span class="button is-link modal-button">Legende ...</span></a>
<div style="display:none">
<xsl:attribute name="id"><xsl:value-of select="$legendeDivId" /></xsl:attribute>
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 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></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 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></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" />
</p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /></p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" />
</xsl:call-template>
</xsl:if>
</div><!--Ende style-->
</xsl:template><!-- Ende template legende_viz-->
</xsl:call-template>
</xsl:if>
</div>
</xsl:template>
<xsl:template name="ChartTypeSelection">
<div class="field" id="fldChartTypeSelection"><!-- style="display:none;"-->
<div class="label-container" lang="de">
<!--202606: geändert: has-tooltip-bottom -->
<span class="labelNormal has-tooltip-right"
data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button">
Grafikelement</span>
<div class="label-container" lang="de"><span class="labelNormal has-tooltip-bottom" data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button">
Grafikelement</span></div>
<div class="control">
<div class="field"><div class="control is-expanded">
<div class="select is-small is-fullwidth is-focused">
<select id="chartElementID" name="chartElementID"
onchange="loadChartElementConfig(this);">
<option>Bitte fügen Sie ein Element ein</option>
</select>
<input class="is-small" type="hidden" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
</div>
</div>
<div class="control">
<div class="field">
<div class="control is-expanded">
<div class="select is-small is-fullwidth is-focused">
<select id="chartElementID" name="chartElementID"
onchange="loadChartElementConfig(this);">
<option>Bitte fügen Sie ein Element ein</option>
</select>
<input class="is-small" type="hidden" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
</div>
</div>
<div class="control">
<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="Ausgewähltes Element entfernen" />
</a>
</div>
</div><!-- Ende field-->
</div><!-- Ende control-->
</div><!--Ende field fldChartTypeSelection-->
</xsl:template><!-- Ende template ChartTypeSelection-->
<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="Ausgewähltes Element entfernen" />
</a>
</div>
</div>
</div>
</div><!--ende Feld Grafikelemente-->
</xsl:template>
<xsl:template name="chartPropertiesFormPlotD3" >
<div id="ChartElementsDiv" style="display:none" class="box">
@ -842,8 +835,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -842,8 +835,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--Beginn Layoutmerkmale-->
<div class="field is-grouped">
<div class="label-container">
<!--202606 entfernt:is-required -->
<label class="label is-small"><strong>Allgem. Layoutmerkmale</strong></label>
<label class="label is-required is-small"><strong>Allgem. Layoutmerkmale</strong></label>
</div>
<span class="separator">&#160;</span>
@ -870,11 +862,11 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -870,11 +862,11 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--Beginn Layoutmerkmale-->
<!--Beginn Layoutmerkmale-->
<div class="field is-grouped">
<div class="label-container"><!--202606 entfernt:is-required-->
<label class="label is-small">
<strong>Layoutmerkmale</strong></label>
<div class="field">
<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>
@ -888,17 +880,14 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -888,17 +880,14 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="chartPropertiesTreeFormElementsDiv"> </div>
</div>
</xsl:template>
<xsl:template name="chartLoadMenu">
<div class="field is-grouped">
<div class="label-container">
<!--202606 ergänzt zu label: is-small; geändert: has-tooltip-bottom -->
<label class="label is-small has-tooltip-right"
data-tooltip="Grafikdefinition aus der Datenbank speichern. Es werden die Grafikdefinitionen angezeigt, die zu der jew. Maskennnummer passen. Sie können entscheiden ob die Miniatur- oder Normalansicht geladen wird. Nach dem Laden sehen Sie direkt eine Vorschau, und wenn Sie oben links auf die Grafikelemente klicken, können Sie die Grafik weiter bearbeiten.">
<label class="label has-tooltip-bottom" data-tooltip="Grafikdefinition aus der Datenbank speichern. Es werden die Grafikdefinitionen angezeigt, die zu der jew. Maskennnummer passen. Sie können entscheiden ob die Miniatur- oder Normalansicht geladen wird. Nach dem Laden sehen Sie direkt eine Vorschau, und wenn Sie oben links auf die Grafikelemente klicken, können Sie die Grafik weiter bearbeiten.">
<strong>Grafikdefinition laden</strong></label>
</div>
<!--202606 deaktiviert:<span class="separator">&#160;</span>-->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a onClick="showLoadMenu();">
@ -907,44 +896,31 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -907,44 +896,31 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</span>
</a>
</div>
<div id="loadMenu" class="field is-horizontal" style="display:none">
<!--202606 entfernt:<div class="field-label is-normal"></div>-->
<div class="field-body">
<!--202606 entfernt: <div class="field is-narrow">-->
<p class="control">
<!--202606 ergänzt: 2x separator -->
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!-- 202606 ergänzt: is-small-->
<select class="select is-small" name="viz_chart_id_load" id="viz_chart_id_load">
<option>Keine Auswahl möglich</option>
</select>
</p>
<!--202606 ergänzt: 1x separator-->
<span class="separator">&#160;</span>
<!--202606 entfernt:</div>-->
<!--202606 entfernt:<div class="field is-narrow">-->
<p class="control">
<!-- 202606 ergänzt: is-small-->
<select class="select is-small" name="viz_chart_variant_load" id="viz_chart_variant_load">
<option value="chartmodel">Normalgröße</option>
<option value="chartmodel_miniature">Miniatur</option></select>
</p>
<!--202606 ergänzt: 1x separator-->
<span class="separator">&#160;</span>
<!--202606 entfernt:</div>-->
<!--202606 entfernt:<div class="field is-narrow">-->
<div id="loadMenu" class="field is-horizontal" style="display:none">
<div class="field-label is-normal">
</div>
<div class="field-body">
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_id_load" id="viz_chart_id_load"><option>Keine Auswahl möglich</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<select class="select" name="viz_chart_variant_load" id="viz_chart_variant_load">
<option value="chartmodel">Normalgröße</option>
<option value="chartmodel_miniature">Miniatur</option></select>
</p>
</div>
<div class="field is-narrow">
<p class="control">
<!--202606 geändert von: button is-inverted, is-info, has-tooltip.bottom is-outlined-->
<button class="button is-small is-link is-outlined has-tooltip-right" onclick="loadVizChartDef();return false;"
<button class="button is-info is-inverted has-tooltip-bottom is-outlined" onclick="loadVizChartDef();return false;"
data-tooltip="Achtung: wenn Sie auf Laden klicken, wird der etwaig vorhandene Grafikentwurf überschrieben!">Laden</button>
</p>
<!--202606 entfernt:</div>-->
</div><!--Ende field-body-->
</div><!--Ende loadMenu bzw. field is-horizontal-->
</xsl:template><!--Ende template chartLoadMenu = Grafikdefinition laden-->
</div>
</div>
</div>
</xsl:template>
</xsl:stylesheet>

5
superx/xml/viz_html_chart_viewer.xsl

@ -43,7 +43,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -43,7 +43,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
<link rel="stylesheet" href="../style/sx_viz_muster.css" />
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
@ -71,7 +71,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -71,7 +71,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_progressbar" />
<div id="content" class="viz_content">
<div id="content">
<!--#Template Beginn Seitentitel-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<xsl:call-template name="nd_pagetitle" >
@ -80,7 +80,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -80,7 +80,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template>
<xsl:call-template name="nd_TabelleFormWeiterverarbeitungHiddenInputs" />
<!--#Template Krümelpfad-->
<xsl:call-template name="nd_breadcrumb" />

1
superx/xml/viz_html_chart_viewer_mask.xsl

@ -43,7 +43,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -43,7 +43,6 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
</head>
<xsl:call-template name="nd_htmlscript" />

433
superx/xml/viz_html_chart_viewer_mask_and_detailchart.xsl

@ -1,433 +0,0 @@ @@ -1,433 +0,0 @@
<?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="'echarts'" />
<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>
<xsl:call-template name="viz_html_chart_viewer_css" />
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<!--<xsl:call-template name="vizTableCSS" />-->
<xsl:call-template name="importVizViewer"></xsl:call-template>
<script language="javascript">
<xsl:text>
function showDataTable(targetDiv)
{
var myChartModelStr="";
var myDiv=targetDiv;
var rsNr=0;
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement[@ordnr='0']">
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="detail_chart_uniquename"><xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@detail_chart_uniquename" /></xsl:variable>
<xsl:text>
// chart_uniquename=</xsl:text><xsl:value-of select="$chart_uniquename"/><xsl:text>
// detail_chart_uniquename=</xsl:text><xsl:value-of select="$detail_chart_uniquename"/><xsl:text>
</xsl:text>
<xsl:call-template name="buildchartDivRenderers">
<xsl:with-param name="chart_uniquename" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@detail_chart_uniquename" />
<xsl:with-param name="chartDiv" select="'chartDiv1'" />
<xsl:with-param name="ergebniselement_ordnr" select="0" />
</xsl:call-template>
</xsl:for-each>
<xsl:text>
}
</xsl:text>
</script>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();showDataTable('chartDiv1');">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="viz_navi_top" />
<!--<xsl:call-template name="ude_header_dashboard" />-->
<!--#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:variable name="chartCollapsibleHeading">
<xsl:call-template name="getChartCollapsibleHeading" />
</xsl:variable>
<xsl:call-template name="viz_viewer_columnwise">
<xsl:with-param name="chartCollapsibleHeading" select="$chartCollapsibleHeading" />
</xsl:call-template>
<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 container-->
</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:param name="chartCollapsibleHeading" select="''" />
<xsl:if test="/ergebnisse/@isMakro='true'">
<p class="cockpit_title"><xsl:value-of select="/ergebnisse/makro/name" /></p>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<div class="column is-two-thirds">
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_uniquename"><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="$chartCollapsibleHeading !=''">
<p class="teiltabelle_titel" style="font-size:3em;">
<xsl:value-of select="concat($chartCollapsibleHeading,' ')"/><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnChart',@ordnr+1, $colon,',',$colon, 'cardImage',@ordnr,$colon,');')}"> <img id="{concat('toggleBtnChart',@ordnr+1)}" src="../images/minus-circled.svg" height="20px" style="height:20px" border="0" /></a>
</p>
</xsl:if>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
<xsl:with-param name="kachelbreite" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chart_width"/>
<xsl:with-param name="kachelhoehe" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chart_height"/>
<xsl:with-param name="chart_tid" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@tid"/>
<xsl:with-param name="showEdit" select="/ergebnisse/user/@admin" />
<xsl:with-param name="openModalCardDetail" select="'false'" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</xsl:for-each>
<xsl:call-template name="displayTables" />
</div>
<xsl:call-template name="vizSidebar" />
<!--<div class="column">
<xsl:if test="count(/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@art='1']) &gt; 0">
<xsl:call-template name="renderTableDialogs" />
</xsl:if>
</div>--><!--Ende column-->
</div> <!--Ende hero-columns-->
</section>
</section><!-- des Portals -->
</xsl:template>
<xsl:template name="ude_header_dashboard_alt">
<header>
<div class="hs_header">
<div class="hs_header_box1"></div>
<div class="hs_header_box2">
<a class="button is-link is-outlined is-small" onclick="alert('todo');">Studienanfänger*innen</a>
<a class="button is-link is-outlined is-small" onclick="alert('todo');">Studierende</a>
<a class="button is-link is-outlined is-small" onclick="alert('todo');">Absolvent*innen</a>
<a class="button is-link is-outlined is-small" onclick="alert('todo');">Doktorand*innen</a>
<!--<p class="cockpit_title">Universität Duisburg-Essen</p>-->
<div class="field"><span class="buttonlist">
<a onmouseover="window.status='Export starten';return true" onfocus="window.status='Download starten';return true" onmouseout="window.status='Download starten';return true" href="javascript:exportBooklet('application/pdf')">
<img title="Ausgabe im PDF-Querformat" alt="Ausgabe im PDF-Querformat" src="../images/icons/into_pdf.svg" class="svg_icon" border="0" /></a>
<span class="separator">&#160;</span>
<a onmouseover="window.status='Export starten';return true" onfocus="window.status='Download starten';return true" onmouseout="window.status='Download starten';return true" href="javascript:exportBooklet('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')">
<img title="Ausgabe in Excel" alt="Ausgabe in Excel" src="../images/icons/into_excel_normal.svg" class="svg_icon" border="0" /></a>
<span class="separator">&#160;</span>
<a onmouseover="window.status='Export starten';return true" onfocus="window.status='Download starten';return true" onmouseout="window.status='Download starten';return true" href="javascript:exportBooklet('application/vnd.openxmlformats-officedocument.wordprocessingml.document')">
<img title="Ausgabe in Word" alt="Ausgabe in Word" width="25px" height="25px" src="../images/icons/into_word.svg" class="svg_icon" border="0" /></a>
</span>
</div>
<a href="https://www.uni-due.de/verwaltung/dtac/akademisches_controlling.php">
<figure class="image is-64x64"><img src="../images/signet_ude_rgb.svg" title="UDE. Akademisches Controlling" /></figure></a>
</div>
<div class="hs_header_box1"></div>
</div>
</header>
</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:for-each select="/ergebnisse/ergebnis/ergebniselement">
<xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" />
</xsl:call-template>
</xsl:for-each>
</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();
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="0"/>
<xsl:text>,'rownr','Zeilennr.',0,4));
</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)"/><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="displayTables">
<!-- jetzt Tabelle-->
<div>
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<p class="teiltabelle_titel" style="font-size:3em;">
<xsl:text>Datentabelle </xsl:text><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnTable',@ordnr+1, $colon,',',$colon, 'table',@ordnr+1,$colon,');')}"> <img id="{concat('toggleBtnTable',@ordnr+1)}" src="../images/minus-circled.svg" height="20px" style="height:20px" border="0" /></a></p>
<!--<xsl:call-template name="nd_singleTable">
<xsl:with-param name="ergebniselement_ordnr" select="@ordnr" />
<xsl:with-param name="showPager" select="'none'" />
</xsl:call-template>-->
<div id="table1">
<div id="chartDiv1" />
</div>
<!--<xsl:call-template name="vizPivotTable" />-->
</xsl:for-each>
</div>
</xsl:template>
</xsl:stylesheet>

7
superx/xml/viz_html_chart_viewer_mask_and_table.xsl

@ -40,13 +40,14 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -40,13 +40,14 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<xsl:call-template name="viz_html_chart_viewer_css" />
<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="vizTableCSS" />-->
<xsl:call-template name="importVizViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">

Loading…
Cancel
Save