Compare commits

..

6 Commits

  1. 1
      src-modules/module/viz/conf/includes.txt
  2. 303
      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. 26
      src-modules/module/viz/masken/44570_felderinfo.unl
  28. 2
      src-modules/module/viz/masken/44570_maske_system_bez.unl
  29. 1
      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. 16
      src-modules/module/viz/masken/44720_felderinfo.unl
  37. 2
      src-modules/module/viz/masken/44720_maske_system_bez.unl
  38. 4
      src-modules/module/viz/masken/44720_maskeninfo.unl
  39. 1
      src-modules/module/viz/masken/44750_felderinfo.unl
  40. 1
      src-modules/module/viz/masken/44750_maske_system_bez.unl
  41. 1
      src-modules/module/viz/masken/44750_masken_felder_bez.unl
  42. 46
      src-modules/module/viz/masken/44750_maskeninfo.unl
  43. 1
      src-modules/module/viz/masken/44750_sachgeb_maske_bez.unl
  44. 43
      src-modules/module/viz/masken/44780_felderinfo.unl
  45. 1
      src-modules/module/viz/masken/44780_maske_system_bez.unl
  46. 17
      src-modules/module/viz/masken/44780_masken_felder_bez.unl
  47. 1
      src-modules/module/viz/masken/44780_maskeninfo.unl
  48. 1
      src-modules/module/viz/masken/44780_sachgeb_maske_bez.unl
  49. 43
      src-modules/module/viz/masken/44810_felderinfo.unl
  50. 1
      src-modules/module/viz/masken/44810_maske_system_bez.unl
  51. 17
      src-modules/module/viz/masken/44810_masken_felder_bez.unl
  52. 1
      src-modules/module/viz/masken/44810_maskeninfo.unl
  53. 1
      src-modules/module/viz/masken/44810_sachgeb_maske_bez.unl
  54. 24
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  55. 165
      src-modules/module/viz/schluesseltabellen/fm_templates.unl
  56. 4
      src-modules/module/viz/schluesseltabellen/konstanten_fuellen.sql
  57. 21
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  58. 103
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_jahr_fuellen.sql
  59. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_zeitreihe_fuellen.sql
  60. 76
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_jahr_fuellen.sql
  61. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_zeitreihe_fuellen.sql
  62. 46
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_jahr_fuellen.sql
  63. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql
  64. 1
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql
  65. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql
  66. 12
      src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql
  67. 109
      src-modules/module/viz/schluesseltabellen/sx_captions_fuellen.sql
  68. 26
      src-modules/module/viz/schluesseltabellen/sx_repository_customxmladd.unl
  69. 26
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  70. 604
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  71. 70
      src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql
  72. 52
      src-modules/module/viz/schluesseltabellen/viz_chart_unload.x
  73. 19
      src-modules/module/viz/schluesseltabellen/viz_chart_upload.x
  74. 11
      src-modules/module/viz/schluesseltabellen/viz_colorscheme_fuellen.sql
  75. 131
      src-modules/module/viz/schluesseltabellen/viz_dashboard_STUDABSOLV_fuellen.sql
  76. 106
      src-modules/module/viz/schluesseltabellen/viz_dashboard_STUD_fuellen.sql
  77. 250
      src-modules/module/viz/schluesseltabellen/viz_dashboard_element_fuellen.sql
  78. 8
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql
  79. 43
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_sankey_fuellen.sql
  80. 56
      src-modules/module/viz/schluesseltabellen/viz_properties_viz_basistools_crosstab_fuellen.sql
  81. 54
      src-modules/module/viz/schluesseltabellen/viz_properties_viz_basistools_simple_table_fuellen.sql
  82. 130
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  83. 1
      src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl
  84. 1
      src-modules/module/viz/schluesseltabellen/viz_renderer.unl
  85. 17
      src-modules/module/viz/upgrade/viz_upgrade_man.sql
  86. 267
      superx/style/sx_viz_muster.css
  87. 22
      superx/xml/js/viz/viz_assistent.js
  88. 491
      superx/xml/js/viz/viz_viewer.js
  89. 474
      superx/xml/viz_components.xsl
  90. 618
      superx/xml/viz_html_chart.xsl
  91. 5
      superx/xml/viz_html_chart_viewer.xsl
  92. 1
      superx/xml/viz_html_chart_viewer_mask.xsl
  93. 433
      superx/xml/viz_html_chart_viewer_mask_and_detailchart.xsl
  94. 5
      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
xml/viz_html_chart_viewer.xsl xml/viz_html_chart_viewer.xsl
xml/viz_html_chart_viewer_mask.xsl xml/viz_html_chart_viewer_mask.xsl
xml/viz_html_chart_viewer_mask_and_table.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_html_chart_viewer_grid.xsl
xml/viz_components.xsl xml/viz_components.xsl
xml/viz_tableComponents.xsl xml/viz_tableComponents.xsl

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

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> --> <!--<!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" sachgebiet="Visualisierungen" systeminfo_id="320"
system="Visualisierungen" thema="Visualisierungen" thema_parent="Abfragen"> system="Visualisierungen" thema="Visualisierungen" thema_parent="Abfragen">
<database name="superx" system="superx"> <database name="superx" system="superx">
@ -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_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" <column name="chart_active" type="SMALLINT" size="2"
default="1" notnull="false" description="Grafik aktiv"></column> 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_width" type="INTEGER" size="10" default="600" notnull="" description="Breite des Diagramms"><comment>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_height" type="INTEGER" size="10" default="400" notnull="" description="Höhe des Diagramms"><comment>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_width" type="INTEGER" size="10" 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_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" <column name="is_custom" type="SMALLINT" size="255"
default="1" notnull="false" description="Grafik der Hochschule"> default="1" notnull="false" description="Grafik der Hochschule">
<comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h. <comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h.
Auslieferung der Software</comment> Auslieferung der Software</comment>
</column> </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> </columns>
<primaryKeys><rs> <primaryKeys><rs>
<row> <row>
@ -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_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="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="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>
@ -632,92 +622,7 @@ caption="Staaten (Geocodes)" releaseUnload="demo">
</indexes> </indexes>
</table> </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>
-->
<views> <views>
<view name="viz_property_dimension_measure"> <view name="viz_property_dimension_measure">
@ -788,7 +693,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path> <path>$VIZ_PFAD/masken</path>
</src> </src>
</maske> </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> <description>Studierende gesamt / 1. FS / 1.HS </description>
<src> <src>
<path>$VIZ_PFAD/masken</path> <path>$VIZ_PFAD/masken</path>
@ -842,12 +747,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path> <path>$VIZ_PFAD/masken</path>
</src> </src>
</maske> </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=""> <maske tid="44540" name="Studierende nach Semester und Studiengang" thema="">
<description> </description> <description> </description>
<src> <src>
@ -890,12 +789,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path> <path>$VIZ_PFAD/masken</path>
</src> </src>
</maske> </maske>
<maske tid="44750" name="Dashboard-Elemente" thema="">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
</masken> </masken>
@ -968,70 +861,21 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
displayType="select" visibleFields="caption" format="%s"> displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="viz_property_id" /> <relation-column from="tid" to="viz_property_id" />
</relation> </relation>
</data-integrity>
<!--viz_dashboard--> <!--viz_dashboard-->
<relation from="maskeninfo" to="viz_dashboard" delete="FALSE" <relation from="maskeninfo" to="viz_dashboard" delete="FALSE"
displayType="select" visibleFields="name" format="%s"> displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" /> <relation-column from="tid" to="maskeninfo_id" />
</relation> </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" <relation from="viz_dashboard" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="caption" format="%s"> displayType="select" visibleFields="caption" format="%s">
<relation-column from="tid" to="dashboard_id" /> <relation-column from="tid" to="dashboard_id" />
</relation> </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" <relation from="maskeninfo" to="viz_dashboard_tab" delete="FALSE"
displayType="select" visibleFields="name" format="%s"> displayType="select" visibleFields="name" format="%s">
<relation-column from="tid" to="maskeninfo_id" /> <relation-column from="tid" to="maskeninfo_id" />
</relation> </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> </database>
@ -1078,42 +922,38 @@ gueltig_bis DATE
version integer default 1 version integer default 1
) ;" ) ;"
scriptfile="" database=""/> 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, uniquename VARCHAR(255) not null,
caption VARCHAR(255) , 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 , maskeninfo_id INTEGER ,
mask_params TEXT , booklet_stylesheet VARCHAR(255) ,
renderer_id INTEGER , gridtitle_felderinfo_id integer
chartmodel_miniature TEXT , )
chart_position CHAR(10) , ;" scriptfile="" database=""/>
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)
<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=""/> ;" scriptfile="" database=""/>
</action> </action>
<action error="stop"> <action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable> <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="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_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_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"><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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_property_input_type"><file path="$VIZ_PFAD/schluesseltabellen/viz_property_input_type.unl"/></loadtable>
@ -1122,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_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_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="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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_staat_isocode"><file path="$VIZ_PFAD/schluesseltabellen/viz_staat_isocode.unl"/></loadtable>
</action> </action>
<action error="stop"> <action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_repository_fuellen.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/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/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_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=""/>
@ -1160,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_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_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/studierende_datenblatt_dashboard.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql" database=""/>
@ -1190,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_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_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_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>
@ -1279,6 +1110,7 @@ gueltig_bis DATE
) ;" ) ;"
scriptfile="" database=""/> scriptfile="" database=""/>
<nativeaction sql="create table tmp_viz_chart( <nativeaction sql="create table tmp_viz_chart(
tid SERIAL not null,
uniquename VARCHAR(255) not null, uniquename VARCHAR(255) not null,
caption VARCHAR(255) , caption VARCHAR(255) ,
description TEXT , description TEXT ,
@ -1293,23 +1125,38 @@ renderer_id INTEGER ,
chartmodel_miniature TEXT , chartmodel_miniature TEXT ,
chart_position CHAR(10) , chart_position CHAR(10) ,
chart_active SMALLINT default 1 , chart_active SMALLINT default 1 ,
chart_width varchar(255) default '600' , chart_width INTEGER default 600 ,
chart_height varchar(255) default '400' , chart_height INTEGER default 400 ,
chart_miniature_width varchar(255) default '200' , chart_miniature_width INTEGER default 200 ,
chart_miniature_height varchar(255) default '100' , chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT, 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)
)
;" 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=""/> ;" 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>
<action error="stop"> <action error="stop">
<loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable> <loadtable refresh="true" delimiter="^" header="false" tabname="tmp_repository"><file path="$VIZ_PFAD/schluesseltabellen/sx_repository.unl"/></loadtable>
@ -1319,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_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"><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_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_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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_renderer"><file path="$VIZ_PFAD/schluesseltabellen/viz_renderer.unl"/></loadtable>
@ -1329,16 +1178,15 @@ 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> <loadtable refresh="true" delimiter="^" header="false" tabname="viz_staat_isocode"><file path="$VIZ_PFAD/schluesseltabellen/viz_staat_isocode.unl"/></loadtable>
</action> </action>
<action error="stop"> <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/sx_repository_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/fm_templates_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_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_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/konstanten_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_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_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_plot_line_bar_boxplot_fuellen.sql" database=""/>
@ -1353,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_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_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>
<action error="stop"> <action error="stop">
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
@ -1381,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_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_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_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_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_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_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_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>
<action> <action>
@ -1466,14 +1305,6 @@ mode="full">
<customfield name="chart_height" visibleSize="10" nullFieldValue="" /> <customfield name="chart_height" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_width" visibleSize="10" nullFieldValue="" /> <customfield name="chart_miniature_width" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_height" 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="chart_active" nullFieldValue="" visibleSize="30" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" /> <customfield name="is_custom" nullFieldValue="" visibleSize="30" />
@ -1710,14 +1541,14 @@ mode="full">
<customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" /> <customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" /> <customfield name="is_custom" nullFieldValue="" visibleSize="30" />
<customfield name="Elemente" type="subform" multipart="false" autoUpdate="false" <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" orderBy="sortnr" allowNew="true"
mode="full"> mode="full">
<field-selection complete="false" /> <field-selection complete="false" />
<customfield name="tid" nullFieldValue="" /> <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" /> <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 name="sortnr" visibleSize="10" nullFieldValue="" />
</customfield> </customfield>
</form> </form>

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

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

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

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

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

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

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

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

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

@ -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 @@
44160^320^ 44160^120^

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

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

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

@ -13,7 +13,7 @@ and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl_dashboard')\ and uniquename in ('sos_stud_geschl_dashboard')\
order by sortnr, caption limit 1\ 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 \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ 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
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;^ ^ ^ 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^^ ^ ^ 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;^ 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^ ^ 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^999^<<SQL>> --freemarker template \ 44227^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ 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
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';^ 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';^ 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^ ^ ^ ^ 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';^ 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;^ ^ ^ 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 @@
44220^320^ 44220^7^

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

@ -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 @@
44250^320^ 44250^7^

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

@ -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 @@
44280^320^ 44280^7^

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

@ -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 @@
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard')\ 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 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\ order by sortnr, caption\
;^ ^<<SQL>>SELECT uniquename,\ ;^^<<SQL>>SELECT uniquename,\
caption\ caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat_dashboard')\ 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)\
and uniquename in ('sos_stud_abgrp_dashboard')\ and uniquename in ('sos_stud_abgrp_dashboard')\
order by sortnr, caption limit 1\ 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 \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ 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
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;^ ^ ^ 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^^ ^ ^ 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;^ 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^ ^ 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^999^<<SQL>> --freemarker template \ 44317^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ 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
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';^ 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';^ 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^ ^ ^ ^ 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';^ 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;^ ^ ^ 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 @@
44310^320^ 44310^7^

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

@ -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 @@
44340^320^ 44340^7^

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

@ -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 @@
44510^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\ 44510^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\ caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where 1=1\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat',\
'sos_stud_astat_dashboard')\
and R.systeminfo_id=7)\ and R.systeminfo_id=7)\
and uniquename like '%jahr%'\
order by sortnr, caption\ order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\ ;^^<<SQL>>SELECT uniquename,\
caption\ caption\
@ -20,9 +17,9 @@ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 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;^ ^ ^ 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^ 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^ ^ 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 \ 44517^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
@ -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^ 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';^ 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';^ 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';^ 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;^ ^ ^ 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 @@
44510^320^ 44510^7^

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

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

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

@ -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 @@
44540^320^ 44540^7^

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

@ -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';^ 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^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44571^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\ </#if>\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 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^^ 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.';^ 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^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';^ 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';^
44576^viz_label_Status^50^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44577^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^ 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 \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
@ -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;^ 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;^^^ 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;^^^ 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^ ^ ^ ^ 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^ 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}^ ^ 44586^Grafiktitel^1010^0^0^100^100^1^char^255^0^0^ ^{InputCheck:disabled}^ ^
@ -31,14 +30,15 @@ order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today(
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\ where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\
and R.systeminfo_id=7)\ and R.systeminfo_id=7)\
and uniquename like 'sos_stud_sem%'\
order by sortnr, caption\ order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\ ;^^<<SQL>>SELECT uniquename,\
caption\ caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat_dashboard'\ 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';^ 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^ 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^viz_label_Zeitraum^20^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44590^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
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;^ ^ ^ 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^viz_label_Studiengang^29^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^ 44592^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44593^viz_label_koepfe_faelle^0^350^-1^150^180^1^char^200^0^8^^{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 @@
44570^320^ 44570^7^

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

@ -4,7 +4,6 @@
44570^44573^ 44570^44573^
44570^44574^ 44570^44574^
44570^44575^ 44570^44575^
44570^44576^
44570^44577^ 44570^44577^
44570^44579^ 44570^44579^
44570^44580^ 44570^44580^

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

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

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

@ -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(
44636^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^ 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;^ ^ ^ 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\ 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^ 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^ ^ 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 \ 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\
\ \
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \ <#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(\ create temp table tmp_erg(\
ord integer,\ ord integer,\
@ -82,11 +118,7 @@ gridtitle_felderinfo_id\
)\ )\
select 1,\ select 1,\
'${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\ '${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\
<#if dashboard.maskeninfo_id?exists>\
${dashboard.maskeninfo_id},\ ${dashboard.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${dashboard.booklet_stylesheet}',\ '${dashboard.booklet_stylesheet}',\
val('${dashboard.gridtitle_felderinfo_id}')\ val('${dashboard.gridtitle_felderinfo_id}')\
from xdummy;\ from xdummy;\
@ -95,7 +127,6 @@ from xdummy;\
<#foreach kennzahl in dashboard_tabs>\ <#foreach kennzahl in dashboard_tabs>\
<#assign ord=ord+1 />\ <#assign ord=ord+1 />\
\ \
\
insert into tmp_erg(\ insert into tmp_erg(\
ord,\ ord,\
kennz,\ kennz,\
@ -105,15 +136,9 @@ hidden_optional_filter_name,\
hidden_optional_filter_value,\ hidden_optional_filter_value,\
hidden_booklet_stylesheet\ hidden_booklet_stylesheet\
)\ )\
<#if kennzahl.select_clause?exists && kennzahl.select_clause?string !="" >\ select ${ord},'${kennzahl.name}',\
select ${ord},\
'${kennzahl.name}' as kennz,\
${kennzahl.select_clause},\ ${kennzahl.select_clause},\
<#if kennzahl.maskeninfo_id?exists && kennzahl.maskeninfo_id?string !="" >\
${kennzahl.maskeninfo_id},\ ${kennzahl.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${kennzahl.optional_filter_name}',\ '${kennzahl.optional_filter_name}',\
'${kennzahl.optional_filter_value}',\ '${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\ '${kennzahl.booklet_stylesheet}'\
@ -123,22 +148,6 @@ and 's_' || tid_stg in <@printkeys Studiengang.allNeededKeysList/>\
and ${kennzahl.where_clause}\ and ${kennzahl.where_clause}\
group by 1,2;\ 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>\ </#foreach>\
\ \
select ord,\ select ord,\

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

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

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

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

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

@ -1,24 +1,24 @@
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';^ 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^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \ 44721^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\ </#if>\
and sem_beginn <=today()\ 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;^ 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';^ 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^^ 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}^^ 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';^ 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^^^^ 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 \ 44729^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \ select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\ <#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\ where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\ </#if>\
and sem_beginn <=today()\ and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 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}^^ 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;^^^ 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;^^^ 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^ ^ ^ ^ 44734^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
@ -36,8 +36,8 @@ order by sortnr, caption\
FROM rpta_column_layout \ FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\ 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';^ and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^
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^ ^ 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^ 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;^ ^ ^ 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}^^ 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^ 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 @@
44720^320^ 44720^7^

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

@ -106,7 +106,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
\ \
<#assign filter="<<Köpfe oder Fälle ?>>\ <#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_der_pruefung = <<Semester>> */\ /* and sem_der_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag Prüfungen>> */\ /* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\ /* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\ /* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\ /* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
@ -254,4 +254,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\ width=${column.visible_width} text_size=60\
</#if>\ </#if>\
</#foreach>\ </#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^0^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 @@
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 @@
44750^320^

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

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

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

@ -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 @@
320^44750^

43
src-modules/module/viz/masken/44780_felderinfo.unl

@ -1,43 +0,0 @@
44780^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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl_dashboard','sos_stud_sem_dashboard','sos_stud_dashboard_jahr')\
order by sortnr, caption\
;^ ^<<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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_abgrp_dashboard')\
order by sortnr, caption limit 1\
;^
44781^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} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44782^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;^ ^ ^
44783^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;^ ^ ^
44784^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44785^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44780 and chart_active=1 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44780 and chart_active=1 order by 2 limit 1;^
44786^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44787^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} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44788^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
44789^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
44790^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=44780 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=44780 order by ord limit 1^
44791^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';^
44792^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';^
44793^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44794^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^
44798^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';^
44802^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;^ ^ ^

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

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

17
src-modules/module/viz/masken/44780_masken_felder_bez.unl

@ -1,17 +0,0 @@
44780^44780^
44780^44781^
44780^44782^
44780^44783^
44780^44784^
44780^44785^
44780^44786^
44780^44787^
44780^44788^
44780^44789^
44780^44790^
44780^44791^
44780^44792^
44780^44793^
44780^44794^
44780^44798^
44780^44802^

1
src-modules/module/viz/masken/44780_maskeninfo.unl

@ -1 +0,0 @@
44780^Studierende nach Abschluss (Zeitreihe)^<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>>;^

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

@ -1 +0,0 @@
16^44780^

43
src-modules/module/viz/masken/44810_felderinfo.unl

@ -1,43 +0,0 @@
44810^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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl_dashboard')\
order by sortnr, caption\
;^^<<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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl_dashboard')\
order by sortnr, caption limit 1\
;^
44811^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} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44812^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;^ ^ ^
44813^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;^ ^ ^
44814^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44815^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44810 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44810 order by 2 limit 1;^
44816^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44817^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} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44818^Staatsangehörigkeit^150^0^0^140^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^ ^ ^
44819^Studiengang^25^0^0^140^150^50^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^ ^ ^
44820^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=44810 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=44810 order by ord limit 1^
44821^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';^
44822^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';^
44823^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44824^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^
44828^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';^
44832^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;^ ^ ^

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

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

17
src-modules/module/viz/masken/44810_masken_felder_bez.unl

@ -1,17 +0,0 @@
44810^44810^
44810^44811^
44810^44812^
44810^44813^
44810^44814^
44810^44815^
44810^44816^
44810^44817^
44810^44818^
44810^44819^
44810^44820^
44810^44821^
44810^44822^
44810^44823^
44810^44824^
44810^44828^
44810^44832^

1
src-modules/module/viz/masken/44810_maskeninfo.unl

@ -1 +0,0 @@
44810^Studierende nach Geschlecht (Zeitreihe)^<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>>;^

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

@ -1 +0,0 @@
16^44810^

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

@ -128,19 +128,10 @@ V.chart_width,
V.chart_height, V.chart_height,
V.chart_miniature_width, V.chart_miniature_width,
V.chart_miniature_height, V.chart_miniature_height,
V.maskeninfo_id, V.maskeninfo_id
V.js_handler, FROM viz_chart V, viz_renderer R
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)
where R.tid=V.renderer_id where R.tid=V.renderer_id
and V.chart_active=1 and chart_active=1
order by 3 order by 3
; ;
</sqlvar> </sqlvar>
@ -321,15 +312,6 @@ order by 2,5,3
chart_miniature_width="${ch.chart_width}" chart_miniature_width="${ch.chart_width}"
chart_miniature_height="${ch.chart_height}" chart_miniature_height="${ch.chart_height}"
maskeninfo_id="${ch.maskeninfo_id}" 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> </#foreach>
</#if> </#if>

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

@ -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\ CREATE temp TABLE tmp_viz_property_renderer\
(\ (\
@ -181,7 +181,7 @@ set caption=T.caption,\
prop_default=T.prop_default,\ prop_default=T.prop_default,\
prop_unit=T.prop_unit,\ prop_unit=T.prop_unit,\
is_generic=T.is_generic,\ is_generic=T.is_generic,\
static_values=T.static_values,\ --static_values=T.static_values,\
is_mandatory=T.is_mandatory,\ is_mandatory=T.is_mandatory,\
input_type_id=T.input_type_id,\ input_type_id=T.input_type_id,\
property_group_id=T.property_group_id,\ property_group_id=T.property_group_id,\
@ -202,7 +202,7 @@ in (select ${renderer},P.tid\
from viz_property P, tmp_viz_property T\ from viz_property P, tmp_viz_property T\
where P.prop_uniquename=T.prop_uniquename);\ where P.prop_uniquename=T.prop_uniquename);\
\ \
select sp_update_sequence('viz_property_renderer');\ \
\ \
insert into viz_property_renderer(\ insert into viz_property_renderer(\
renderer_id,\ renderer_id,\
@ -343,163 +343,4 @@ and P.prop_uniquename='${viz_prop.viz_property_uniquename}'\
;\ ;\
</#foreach>\ </#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^ </#macro>^Makros zum Umgang mit Visualisierungen^ ^1^

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

@ -35,9 +35,9 @@ beschreibung,
ab_version, ab_version,
gruppe, gruppe,
sachgebiete_id) sachgebiete_id)
values (10, values (20,
'VIZ_ZEITR_SEM_ANZ', 'VIZ_ZEITR_SEM_ANZ',
10, 20,
'Anzahl Semester rückwirkend in Zeitreihen', 'Anzahl Semester rückwirkend in Zeitreihen',
320, 320,
'https://www.superx-projekt.de/doku/viz_modul/admin/f_Konstanten.htm',--doku link '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 @@
--freemarker template --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 = [ <#assign makros = [
{"tid":"44070"}, {"tid":"44070"},
@ -45,13 +31,11 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44190", "tid":"44600", "sortnr":"60"}, {"makro":"44190", "tid":"44600", "sortnr":"60"},
{"makro":"44660", "tid":"44630", "sortnr":"0"}, {"makro":"44660", "tid":"44630", "sortnr":"0"},
{"makro":"44660", "tid":"44750", "sortnr":"5"},
{"makro":"44660", "tid":"44570", "sortnr":"10"}, {"makro":"44660", "tid":"44570", "sortnr":"10"},
{"makro":"44660", "tid":"44570", "sortnr":"20"}, {"makro":"44660", "tid":"44570", "sortnr":"20"},
{"makro":"44660", "tid":"44570", "sortnr":"30"}, {"makro":"44660", "tid":"44570", "sortnr":"30"},
{"makro":"44690", "tid":"44630", "sortnr":"0"}, {"makro":"44690", "tid":"44630", "sortnr":"0"},
{"makro":"44690", "tid":"44750", "sortnr":"5"},
{"makro":"44690", "tid":"44570", "sortnr":"10"}, {"makro":"44690", "tid":"44570", "sortnr":"10"},
{"makro":"44690", "tid":"44570", "sortnr":"20"}, {"makro":"44690", "tid":"44570", "sortnr":"20"},
{"makro":"44690", "tid":"44570", "sortnr":"30"}, {"makro":"44690", "tid":"44570", "sortnr":"30"},
@ -167,7 +151,6 @@ select tid from sos_stichtag where appl_key='4';
{"makro":"44190", "sortnr":"60", "feldname":"Nur Endsemester", "value":"1"}, {"makro":"44190", "sortnr":"60", "feldname":"Nur Endsemester", "value":"1"},
{"makro":"44660", "sortnr":"0", "feldname":"Dashboard", "value":"STUD"}, {"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":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44660", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"}, {"makro":"44660", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_sem_dashboard"},
@ -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":"44660", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"0", "feldname":"Dashboard", "value":"STUDABSOLV"}, {"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":"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":"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":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}, {"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":"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":"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":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"20", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.HS"}, {"makro":"44690", "sortnr":"20", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.HS"},
{"makro":"44690", "sortnr":"20", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"}, {"makro":"44690", "sortnr":"20", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
@ -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":"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":"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":"Grafik", "value":"STUD_SEM_LINE"},
{"makro":"44690", "sortnr":"30", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.FS"}, {"makro":"44690", "sortnr":"30", "feldname":"Grafiktitel", "value":"Studienanfänger*innen 1.FS"},
{"makro":"44690", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"}, {"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 @@
--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;
"caption":"Absolvierende nach Abschlussgruppe und Semester", "caption":"Absolvierende nach Abschlussgruppe und Semester",
"rpta_resultset":"rpta_sos_lab_aggr", "rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"", "whereclause":"",
"sortclause":"sem_der_pruefung",
"description":"Absolvierende nach Abschlussgruppe und Semester", "description":"Absolvierende nach Abschlussgruppe und Semester",
"is_virtual":1 "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 @@
--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;
"caption":"Absolvierende in oder über RSZ nach Semester", "caption":"Absolvierende in oder über RSZ nach Semester",
"rpta_resultset":"rpta_sos_lab_aggr", "rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"", "whereclause":"",
"sortclause":"sem_der_pruefung",
"description":"Absolvierende in oder über RSZ nach Semester", "description":"Absolvierende in oder über RSZ nach Semester",
"is_virtual":1 "is_virtual":1
} }

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

@ -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;
"caption":"Absolvierende nach Semester", "caption":"Absolvierende nach Semester",
"rpta_resultset":"rpta_sos_lab_aggr", "rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"", "whereclause":"",
"sortclause":"sem_der_pruefung",
"description":"Absolvierende nach Semester", "description":"Absolvierende nach Semester",
"is_virtual":1 "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;
"caption":"Studierende nach Semester DB", "caption":"Studierende nach Semester DB",
"rpta_resultset":"sos_stud_astat_dashboard", "rpta_resultset":"sos_stud_astat_dashboard",
"whereclause":"", "whereclause":"",
"sortclause":"sem_rueck_beur_ein",
"description":"Studierende nach Semester für Dashboard", "description":"Studierende nach Semester für Dashboard",
"is_virtual":1 "is_virtual":1
} }

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

@ -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
from sx_tables where name ='sos_stg_aggr'; from sx_tables where name ='sos_stg_aggr';
</sqlvar> </sqlvar>
<sqlvar name="logical_fields" type="hashsequence"><![CDATA[ <sqlvar name="logical_fields" type="hashsequence">
<#if sos_stg_aggr_exists==1>
drop table if exists rpta_sos_hzb_bland; drop table if exists rpta_sos_hzb_bland;
create table rpta_sos_hzb_bland as 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 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,
from xdummy from xdummy
; ;
</#if>
]]>
</sqlvar> </sqlvar>
<sqlvar name="added_tables" type="hashsequence"><![CDATA[ <sqlvar name="added_tables" type="hashsequence"><![CDATA[
@ -117,7 +117,7 @@ select '(''tid_stg'',''sem_rueck_beur_ein'',''stichtag'',''geschlecht'', ''hzbar
from xdummy; from xdummy;
</sqlvar> </sqlvar>
<sqlvar name="added_table_fields"> <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; from xdummy;
</sqlvar> </sqlvar>
@ -384,7 +384,7 @@ left outer join ${logical_field.join_field}
'; ';
--whereclause erstmal primitiv --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 select * into temp tmp_rs1
from rpta_resultset from rpta_resultset
; ;

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

@ -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,\
V.chart_height,\ V.chart_height,\
V.chart_miniature_width,\ V.chart_miniature_width,\
V.chart_miniature_height,\ V.chart_miniature_height,\
V.maskeninfo_id,\ V.maskeninfo_id\
V.js_handler,\ FROM viz_chart V, viz_renderer R\
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) \
where R.tid=V.renderer_id\ where R.tid=V.renderer_id\
and V.chart_active=1\ and chart_active=1\
order by 3\ order by 3\
;\ ;\
</sqlvar>\ </sqlvar>\
@ -169,7 +160,7 @@ R.uniquename as renderer_uniquename,\
R.tid as renderer_id,\ R.tid as renderer_id,\
P.tid as prop_tid,\ P.tid as prop_tid,\
P.prop_uniquename,\ 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,\ where P2.tid=N.parent_property_id) as parent_property_uniquename,\
N.sortnr,\ N.sortnr,\
N.is_mandatory\ N.is_mandatory\
@ -321,15 +312,6 @@ order by 2,5,3\
chart_miniature_width="${ch.chart_width}"\ chart_miniature_width="${ch.chart_width}"\
chart_miniature_height="${ch.chart_height}"\ chart_miniature_height="${ch.chart_height}"\
maskeninfo_id="${ch.maskeninfo_id}"\ 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>\ </#foreach>\
</#if>\ </#if>\

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

@ -10,12 +10,10 @@
{"mask":"44100", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44100", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44130", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"mask":"44130", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44130", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"mask":"44130", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"mask":"44160", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44160", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44190", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"}, {"mask":"44190", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
@ -25,50 +23,41 @@
{"mask":"44220", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44280", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44510", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44250", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44570", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44600", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44310", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44340", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44660", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"}, {"mask":"44660", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
@ -84,13 +73,11 @@
{"mask":"44720", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_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":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"48460", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}, {"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.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_table.xsl", "ord":"40"}
{"mask":"48460", "filename":"viz_html_chart_viewer_mask_and_detailchart.xsl", "ord":"50"}
] /> ] />
@ -151,17 +138,6 @@
"stylesheet_type":"XSL", "stylesheet_type":"XSL",
"jr_datasource":"" "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", {"filename":"viz_report_44660_xmlsource.jrxml",
"caption":"Campus Dashboard Druckversion", "caption":"Campus Dashboard Druckversion",
"description":"Ausgabe pro Reiter", "description":"Ausgabe pro Reiter",

604
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 (
'STUDANF_GESCHL_PIE', 'STUDANF_GESCHL_PIE',
'STUDANF_HZB_LAND_BAR', 'STUDANF_HZB_LAND_BAR',
'STUDANF_JAHR_BAR', 'STUDANF_JAHR_BAR',
'STUDANF_JAHR_LINE',
'STUDANF_KOHORTEN_BAR_Y_ECHART', 'STUDANF_KOHORTEN_BAR_Y_ECHART',
'STUDANF_KOHORTEN_BAR_Y_ECHART_INVERTED', 'STUDANF_KOHORTEN_BAR_Y_ECHART_INVERTED',
'STUDANF_SEM_LINE_TEXT', 'STUDANF_SEM_LINE_TEXT',
@ -46,39 +45,8 @@ where uniquename in (
'STUD_ZEITR_BAR_LINE_DOT', 'STUD_ZEITR_BAR_LINE_DOT',
'STUD_ZEITR_BAR_LINE_DOT_TEXT'); 'STUD_ZEITR_BAR_LINE_DOT_TEXT');
alter table tmp_viz_chart add column ist_neu smallint default 0, delete from viz_chart where uniquename in (select uniquename from tmp_viz_chart)
add column detail_chart_id integer ; and is_custom=0;
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);
select sp_update_sequence('viz_chart'); select sp_update_sequence('viz_chart');
@ -101,15 +69,7 @@ uniquename,
chart_height, chart_height,
chart_miniature_width, chart_miniature_width,
chart_miniature_height, chart_miniature_height,
is_custom, 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)
select select
uniquename, uniquename,
@ -130,29 +90,9 @@ uniquename,
chart_height, chart_height,
chart_miniature_width, chart_miniature_width,
chart_miniature_height, chart_miniature_height,
is_custom, 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
FROM tmp_viz_chart FROM tmp_viz_chart
where ist_neu=1; where is_custom=0;
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;
drop table tmp_viz_chart; drop table tmp_viz_chart;

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

@ -1,37 +1,25 @@
#!/bin/bash #!/bin/bash
#entlädt nur die charts, die Teil der Auslieferung sind: #entlädt nur die charts, die Teil der Auslieferung sind:
DOQUERY "select DOQUERY "select tid,
V.uniquename, uniquename,
V.caption, caption,
V.description, description,
V.chartmodel, chartmodel,
V.preview_svg, preview_svg,
V.userinfo_id, userinfo_id,
V.creation_date, creation_date,
V.update_date, update_date,
V.maskeninfo_id, maskeninfo_id,
V.mask_params, mask_params,
V.renderer_id, renderer_id,
V.chartmodel_miniature, chartmodel_miniature,
V.chart_position, chart_position,
V.chart_active, chart_active,
V.chart_width, chart_width,
V.chart_height, chart_height,
V.chart_miniature_width, chart_miniature_width,
V.chart_miniature_height, chart_miniature_height,
V.is_custom, is_custom from viz_chart where is_custom=0 order by uniquename" false ^ viz_chart.unl txt
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

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

@ -3,6 +3,7 @@
DOQUERY "drop table if exists tmp_viz_chart ;" DOQUERY "drop table if exists tmp_viz_chart ;"
DOQUERY "create table tmp_viz_chart( DOQUERY "create table tmp_viz_chart(
tid SERIAL not null,
uniquename VARCHAR(255) not null, uniquename VARCHAR(255) not null,
caption VARCHAR(255) , caption VARCHAR(255) ,
description TEXT , description TEXT ,
@ -17,19 +18,11 @@ renderer_id INTEGER ,
chartmodel_miniature TEXT , chartmodel_miniature TEXT ,
chart_position CHAR(10) , chart_position CHAR(10) ,
chart_active SMALLINT default 1 , chart_active SMALLINT default 1 ,
chart_width VARCHAR(255) default '600' , chart_width INTEGER default 600 ,
chart_height VARCHAR(255) default '400' , chart_height INTEGER default 400 ,
chart_miniature_width VARCHAR(255) default '200' , chart_miniature_width INTEGER default 200 ,
chart_miniature_height VARCHAR(255) default '100' , chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT, 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)
) )
;" ;"

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

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

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

@ -630,10 +630,10 @@
{ "caption":"Ausrichtung Wertelabel (vertikal)", { "caption":"Ausrichtung Wertelabel (vertikal)",
"prop_uniquename":"position_valueLabel", "prop_uniquename":"position_valueLabel",
"explanation":"", "explanation":"",
"prop_default":"inside", "prop_default":"top",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "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", "is_mandatory":"0",
"input_type_uniquename":"SELECT", "input_type_uniquename":"SELECT",
"property_group_uniquename":"", "property_group_uniquename":"",
@ -717,9 +717,9 @@
"prop_default":"", "prop_default":"",
"prop_unit":"", "prop_unit":"",
"is_generic":"1", "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", "is_mandatory":"0",
"input_type_uniquename":"COLORPALETTE", "input_type_uniquename":"SELECT",
"property_group_uniquename":"", "property_group_uniquename":"",
"sortnr":"410", "sortnr":"410",
"range_from":"", "range_from":"",

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

@ -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 @@
--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 @@
--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 @@
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^^ 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^
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^^ 2^Grafik-Breite^width^650^ ^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^
173^Rand oben in %^margin.top^16^%^1^ ^0^1^^Oberer Rand in %^1900^^^integer^^ 3^Werte-Label-Breite^valueLabelWidth^^^0^^0^1^18^^^^^integer^
172^Rand rechts in %^margin.right^0^%^1^ ^0^1^^Rechter Rand in %^1800^^^integer^^ 4^Hintergrundfarbe^backgroundColor^#ffffff^ ^0^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^
171^Rand links in %^margin.left^20^%^1^ ^0^1^^Linker Rand in %^1700^^^integer^^ 5^Schriftfarbe^color^ ^ ^0^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^
213^Gestapelte Balken^barStacked^false^ ^0^true|false^0^2^^ ^5100^^^STRING^^ 6^Schriftgröße^fontSize^^px^0^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^
199^Abgerundete Ecken^cornerRadiusRounded^true^ ^0^true|false^0^2^^Abgerundete Ecken der Tortenstücke^4800^^^STRING^^ 7^Schriftfamilie^fontFamily^^ ^0^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^
187^Y-Achse Beschriftung^yAxisLabelNode^ ^ ^0^ ^0^7^^Y-Achse-Beschriftung^3000^^^NODE^^ 8^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^1300^^^string^
185^Y-Achse^yAxisNode^ ^ ^0^ ^0^7^^Y-Achse-Element^2800^^^NODE^^ 11^X: Schriftneigung^tickRotate_x^^ ^0^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^
181^X-Achse Beschriftung^xAxisLabelNode^ ^ ^0^ ^0^7^^X-Achse-Beschriftung^2400^^^NODE^^ 12^X: Skalierung^ticks_x^^ ^0^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^
178^X-Achse^xAxisNode^ ^ ^0^ ^0^7^^X-Achse-Element^2100^^^NODE^^ 13^X: Schriftgröße^tickSize_x^^ ^0^ ^0^1^18^Größe der Achsenwerte^603^^^integer^
170^Ränder^marginNode^ ^ ^1^ ^0^7^^ ^1600^^^NODE^^ 15^X: Label-Ausrichtung^labelAnchor_x^^ ^0^left|center|right^0^2^18^Label-Position^601^^^string^
206^Legende^legendNode^ ^ ^1^ ^0^7^^Legenden-Element^1100^^^NODE^^ 16^Außenrand links^marginLeft^100^^0^ ^0^4^10^Abstand zwischen Grafik und linkem Hintergrundrand^103^^^integer^
174^X-Achse^x^ ^ ^0^ ^1^2^5^X-Achse^200^^^string^^ 17^Außenrand rechts^marginRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und rechtem Hintergrundrand^104^^^integer^
166^Titel^titleNode^ ^ ^1^ ^0^7^^Titel-Element^700^^^NODE^^ 18^Außenrand oben^marginTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und oberem Hintergrundrand^105^^^integer^
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^^ 19^Außenrand unten^marginBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und unterem Hintergrundrand^106^^^integer^
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^^ 20^Innenrand oben^insetTop^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung oben^107^^^integer^
156^Diagrammelement^seriesNode^ ^ ^1^ ^0^7^^Layout der Diagrammelemente^600^^^NODE^^ 21^Innenrand unten^insetBottom^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung unten^108^^^integer^
159^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^400^^^string^^ 22^Innenrand links^insetLeft^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung links^109^^^integer^
191^Y: Distanz Beschriftung^distance_y^0^ ^0^ ^0^1^^Y-Achse Abstand Beschriftung zum Item^3400^^^integer^^ 23^Innenrand rechts^insetRight^ ^^0^ ^0^4^10^Abstand zwischen Grafik und Achsenbeschriftung rechts^110^^^integer^
190^Y: Beschriftung Breite^width_y^50^px^0^ ^0^1^^Y-Achse Breite Beschriftung^3300^^^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^
189^Y: Abstand Beschriftung^padding_y^5^ ^0^ ^0^1^^Y-Achse Abstand Beschriftung zur Achsenlinie^3200^^^integer^^ 25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^
179^X-Achse Name^xAxisName^ ^ ^0^ ^0^1^^X-Achse-Name^2200^^^STRING^^ 43^Deckungsgrad Farbe^fillOpacity^ ^ ^0^ ^0^1^11^Deckungsrad (opacity) zwischen 0 und 1^1800^0^1^string^
177^Rand unten in %^margin.bottom^20^%^1^ ^0^1^^Unterer Rand in %^2000^^^integer^^ 45^Strichlinie Breite^strokeWidth^ ^px^0^ ^0^1^11^Strichbreite in Pixel^2100^^^integer^
160^Dimension 3^dimension3^ ^ ^0^ ^0^2^5^Dimension 3^500^^^string^^ 56^Fortlaufende Skala^continous scales^^ ^0^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^
167^Untertitel-Text^subtitle^ ^ ^1^ ^0^1^^Text^800^^^STRING^^ 57^Kategorie-Skala^categorical scales^^ ^0^point|band^0^2^15^Art der Skalen-Gliederung^402^^^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^^ 58^Datums-Skala^date scales^^ ^0^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^
216^Farbpalette Ziel^seriesColorBy^series^ ^0^series|data^0^2^^Farbpalette gilt für die Serie oder zur Untrscheidung der Daten^4500^^^STRING^^ 60^Farbschema-Typ^schemetype^^ ^0^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^20^Art der Farbverteilung in Diagrammelementen^304^^^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^^ 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^
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^^ 63^X: Label-Abstand^labelOffset_x^^^0^ ^0^1^18^Label-Abstand von Achse^602^^^integer^
196^Ausrichtung Wertelabel (vertikal)^position_valueLabel^top^ ^1^top|center|bottom^0^2^^ ^3900^^^STRING^^ 68^Maß: Chart-Abstand^gridChartOffset^^ ^0^ ^0^1^18^ ^607^^^string^
194^Label anzeigen^valueLabelShow^true^ ^1^true|false^0^2^^ ^3700^^^STRING^^ 69^Maß: Label-Höhe^gridLabelHeight^^^0^ ^0^1^18^ ^608^^^integer^
192^Ausrichtung Y-Label (vertikal)^position_y^center^ ^1^top|center|bottom^0^2^^ ^3500^^^STRING^^ 70^X-Achse^x^ ^ ^0^ ^0^1^5^X-Achsendefinition^100^^^string^
180^X-Achse Name Position^xAxisNameLocation^end^ ^0^start|center|end^0^2^^Position der X-Achsenbezeichnung^2300^^^STRING^^ 72^Y-Achse^y^ ^ ^0^ ^0^1^5^Y-Achsendefinition^200^^^string^
211^Legende scrollbar^legend.scroll^false^ ^1^true|false^0^2^^ ^1500^^^STRING^^ 73^Maß 1^measure1^ ^ ^0^ ^0^2^5^Maß^300^^^string^
212^Legenden-Ausrichtung (horizontal)^legend.left^left^ ^1^left|center|right^0^2^^ ^1400^^^STRING^^ 76^Serien-Dimension^stroke^ ^ ^0^ ^0^1^5^Serien-Dimension zusätzlich zu Achsen^300^^^string^
208^Legenden-Ausrichtung (vertikal)^legend.top^bottom^ ^1^top|middle|bottom^0^2^^ ^1300^^^STRING^^ 78^Legende^legend^ ^ ^0^true|false^0^2^22^ ^303^^^boolean^
207^Legende anzeigen^legendShow^true^ ^1^true|false^0^2^^ ^1200^^^STRING^^ 79^Beschriftung^text^ ^ ^0^ ^0^1^5^Nur für Grafikelement Wertelabel^400^^^string^
169^Titel-Ausrichtung (vertikal)^title.top^top^ ^1^top|center|bottom^0^2^^ ^1000^^^STRING^^ 80^Serienfarbe^fill^ ^ ^0^ ^0^1^22^Nur für Grafikelemente Balken und Linien: Merkmal der Serien-Dimension^305^^^string^
205^X: Skala^scale_x^linear^ ^1^linear|identity|point|band|time^0^2^18^ ^1000^^^string^^ 81^Y: Label-Abstand^labelOffset_y^^^0^ ^0^1^21^Label-Abstand von Achse^602^^^integer^
168^Titel-Ausrichtung (horiz.)^title.left^left^ ^1^left|center|right^0^2^^ ^900^^^STRING^^ 82^Y: Label-Ausrichtung^labelAnchor_y^^ ^0^left|center|right^0^2^21^Label-Position^601^^^string^
193^Wertelabel^valueLabelNode^ ^ ^1^ ^0^7^^Beschriftung der Diagrammelemente^3600^^^NODE^^ 83^Y: Schriftgröße^tickSize_y^^ ^0^ ^0^1^21^Größe der Achsenwerte^603^^^integer^
203^Strichfarbe^stroke_static^ ^ ^0^ ^0^3^11^Strichfarbe (einfach)^800^^^string^^ 84^Y: Schriftneigung^tickRotate_y^^ ^0^ ^0^1^21^Neigungswinkel der Achsenwerte^604^^^integer^
204^Flächenfarbe^fill_static^ ^ ^0^ ^0^3^11^Nur für Grafikelemente Flächen und Balken. Füllfarbe.^900^^^string^^ 85^Y: Skalierung^ticks_y^^ ^0^ ^0^1^21^Feinheit der Wertegliederung^605^^^integer^
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^^ 86^X: Label^label_x^^ ^0^ ^0^1^18^Label X-Achse^602^^^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^^ 87^Y: Label^label_y^^ ^0^ ^0^1^21^Label Y-Achse^602^^^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^^ 88^Punktdicke^r^^ ^0^ ^0^1^5^Punktdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^
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^^ 91^Quell-Dimension^viz_source^^ ^0^ ^0^1^5^ ^608^^^string^
188^Y: Schriftneigung^tickRotate_y^ ^ ^0^ ^0^1^^Y-Achse-Beschriftung Schriftneigung^3100^-90^90^integer^^ 92^Ziel-Dimension 1^viz_target1^^ ^0^ ^0^1^5^ ^608^^^string^
186^Y-Achse Name^yAxisName^ ^ ^0^ ^0^1^^Y-Achse-Name^2900^^^STRING^^ 93^X: Linie^line_x^true^ ^0^true|false^0^2^18^Linie X-Achse^602^^^boolean^
184^X: Abstand Beschriftung^padding_x^5^ ^0^ ^0^1^^X-Achse Abstand Beschriftung zur Achsenlinie^2700^^^integer^^ 94^Y: Linie^line_y^true^ ^0^true|false^0^2^21^Linie Y-Achse^602^^^boolean^
183^X: Beschriftung Breite^width_x^100^px^0^ ^0^1^^X-Achse Breite Beschriftung^2600^^^integer^^ 95^Dimension 1^dimension1^ ^ ^0^ ^0^2^5^Dimension 1^100^^^string^
182^X: Schriftneigung^tickRotate_x^30^ ^0^ ^0^1^^X-Achse-Beschriftung Schriftneigung^2500^-90^90^integer^^ 96^Dimension 2^dimension2^ ^ ^0^ ^0^2^5^Dimension 2^200^^^string^
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^^ 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^
175^Y-Achse^y^ ^ ^0^ ^1^2^5^Y-Achse^300^^^string^^ 98^Y-Wertebereich^domain^ ^ ^0^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^
176^Serien-Dimension^stroke^ ^ ^0^ ^1^2^5^Serien-Dimension^600^^^string^^ 99^X: Skala^scale_x^band^ ^0^linear|identity|point|band|time^0^2^18^ ^1000^^^string^
202^Einzelfarbe^singleColor^ ^ ^0^ ^0^3^11^Linien- oder Balkenfarbe (einfach). Wird mit höherer Priorität ausgewertet als die Palette^4300^^^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^
155^Dimensionen^dimensionsNode^ ^ ^0^ ^0^7^^Dimensionen^100^^^NODE^^ 101^Offset (horizontal)^dx^ ^px^0^ ^0^1^10^Horizontales Offset des Grafikelements in Pixel^1600^^^integer^
157^Dimension 1^dimension1^ ^ ^0^ ^1^2^5^Dimension 1^200^^^string^^ 102^Offset (vertikal)^dy^ ^px^0^ ^0^1^10^Vertikales Offset des Grafikelements in Pixel^1700^^^integer^
158^Maß 1^measure1^ ^ ^0^ ^1^2^6^Maß 1^300^^^string^^ 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^TEXTAREA^Großes Textfeld^ 5^TEXTAREA^Großes Textfeld^
6^CHECKBOX^Ankreuzfeld^ 6^CHECKBOX^Ankreuzfeld^
7^NODE^Knotenelement^ 7^NODE^Knotenelement^
8^COLORPALETTE^Farbpalette^

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

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

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

@ -5,16 +5,11 @@ select sp_table_exists('k_astat_abschl_grp') from xdummy;
</sqlvar> </sqlvar>
</sqlvars> </sqlvars>
alter table viz_chart alter column chart_width type varchar(255); update viz_chart set chart_width=600 where chart_width is null;
alter table viz_chart alter column chart_height type varchar(255); update viz_chart set chart_height=400 where chart_height is null;
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_miniature_width=600 where chart_miniature_width is null;
update viz_chart set chart_height='400' where chart_height 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> <#if k_astat_abschl_grp_exists==1>
--Querabhängigkeit zum Kernmodul 5.2 abwärtskomp.: --Querabhängigkeit zum Kernmodul 5.2 abwärtskomp.:
@ -47,7 +42,3 @@ alter table dim_studiengang add column ist_lehramt smallint default 0;
</#if> </#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');

267
superx/style/sx_viz_muster.css

@ -1,25 +1,3 @@
/*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; }
}
/*dateispezifische Basics*/ /*dateispezifische Basics*/
html, body { html, body {
height: auto; height: auto;
@ -38,13 +16,12 @@ html, body {
display: flex; display: flex;
flex-wrap: wrap; } flex-wrap: wrap; }
/*!!!202605 deaktiviert: vgl. Zeile 373!!!*/ .card { /*für Cardposition, -style*/
/*.card { /*für Cardposition, -style*/ display: flex;
/* display: flex; flex-flow: column;
/* flex-flow: column; margin-left: 0em; /*1.5em bei farbigem Hintergrund*/
/* margin-left: 0em; /*1.5em bei farbigem Hintergrund*/ margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/
/* margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/ box-shadow: none; }
/* box-shadow: none; }
/*Buttonleiste, Legende*/ /*Buttonleiste, Legende*/
.legende { /*für Berichtslegende*/ .legende { /*für Berichtslegende*/
@ -52,17 +29,16 @@ html, body {
padding: 0.4rem 0.4rem 0.4rem 0.4rem; } /*für Padding: ob re un li*/ padding: 0.4rem 0.4rem 0.4rem 0.4rem; } /*für Padding: ob re un li*/
/*Tabs, Selektionsfelder-Formular*/ /*Tabs, Selektionsfelder-Formular*/
/*!!!202605 deaktiviert: vgl. Zeile 385!!!*/ .label-container { /*für Responsibility der Eingabefelder*/
/*.label-container { /*für Responsibility der Eingabefelder*/ display: flex;
/* display: flex;
justify-content: left; justify-content: left;
background: inherit; background: inherit;
min-width: 10.0em; }*/ min-width: 10.0em; }
.label { /*für Selektionsfeld-Bezeichner*/ .label { /*für Selektionsfeld-Bezeichner*/
font-family: sans-serif; font-family: sans-serif;
font-weight: normal; font-weight: normal;
/*font-size: 2rem;*/ /* 202605 deakitviert*/ font-size: 2rem;
margin-left: 1.0em; margin-left: 1.0em;
margin-top: 0.4em; } margin-top: 0.4em; }
@ -76,30 +52,30 @@ html, body {
.tabs { /*für Tab-Namen*/ .tabs { /*für Tab-Namen*/
font-size: 2rem; } font-size: 2rem; }
.grid { /*20250917 eingefügt*/ .grid { /*20250917 eingefügt*/
display: flex; display: flex;
flex-wrap: wrap; } /*erlaubt Umbruch'*/ flex-wrap: wrap; } /*erlaubt Umbruch'*/
/*20251007 eingefügt*/ /*20251007 eingefügt*/
.fullwidth-grid { .fullwidth-grid {
width: 100vw; /* gesamte Viewport-Breite */ width: 100vw; /* gesamte Viewport-Breite */
padding-right: 2em; } padding-right: 2em; }
.dashboard-tabs { /*20250917 eingefügt*/ .dashboard-tabs { /*20250917 eingefügt*/
display: flex; display: flex;
flex-wrap: wrap; /* erlaubt Umbruch */ flex-wrap: wrap; /* erlaubt Umbruch */
list-style: none; list-style: none;
margin: 1rem; margin: 1rem;
padding: 0; padding: 0;
cursor: pointer; } cursor: pointer; }
.dashboard-tabs li { /*20250917 eingefügt*/ .dashboard-tabs li { /*20250917 eingefügt*/
flex: 1 1 auto; /* alle Tabs gleich breit, aber flexibel */ flex: 1 1 auto; /* alle Tabs gleich breit, aber flexibel */
text-align: center; text-align: center;
border: 1px solid #ccc; border: 1px solid #ccc;
background: #f9f9f9; } background: #f9f9f9; }
.dashboard-tabs li a { /*20250917 eingefügt*/ .dashboard-tabs li a { /*20250917 eingefügt*/
display: block; display: block;
text-decoration: none; text-decoration: none;
font-weight: bold; font-weight: bold;
@ -109,8 +85,7 @@ html, body {
background: #e0e0e0; } background: #e0e0e0; }
.dashboard-tabs li.is-active { /*20251007 eingefügt*/ .dashboard-tabs li.is-active { /*20251007 eingefügt*/
background: #ebf1f3; background: #ebf1f3; }
color: midnightblue; }
.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder { .input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
font-size: 0.8rem; font-size: 0.8rem;
@ -183,14 +158,13 @@ html, body {
text-align: center; text-align: center;
font-size:1.2em; font-size:1.2em;
font-weight:bolder; font-weight:bolder;
color: midnightblue;
background: #ebf1f3; } background: #ebf1f3; }
.navbar {background-color: white;} /*20250221 eingefügt*/ .navbar {background-color: white;} /*20250221 eingefügt*/
.navbar-item img, .navbar-item svg { /*20250221 eingefügt*/ .navbar-item img, .navbar-item svg { /*20250221 eingefügt*/
max-height: unset !important; } /*var(--bulma-navbar-item-img-max-height);*/ max-height: unset !important; } /*var(--bulma-navbar-item-img-max-height);*/
/*** Media-queries ***/ /*Media-queries**/
@media print{ @media print{
.dontprint {display:none;} .dontprint {display:none;}
} }
@ -240,8 +214,7 @@ html, body {
.grid { padding-top: 1.5rem; } .grid { padding-top: 1.5rem; }
} }
/* Button-Style und -Color*/ .buttons-container { /* 300425BF eingefügt*/
.buttons-container { /* 300425 eingefügt*/
display: flex; display: flex;
justify-content: flex-end; /* rechts ausrichten */ justify-content: flex-end; /* rechts ausrichten */
align-items: center; /* vertikal zentrieren */ align-items: center; /* vertikal zentrieren */
@ -250,71 +223,52 @@ html, body {
} }
.button.is-link { .button.is-link {
background-color: white; /*link-Blau:#3273dc; UDE-Blau:#004C93*/ background-color: white; /*link-Blau:#3273dc; UDE-Blau:#004C93*/
border-color: transparent; border-color: transparent;
color: #004C93; } color: #004C93; }
.button.is-link:hover, .button.is-link.is-hovered { .button.is-link:hover, .button.is-link.is-hovered {
background-color: #276cda; background-color: #276cda;
border-color: transparent; border-color: transparent;
color: #004C93; } color: #004C93; }
.button.is-link:focus, .button.is-link.is-focused { .button.is-link:focus, .button.is-link.is-focused {
border-color: transparent; border-color: transparent;
color: #004C93; } color: #004C93; }
.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) { .button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); } box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
.button.is-link:active, .button.is-link.is-active { .button.is-link:active, .button.is-link.is-active {
background-color: white; background-color: white;
border-color: transparent; border-color: transparent;
color: #004C93; } color: #004C93; }
.button.is-link[disabled], .button.is-link[disabled],
fieldset[disabled] .button.is-link { fieldset[disabled] .button.is-link {
background-color: #004C93; background-color: #004C93;
border-color: transparent; border-color: transparent;
box-shadow: none; } box-shadow: none; }
.button.is-link.is-inverted { .button.is-link.is-inverted {
background-color: #fff; background-color: #fff;
color: #004C93; } color: #004C93; }
.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered { .button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
background-color: #f2f2f2; } background-color: #f2f2f2; }
.button.is-link.is-inverted[disabled], .button.is-link.is-inverted[disabled],
fieldset[disabled] .button.is-link.is-inverted { fieldset[disabled] .button.is-link.is-inverted {
background-color: #fff; background-color: #fff;
border-color: transparent; border-color: transparent;
box-shadow: none; box-shadow: none;
color: #004C93; } color: #004C93; }
.button.is-link.is-loading::after { .button.is-link.is-loading::after {
border-color: transparent transparent #fff #fff !important; } border-color: transparent transparent #fff #fff !important; }
.button.is-link.is-outlined { .button.is-link.is-outlined {
background-color: white; background-color: white;
border-color: #004C93; border-color: #004C93;
color: #004C93; } color: #004C93; }
.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
.button.is-link.is-outlined:hover,
.button.is-link.is-outlined.is-hovered,
.button.is-link.is-outlined:focus,
.button.is-link.is-outlined.is-focused {
background-color: #004C93; background-color: #004C93;
border-color: #004C93; border-color: #004C93;
color: #fff; } color: #fff; }
.button.is-link.is-outlined.is-loading::after { .button.is-link.is-outlined.is-loading::after {
border-color: transparent transparent #004C93; #004C93; !important; } border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
.button.is-link.is-outlined.is-loading:hover::after,
.button.is-link.is-outlined.is-loading.is-hovered::after,
.button.is-link.is-outlined.is-loading:focus::after,
.button.is-link.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important; } border-color: transparent transparent #fff #fff !important; }
.button.is-link.is-outlined[disabled], .button.is-link.is-outlined[disabled],
fieldset[disabled] .button.is-link.is-outlined { fieldset[disabled] .button.is-link.is-outlined {
background-color: transparent; background-color: transparent;
@ -325,25 +279,21 @@ html, body {
background-color: transparent; background-color: transparent;
border-color: #fff; border-color: #fff;
color: #fff; } color: #fff; }
.button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined:focus,
.button.is-link.is-inverted.is-outlined.is-focused { .button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff; background-color: #fff;
color: #004C93; } color: #004C93; }
.button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading:hover::after,
.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,
.button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #004C93; #004C93; !important; } border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-inverted.is-outlined { .button.is-link.is-inverted.is-outlined {
background-color: transparent; background-color: transparent;
border-color: #fff; border-color: #fff;
color: #fff; } color: #fff; }
.button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined:focus,
@ -353,7 +303,6 @@ html, body {
.button.is-small.is-rounded.is-link.has-tooltip-bottom { background-color: #004C93; /*UDE-Blau*/ } /*20250711 eingefügt*/ .button.is-small.is-rounded.is-link.has-tooltip-bottom { background-color: #004C93; /*UDE-Blau*/ } /*20250711 eingefügt*/
/*Buttonleiste*/
.exportoptions { .exportoptions {
margin-top: 2.0em; margin-top: 2.0em;
} }
@ -385,10 +334,9 @@ html, body {
.label-container, .button-label { /*für einh.responsive Feldbezeichner*/ .label-container, .button-label { /*für einh.responsive Feldbezeichner*/
display: flex; display: flex;
justify-content: left; justify-content: left;
background:inherit; background: ;
min-width: 10.0em; /*für kleine Viewports*/ min-width: 10.0em; /*für kleine Viewports*/
width: 12%; /*202605 geändert v ursprgl. 10%*/ width: 10%; } /*für kleine Viewports*/
}
.control-new { /*für einheitliche Controls*/ .control-new { /*für einheitliche Controls*/
min-width: 10.0em; /*für kleine Viewports*/ min-width: 10.0em; /*für kleine Viewports*/
@ -397,9 +345,7 @@ html, body {
.button { /*für Button-Bezeichner-Ausrichtung*/ .button { /*für Button-Bezeichner-Ausrichtung*/
display: flex; display: flex;
justify-content: left; justify-content: left; }
/*font-size:2em;*/ /*202605 deaktiviert*/
}
/*Erläuterungen/Legende*/ /*Erläuterungen/Legende*/
.box-new { /*für Kopfzeile mit Close-Button*/ .box-new { /*für Kopfzeile mit Close-Button*/
@ -420,36 +366,7 @@ html, body {
font-size: 1.2em; font-size: 1.2em;
font-weight: 400; font-weight: 400;
} }
/*Datentabellen*/
/*tooltips*/
.button.has-tooltip-bottom, .button.has-tooltip-right {
height: 2.5em; /* entspricht der Höhe des Eingabeldes*/
}
[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,
[data-tooltip]:not(.is-disabled).has-tooltip-right::before,
[data-tooltip]:not(.is-loading).has-tooltip-right::before,
[data-tooltip]:not([disabled]).has-tooltip-right::before {
display: flex;
margin: 0.5em;
position: absolute;
z-index: 1000;
padding: 1em;
background-color: #333; /*dklgrau*/
color: white;
border-radius: 0.3em;
white-space: wrap;
text-align: left;
width: 250px;
height: fit-content;
white-space: wrap; /* für Zeilenumbrüche nach Standard-Regeln*/
overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/
hyphens: auto;
}
/*Datentabellen*/
.table-container { .table-container {
z-index: 10; /*positioniert sich im flow hinter dem hs_header*/ z-index: 10; /*positioniert sich im flow hinter dem hs_header*/
} }
@ -511,130 +428,4 @@ html, body {
vertical-align:center; vertical-align:center;
} }
.fixed-right-buttons {
position: fixed;
right: 0.1%; /* Abstand vom rechten Bildschirmrand */
top: 50%; /* Zentriert den Button-Block vertikal;*/
transform: translateY(-50%); /* Zentrierung anpassen */
display: flex;
flex-direction: column; /* Buttons vertikal anordnen */
gap: 10px; /* Abstand zwischen den Buttons */
z-index: 600;
padding: 0.7% 0% 0.7% 0%;
}
.inside-buttons { /*20250530 BF ergänzt: wenn sidebar offen*/
display: block;
position: fixed;
top: 50%;
z-index: 700;
left: calc(100% - 545px - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */
}
.sidebar { /*20250523 BF ergänzt*/
position: fixed;
top: 120px; /*Abstand zur oberen Leiste*/
padding-top:2em;
padding-left:0.5em;
padding-right: 0.7em;
right: 0em;
bottom: 0;
width: 545px; /*Breite nach Bedarf */
background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto;
z-index: 700; /*für Anzeige über Content*/
}
.subheaderMaskDialogs
{background-color:#cccccc;
font-weight:bolder;
font-size:2rem;
/* margin-left:0;*/
margin-top:0.2em;
margin-bottom:0.2em;
margin-right:0px;
padding-left:0.5em;
}
.viz_content { margin-left:1em; }
//Für sidebar:
.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: 26em;
height:2.7rem;
}
.label.is-small { width: 100%; } /*einheitliche Labelbreite*/
.button { font-weight: bold;
font-size:1.5em;
}
input.sideBarInput
{
font-size:2.1rem;
font-weight:normal;
}
/* 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;
}
/*****************styleanweisungen aus html-Datei*/
textarea.editform {
height: 4em;
width: 100%;
padding: 3px;
transition: all 0.5s ease;
}
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; }
.node rect {
cursor: move;
fill-opacity: .9;
shape-rendering: crispEdges;
}
.node text {
pointer-events: none;
text-shadow: 0 1px 0 #fff;
}
.link {
fill: none;
stroke: #000;
stroke-opacity: .2;
}
.link:hover {
stroke-opacity: .5;
}

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

@ -656,7 +656,7 @@ function resetChartPropertiesForm(chosenRenderer)
myChartModel=new chartModel(1,"",document.getElementById("fldVizRenderer").value,rsTableMetaData); myChartModel=new chartModel(1,"",document.getElementById("fldVizRenderer").value,rsTableMetaData);
renderChart('chartDiv',myChartModel); renderChart('chartDiv',myChartModel);
//Show Plot Code if renderer =plot: //Show Plot Code if renderer =plot:
/*var myDiv=document.getElementById("chartCodeDiv"); var myDiv=document.getElementById("chartCodeDiv");
if(chosenRenderer=="plot" || chosenRenderer=="echarts") if(chosenRenderer=="plot" || chosenRenderer=="echarts")
myDiv.style.display="block"; myDiv.style.display="block";
else else
@ -666,7 +666,7 @@ function resetChartPropertiesForm(chosenRenderer)
document.getElementById("fldChartTypeSelection").style="display:block;"; document.getElementById("fldChartTypeSelection").style="display:block;";
else else
document.getElementById("fldChartTypeSelection").style="display:none;"; document.getElementById("fldChartTypeSelection").style="display:none;";
*/
createChartElementConfig1Form(chosenRenderer,null); createChartElementConfig1Form(chosenRenderer,null);
return true; return true;
} }
@ -1039,30 +1039,12 @@ function renderTreeInput(chartProperty,inputId, previousValue)
zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">"; zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">";
zs+="</input></span>"; zs+="</input></span>";
break; 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: default:
zs="Unbekannter Feldtyp"; zs="Unbekannter Feldtyp";
break; break;
} }
return zs; 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) function changeColorWithColorPicker(colorpickerInput,targetInputid)
{ {
document.getElementById(targetInputid).value=colorpickerInput.value; document.getElementById(targetInputid).value=colorpickerInput.value;

491
superx/xml/js/viz/viz_viewer.js

@ -163,8 +163,7 @@ function openModalCardDetail(ergebniselementOrdnr)
function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel) function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
{ {
var dataset =new Array(); var dataset =new Array();
var chartType=currentChartModel.chartElements[0].vizTypeUniquename;
var chartType=(currentChartModel!=null)?currentChartModel.chartElements[0].vizTypeUniquename : "echarts_generic";
//Identify dimensions and measures: //Identify dimensions and measures:
switch (chartType) { switch (chartType) {
case "echarts_pie": case "echarts_pie":
@ -180,9 +179,7 @@ function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column"); var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column");
dataset=fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn); dataset=fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn);
break; break;
case "echarts_generic": default:
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break; default:
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData); dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break; break;
} }
@ -486,9 +483,6 @@ function renderChartSVGFromModel(currentChartModel,targetDiv,ergebniselementOrdn
case "echarts": case "echarts":
renderEChart2(currentChartModel,targetDiv,ergebniselementOrdnr,title); renderEChart2(currentChartModel,targetDiv,ergebniselementOrdnr,title);
break; break;
case "viz":
renderVizBaseTools(currentChartModel,targetDiv,ergebniselementOrdnr,title);
break;
default: default:
alert("No renderer"); alert("No renderer");
break; break;
@ -1600,13 +1594,9 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
break; break;
case "echarts_pie": case "echarts_pie":
option=getEchartOptionsPie(currentChartModel,myDataset); option=getEchartOptionsPie(currentChartModel,myDataset,titleText);
break;
case "echarts_sankey":
option=getEchartOptionsSankey(currentChartModel,myDataset);
break; break;
case "echarts_native": case "echarts_native":
option=getEchartOptionsNative(currentChartModel,myDataset,titleText); option=getEchartOptionsNative(currentChartModel,myDataset,titleText);
break; break;
@ -1621,150 +1611,10 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
document.getElementById("chartCodeTextArea").innerHTML=prettifyJson(JSON.stringify(option)); document.getElementById("chartCodeTextArea").innerHTML=prettifyJson(JSON.stringify(option));
myChart.setOption(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) function determineChartSkeleton(datasourceDef,ergebniselementOrdnr)
{ {
@ -1901,7 +1751,7 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,dim
axisLabel: { axisLabel: {
inside: false, inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_x"), margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_x"),
fontSize: "1.5em", fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_x"), width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_x"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_x"), rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_x"),
/*formatter: function (value, index) { /*formatter: function (value, index) {
@ -1917,7 +1767,7 @@ var seriesArray=getEchartSeriesArray(currentChartModel,chartType,orientation,dim
axisLabel: { axisLabel: {
inside: false, inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"), margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"),
fontSize: "2em", fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_y"), width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_y"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_y"), rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_y"),
distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_y"), distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_y"),
@ -1958,7 +1808,7 @@ function getEchartSeriesArray(currentChartModel,chartType,orientation,dimension1
color: '#dfe4f2' color: '#dfe4f2'
}, },
margin: 50, margin: 50,
fontSize: "2em", fontSize: 14,
colorBy: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"seriesColorBy"),//'series',// 'data', colorBy: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"seriesColorBy"),//'series',// 'data',
//color: myPalette, //color: myPalette,
lineStyle: { lineStyle: {
@ -1967,7 +1817,7 @@ function getEchartSeriesArray(currentChartModel,chartType,orientation,dimension1
label: { label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="false")?false:true, //true show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="false")?false:true, //true
fontWeight:'bolder', fontWeight:'bolder',
fontSize: "2em", fontSize: 14,
distance:30, distance:30,
//offset:[30, 40], //offset:[30, 40],
// position:"bottom", // position:"bottom",
@ -2096,7 +1946,7 @@ var option = {
axisLabel: { axisLabel: {
inside: false, inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_x"), margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_x"),
fontSize: "1.5em", fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_x"), width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_x"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_x"), rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_x"),
/*formatter: function (value, index) { /*formatter: function (value, index) {
@ -2113,7 +1963,7 @@ var option = {
axisLabel: { axisLabel: {
inside: false, inside: false,
margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"), margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"),
fontSize: "1.5em", fontSize: 12,
width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_y"), width:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"width_y"),
rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_y"), rotate: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"tickRotate_y"),
distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_y"), distance:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"distance_y"),
@ -2258,234 +2108,6 @@ return option;
} }
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] :[]),
borderColor: '#fff',
borderWidth: 2
}
}
]
};
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) function getChartPropertyValue(propArray,propName)
{ {
var propertyValue=""; var propertyValue="";
@ -2981,7 +2603,7 @@ function openKachelDetails(ergebniselementOrdnr,formName,maskeninfoTID,grafikUni
function exportVizBooklet(contenttype,stylesheet) function exportVizBooklet(contenttype,stylesheet)
{ {
document.forms['Weiterverarbeitung'].stylesheet.value = 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'].contenttype.value = contenttype;
document.forms['Weiterverarbeitung'].target = '_blank'; document.forms['Weiterverarbeitung'].target = '_blank';
document.forms['Weiterverarbeitung'].submit(); document.forms['Weiterverarbeitung'].submit();
@ -3148,87 +2770,6 @@ function pivotTable(rsData,rsMetaData,srcColNrStart)
console.log(rsDataPivot); 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; return rsDataPivot;
} }
/* color schemes from d3js */ /* color schemes from d3js */
@ -3238,12 +2779,4 @@ function colorSpecifierToArray(specifier) {
return colors; 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";
}

474
superx/xml/viz_components.xsl

@ -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/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script> <script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="importRendererLibs" /> <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/echarts.min.js"></script>-->
<script language="JavaScript" type="text/javascript" src="../xml/js/viz/viz_viewer.js"></script> <script language="JavaScript" type="text/javascript" src="../xml/js/viz/viz_viewer.js"></script>
@ -663,43 +660,50 @@ var myChartModelStr="";
var myDiv=""; var myDiv="";
var rsNr=0; var rsNr=0;
]]></xsl:text> ]]></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="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement"> <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_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="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: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"> myDiv="]]></xsl:text>
<xsl:with-param name="chart_uniquename" select="$chart_uniquename" /> <xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:with-param name="chart_title" select="$chart_title" /> <xsl:text><![CDATA[";
<xsl:with-param name="chartDiv" select="concat('chartDiv',$ergebniselement_ordnr)" /> rsNr=]]></xsl:text>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" /> <xsl:value-of select="$ergebniselement_ordnr" />
</xsl:call-template> <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:for-each> </xsl:for-each>
</xsl:otherwise>
</xsl:choose>
<xsl:text><![CDATA[ <xsl:text><![CDATA[
} }
@ -709,10 +713,6 @@ if(myRenderer=="echarts")
{ {
renderEChart2(chartModel,chartDiv,rsNr,chartTitle); renderEChart2(chartModel,chartDiv,rsNr,chartTitle);
} }
else if(myRenderer=="viz")
{
renderVizBaseTools(chartModel,chartDiv,rsNr,chartTitle);
}
else else
{ {
//d3js or plot: //d3js or plot:
@ -734,57 +734,8 @@ if(myDiv.style.display=="block")
]]></xsl:text> ]]></xsl:text>
</script> </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>
<xsl:template name="buildVizMetadata"> <xsl:template name="buildVizMetadata">
<xsl:param name="fillChartModel" select="'true'" />
<xsl:variable name="vizInitialName"> <xsl:variable name="vizInitialName">
<xsl:choose> <xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'"> <xsl:when test="/ergebnisse/@isMakro='true'">
@ -837,14 +788,13 @@ var rs=new Array();
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> <xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<xsl:call-template name="buildVizData" > <xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" /> <xsl:with-param name="tableId" select="@ordnr" />
<xsl:with-param name="fillChartModel" select="$fillChartModel" />
</xsl:call-template> </xsl:call-template>
</xsl:for-each> </xsl:for-each>
</xsl:template> </xsl:template>
<xsl:template name="buildVizData"> <xsl:template name="buildVizData">
<xsl:param name="tableId" /> <xsl:param name="tableId" />
<xsl:param name="fillChartModel" select="'true'" />
<script language="Javascript"> <script language="Javascript">
<xsl:text> <xsl:text>
@ -869,14 +819,9 @@ rsTableMetaData.push(new tableMetaData(
<xsl:text> <xsl:text>
)); ));
rs[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>]=new Array(); 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); 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> function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header"> <xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>,</xsl:text> <xsl:text>,</xsl:text>
@ -908,7 +853,7 @@ rsColumnMetaData[</xsl:text><xsl:value-of select="$tableId"/><xsl:text>].push(ne
<xsl:text>,'rownr','Zeilennr.',0,4)); <xsl:text>,'rownr','Zeilennr.',0,4));
</xsl:text> </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:for-each select="sqlerg/complete_headers/header">
<xsl:variable name="rownr"> <xsl:variable name="rownr">
<xsl:value-of select="position()"/> <xsl:value-of select="position()"/>
@ -998,39 +943,6 @@ textarea.editform {
textarea.editform:focus { textarea.editform:focus {
height: 40em; 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> </style>
</xsl:template> </xsl:template>
@ -1127,7 +1039,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<div class="card"> <div class="card">
<div class="card-image"> <div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}"> <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> </xsl:attribute>
<!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}"> <!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
</div>--> </div>-->
@ -1194,7 +1106,7 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:template name="viz_viewer_grid"> <xsl:template name="viz_viewer_grid">
<xsl:param name="openModalCardDetail" select="'1'" /> <xsl:param name="openModalCardDetail" select="'true'" />
<!-- Variableninitialisierung fürs Dashboard: <!-- Variableninitialisierung fürs Dashboard:
--> -->
<xsl:variable name="spalten_anz"> <xsl:variable name="spalten_anz">
@ -1265,32 +1177,13 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:template name="viz_viewer_grid_cells"> <xsl:template name="viz_viewer_grid_cells">
<xsl:param name="kachelbreite" select="800"/> <xsl:param name="kachelbreite" select="800"/>
<xsl:param name="kachelhoehe" select="600"/> <xsl:param name="kachelhoehe" select="600"/>
<xsl:param name="openModalCardDetail" select="'1'" /> <xsl:param name="openModalCardDetail" select="'true'" />
<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:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement"> <xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" /> <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="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="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:variable name="maskennummer"><xsl:value-of select="@id" /></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>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>--> <!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
@ -1304,22 +1197,20 @@ Stand: <xsl:value-of select="../stand" /></p>
</xsl:call-template> </xsl:call-template>
<xsl:call-template name="viewer_kachel"> <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="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
<xsl:with-param name="kachelbreite" select="$kachelbreite - 5 "/><!-- wegen abgerundeter Ecken etwas kleiner--> <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="kachelhoehe" select="$kachelhoehe - 15"/>
<xsl:with-param name="chart_tid" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@tid"/> <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="showEdit" select="/ergebnisse/user/@admin" />
<xsl:with-param name="link_maskennummer" select="$link_maskennummer"/> <xsl:with-param name="link_maskennummer" select="$maskennummer"/>
<xsl:with-param name="link_chart_uniquename" select="$link_chart_uniquename" /> <xsl:with-param name="link_chart_uniquename" select="$chart_uniquename" />
<xsl:with-param name="link_tablestylesheet" select="$link_tablestylesheet"/> <xsl:with-param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
<xsl:with-param name="openModalCardDetail" select="$open_modal_card_detail" /> <xsl:with-param name="openModalCardDetail" select="$openModalCardDetail" />
</xsl:call-template> </xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>--> <!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div> </div>
</xsl:for-each> </xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template> </xsl:template>
<xsl:template name="viewer_kachel"> <xsl:template name="viewer_kachel">
@ -1332,52 +1223,16 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:param name="chart_tid" /> <xsl:param name="chart_tid" />
<xsl:param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/> <xsl:param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
<xsl:param name="showEdit" select="'false'" /> <xsl:param name="showEdit" select="'false'" />
<xsl:param name="openModalCardDetail" select="'1'" /> <xsl:param name="openModalCardDetail" select="'true'" />
<xsl:param name="chart_card_class" select="'card is-shady'" /> <div class="card is-shady">
<xsl:param name="chart_container_class" select="'card-image'" />
<xsl:param name="chart_container_id" select="concat('cardImage',$ergebniselement_ordnr)" /> <div class="card-image" id="{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}">
<!--zum Debuggen: <a onClick="initPage()">Anzeigen</a><br />--> <!--zum Debuggen: <a onClick="initPage()">Anzeigen</a><br />-->
<xsl:choose> <xsl:choose>
<xsl:when test="$openModalCardDetail='1'"> <xsl:when test="$openModalCardDetail='true'">
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}"> <a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<div id="{$chart_element_id}"> <div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{concat('width: ',$kachelbreite,'px;height:',$kachelhoehe,'px;')}"></div>
<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>-->
</a> </a>
<xsl:if test="$link_maskennummer!=''"> <xsl:if test="$link_maskennummer!=''">
<br /> <br />
@ -1413,24 +1268,10 @@ Details...
<xsl:value-of select="$link_tablestylesheet" /> <xsl:value-of select="$link_tablestylesheet" />
<xsl:text>',false);</xsl:text> <xsl:text>',false);</xsl:text>
</xsl:attribute> </xsl:attribute>
<div id="{$chart_element_id}"> <div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="{concat('width: ',$kachelbreite,'px;height:',$kachelhoehe,'px;')}"></div>
<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>
</a> </a>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </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!=''"> <xsl:if test="$showEdit='true' and $chart_tid!=''">
<span class="separator">&#160;|&#160; </span> <span class="separator">&#160;|&#160; </span>
@ -1554,13 +1395,8 @@ Platzhalter
<xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/> <xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/>
<xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/> <xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/>
<xsl:with-param name="feldart" select="$feldart"/> <xsl:with-param name="feldart" select="$feldart"/>
<xsl:with-param name="tooltipPosition" select="'left'"/>
</xsl:call-template> </xsl:call-template>
</xsl:when> </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')"/> <xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/>
<br /> <br />
</xsl:otherwise> </xsl:otherwise>
@ -1672,7 +1508,6 @@ Platzhalter
<xsl:param name="FeldnameEscaped" /> <xsl:param name="FeldnameEscaped" />
<xsl:param name="feldZeilenanzahl" select="1"/> <xsl:param name="feldZeilenanzahl" select="1"/>
<xsl:param name="feldart" select="1"/> <xsl:param name="feldart" select="1"/>
<xsl:param name="tooltipPosition" select="'bottom'"/>
<xsl:variable name="capNotNull"> <xsl:variable name="capNotNull">
<xsl:choose> <xsl:choose>
<xsl:when test="$Feldcaption !='' and $Feldcaption !='null' "> <xsl:when test="$Feldcaption !='' and $Feldcaption !='null' ">
@ -1702,7 +1537,7 @@ Platzhalter
<div class="field is-grouped"> <div class="field is-grouped">
<div class="vizLabel-container" lang="de"> <div class="vizLabel-container" lang="de">
<label class="label is-small trennung"> <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">--> <!--<a class="button is-link is-outlined is-small is-fullwidth">-->
<xsl:attribute name="onClick"> <xsl:attribute name="onClick">
<xsl:value-of select="$jsCall"/> <xsl:value-of select="$jsCall"/>
@ -1719,7 +1554,7 @@ Platzhalter
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input> </input>
<div class="control is-expanded"> <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 name="onclick"><xsl:value-of select="$jsCall"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute>
@ -1757,24 +1592,12 @@ Platzhalter
</xsl:if> </xsl:if>
</xsl:if> </xsl:if>
</div> </div>
<xsl:if test="/*/*/felder/feld [@varname = $Feldname]/caption_long != ''"> <div class="control">
<div class="control"> <!--220424BFeingefügt--> <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.">
<button class="{concat('button is-small is-rounded has-tooltip-',$tooltipPosition)}" onClick="return false;"> <!--220424BFgeändert--> <span class="icon" aria-hidden="true">
<xsl:attribute name="data-tooltip"> <img src="../images/information_white_liberation.svg" alt="Info" title="Info" /></span>
<xsl:call-template name="br_to_newline"> </button>
<xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/caption_long"/><![CDATA[]]></xsl:with-param> </div><!--Ende control -->
<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> </div>
@ -1872,16 +1695,6 @@ 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"> <div class="navbar-end">
<a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL }"> <a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL }">
@ -1927,10 +1740,10 @@ Platzhalter
</xsl:if><!-- wenn JR Stylesheet --> </xsl:if><!-- wenn JR Stylesheet -->
</p> </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="formName" select="'Weiterverarbeitung'" />
<xsl:with-param name="ergebniselement_ordnr" select="0" /> <xsl:with-param name="ergebniselement_ordnr" select="0" />
</xsl:call-template>--> </xsl:call-template>
</div> </div>
</div> </div>
</div> </div>
@ -1956,7 +1769,8 @@ Platzhalter
<xsl:variable name="currentTabNr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" /> <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:call-template name="tabBox">
<xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/> <xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/>
<xsl:with-param name="currentTabNr" select="$currentTabNr"/> <xsl:with-param name="currentTabNr" select="$currentTabNr"/>
@ -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_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:with-param name="optional_filter_value" select="col[f_name='hidden_optional_filter_value']/wert" />
</xsl:call-template> </xsl:call-template>
</xsl:for-each> </xsl:for-each>
</ul> </ul>
<xsl:call-template name="vizGridTitle" > <xsl:call-template name="vizGridTitle" >
@ -2058,12 +1873,43 @@ Platzhalter
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement"> <xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<p class="teiltabelle_titel" style="font-size:3em;"> <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: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:call-template name="nd_singleTable">
<xsl:with-param name="ergebniselement_ordnr" select="@ordnr" /> <xsl:with-param name="ergebniselement_ordnr" select="@ordnr" />
<xsl:with-param name="showPager" select="'none'" /> <xsl:with-param name="showPager" select="'none'" />
</xsl:call-template> </xsl:call-template>
<!--<xsl:call-template name="vizPivotTable" />-->
</xsl:for-each> </xsl:for-each>
</div> </div>
</xsl:template> </xsl:template>
@ -2166,6 +2012,32 @@ Platzhalter
<xsl:template name="vizSidebar" > <xsl:template name="vizSidebar" >
<xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" /> <xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
<xsl:param name="collapsible" select="'true'" /> <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:choose>
<xsl:when test="$collapsible='true'"> <xsl:when test="$collapsible='true'">
<style> <style>
@ -2187,7 +2059,7 @@ Platzhalter
position: fixed; position: fixed;
top: 50%; top: 50%;
z-index: 700; 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 */ transform: none; /* keine vertikale Zentrierung */
} }
@ -2199,7 +2071,7 @@ Platzhalter
padding-right: 0.7em; padding-right: 0.7em;
right: 0em; right: 0em;
bottom: 0; bottom: 0;
width: 50%; /*Breite nach Bedarf */ width: 545px; /*Breite nach Bedarf */
background: white; background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1); box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto; overflow-y: auto;
@ -2401,97 +2273,5 @@ Platzhalter
</p> </p>
</div> </div>
</xsl:template> </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> </xsl:stylesheet>

618
superx/xml/viz_html_chart.xsl

@ -41,7 +41,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/sx_tabelle.css" />
<link rel="stylesheet" href="../style/sx_treeform.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" />--> <!--<link rel="stylesheet" href="../style/superx.css" />-->
</head> </head>
@ -204,9 +203,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</div> </div>
<!-- <div style="clear: both;"></div> --> <!-- <div style="clear: both;"></div> -->
</div> </div>
</xsl:template> </xsl:template>
<!--Grafikdaten-->
<xsl:template name="grafikdaten"> <xsl:template name="grafikdaten">
<xsl:for-each select="ergebnis/ergebniselement"> <xsl:for-each select="ergebnis/ergebniselement">
@ -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:for-each select="ergebnis/ergebniselement">
<xsl:variable name="tableId"><xsl:value-of select="@ordnr"/></xsl:variable> <xsl:variable name="tableId"><xsl:value-of select="@ordnr"/></xsl:variable>
<div class="field is-grouped"> <div class="field is-grouped">
<!--202606 entfernt: <div class="label-container">--> <div class="label-container">
<!--202606 entfernt: is-required--> <label class="label is-required is-small"><strong>Datentabelle</strong></label>
<label class="label is-small"><strong>Datentabelle</strong></label>
<!--202606: entfernt:</div>--> </div>
<!--<a onClick="exportDataTable(rs[0],rsColumnMetaData[0])">EXPORT</a>--> <!--<a onClick="exportDataTable(rs[0],rsColumnMetaData[0])">EXPORT</a>-->
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<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
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>--> <p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>-->
</footer> </footer>
</xsl:template><!--Ende template grafikdaten--> </xsl:template>
<!--Grafiklayout-->
<xsl:template name="grafiklayout"> <xsl:template name="grafiklayout">
<!--Formular Allg. Layoutmerkmale--> <!--Formular Allg. Layoutmerkmale-->
<div id="chartProperties"> <!--class="section">--> <div id="chartProperties"> <!--class="section">-->
<form name="chartPropertiesForm"> <form name="chartPropertiesForm">
<div class="columns"> <div class="columns">
<div class="column is-two-fifths"><!--column links--> <div class="column is-two-fifths">
<!--<p><span class="button is-link is-outlined is-small" onClick="updateChartModel();renderChart('chartDiv',myChartModel);">Erzeugen</span></p>--> <!--<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"> <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>
<div class="field has-addons"> <!--202606 geändert: is-active in has-addons--> <div class="field is-active">
<!--202606 entfernt <p class="control-new">--> <p class="control-new">
<div class="chartName"> <div class="chartName">
<textarea class="textarea is-small" id="chartName" name="chartName" <textarea class="textarea is-small" id="chartName" name="chartName" rows="2" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);"/>
rows="2" cols="20" onChange="updateChartModel();renderChart('chartDiv',myChartModel);" />
<input type="hidden" id="fldMaskennr"> <input type="hidden" id="fldMaskennr">
<xsl:attribute name="value"><xsl:choose> <xsl:attribute name="value"><xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'"> <xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/@id"/> <xsl:value-of select="/ergebnisse/makro/@id"/>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /> <xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:attribute>
</input> </input>
</div><!-- Ende chartNamne--> </div>
<!--202606 entfernt</p>--> </p>
</div> </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>-->
<div class="column"><!--column rechts--> </div>
<div class="field is-grouped"> </div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="column">
<div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<label class="label is-small"> <!--202606 deaktiviert:is-required --> <label class="label is-required is-small"><strong>Grafiktool</strong></label>
<strong>Grafiktool</strong></label>
</div> </div>
<div class="field has-addons"><!--202606 geändert: is-active in has-addons--> <div class="field is-active">
<!--202606 deaktivert: <p class="control-new">--> <p class="control-new">
<div class="select is-small is-fullwidth"> <div class="select is-small is-fullwidth">
<select class="maskinputPflicht" id="fldVizRenderer" NAME="fldVizRenderer" tabindex="1" onChange="resetChartPropertiesForm(this.value);" > <select class="maskinputPflicht" id="fldVizRenderer" NAME="fldVizRenderer" tabindex="1" onChange="resetChartPropertiesForm(this.value);" >
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizRenderers/vizRenderer"> <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
</xsl:for-each> </xsl:for-each>
</select> </select>
</div> </div>
<!--202606 deaktivert:</p>--> </p>
<xsl:call-template name="Infobutton" /> </div>
</div> <!--202606: Template Infobutton in field has-addons verlagert--> <xsl:call-template name="Infobutton" />
</div><!-- Ende field is-grouped-->
</div><!-- Ende column rechts-->
</div><!-- Ende columns-->
</div>
</div>
</div>
<!-- Beginn Grafikelemente+ Vorschau--> <!-- Beginn Grafikelemente+ Vorschau-->
<div class="columns"> <div class="columns">
<div class="column is-two-fifths"> <div class="column is-two-fifths">
<!-- Box Grafikelemente-->
<!-- Box Grafikelemente -->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<label class="label is-required is-small"><strong>Grafikelemente</strong></label> <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
<xsl:call-template name="chartPropertiesTreeForm" /> <xsl:call-template name="chartPropertiesTreeForm" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<!--Beginn Quellcode-->
<!--Beginn Quellcode--> <div class="field is-grouped">
<div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<label class="label is-small"><!-- 202606 entfernt: is-required --> <label class="label is-required is-small"><strong>Quellcode</strong></label>
<strong>Quellcode</strong></label>
</div> </div>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
@ -421,90 +421,86 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<a onClick="showChartModelCode();"> <a onClick="showChartModelCode();">
<span class="icon"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
</span> </span>
</a> </a>
</div> </div>
<div id="chartModelsrcDiv"> <!--class="section">--> <div id="chartModelsrcDiv"> <!--class="section">-->
<div id="chartModelsrc" style="display:none"> <div id="chartModelsrc" style="display:none">
<!--202606 ergänzt zu textarea: class="textarea is-small"; entfernt: class="editform"--> <textarea id="chartModelSrcCode" name="chartModelSrcCode" class="editform" placeholder="Quellcode..."> <!--cols="100" rows="20"--></textarea>
<textarea class="textarea is-small" id="chartModelSrcCode" name="chartModelSrcCode"
placeholder="Quellcode ..." />
<!--202606 Separator ergänzt:-->
<span class="separator">&#160;</span>
<div class="field is-grouped"> <div class="field is-grouped">
<p class="control"> <p class="control">
<!--202606 Color geändert von button: is-info --> <button class="button is-small is-info is-outlined" onclick="copySrcCode('chartModelSrcCode');return false;">Kopieren</button>
<button class="button is-small is-link is-outlined" onclick="copySrcCode('chartModelSrcCode');return false;">Kopieren</button>
</p> </p>
<p class="control"> <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-info is-inverted is-outlined" onclick="loadChartModelCode('chartModelSrcCode','chartDiv');return false;">Einspielen</button>
<button class="button is-small is-link is-outlined" onclick="loadChartModelCode('chartModelSrcCode','chartDiv');return false;">Einspielen</button>
</p> </p>
</div> </div>
<!--<a class="button" onClick="copySrcCode('chartModelSrcCode');">Kopieren</a>--> <!--<a class="button" onClick="copySrcCode('chartModelSrcCode');">Kopieren</a>-->
</div><!-- Ende chartModelsrc-->
</div><!-- Ende chartModelsrcDiv-->
</div><!--column is-two-fifths-->
<div class="column"><!--column rechts-->
<div class="label-container"> </div>
<label class="label is-required is-small"><strong>Grafikvorschau</strong></label> </div>
</div>
<div class="column">
<div class="label-container">
<label class="label is-required is-small"><strong>Grafikvorschau</strong></label>
</div> </div>
<!--202606 deaktiviert:<span class="separator">&#160;</span>-->
<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="chartCanvas">
<div id="chartDiv" style="width:800px;height:600px;"> <div id="chartDiv" style="width:800px;height:600px;">
<svg><rect x="0" y="0" width="650" height="600" fill="#cccccc"></rect></svg> <svg>
</div> <rect x="0" y="0" width="650" height="450" fill="#cccccc"></rect>
</div> </svg></div>
<xsl:call-template name="chartLoadMenu" /> </div>
<xsl:call-template name="chartLoadMenu" />
<!--Beginn chartCode--> <!--Beginn chartCode-->
<div class="field is-grouped" id="chartCodeDiv"> <!--20251210 entfernt: style="display:block">--> <div class="field is-grouped" id="chartCodeDiv" style="display:block">
<div class="label-container"> <div class="label-container">
<!--202606: deaktiviert: is-required--> <label class="label is-required is-small"><strong>Chart-Code</strong></label>
<label class="label is-small"><strong>Chart-Code</strong></label> </div>
</div> <span class="separator">&#160;</span>
<!--202606 deaktivier<span class="separator">&#160;</span>--> <span class="separator">&#160;</span>
<span class="separator">&#160;</span> <a onClick="showChartCode();">
<a onClick="showChartCode();"> <span class="icon">
<span class="icon"> <img src="../images/icons/more.svg" title="Laden" />
<img src="../images/icons/more.svg" title="Laden" /> </span>
</span> </a>
</a> <div id="chartCodeTextAreaDiv" style="display:none">
<div id="chartCodeTextAreaDiv" style="display:none"> <textarea id="chartCodeTextArea" name="chartCodeTextArea" class="editform" placeholder="Chart-Quellcode..." > <!--readonly="readonly" disabled="disabled" cols="100" rows="20"-->
<!--202606 geändert: class="editform/ergänzt style--> </textarea>
<textarea id="chartCodeTextArea" name="chartCodeTextArea" class="textarea is-small"
style="margin-left:1em;" placeholder="Chart-Code..." /><!--readonly="readonly" disabled="disabled" cols="100" rows="20"-->
<!--202606 ergänzt für Abstand zu den Buttons: -->
<span class="separator">&#160;</span>
<div class="field is-grouped"> <div class="field is-grouped">
<!--202606 ergänzt für Buttonausrichtung links: --> <p class="control">
<span class="separator">&#160;</span> <button class="button is-small is-info is-outlined" onclick="copySrcCode('chartCodeTextArea');return false;">Kopieren</button>
<span class="separator">&#160;</span>
<p class="control"> </p>
<!--202606 color geändert von: button is-info--> <p class="control">
<button class="button is-small is-link is-outlined" onclick="copySrcCode('chartCodeTextArea');return false;">Kopieren</button> <button class="button is-small is-info is-inverted is-outlined" onclick="loadNativeCode('chartCodeTextArea','chartDiv');return false;">Laden</button>
</p>
<p class="control"> </p>
<!--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> </div>
</p>
</div> </div>
</div><!--Ende chartCodeTextAreaDiv-->
</div><!--Ende field is-grouped-->
</div><!--Ende column rechs--> </div>
</div><!--Ende columns--> </div>
</form><!--Ende chartPropertiesForm--> </div><!--Ende Eigenschaften + Vorschau viewBox="0 0 650 450"-->
</div><!--Ende chartProperties-->
</form>
</div>
<!-- <!--
<div class="label-container"> <div class="label-container">
@ -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> <div id="chartPropertiesFormDetails" style="display:none"> </div>
--> -->
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<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
</div> </div>
--> -->
<!--footer (BF nach unten verschoben)--> <!--footer (BF nach unten verschoben)-->
</xsl:template> <!-- Ende Template Grafiklayout-->
<!--Grafiknutzung-->
</xsl:template>
<xsl:template name="grafiknutzung"> <xsl:template name="grafiknutzung">
<!-- Aufruf/Anzeige Diagramm-Vorschau--> <!-- Aufruf/Anzeige Diagramm-Vorschau-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<!--202606 entfernt zu label: is-required --> <label class="label is-required is-small"><strong>Grafikvorschau</strong><span class="separator">&#160;</span>
<label class="label is-small"><strong>Grafikvorschau</strong>
<!--202606 deaktiviert: <span class="separator">&#160;</span>-->
<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"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
</span> </span>
</a> </a></label>
</label>
</div> </div>
<!--<button class="button is-small is-rounded is-white is-outlined" <!--<button class="button is-small is-rounded is-white is-outlined"
onClick="createChart('chartDiv2');"> onClick="createChart('chartDiv2');">
<span class="icon is-small"><i class="../images/more.svg"></i> <span class="icon is-small"><i class="../images/more.svg"></i>
<img src="../images/more.svg" title="Laden" /> <img src="../images/more.svg" title="Laden" />
</span> </span>
</button>--> </button>-->
</div><!-- Ende field is-grouped-->
</div>
<div id="chartCanvas"> <!--class="section"--> <div id="chartCanvas"> <!--class="section"-->
<!--<div id="chartCanvasHeader"> </div>--> <!--<div id="chartCanvasHeader"> </div>-->
@ -633,204 +632,198 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!-- Aufruf/Anzeige SVG-Quellcode--> <!-- Aufruf/Anzeige SVG-Quellcode-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<!--202606 entfernt zu label: is-required --> <label class="label is-required is-small"><strong>Grafikcode (svg)</strong>
<label class="label is-small"><strong>Grafikcode (svg)</strong>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<a onClick="showSrcCode(myChartModel.renderer);"> <a
onClick="showSrcCode(myChartModel.renderer);">
<span class="icon"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
</span> </span>
</a> </a>
</label> </label>
</div> </div>
</div> </div>
<div id="chartSVGsrcDiv"> <!--class="section">--> <div id="chartSVGsrcDiv"> <!--class="section">-->
<div id="chartSVGsrc" style="display:none"> <div id="chartSVGsrc" style="display:none">
<!--202606 ergänzt zu textarea: is-small--> <textarea id="chartSrc" name="chartSrc" class="textarea" placeholder="Quellcode..."> <!--cols="100" rows="20"--></textarea><!--<button class="sx_buttondiv_submit" onClick="copySrcCode('chartSrc');">Kopieren</button>-->
<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>-->
</div> </div>
</div> </div>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<!-- Grafikdefintion--> <!-- Aufruf/Anzeige SVG-Quellcode-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<!--202606 entfernt zu label: is-required --> <label class="label is-required is-small"><strong>Grafikdefinition speichern</strong>
<label class="label is-small">
<strong>Grafikdefinition speichern</strong>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<a onClick="showVizChartSaveDialog('showLoadSaveDialogDiv');"> <a
onClick="showVizChartSaveDialog('showLoadSaveDialogDiv');">
<span class="icon"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
</span> </span>
</a> </a>
</label> </label>
</div> </div>
</div><!-- Ende field is-grouped-->
<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>
<div class="field is-narrow">
<p class="control"> <div id="showLoadSaveDialog"> <!--class="section">-->
<select class="select" name="viz_chart_id" id="viz_chart_id"><option>Keine Auswahl möglich</option></select> <div id="showLoadSaveDialogDiv" style="display:none">
</p> <div class="field is-horizontal">
</div> <div class="field-label is-normal">
<div class="field is-narrow"> <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>
<p class="control"> </div>
<select class="select" name="viz_chart_variant" id="viz_chart_variant"> <div class="field-body">
<option value="chartmodel">Normalgröße</option> <div class="field is-narrow">
<option value="chartmodel_miniature">Miniatur</option></select> <p class="control">
</p> <select class="select" name="viz_chart_id" id="viz_chart_id"><option>Keine Auswahl möglich</option></select>
</div> </p>
<div class="field is-narrow"> </div>
<p class="control"> <div class="field is-narrow">
<a target="nextedit" onclick="openVizChartDBForm(document.getElementById('viz_chart_id').value)"> <p class="control">
<img src="../images/pencil.svg" class="svg_icon" border="0" alt="Bearbeiten" title="Aufruf des Formulars um Metadaten zu bearbeiten und zu speichern" /></a> <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> </p>
</div> </div>
</div><!-- Ende field-body--> <div class="field is-narrow">
</div><!-- Ende field is-horizontal--> <p class="control">
<div class="field is-horizontal"> <a target="nextedit" onclick="openVizChartDBForm(document.getElementById('viz_chart_id').value)">
<div class="field-label is-normal"> <img src="../images/pencil.svg" class="svg_icon" border="0" alt="Bearbeiten" title="Aufruf des Formulars um Metadaten zu bearbeiten und zu speichern" /></a>
<label class="label"></label>
</div> </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-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="field">
<div class="label">Oder neue Grafik: </div>--> <div class="label">Oder neue Grafik: </div><div class="input">
<!--<div class="input">
<input name="viz_chart_new_uniquename" id="viz_chart_new_uniquename" type="text" /> <input name="viz_chart_new_uniquename" id="viz_chart_new_uniquename" type="text" />
Link...</div> Link...
</div>
</div>--> </div>-->
</div><!-- Ende showLoadSaveDialogDiv--> </div>
</div><!-- Ende showLoadSaveDialog--> </div>
</xsl:template> <!--Ende template Grafiknutzung-->
</xsl:template>
<xsl:template name="Infobutton"> <xsl:template name="Infobutton">
<xsl:param name="targetUrl" select="'http://www.superx-projekt.de/doku/viz_modul/nutzung/f_Grafiklayout.htm'" /> <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"> <span class="info">
<xsl:text>window.open('</xsl:text> <xsl:attribute name="onclick">
<xsl:value-of select="$targetUrl"/> <xsl:text>window.open('</xsl:text>
<xsl:text>','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');</xsl:text> <xsl:value-of select="$targetUrl"/>
</xsl:attribute> <xsl:text>','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');</xsl:text>
<figure class="image is-24x24"> </xsl:attribute>
<img src="../images/information_grey_liberation.svg" /> <figure class="image is-24x24">
</figure> <img src="../images/information_grey_liberation.svg" />
</span> </figure>
</xsl:template><!-- Ende template infobutton--> </span>
</xsl:template>
<!--VIZ-Legende--> <xsl:template name="legende_viz">
<xsl:template name="legende_viz">
<xsl:param name="ordnr" /> <xsl:param name="ordnr" />
<xsl:variable name="legendeDivId"><xsl:text>legende</xsl:text><xsl:value-of select="$ordnr" /> <xsl:variable name="legendeDivId"><xsl:text>legende</xsl:text><xsl:value-of select="$ordnr" /></xsl:variable>
</xsl:variable> <a>
<a><xsl:attribute name="onClick"><xsl:text>toggleLegendeDisplay('</xsl:text><xsl:value-of select="$legendeDivId" /><xsl:text>');</xsl:text></xsl:attribute> <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> <span class="button is-link modal-button">Legende ...</span></a>
</a>
<div style="display:none"> <div style="display:none">
<xsl:attribute name="id"><xsl:value-of select="$legendeDivId" /></xsl:attribute> <xsl:attribute name="id"><xsl:value-of select="$legendeDivId" /></xsl:attribute>
<p class="legende"> <p class="legende">
<xsl:for-each select="../felder/feld"> <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 != ''"> <xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<span class="feldname"> <span class="feldname">
<xsl:choose> <xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" > <xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]> <![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:value-of select="@varname" /> <xsl:value-of select="@varname" />
</xsl:otherwise> </xsl:otherwise>
</xsl:choose></span>:&#160; </xsl:choose></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50"> <xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span> <span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if> </xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49"> <xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span> <span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if> </xsl:if>
<xsl:if test="sicht!=''"> <xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="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:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span> <xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if> </xsl:if>
;
</xsl:if>
</xsl:for-each> </xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160; User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /> Stand: <xsl:value-of select="../stand" /></p>
</p> <xsl:if test="../hinweis != ''">
<xsl:if test="../hinweis != ''"> <xsl:call-template name="newline_to_br">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" /> <xsl:with-param name="string" select="../hinweis" />
</xsl:call-template> </xsl:call-template>
</xsl:if> </xsl:if>
</div><!--Ende style-->
</xsl:template><!-- Ende template legende_viz--> </div>
</xsl:template>
<xsl:template name="ChartTypeSelection"> <xsl:template name="ChartTypeSelection">
<div class="field" id="fldChartTypeSelection"><!-- style="display:none;"--> <div class="field" id="fldChartTypeSelection"><!-- style="display:none;"-->
<div class="label-container" lang="de"> <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">
<!--202606: geändert: has-tooltip-bottom --> Grafikelement</span></div>
<span class="labelNormal has-tooltip-right" <div class="control">
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"> <div class="field"><div class="control is-expanded">
Grafikelement</span> <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>
<div class="control"> <div class="control">
<div class="field"> <a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value,null)">
<div class="control is-expanded"> <img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" />
<div class="select is-small is-fullwidth is-focused"> </a>
<select id="chartElementID" name="chartElementID" <span class="separator">&#160;</span>
onchange="loadChartElementConfig(this);"> <a onClick="removeChartElementConfig()">
<option>Bitte fügen Sie ein Element ein</option> <img src="../images/minus-circled.svg" width="12" height="12" title="Ausgewähltes Element entfernen" />
</select> </a>
<input class="is-small" type="hidden" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/> </div>
</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-->
</div>
</div>
</div><!--ende Feld Grafikelemente-->
</xsl:template>
<xsl:template name="chartPropertiesFormPlotD3" > <xsl:template name="chartPropertiesFormPlotD3" >
<div id="ChartElementsDiv" style="display:none" class="box"> <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
<!--Beginn Layoutmerkmale--> <!--Beginn Layoutmerkmale-->
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<!--202606 entfernt:is-required --> <label class="label is-required is-small"><strong>Allgem. Layoutmerkmale</strong></label>
<label class="label is-small"><strong>Allgem. Layoutmerkmale</strong></label>
</div> </div>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
@ -870,11 +862,11 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--Beginn Layoutmerkmale--> <!--Beginn Layoutmerkmale-->
<!--Beginn Layoutmerkmale--> <!--Beginn Layoutmerkmale-->
<div class="field is-grouped"> <div class="field">
<div class="label-container"><!--202606 entfernt:is-required--> <div class="label-container">
<label class="label is-small"> <label class="label is-required is-small"><strong>Layoutmerkmale</strong></label>
<strong>Layoutmerkmale</strong></label>
</div> </div>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<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
<div id="chartPropertiesTreeFormElementsDiv"> </div> <div id="chartPropertiesTreeFormElementsDiv"> </div>
</div> </div>
</xsl:template> </xsl:template>
<xsl:template name="chartLoadMenu"> <xsl:template name="chartLoadMenu">
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<!--202606 ergänzt zu label: is-small; geändert: has-tooltip-bottom --> <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.">
<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.">
<strong>Grafikdefinition laden</strong></label> <strong>Grafikdefinition laden</strong></label>
</div> </div>
<!--202606 deaktiviert:<span class="separator">&#160;</span>--> <span class="separator">&#160;</span>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<a onClick="showLoadMenu();"> <a onClick="showLoadMenu();">
@ -907,44 +896,31 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</span> </span>
</a> </a>
</div> </div>
<div id="loadMenu" class="field is-horizontal" style="display:none">
<div id="loadMenu" class="field is-horizontal" style="display:none"> <div class="field-label is-normal">
<!--202606 entfernt:<div class="field-label is-normal"></div>--> </div>
<div class="field-body">
<div class="field-body"> <div class="field is-narrow">
<!--202606 entfernt: <div class="field is-narrow">--> <p class="control">
<p class="control"> <select class="select" name="viz_chart_id_load" id="viz_chart_id_load"><option>Keine Auswahl möglich</option></select>
<!--202606 ergänzt: 2x separator --> </p>
<span class="separator">&#160;</span> </div>
<span class="separator">&#160;</span> <div class="field is-narrow">
<!-- 202606 ergänzt: is-small--> <p class="control">
<select class="select is-small" name="viz_chart_id_load" id="viz_chart_id_load"> <select class="select" name="viz_chart_variant_load" id="viz_chart_variant_load">
<option>Keine Auswahl möglich</option> <option value="chartmodel">Normalgröße</option>
</select> <option value="chartmodel_miniature">Miniatur</option></select>
</p> </p>
<!--202606 ergänzt: 1x separator--> </div>
<span class="separator">&#160;</span> <div class="field is-narrow">
<!--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">-->
<p class="control"> <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> 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-->
</p>
</div>
</div>
</div>
</xsl:template>
</xsl:stylesheet> </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
<link rel="stylesheet" href="../style/sx_tabelle.css" /> <link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />--> <!--<link rel="stylesheet" href="../style/superx.css" />-->
<link rel="stylesheet" href="../style/sx_viz_muster.css" />
</head> </head>
<xsl:call-template name="nd_htmlscript" /> <xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" /> <xsl:call-template name="nd_tableJavascript" />
@ -71,7 +71,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_progressbar" /> <xsl:call-template name="nd_progressbar" />
<div id="content" class="viz_content"> <div id="content">
<!--#Template Beginn Seitentitel--> <!--#Template Beginn Seitentitel-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable> <xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<xsl:call-template name="nd_pagetitle" > <xsl:call-template name="nd_pagetitle" >
@ -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:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template> </xsl:call-template>
<xsl:call-template name="nd_TabelleFormWeiterverarbeitungHiddenInputs" />
<!--#Template Krümelpfad--> <!--#Template Krümelpfad-->
<xsl:call-template name="nd_breadcrumb" /> <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
<link rel="stylesheet" href="../style/sx_tabelle.css" /> <link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />--> <!--<link rel="stylesheet" href="../style/superx.css" />-->
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
</head> </head>
<xsl:call-template name="nd_htmlscript" /> <xsl:call-template name="nd_htmlscript" />

433
superx/xml/viz_html_chart_viewer_mask_and_detailchart.xsl

@ -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>

5
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
<xsl:call-template name="nd_htmlhead"> <xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" /> <xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template> </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> </head>
<xsl:call-template name="nd_htmlscript" /> <xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" /> <xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" /> <xsl:call-template name="nd_tableCSS" />
<!--<xsl:call-template name="vizTableCSS" />-->
<xsl:call-template name="importVizViewer"></xsl:call-template> <xsl:call-template name="importVizViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();"> <body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">

Loading…
Cancel
Save