Compare commits

..

No commits in common. 'master' and 'viz_kern51' have entirely different histories.

  1. 4
      src-modules/module/viz/conf/includes.txt
  2. 28
      src-modules/module/viz/conf/viz.xml
  3. 2
      src-modules/module/viz/masken/44020_felderinfo.unl
  4. 2
      src-modules/module/viz/masken/44100_felderinfo.unl
  5. 70
      src-modules/module/viz/masken/44130_felderinfo.unl
  6. 8
      src-modules/module/viz/masken/44130_masken_felder_bez.unl
  7. 2
      src-modules/module/viz/masken/44130_maskeninfo.unl
  8. 2
      src-modules/module/viz/masken/44160_felderinfo.unl
  9. 4
      src-modules/module/viz/masken/44190_felderinfo.unl
  10. 10
      src-modules/module/viz/masken/44220_felderinfo.unl
  11. 2
      src-modules/module/viz/masken/44220_masken_felder_bez.unl
  12. 2
      src-modules/module/viz/masken/44220_maskeninfo.unl
  13. 8
      src-modules/module/viz/masken/44250_felderinfo.unl
  14. 2
      src-modules/module/viz/masken/44250_masken_felder_bez.unl
  15. 2
      src-modules/module/viz/masken/44250_maskeninfo.unl
  16. 12
      src-modules/module/viz/masken/44280_felderinfo.unl
  17. 2
      src-modules/module/viz/masken/44280_masken_felder_bez.unl
  18. 2
      src-modules/module/viz/masken/44280_maskeninfo.unl
  19. 16
      src-modules/module/viz/masken/44510_felderinfo.unl
  20. 2
      src-modules/module/viz/masken/44510_maskeninfo.unl
  21. 30
      src-modules/module/viz/masken/44570_felderinfo.unl
  22. 1
      src-modules/module/viz/masken/44570_maske_system_bez.unl
  23. 20
      src-modules/module/viz/masken/44570_masken_felder_bez.unl
  24. 1
      src-modules/module/viz/masken/44570_maskeninfo.unl
  25. 1
      src-modules/module/viz/masken/44570_sachgeb_maske_bez.unl
  26. 29
      src-modules/module/viz/masken/44600_felderinfo.unl
  27. 1
      src-modules/module/viz/masken/44600_maske_system_bez.unl
  28. 15
      src-modules/module/viz/masken/44600_masken_felder_bez.unl
  29. 1
      src-modules/module/viz/masken/44600_maskeninfo.unl
  30. 1
      src-modules/module/viz/masken/44600_sachgeb_maske_bez.unl
  31. 10
      src-modules/module/viz/masken/44630_felderinfo.unl
  32. 1
      src-modules/module/viz/masken/44630_maske_system_bez.unl
  33. 5
      src-modules/module/viz/masken/44630_masken_felder_bez.unl
  34. 1
      src-modules/module/viz/masken/44630_maskeninfo.unl
  35. 1
      src-modules/module/viz/masken/44630_sachgeb_maske_bez.unl
  36. 9
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  37. 53
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  38. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_bland_hmkfz_fuellen.sql
  39. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_bland_hzbkfz_fuellen.sql
  40. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_bland_semkfz_fuellen.sql
  41. 216
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql
  42. 205
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_geschl_fuellen.sql
  43. 54
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_sem_fuellen.sql
  44. 240
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql
  45. 205
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_geschl_zeitreihe_fuellen.sql
  46. 205
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql
  47. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_hmkfz_fuellen.sql
  48. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_hzbkfz_fuellen.sql
  49. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_lkreis_semkfz_fuellen.sql
  50. 77
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_nach_Alter_fuellen.sql
  51. 246
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql
  52. 205
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql
  53. 239
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_fuellen.sql
  54. 57
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_fuellen.sql
  55. 31
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  56. 763
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  57. 3
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  58. 11
      src-modules/module/viz/schluesseltabellen/viz_property_renderer.unl
  59. 1
      src-modules/module/viz/schluesseltabellen/viz_renderer.unl
  60. 62
      src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql
  61. 34
      src-modules/module/viz/schluesseltabellen/viz_type_property.unl
  62. 222
      superx/xml/js/viz/echarts-5.6.0-license.txt
  63. 45
      superx/xml/js/viz/echarts.min.js
  64. 40
      superx/xml/js/viz/viz_functions.js
  65. 1646
      superx/xml/js/viz/viz_viewer.js
  66. 378
      superx/xml/viz_components.xsl
  67. 9
      superx/xml/viz_html_chart.xsl
  68. 388
      superx/xml/viz_html_chart_viewer.xsl
  69. 417
      superx/xml/viz_html_chart_viewer_grid.xsl
  70. 266
      superx/xml/viz_html_chart_viewer_grid_hms.xsl
  71. 332
      superx/xml/viz_html_chart_viewer_mask.xsl
  72. 374
      superx/xml/viz_html_chart_viewer_mask_and_table.xsl

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

@ -8,13 +8,10 @@ style/sx_viz_muster.css @@ -8,13 +8,10 @@ style/sx_viz_muster.css
WEB-INF/conf/edustore/db/bin/SQL_ENV_viz.sam
xml/js/viz/d3.min.js
xml/js/viz/d3-7.8.0-license.txt
xml/js/viz/echarts.min.js
xml/js/viz/echarts-5.6.0-license.txt
xml/js/viz/plot.js
xml/js/viz/plot-0.6.1-license.txt
xml/js/viz/d3-sankey.js
xml/js/viz/d3-sankey-license.txt
xml/js/viz/viz_viewer.js
xml/js/viz/viz_functions.js
xml/js/viz/world.geojson.license.txt
xml/js/viz/world.geojson
@ -23,7 +20,6 @@ xml/viz_html_chart.xsl @@ -23,7 +20,6 @@ xml/viz_html_chart.xsl
xml/viz_html_chart_sankey.xsl
xml/viz_html_chart_viewer.xsl
xml/viz_html_chart_viewer_mask.xsl
xml/viz_html_chart_viewer_mask_and_table.xsl
xml/viz_html_chart_viewer_grid.xsl
xml/viz_components.xsl
xml/viz_tableComponents.xsl

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

@ -127,8 +127,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -127,8 +127,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="renderer_id" type="INTEGER" size="" default="" notnull="false" description="Renderer" isKey="true"/>
<column name="chartmodel_miniature" type="TEXT" size="255" default="" notnull="" description="Quellcode des Diagramms (Miniatur)" />
<column name="chart_position" type="CHAR" size="10" default="" notnull="" description="Position des Diagramms"><comment>CENTER,TOP,BOTTOM,LEFT,RIGHT,INLINE</comment></column>
<column name="chart_active" type="SMALLINT" size="2"
default="1" notnull="false" description="Grafik aktiv"></column>
</columns>
@ -144,9 +142,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -144,9 +142,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
</rs>
</primaryKeys>
<indexes>
<index name="ix_viz_chart" type="unique">
<index-column name="uniquename"/>
</index>
</indexes>
</table>
@ -434,24 +429,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -434,24 +429,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44570" name="Studierende nach Semester" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44600" name="Studierende nach Region" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44630" name="VIZ-Dashboard Settings" thema="Initialisierung für Makroberichte">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske> </masken>
</masken>
<data-integrity>
@ -567,7 +545,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -567,7 +545,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql" database=""/>
</action>
@ -645,7 +622,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -645,7 +622,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql" database=""/>
</action>
<action>
@ -685,7 +661,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -685,7 +661,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<customfield name="tid" nullFieldValue="" />
<customfield name="caption" nullFieldValue="" visibleSize="30" />
<customfield name="uniquename" nullFieldValue="" visibleSize="30" />
<customfield name="chart_active" nullFieldValue="" visibleSize="30" />
<customfield type="link" name="Details" path="/superx/edit/viz/viz_chart_edit.jsp" linkid="tid"/>
</form>
<form name="viz_chart_edit"
@ -716,7 +691,6 @@ mode="full"> @@ -716,7 +691,6 @@ mode="full">
<customfield name="chartmodel_miniature" visibleSize="10" nullFieldValue="" />
<customfield name="preview_svg" visibleSize="80" nullFieldValue="" />
<customfield name="chart_position" visibleSize="10" nullFieldValue="" />
<customfield name="chart_active" nullFieldValue="" visibleSize="30" />
</form>

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

@ -24,7 +24,7 @@ and apnr=1)) \ @@ -24,7 +24,7 @@ and apnr=1)) \
44034^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^^<<SQL>> select 1,'Ja' from xdummy^
44035^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44070 order by ord^^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44070 and S.ord=1^
44036^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44037^Grafik^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart order by 2;^^ ^
44037^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^^ ^
44038^Semester^42^350^-1^140^180^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^^^
44039^Semestertyp^15^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^ ^ ^
44040^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \

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

@ -18,5 +18,5 @@ select 'Abschluss' from xdummy^hidden^^ @@ -18,5 +18,5 @@ select 'Abschluss' from xdummy^hidden^^
44114^Studiengang^4^0^0^130^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;^^^
44115^##line##^13^0^0^100^100^1^char^5000^0^8^^^1^
44116^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44117^Grafik^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44100 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44100 order by 2 limit 1;^
44117^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44100 order by 2;^ ^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44100 order by 2 limit 1;^
44118^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=44100 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=44100 order by ord limit 1^

70
src-modules/module/viz/masken/44130_felderinfo.unl

@ -1,33 +1,37 @@ @@ -1,33 +1,37 @@
44130^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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_nach_alter')\
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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_nach_alter')\
order by sortnr, caption\
;^
44131^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44132^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;^ ^ ^
44133^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44134^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
44135^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^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44136^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44137^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44138^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;^ ^ ^
44139^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;^ ^ ^
44140^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44130 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44130 order by 2 limit 1;^
44141^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';^
44142^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';^
44143^tablestylesheet^1500^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=44130 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=44130 order by ord limit 1^
44148^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';^
44152^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;^ ^ ^
44153^Spalten^3001^0^0^150^190^10^char^30^0^1^<<SQL>>\
select C.uniquename, C.caption ,L.layout_id from rpta_column C, rpta_column2layout L where C.tid=L.column_id and layout_id in\
(select tid from rpta_column_layout where uniquename=<<Spaltenlayout>>) order by 2;^hidden^^
44130^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^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44131^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44132^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^hidden^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44133^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;^^^
44134^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^hidden^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44135^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44136^Weitere Tabellen^123^0^0^140^140^10^char^30^0^1^<<SQL>> select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('dim_studiengang','dim_staat')\
order by 2^hidden^^
44137^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^^hidden^^
44139^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44140^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;^^^
44141^Geschlecht^37^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;^^^
44142^Felder^125^0^0^150^190^10^char^30^0^1^<<SQL>>\
--freemarker template\
select trim(F.table_name) || '.' || F.name,trim(T.caption) || ':' || trim(F.caption) || ' - ' || trim(F.name) from sx_fields F,\
sx_tables T where F.table_name=T.name and F.currentlyused=1\
--Pseudonyme eingeschaltet:\
and (F.name != 'matrikel_nr' or 0=(select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)) \
and F.table_name in ('sos_stg_aggr','dim_staat','dim_studiengang') \
order by 2;^hidden^sos_stg_aggr.alter,sos_stg_aggr.geschlecht,sos_stg_aggr.matrikel_nr,sos_stg_aggr.summe^
44143^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;^^^
44144^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
44145^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44130 order by ord^^<<SQL>> select filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44130 and ord=20 order by ord limit 1^
44146^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44147^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44130 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44130 order by 2 limit 1^
44148^Jahrgang^42^350^-1^140^180^1^sql^30^0^13^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^hidden^^
44149^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^
44150^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \
union SELECT 4,'4-spaltig' from xdummy \
order by 1;^hidden^<<SQL>> SELECT 1,'1-spaltig' from xdummy^
44151^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44152^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^hidden^^
44153^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

8
src-modules/module/viz/masken/44130_masken_felder_bez.unl

@ -6,12 +6,18 @@ @@ -6,12 +6,18 @@
44130^44135^
44130^44136^
44130^44137^
44130^44138^
44130^44139^
44130^44140^
44130^44141^
44130^44142^
44130^44143^
44130^44144^
44130^44145^
44130^44146^
44130^44147^
44130^44148^
44130^44149^
44130^44150^
44130^44151^
44130^44152^
44130^44153^

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

@ -1 +1 @@ @@ -1 +1 @@
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Studienfach^Anzahl bzw. Anteil^Datenblatt Studierendenstatistik^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^2^850^540^^1^<<SQL>>SELECT description FROM rpta_column_layout where tid=<<Spaltenlayout>>;^
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=160440</sximport>^<sximport>select xil_proplist from maskeninfo where tid=160440</sximport>^Altersgruppe^Anzahl^Altersverteilung der Studierenden als Boxplot^<sximport>select cleanup_stmt from maskeninfo where tid=160440</sximport>^^3^700^360^0^1^ ^

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

@ -34,6 +34,6 @@ order by 1^hidden^<<SQL>> select 'stg','Fach (intern)' from xdummy^ @@ -34,6 +34,6 @@ order by 1^hidden^<<SQL>> select 'stg','Fach (intern)' from xdummy^
44174^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
44175^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44160^ ^<<SQL>> select filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44160 order by ord limit 1^
44176^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44177^Grafik^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44160 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44160 order by 2 limit 1^
44177^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44160 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44160 order by 2 limit 1^
44178^##line##^30^0^0^100^100^1^char^5000^0^8^^ ^1^
44179^##line##^40^0^0^100^100^1^char^5000^0^8^^ ^1^

4
src-modules/module/viz/masken/44190_felderinfo.unl

@ -15,9 +15,9 @@ order by 1;^^<<SQL>> SELECT 3,'3-spaltig' from xdummy^ @@ -15,9 +15,9 @@ order by 1;^^<<SQL>> SELECT 3,'3-spaltig' from xdummy^
44201^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;^^^
44203^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;^^^
44204^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
44205^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=44190 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=44190 order by ord limit 1^
44205^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=44070 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=44070 and ord =1^
44207^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44208^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44208^Jahrgang^42^350^-1^140^180^1^sql^30^0^999^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^^^
44209^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^
44210^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44211^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^

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

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
44220^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
44220^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_geschl')\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
@ -17,13 +17,13 @@ order by sortnr, caption limit 1\ @@ -17,13 +17,13 @@ order by sortnr, caption limit 1\
44222^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;^ ^ ^
44223^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44224^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44225^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44220 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44220 order by 2 limit 1;^
44225^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44220 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44220 order by 2 limit 1;^
44226^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44227^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44228^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;^ ^ ^
44229^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;^ ^ ^
44230^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=44220 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=44220 order by ord limit 1^
44230^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=44100 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=44100 order by ord limit 1^
44231^Stichtag^23^330^-1^130^100^1^sql^30^1^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^ ^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44232^Hörerstatus^200^330^-1^140^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44233^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44238^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44242^Geschlecht^110^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^ ^ ^

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

@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
44220^44223^
44220^44224^
44220^44225^
44220^44226^
44220^44227^
44220^44228^
44220^44229^
44220^44230^
44220^44231^
44220^44232^
44220^44233^
44220^44238^
44220^44242^

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

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

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

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
44250^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
44250^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_ca12_staat','sos_stud_hzb_staat')\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
@ -18,13 +18,13 @@ limit 1\ @@ -18,13 +18,13 @@ limit 1\
44252^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;^ ^ ^
44253^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44254^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44255^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44250 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44250 order by 2 limit 1;^
44255^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44250 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44250 order by 2 limit 1;^
44256^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44257^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44258^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;^ ^ ^
44259^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;^ ^ ^
44260^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=44250 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=44100 order by ord limit 1^
44261^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';^
44262^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';^
44263^Jahr^110^0^0^140^80^1^integer^30^0^0^ ^ ^ ^
44268^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';^
44272^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/44250_masken_felder_bez.unl

@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
44250^44253^
44250^44254^
44250^44255^
44250^44256^
44250^44257^
44250^44258^
44250^44259^
44250^44260^
44250^44261^
44250^44262^
44250^44263^
44250^44268^
44250^44272^

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

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

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

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
44280^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
44280^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_fak')\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
@ -17,13 +17,13 @@ order by sortnr, caption limit 1\ @@ -17,13 +17,13 @@ order by sortnr, caption limit 1\
44282^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;^ ^ ^
44283^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44284^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^ ^
44285^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44280 and chart_active=1 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44280 and chart_active=1 order by 2 limit 1;^
44285^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44280 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44280 order by 2 limit 1;^
44286^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44287^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44288^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;^ ^ ^
44289^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;^ ^ ^
44290^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=44280 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=44280 order by ord limit 1^
44290^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=44100 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=44100 order by ord limit 1^
44291^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';^
44292^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';^
44293^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44292^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';^
44298^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';^
44302^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/44280_masken_felder_bez.unl

@ -4,12 +4,12 @@ @@ -4,12 +4,12 @@
44280^44283^
44280^44284^
44280^44285^
44280^44286^
44280^44287^
44280^44288^
44280^44289^
44280^44290^
44280^44291^
44280^44292^
44280^44293^
44280^44298^
44280^44302^

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

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

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

@ -1,19 +1,23 @@ @@ -1,19 +1,23 @@
44510^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
44510^Spaltenlayout^3000^350^-1^140^180^1^integer^30^1^1^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_sem_jahr')\
order by sortnr, caption\
;^^<<SQL>>SELECT uniquename,\
;^^<<SQL>>SELECT tid,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7) and uniquename='sos_stud_sem_jahr';^
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename in ('sos_stud_astat')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_sem_jahr')\
order by sortnr, caption limit 1\
;^
44511^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44512^Fächer^30^0^0^130^200^6^char^1000^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^ ^ ^
44513^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44514^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^13^^ ^1^
44515^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2;^^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44510 order by 2 limit 1;^
44515^Grafik^4000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44510 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44510 order by 2 limit 1;^
44516^Hochschulzugangsberechtigung^120^300^-1^200^200^1^sql^30^0^1^hs_zugangsber^apnr, eintrag^ ^
44517^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44518^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;^ ^ ^

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

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

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

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
44570^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44571^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44572^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44573^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^
44574^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44575^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44577^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44579^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester 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^999^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^
44581^Geschlecht^37^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44583^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44584^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44585^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44570 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44570 order by ord limit 1^
44587^Grafik^1000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44570 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44570 order by 2 limit 1;^
44588^Spaltenlayout^3000^350^-1^140^180^1^char^30^1^1^<<SQL>>SELECT uniquename,\
caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='sos_stud_astat'\
and R.systeminfo_id=7)\
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='sos_stud_astat'\
and R.systeminfo_id=7) and uniquename='sos_stud_sem';^
44589^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44590^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44591^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44592^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44593^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
44570^7^

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

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
44570^44570^
44570^44571^
44570^44572^
44570^44573^
44570^44574^
44570^44575^
44570^44577^
44570^44579^
44570^44580^
44570^44581^
44570^44583^
44570^44584^
44570^44585^
44570^44587^
44570^44588^
44570^44589^
44570^44590^
44570^44591^
44570^44592^
44570^44593^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
44570^Studierende nach Semester^<sximport>select select_stmt from maskeninfo where tid=48000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=48000</sximport>^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^<sximport>select cleanup_stmt from maskeninfo where tid=48000</sximport>^^3^700^360^0^1^^

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

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

29
src-modules/module/viz/masken/44600_felderinfo.unl

@ -1,29 +0,0 @@ @@ -1,29 +0,0 @@
44600^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')\
and R.systeminfo_id=7)\
and (uniquename like 'sos_stud_%_bland' or uniquename like 'sos_stud_%_lkreis')\
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')\
and R.systeminfo_id=7)\
and uniquename in ('sos_stud_hzb_bland')\
order by sortnr, caption limit 1\
;^
44601^Seit Semester^10^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44602^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;^ ^ ^
44603^Abschluss^40^0^0^100^200^3^char^1500^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by 2;^ ^ ^
44604^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
44605^Grafik^4000^300^-1^170^150^1^char^30^0^1^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44600 and chart_active=1 order by 2;^ ^<<SQL>> select uniquename, caption from viz_chart where maskeninfo_id=44600 and chart_active=1order by 2 limit 1;^
44607^Bis Semester^20^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44608^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;^ ^ ^
44609^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;^ ^ ^
44610^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=44600 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=44600 order by ord limit 1^
44611^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';^
44612^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';^
44613^Jahr^110^0^0^140^80^1^integer^30^0^0^ ^ ^ ^
44618^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';^
44622^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/44600_maske_system_bez.unl

@ -1 +0,0 @@ @@ -1 +0,0 @@
44600^7^

15
src-modules/module/viz/masken/44600_masken_felder_bez.unl

@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
44600^44600^
44600^44601^
44600^44602^
44600^44603^
44600^44604^
44600^44605^
44600^44607^
44600^44608^
44600^44609^
44600^44610^
44600^44611^
44600^44612^
44600^44613^
44600^44618^
44600^44622^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
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>>;^

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

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

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

@ -1,10 +0,0 @@ @@ -1,10 +0,0 @@
44645^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=44190 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=44190 order by ord limit 1^
44647^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> SELECT 0,'Dynamisch' from xdummy \
union SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \
union SELECT 4,'4-spaltig' from xdummy \
order by 1;^ ^<<SQL>> SELECT 2,'2-spaltig' from xdummy;^
44650^Kachelbreite^30^0^0^100^100^1^integer^5000^0^0^^^800^
44653^Kachelhöhe^40^0^0^100^100^1^integer^5000^0^0^^^600^

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

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

5
src-modules/module/viz/masken/44630_masken_felder_bez.unl

@ -1,5 +0,0 @@ @@ -1,5 +0,0 @@
44630^44645^
44630^44647^
44630^44649^
44630^44650^
44630^44653^

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

@ -1 +0,0 @@ @@ -1 +0,0 @@
44630^VIZ-Dashboard Settings^ ^ ^ ^ ^Dashboard Inistialisierung^ ^^3^700^360^0^1^^

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

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

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

@ -94,12 +94,8 @@ V.userinfo_id, @@ -94,12 +94,8 @@ V.userinfo_id,
replace(V.chartmodel,'"','§') as chartmodel_escaped,
replace(V.chartmodel_miniature,'"','§') as chartmodel_miniature_escaped,
V.description,
V.chart_position,
--replace(V.chartcode,'"','§') as chartcode_escaped,
--replace(V.datasource_def,'"','§') as datasource_def_escaped
R.uniquename as renderer_uniquename
FROM viz_chart V, viz_renderer R
where R.tid=V.renderer_id
V.chart_position
FROM viz_chart V
order by 3
;
</sqlvar>
@ -195,7 +191,6 @@ order by 3 @@ -195,7 +191,6 @@ order by 3
chartmodel="${ch.chartmodel_escaped}"
chartmodel_miniature="${ch.chartmodel_miniature_escaped}"
chart_position="${ch.chart_position}"
renderer="${ch.renderer_uniquename}"
/>
</#foreach>
</#if>

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

@ -19,100 +19,97 @@ @@ -19,100 +19,97 @@
{"makro":"44070", "tid":"44020", "sortnr":"70"},
{"makro":"44070", "tid":"44020", "sortnr":"80"},
{"makro":"44190", "tid":"44630", "sortnr":"0"},
{"makro":"44190", "tid":"44570", "sortnr":"1"},
{"makro":"44190", "tid":"44220", "sortnr":"10"},
{"makro":"44190", "tid":"44280", "sortnr":"20"},
{"makro":"44190", "tid":"44600", "sortnr":"30"}
{"makro":"44190", "tid":"44020", "sortnr":"1"},
{"makro":"44190", "tid":"44020", "sortnr":"10"},
{"makro":"44190", "tid":"44020", "sortnr":"20"}
] />
<#assign felder = [
{"makro":"44070", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"1", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"1", "feldname":"Grafik", "value":"STUD_ENTW_SEM_GESCHL_LINE"},
{"makro":"44070", "sortnr":"1", "feldname":"Grafik", "value":"1"},
{"makro":"44070", "sortnr":"1", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"1", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"10", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"10", "feldname":"Grafik", "value":"STUD_ENTW_SEM_STAAT_LINE"},
{"makro":"44070", "sortnr":"10", "feldname":"Grafik", "value":"2"},
{"makro":"44070", "sortnr":"10", "feldname":"Weitere Tabellen", "value":"dim_staat"},
{"makro":"44070", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"20", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"20", "feldname":"Grafik", "value":"STUD_ENTW_SEM_ABSCHLUSS_LINE"},
{"makro":"44070", "sortnr":"20", "feldname":"Grafik", "value":"3"},
{"makro":"44070", "sortnr":"20", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"30", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"30", "feldname":"Grafik", "value":"STUD_ENTW_SEM_GESCHL_LINE_1"},
{"makro":"44070", "sortnr":"30", "feldname":"Grafik", "value":"4"},
{"makro":"44070", "sortnr":"30", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44070", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"40", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"40", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"40", "feldname":"Grafik", "value":"STUD_ENTW_SEM_STAAT_LINE_1"},
{"makro":"44070", "sortnr":"40", "feldname":"Grafik", "value":"5"},
{"makro":"44070", "sortnr":"40", "feldname":"Weitere Tabellen", "value":"dim_staat"},
{"makro":"44070", "sortnr":"40", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44070", "sortnr":"40", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"50", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"50", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"50", "feldname":"Grafik", "value":"STUD_ENTW_SEM_ABSCHLUSS_LINE_1"},
{"makro":"44070", "sortnr":"50", "feldname":"Grafik", "value":"6"},
{"makro":"44070", "sortnr":"50", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"50", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44070", "sortnr":"50", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"60", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"60", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"60", "feldname":"Grafik", "value":"STUD_ENTW_SEM_GESCHL_LINE_1HS"},
{"makro":"44070", "sortnr":"60", "feldname":"Grafik", "value":"7"},
{"makro":"44070", "sortnr":"60", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"60", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"60", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"70", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"70", "feldname":"Felder", "value":"dim_staat.inl_ausl_lang|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"70", "feldname":"Grafik", "value":"STUD_ENTW_SEM_STAAT_LINE_1HS"},
{"makro":"44070", "sortnr":"70", "feldname":"Grafik", "value":"8"},
{"makro":"44070", "sortnr":"70", "feldname":"Weitere Tabellen", "value":"dim_staat"},
{"makro":"44070", "sortnr":"70", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"70", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44070", "sortnr":"80", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44070", "sortnr":"80", "feldname":"Felder", "value":"dim_studiengang.abschlussart_str|sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44070", "sortnr":"80", "feldname":"Grafik", "value":"STUD_ENTW_SEM_ABSCHLUSS_LINE_1HS"},
{"makro":"44070", "sortnr":"80", "feldname":"Grafik", "value":"9"},
{"makro":"44070", "sortnr":"80", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44070", "sortnr":"80", "feldname":"Filter Studierende", "value":"SOS_HSSEM_1"},
{"makro":"44070", "sortnr":"80", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"1", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"1", "feldname":"Spaltenlayout", "value":"sos_stud_sem"},
{"makro":"44190", "sortnr":"1", "feldname":"Grafik", "value":"STUDANF_SEM_LINE"},
{"makro":"44190", "sortnr":"1", "feldname":"Felder", "value":"sos_stg_aggr.sem_rueck_beur_ein|sos_stg_aggr.summe"},
{"makro":"44190", "sortnr":"1", "feldname":"Grafik", "value":"16"},
{"makro":"44190", "sortnr":"1", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44190", "sortnr":"1", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"1", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"10", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"10", "feldname":"Spaltenlayout", "value":"sos_stud_geschl"},
{"makro":"44190", "sortnr":"10", "feldname":"Grafik", "value":"STUD_GESCHL_W_DONUT"},
{"makro":"44190", "sortnr":"10", "feldname":"Felder", "value":"sos_stg_aggr.geschlecht|sos_stg_aggr.summe"},
{"makro":"44190", "sortnr":"10", "feldname":"Grafik", "value":"17"},
{"makro":"44190", "sortnr":"10", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44190", "sortnr":"10", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"10", "feldname":"Semester", "value":"20232"},
{"makro":"44190", "sortnr":"10", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"20", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"20", "feldname":"Spaltenlayout", "value":"sos_stud_fak"},
{"makro":"44190", "sortnr":"20", "feldname":"Grafik", "value":"STUDANF_FAK_BAR"},
{"makro":"44190", "sortnr":"20", "feldname":"Felder", "value":"dim_studiengang.fb|dim_studiengang.fb_str|sos_stg_aggr.summe"},
{"makro":"44190", "sortnr":"20", "feldname":"Grafik", "value":"18"},
{"makro":"44190", "sortnr":"20", "feldname":"Weitere Tabellen", "value":"dim_studiengang"},
{"makro":"44190", "sortnr":"20", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44190", "sortnr":"30", "feldname":"Köpfe oder Fälle ?", "value":"studiengang_nr = 1 and fach_nr = 1"},
{"makro":"44190", "sortnr":"30", "feldname":"Spaltenlayout", "value":"sos_stud_hzb_bland"},
{"makro":"44190", "sortnr":"30", "feldname":"Grafik", "value":"STUDANF_HZB_LAND_BAR"},
{"makro":"44190", "sortnr":"30", "feldname":"bis Fachsemester", "value":"1"},
{"makro":"44190", "sortnr":"30", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}
{"makro":"44190", "sortnr":"20", "feldname":"Semester", "value":"20232"},
{"makro":"44190", "sortnr":"20", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}
] />

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

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_hmkfz_bland",
"caption":"Studierende nach Bundesland (Heimatanschrift)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Bundesland (Heimatanschrift)"
}
/>
<#assign rpta_columns = [
{"uniquename":"hmkfz_bland",
"caption":"Bundesland (Heimatanschrift)",
"srcfieldname":"",
"targetfieldname":"hmkfz_bland",
"column_type":"logicalColumn",
"col_function":"case when (hmkfzkz=0 and hmkfz is not null and hmkfz<>-9999) then (select B.druck from sos_hzb_wohnsitz W, sos_k_bland B where W.bland=B.apnr and W.astat=hmkfz) else ''unbekannt/ außerhalb BRD'' end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Bundesland (Heimatanschrift)"
},
{"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>

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

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_hzb_bland",
"caption":"Studierende nach Bundesland (HZB)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Bundesland (HZB"
}
/>
<#assign rpta_columns = [
{"uniquename":"hzb_bland",
"caption":"Bundesland (HZB)",
"srcfieldname":"",
"targetfieldname":"hzb_bland",
"column_type":"logicalColumn",
"col_function":"case when (hzbkfzkz=0 and hzbkfz is not null and hzbkfz<>-9999 ) then (select B.druck from sos_hzb_wohnsitz W, sos_k_bland B where W.bland=B.apnr and W.astat=hzbkfz) else ''unbekannt/ außerhalb BRD'' end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Bundesland (HZB)"
},
{"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>

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

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_semkfz_bland",
"caption":"Studierende nach Bundesland (Semesteranschrift)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Bundesland (Semesteranschrift)"
}
/>
<#assign rpta_columns = [
{"uniquename":"semkfz_bland",
"caption":"Bundesland (Semesteranschrift)",
"srcfieldname":"",
"targetfieldname":"semkfz_bland",
"column_type":"logicalColumn",
"col_function":"case when (semkfzkz=0 and semkfz is not null and semkfz<>-9999) then (select B.druck from sos_hzb_wohnsitz W, sos_k_bland B where W.bland=B.apnr and W.astat=semkfz) else ''unbekannt/ außerhalb BRD'' end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Bundesland (Semesteranschrift)"
},
{"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>

216
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
@ -43,21 +42,212 @@ select count(*) from systeminfo where tid=330; @@ -43,21 +42,212 @@ select count(*) from systeminfo where tid=330;
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
},
{"uniquename":"anteil",
"caption":"Anteil der Studierenden (in %)",
"srcfieldname":"",
"targetfieldname":"anteil",
"column_type":"computedColumn",
"col_function":"select (summe::float/(select G.summe from tmp_gesamt G)*100)::integer",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"0",
"description":"Anteil in % der Studierenden"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

205
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_fak_geschl_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
@ -50,5 +49,207 @@ select count(*) from systeminfo where tid=330; @@ -50,5 +49,207 @@ select count(*) from systeminfo where tid=330;
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

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

@ -1,54 +0,0 @@ @@ -1,54 +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_fak_sem",
"caption":"Studierende nach Fak. und Semester",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Fak. und Semester"
}
/>
<#assign rpta_columns = [
{"uniquename":"dim_studiengang_fak",
"caption":"Fakultät",
"srcfieldname":"dim_studiengang_fb_str",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"0",
"description":"Fakultät"
},
{"uniquename":"sem_rueck_beur_ein",
"caption":"Semester",
"srcfieldname":"sem_rueck_beur_ein",
"targetfieldname":"",
"column_type":"logicalColumn",
"col_function":"substring(sem_rueck_beur_ein::varchar(255) from 1 for 4)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Semester"
},
{"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>

240
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_geschl_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
@ -15,54 +14,233 @@ select count(*) from systeminfo where tid=330; @@ -15,54 +14,233 @@ select count(*) from systeminfo where tid=330;
/>
<#assign rpta_columns = [
{"uniquename":"geschlecht",
"caption":"Geschlecht (Schlüssel)",
{"uniquename":"geschlecht_w",
"caption":"Geschlecht (weiblich)",
"srcfieldname":"geschlecht",
"targetfieldname":"geschlecht",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"0",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht"
},{"uniquename":"geschlecht_str",
"caption":"Geschlecht",
"srcfieldname":"",
"targetfieldname":"geschlecht_str",
"column_type":"lookupColumn",
"col_function":"select druck from sos_k_geschl GE where GE.apnr=geschlecht",
"targetfieldname":"",
"column_type":"logicalColumn",
"col_function":"case when geschlecht=2 then ''Weiblich''::varchar(255) else ''Nicht weiblich''::varchar(255) end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht"
"description":"Geschlecht weiblich"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
"srcfieldname":"summe",
"targetfieldname":"summe",
"column_type":"physicalColumn",
"col_function":"sum",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"1",
"description":"Summe der Studierenden"
},
{"uniquename":"anteil",
"caption":"Anteil der Studierenden (in %)",
"srcfieldname":"",
"targetfieldname":"anteil",
"column_type":"computedColumn",
"col_function":"select (summe::float/(select G.summe from tmp_gesamt G)*100)::integer",
"is_visible":"1",
"visible_size":"5",
"is_aggregate":"0",
"description":"Anteil in % der Studierenden"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

205
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_geschl_zeitreihe_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
@ -41,5 +40,207 @@ select count(*) from systeminfo where tid=330; @@ -41,5 +40,207 @@ select count(*) from systeminfo where tid=330;
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

205
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_hzbstaat_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
@ -41,5 +40,207 @@ select count(*) from systeminfo where tid=330; @@ -41,5 +40,207 @@ select count(*) from systeminfo where tid=330;
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

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

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_hmkfz_lkreis",
"caption":"Studierende nach Landkreis (Heimatanschrift)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Landkreis (Heimatanschrift)"
}
/>
<#assign rpta_columns = [
{"uniquename":"hmkfz_lkreis",
"caption":"Landkreis (Heimatanschrift)",
"srcfieldname":"",
"targetfieldname":"hmkfz_lkreis",
"column_type":"logicalColumn",
"col_function":"case when (hmkfzkz=0 and hmkfz is not null and hmkfz<>-9999) then (select text from sos_k_kfz where ikfz::integer=hmkfz) else ''unbekannt/ außerhalb BRD'' end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Landkreis (Heimatanschrift)"
},
{"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>

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

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_hzb_lkreis",
"caption":"Studierende nach Landkreis (HZB)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Landkreis (HZB)"
}
/>
<#assign rpta_columns = [
{"uniquename":"hzb_lkreis",
"caption":"Landkreis (HZB)",
"srcfieldname":"",
"targetfieldname":"hzb_lkreis",
"column_type":"logicalColumn",
"col_function":"case when (hzbkfzkz=0 and hzbkfz is not null and hzbkfz<>-9999 ) then (select text from sos_k_kfz where ikfz::integer=hzbkfz) else ''unbekannt/ außerhalb BRD'' end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Landkreis (HZB)"
},
{"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>

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

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_semkfz_lkreis",
"caption":"Studierende nach Landkreis (Semesteranschrift)",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Landkreis (Semesteranschrift)"
}
/>
<#assign rpta_columns = [
{"uniquename":"semkfz_lkreis",
"caption":"Landkreis (Semesteranschrift)",
"srcfieldname":"",
"targetfieldname":"semkfz_lkreis",
"column_type":"logicalColumn",
"col_function":"case when (semkfzkz=0 and semkfz is not null and semkfz<>-9999) then (select text from sos_k_kfz where ikfz::integer=semkfz) else ''unbekannt/ außerhalb BRD'' end",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Landkreis (Semesteranschrift)"
},
{"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>

77
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_nach_Alter_fuellen.sql

@ -1,77 +0,0 @@ @@ -1,77 +0,0 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="sos_stud_astat_exists">
select count(*) from rpta_resultset where uniquename='sos_stud_astat';
</sqlvar>
</sqlvars>
<#assign rpta_column_layout = {"uniquename":"sos_stud_nach_alter",
"caption":"Studierende nach Alter",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Alter"
}
/>
<#assign rpta_columns = [
{"uniquename":"alter",
"caption":"Alter",
"srcfieldname":"alter",
"targetfieldname":"",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"INTEGER",
"visible_size":"5",
"is_aggregate":"0",
"description":"Alter in Jahren"
},
{"uniquename":"geschlecht",
"caption":"Geschlecht",
"srcfieldname":"geschlecht",
"targetfieldname":"",
"column_type":"logicalColumn",
"col_function":"(select druck from cif where key=9003 and apnr=geschlecht)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht"
},
{"uniquename":"geschlecht_schl",
"caption":"Geschlecht (Schlüssel)",
"srcfieldname":"geschlecht",
"targetfieldname":"geschlecht_schl",
"column_type":"logicalColumn",
"col_function":"geschlecht",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Geschlecht (Schlüssel)"
},
{"uniquename":"matrikel_nr",
"caption":"Matrikelnummer",
"srcfieldname":"matrikel_nr",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"1",
"format_code":"INT_NO_SEP",
"visible_size":"5",
"is_aggregate":"0",
"description":"Matrikelnr."
},
{"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"
}
]
/>
<@rpta_column_layout_fuellen />

246
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_region_fuellen.sql

@ -1,246 +0,0 @@ @@ -1,246 +0,0 @@
--freemarker template
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"sos_stud_hzb_bland",
"caption":"Studierende nach HZB-Bundesland",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach HZB-Bundesland"
}
/>
<#assign rpta_columns = [
{"uniquename":"hzb_bland",
"caption":"Bundesland (HZB)",
"srcfieldname":"",
"targetfieldname":"hzb_bland",
"column_type":"lookupColumn",
"col_function":"select B.druck from sos_hzb_wohnsitz W, sos_k_bland B where W.bland=B.apnr and W.astat=hzbkfz",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Bundesland (HZB)"
},
{"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>
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
drop TABLE tmp_rpta_column2layout;
</#if>

205
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_staat_fuellen.sql

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
@ -41,5 +40,207 @@ select count(*) from systeminfo where tid=330; @@ -41,5 +40,207 @@ select count(*) from systeminfo where tid=330;
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

239
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_fuellen.sql

@ -1,43 +1,42 @@ @@ -1,43 +1,42 @@
--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_sem",
"caption":"Studierende nach Semester",
{"uniquename":"sos_stud_sem_jahr",
"caption":"Studierende nach Studienjahr",
"rpta_resultset":"sos_stud_astat",
"whereclause":"",
"description":"Studierende nach Semester"
"description":"Studierende nach Studienjahr"
}
/>
<#assign rpta_columns = [
{"uniquename":"sem_rueck_beur_ein",
"caption":"Semester",
{"uniquename":"jahr",
"caption":"Jahr",
"srcfieldname":"sem_rueck_beur_ein",
"targetfieldname":"sem_rueck_beur_ein",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"0",
"format_code":"TEXT",
"targetfieldname":"jahr",
"column_type":"logicalColumn",
"col_function":"get_akad_jahr(sem_rueck_beur_ein,''A'')",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":""
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"semester_str",
"caption":"Semester Name",
{"uniquename":"semestertyp",
"caption":"Semestertyp",
"srcfieldname":"sem_rueck_beur_ein",
"targetfieldname":"semester_str",
"column_type":"lookupColumn",
"col_function":"select replace(replace(eintrag,''SoSe'',''''),''WiSe '','''') from semester SEM where SEM.tid=sem_rueck_beur_ein",
"targetfieldname":"semestertyp",
"column_type":"logicalColumn",
"col_function":"(case when substring('''' || sem_rueck_beur_ein from 5 for 1)=''2'' then ''WiSe'' else ''SoSe'' end)::varchar(255) ",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":""
"description":"Winter oder Sommersemester"
},
{"uniquename":"summe",
"caption":"Anzahl der Studierenden",
@ -53,5 +52,207 @@ select count(*) from systeminfo where tid=330; @@ -53,5 +52,207 @@ select count(*) from systeminfo where tid=330;
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
---ab hier nicht mehr ändern:
CREATE temp TABLE tmp_rpta_column
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
srcfieldname varchar(255),
targetfieldname varchar(255),
column_type integer,
col_function text,
is_visible smallint,
visible_size smallint,
is_aggregate smallint,
resultset_id integer,
sortnr integer,
description TEXT
);
CREATE temp TABLE tmp_rpta_column_layout
(
uniquename varchar(255) NOT NULL,
caption varchar(255),
resultset_id integer,
whereclause text,
description text
);
insert into tmp_rpta_column_layout(
resultset_id,
uniquename,
caption,
whereclause,
description
)
select tid,
'${rpta_column_layout.uniquename}',
'${rpta_column_layout.caption}',
'${rpta_column_layout.whereclause}',
'${rpta_column_layout.description}'
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}';
<#assign sortnr=0 />
<#foreach column in rpta_columns>
<#assign sortnr=sortnr +1 />
INSERT INTO tmp_rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_visible,
visible_size,
is_aggregate,
sortnr,
description
)
select R.tid,
'${column.uniquename}',
'${column.caption}',
'${column.srcfieldname}',
<#if !column.targetfieldname?exists || column.targetfieldname=="">null::varchar <#else>'${column.targetfieldname}' </#if>,
T.tid as column_type,
'${column.col_function}',
${column.is_visible},
${column.visible_size},
${column.is_aggregate},
${sortnr*10},
'${column.description}'
FROM rpta_resultset R, rpta_column_type T
where R.uniquename='${rpta_column_layout.rpta_resultset}'
and T.uniquename='${column.column_type}';
</#foreach>
select * into temp tmp_rpta_column2layout
from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column_layout_target
from rpta_column_layout
where resultset_id in (select tid
FROM rpta_resultset
where uniquename='${rpta_column_layout.rpta_resultset}')
and uniquename in (select uniquename from tmp_rpta_column_layout)
;
insert into rpta_column_layout
(uniquename,
caption,
resultset_id,
whereclause,
description)
select uniquename,
caption,
resultset_id,
whereclause,
description
FROM tmp_rpta_column_layout T
where 0=(select count(*) from tmp_rpta_column_layout_target T2
where T.uniquename=T2.uniquename);
drop table tmp_rpta_column_layout_target;
delete from rpta_column2layout
where layout_id in (select L.tid
from rpta_column_layout L,rpta_resultset R
where R.tid=L.resultset_id
and R.uniquename='${rpta_column_layout.rpta_resultset}'
and L.uniquename='${rpta_column_layout.uniquename}'
)
;
select * into temp tmp_rpta_column2
from tmp_rpta_column T
where (resultset_id,uniquename) not in
(select resultset_id,uniquename from rpta_column);
INSERT INTO rpta_column
(resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
custom
)
select
resultset_id,
uniquename,
caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description,
0 as custom
from tmp_rpta_column2;
--evtl. neuen Satz einfügen, dann alle updaten
update rpta_column set ( caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description)
= (select caption,
srcfieldname,
targetfieldname,
column_type,
col_function,
is_aggregate,
description
from tmp_rpta_column T
where T.resultset_id=rpta_column.resultset_id
and T.uniquename=rpta_column.uniquename)
where custom=0
and (resultset_id,uniquename) in
(select T.resultset_id,T.uniquename
from tmp_rpta_column T)
;
drop table tmp_rpta_column2;
insert into rpta_column2layout(column_id,
layout_id,
sortnr,
is_visible,
visible_size,
caption,
description)
select C.tid as column_id,
L.tid as layout_id,
T.sortnr,
T.is_visible,
T.visible_size,
T.caption,
T.description
FROM rpta_column C, rpta_column_layout L, tmp_rpta_column T
where C.uniquename=T.uniquename
and C.resultset_id=T.resultset_id
and L.uniquename='${rpta_column_layout.uniquename}'
and L.resultset_id=T.resultset_id
;
drop table tmp_rpta_column;
drop TABLE tmp_rpta_column_layout;
</#if>

57
src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_fuellen.sql

@ -1,57 +0,0 @@ @@ -1,57 +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_sem_jahr",
"caption":"Studierende nach Studienjahr",
"rpta_resultset":"sos_stud_astat",
"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":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"(WS + darauffolgendes SS)"
},
{"uniquename":"semestertyp",
"caption":"Semestertyp",
"srcfieldname":"sem_rueck_beur_ein",
"targetfieldname":"semestertyp",
"column_type":"logicalColumn",
"col_function":"(case when substring('''' || sem_rueck_beur_ein from 5 for 1)=''2'' then ''WiSe'' else ''SoSe'' end)::varchar(255) ",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":"Winter oder Sommersemester"
},
{"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>

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

@ -13,39 +13,19 @@ @@ -13,39 +13,19 @@
{"mask":"44160", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44160", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"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.xsl", "ord":"40"},
{"mask":"44190", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44220", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44220", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44220", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44220", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44280", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44280", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44280", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44280", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44510", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44510", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44510", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44510", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44250", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44250", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44250", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44250", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44570", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44570", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44570", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44570", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"},
{"mask":"44600", "filename":"tabelle_html_datenblatt.xsl", "ord":"10"},
{"mask":"44600", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44600", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"},
{"mask":"44600", "filename":"viz_html_chart_viewer_mask_and_table.xsl", "ord":"40"}
{"mask":"44250", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}
] />
<#assign stylesheet = [
@ -58,11 +38,8 @@ @@ -58,11 +38,8 @@
},
{"filename":"viz_html_chart_viewer_grid.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts in einer Kachelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer_mask.xsl", "caption":"Diagramm + Maskenfelder", "description":"Viewer-Stylesheet für VIZ Charts mit Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer_echart.xsl", "caption":"Diagramme (Echarts)", "description":"Viewer-Stylesheet für VIZ Charts mit Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"tabelle_html_viz.xsl", "caption":"Tabelle + Visualisierung", "description":"Viewer-Stylesheet für Tabellen und VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer.xsl", "caption":"Diagramm-Viewer (einfach)", "description":"Viewer-Stylesheet für VIZ Charts in einer Einzelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer_mask_and_table.xsl", "caption":"Diagramm, Tabelle + Maskenfelder", "description":"Viewer-Stylesheet für VIZ Charts mit Tabelle und Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"}
{"filename":"viz_html_chart_viewer.xsl", "caption":"Diagramm-Viewer (einfach)", "description":"Viewer-Stylesheet für VIZ Charts in einer Einzelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"}
] />
<#assign stylesheet_field = [

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

File diff suppressed because one or more lines are too long

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

@ -65,6 +65,3 @@ @@ -65,6 +65,3 @@
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^

11
src-modules/module/viz/schluesseltabellen/viz_property_renderer.unl

@ -44,10 +44,7 @@ @@ -44,10 +44,7 @@
282^2^106^opacity^
283^2^100^strokeDasharray^
284^2^45^strokeWidth^
323^1^95^dimension1^
324^1^96^dimension2^
325^1^73^measure1^
326^1^110^innerRadius^
327^1^111^labelRadiusFactor^
328^1^112^cornerRadius^
329^1^113^labelOpacity^
314^1^95^dimension1^
315^1^96^dimension2^
316^1^73^measure1^
317^1^110^innerRadius^

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

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

62
src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql

@ -86,54 +86,7 @@ @@ -86,54 +86,7 @@
"range_from":"0",
"range_to":"100",
"prop_value_type":"string"
},
{ "caption":"Beschriftung Radius",
"prop_uniquename":"labelRadiusFactor",
"explanation":"Beschrftungs-Radius Faktor bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.",
"prop_default":"80",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"0",
"range_to":"100",
"prop_value_type":"string"
},
{ "caption":"Kanten-Radius",
"prop_uniquename":"cornerRadius",
"explanation":"Ecken-Radius bei Tortendiagrammen (in Pixel). Bei 0 wird keine gerundete Kante genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.",
"prop_default":"10",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"0",
"range_to":"50",
"prop_value_type":"string"
},
{ "caption":"Label-Deckungsgrad",
"prop_uniquename":"labelOpacity",
"explanation":"Deckungsgrad Faktor bei Beschriftungen (Faktor in %). Bei 100 ist maximale Deckung erreicht",
"prop_default":"70",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"0",
"range_to":"100",
"prop_value_type":"string"
}
]
/>
@ -194,19 +147,6 @@ @@ -194,19 +147,6 @@
"viz_property_uniquename":"scheme",
"is_mandatory":"1",
"sortnr":"47"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"cornerRadius",
"is_mandatory":"1",
"sortnr":"57"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"labelRadiusFactor",
"is_mandatory":"1",
"sortnr":"67"},
{ "viz_type_uniquename":"pie",
"viz_property_uniquename":"labelOpacity",
"is_mandatory":"0",
"sortnr":"77"},
{ "viz_type_uniquename":"sunburst",
"viz_property_uniquename":"dimension1",
"is_mandatory":"1",
@ -219,6 +159,8 @@ @@ -219,6 +159,8 @@
"viz_property_uniquename":"measure1",
"is_mandatory":"1",
"sortnr":"20"}
]
/>

34
src-modules/module/viz/schluesseltabellen/viz_type_property.unl

@ -145,22 +145,18 @@ @@ -145,22 +145,18 @@
1835^10^79^0^30^
1836^3^109^0^800^
1837^10^109^0^800^
1964^12^95^1^1^
1965^12^96^1^10^
1966^12^73^1^20^
1968^12^6^0^100^
1969^12^7^0^110^
1970^12^5^0^120^
1971^14^95^1^1^
1972^14^73^1^20^
1973^14^2^1^30^
1974^14^1^1^40^
1975^14^110^1^50^
1976^14^4^1^45^
1977^14^24^1^47^
1978^14^112^1^57^
1979^14^111^1^67^
1980^14^113^0^77^
1981^15^95^1^1^
1982^15^96^1^10^
1983^15^73^1^20^
1928^12^95^1^1^
1929^12^96^1^10^
1930^12^73^1^20^
1932^12^6^0^100^
1933^12^7^0^110^
1934^12^5^0^120^
1935^14^95^1^1^
1936^14^73^1^20^
1937^14^2^1^30^
1938^14^1^1^40^
1939^14^110^1^50^
1940^14^4^1^45^
1941^15^95^1^1^
1942^15^96^1^10^
1943^15^73^1^20^

222
superx/xml/js/viz/echarts-5.6.0-license.txt

@ -1,222 +0,0 @@ @@ -1,222 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
========================================================================
Apache ECharts Subcomponents:
The Apache ECharts project contains subcomponents with separate copyright
notices and license terms. Your use of the source code for these
subcomponents is also subject to the terms and conditions of the following
licenses.
BSD 3-Clause (d3.js):
The following files embed [d3.js](https://github.com/d3/d3) BSD 3-Clause:
`/src/chart/treemap/treemapLayout.ts`,
`/src/chart/tree/layoutHelper.ts`,
`/src/chart/graph/forceHelper.ts`,
`/src/util/number.ts`
See `d3-7.8.0-license.txt` for details of the license.

45
superx/xml/js/viz/echarts.min.js vendored

File diff suppressed because one or more lines are too long

40
superx/xml/js/viz/viz_functions.js

@ -1839,14 +1839,8 @@ var plotMark=new Object; @@ -1839,14 +1839,8 @@ var plotMark=new Object;
if(chartElem)
{
var chartType=chartElem.vizTypeUniquename;
var rsIndexNr=chartElem.datasource;
if(rs.length==1)
{
//if only 1 datasource is given, the indexNr is ignored
//this way a chartModel can be used in a macro *and* a single view
rsIndexNr=0;
}
var myDatasourceRs=rs[rsIndexNr];
var myDatasourceRs=rs[chartElem.datasource];
var optionString=prepareChartPropertiesForPlotMark(chartType,chartElem);
console.log("Mark-option for "+chartType+":"+ optionString);
@ -1999,15 +1993,8 @@ chartElem=currentChartModel.chartElements[chartElemNr]; @@ -1999,15 +1993,8 @@ chartElem=currentChartModel.chartElements[chartElemNr];
if(chartElem)
{
var chartType=chartElem.vizTypeUniquename;
var rsIndexNr=chartElem.datasource;
if(rs.length==1)
{
//if only 1 datasource is given, the indexNr is ignored
//this way a chartModel can be used in a macro *and* a single view
rsIndexNr=0;
}
var myDatasourceRs=rs[rsIndexNr];
var data=filld3data(rs[rsIndexNr],rsColumnMetaData[rsIndexNr],chartElem);
var myDatasourceRs=rs[chartElem.datasource];
var data=filld3data(rs[chartElem.datasource],rsColumnMetaData[chartElem.datasource],chartElem);
console.log("Mark-option for "+chartType);
switch (chartType)
{
@ -2208,11 +2195,6 @@ function makePie_d3(myCommonChartProperties,svg,data,chartElem,width,height) @@ -2208,11 +2195,6 @@ function makePie_d3(myCommonChartProperties,svg,data,chartElem,width,height)
var innerRadiusPercent = parseFloat(getChartPropertyFromModel(myCommonChartProperties,"innerRadius"),false);
var innnerRadiusComputed= radius * innerRadiusPercent / 100;
var myPalette=getChartPropertyFromModel(myCommonChartProperties,"scheme",false);
var textColor=getChartPropertyFromModel(myCommonChartProperties,"stroke",false);
var cornerRadius=getChartPropertyFromModel(myCommonChartProperties,"cornerRadius",false);
var labelRadiusFactor=parseFloat(getChartPropertyFromModel(myCommonChartProperties,"labelRadiusFactor",false))/100;
if(textColor=="")
textColor="black";
/*const color = d3.scaleOrdinal()
.domain(data.map(d => d.dimension1))
.range(d3.quantize(t => d3.interpolateSpectral(t * 0.8 + 0.1), data.length).reverse())
@ -2236,14 +2218,14 @@ const color = d3.scaleOrdinal(getD3ColorScheme(myPalette)); @@ -2236,14 +2218,14 @@ const color = d3.scaleOrdinal(getD3ColorScheme(myPalette));
const arc = d3.arc()
.innerRadius(innnerRadiusComputed )
.outerRadius(radius - 1)
.cornerRadius(cornerRadius);
.cornerRadius(10);
const labelRadius = arc.outerRadius()() * labelRadiusFactor;
const labelRadius = arc.outerRadius()() * 0.8;
// A separate arc generator for labels.
const arcLabel = d3.arc()
.innerRadius(labelRadius)
.outerRadius(labelRadius+200);
.outerRadius(labelRadius);
const arcs = pie(data);
//svg.width=width;
@ -2266,7 +2248,7 @@ const color = d3.scaleOrdinal(getD3ColorScheme(myPalette)); @@ -2266,7 +2248,7 @@ const color = d3.scaleOrdinal(getD3ColorScheme(myPalette));
.attr("fill", d => color(d.data.dimension1))
.attr("d", arc)
.append("title")
.text(d => `${d.data.dimension1}: ${d.data.measure1.toLocaleString("de-DE")}`);
.text(d => `${d.data.dimension1}: ${d.data.measure1.toLocaleString("en-US")}`);
// Create a new arc generator to place a label close to the edge.
// The label shows the value if there is enough room.
@ -2278,15 +2260,13 @@ const color = d3.scaleOrdinal(getD3ColorScheme(myPalette)); @@ -2278,15 +2260,13 @@ const color = d3.scaleOrdinal(getD3ColorScheme(myPalette));
.attr("transform", d => `translate(${arcLabel.centroid(d)})`)
.call(text => text.append("tspan")
.attr("y", "-0.4em")
//.attr("font-weight", "bold")
.attr("stroke", textColor)
.attr("fill", textColor)
.attr("font-weight", "bold")
.text(d => d.data.dimension1))
.call(text => text.filter(d => (d.endAngle - d.startAngle) > 0.25).append("tspan")
.attr("x", 0)
.attr("y", "0.7em")
.attr("fill-opacity", 0.7)
.text(d => d.data.measure1.toLocaleString("de-DE")));
.text(d => d.data.measure1.toLocaleString("en-US")));
//return svg.node();
return svg.node();

1646
superx/xml/js/viz/viz_viewer.js

File diff suppressed because it is too large Load Diff

378
superx/xml/viz_components.xsl

@ -81,7 +81,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de"> @@ -81,7 +81,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
</head>
</xsl:template>
<xsl:template name="tableJavascript_viz_alt">
<xsl:template name="tableJavascript_viz">
<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>
@ -329,233 +329,6 @@ vizTypeProperties.push(newVizTypeProperty); @@ -329,233 +329,6 @@ vizTypeProperties.push(newVizTypeProperty);
stroke-opacity: .5;
}
</style>
</xsl:template>
<xsl:template name="importVizViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="importRendererLibs" />
<!--<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_functions.js"></script>-->
<!--<xsl:call-template name="tableJavascript_viz" />-->
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
var commonChartProperties=[];
]]></xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/chartProperties/commonChartProperty">
<xsl:text>
var newCommonChartProperty = new commonChartProperty("</xsl:text>
<xsl:value-of select="@prop_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>",</xsl:text><xsl:choose>
<xsl:when test="@is_mandatory=1"><xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
<xsl:text>,"</xsl:text>
<xsl:value-of select="@input_type_uniquename" />
<xsl:text>"
,"</xsl:text>
<xsl:value-of select="@static_values" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_range_from" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_range_to" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_default" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@prop_unit" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@explanation" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@group_caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@group_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@renderer_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@group_variable_name" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@variable_name" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@propValueType" />
<xsl:text>",</xsl:text>
<xsl:value-of select="@isGeneric" />
<xsl:text>);
commonChartProperties.push(newCommonChartProperty);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizRenderer(uniquename,caption)
{
this.caption=caption;
this.uniquename=uniquename;
}
var vizRenderers=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizRenderers/vizRenderer">
<xsl:text>
var newVizRenderer = new vizRenderer("</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>");
vizRenderers.push(newVizRenderer);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizType(uniquename,caption,rendererUniquename,orientation)
{
this.caption=caption;
this.uniquename=uniquename;
this.rendererUniquename=rendererUniquename,
this.orientation=orientation;
}
var vizTypes=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizTypes/vizType">
<xsl:text>
var newVizType = new vizType("</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@renderer_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@orientation" />
<xsl:text>");
vizTypes.push(newVizType);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,propertyType,explanation)
{
this.propUniquename=propUniquename;
this.caption=caption;
this.groupUniquename=groupUniquename;
this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory;
this.propertyType=propertyType;
this.explanation=explanation;
}
var vizTypeProperties=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/viz_type_properties/viz_type_property">
<xsl:text>
var newVizTypeProperty = new vizTypeProperty("</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@viz_type_uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@viz_property_group_uniquename" />
<xsl:text>",</xsl:text>
<xsl:choose>
<xsl:when test="@is_mandatory='1'">
<xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>false</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>,"</xsl:text>
<xsl:value-of select="@propValueType" />
<xsl:text>","");
vizTypeProperties.push(newVizTypeProperty);
</xsl:text>
</xsl:for-each>
<xsl:text><![CDATA[
function initPage()
{
//zuerst Miniatur:
var myChartModelStr="";
var myDiv="";
var rsNr=0;
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="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[
var myChartCode=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartcode,'§',$quote)" />
<xsl:text><![CDATA[;
var myDatasourceDef=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@datasource_def,'§',$quote)" />
-->
<xsl:text><![CDATA[;
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
rsNr=]]></xsl:text>
<xsl:value-of select="$ergebniselement_ordnr" />
<xsl:text><![CDATA[;
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer);
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);
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createChartsViewer(chartModel,chartDiv,rsNr,myRenderer)
{
if(myRenderer=="echarts")
{
renderEChart2(chartModel,chartDiv,rsNr);
}
else
{
//d3js or plot:
//myChartModel=JSON.parse(myChartModelStr);
renderPlotD3Chart(chartDiv,chartModel,rsNr);
}
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
<xsl:template name="buildVizMetadata">
<xsl:variable name="vizInitialName">
@ -765,14 +538,11 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> @@ -765,14 +538,11 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
</xsl:for-each>
</xsl:template>
<xsl:template name="modalCards" >
<xsl:param name="kachelbreite" select="600"/>
<xsl:param name="kachelhoehe" select="400"/>
<xsl:for-each select="/ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_uniquename != ''">
<xsl:if test="$chart_id != ''">
<div class="modal modal-fx-3dSlit" id="{concat('modalCard',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-content is-huge is-image">
@ -786,7 +556,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> @@ -786,7 +556,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
</div>
<div class="box">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
</div>
@ -798,7 +568,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> @@ -798,7 +568,7 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<div class="modal-background"></div>
<div class="modal-content is-tiny">
<div class="box" style="text-align:right">
<h4><xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@caption"/></h4>
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4>
<a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
@ -807,18 +577,14 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> @@ -807,18 +577,14 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<div class="card">
<div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
<xsl:attribute name="style"><xsl:value-of select="concat('width:',$kachelbreite,'px;height:',$kachelhoehe,'px;')" />
</xsl:attribute>
<!--<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
</div>-->
Picture placeholder
</div>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p><xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@description"/></p>
<p><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@description"/></p>
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
@ -874,9 +640,9 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -874,9 +640,9 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:template name="modalCards_neu" >
<xsl:for-each select="/ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_uniquename != ''">
<xsl:if test="$chart_id != ''">
<div class="modal" id="{concat('modalCard',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-card">
@ -889,7 +655,7 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -889,7 +655,7 @@ Stand: <xsl:value-of select="../stand" /></p>
</header>
<section class="modal-card-body">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</section>
<footer class="modal-card-foot"></footer>
@ -903,7 +669,7 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -903,7 +669,7 @@ Stand: <xsl:value-of select="../stand" /></p>
<header class="modal-card-head">
<div class="box" style="text-align:right">
<h4><xsl:value-of select="viz_charts/viz_chart[@chart_uniquename=$chart_uniquename]/@caption"/></h4>
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4>
<a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
@ -912,11 +678,11 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -912,11 +678,11 @@ Stand: <xsl:value-of select="../stand" /></p>
<!-- content -->
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</section>
<footer class="modal-card-foot">
<p><xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@description"/></p>
<p><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@description"/></p>
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
@ -972,36 +738,6 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -972,36 +738,6 @@ Stand: <xsl:value-of select="../stand" /></p>
<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<xsl:param name="kachelbreite" select="600"/>
<xsl:param name="kachelhoehe" select="400"/>
<xsl:param name="link_maskennummer" />
<xsl:param name="link_chart_uniquename" />
<xsl:param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
<div class="card is-shady">
<div class="card-image">
<!--zum Debuggen: <a onClick="initPage()">Anzeigen</a><br />-->
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}" style="width: 600px;height:400px;"></div>
</a>
<xsl:if test="$link_maskennummer!=''">
<br /> <a href="{concat('../servlet/SuperXmlTabelle?tid=',$link_maskennummer,'&amp;Grafik=',$link_chart_uniquename,'&amp;tablestylesheet=',$link_tablestylesheet)}">Details...</a>
</xsl:if>
</div>
<p>
<!--<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
-->
</p>
</div>
</xsl:template>
<xsl:template name="viewer_kachel_alt">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
@ -1315,99 +1051,19 @@ Platzhalter @@ -1315,99 +1051,19 @@ Platzhalter
</script>
</xsl:template>
<xsl:template name="getChartModel">
<xsl:param name="chart_uniquename" />
<xsl:param name="chart_id" />
<xsl:param name="useMiniatureIfAvailable" select="'true'"/>
<xsl:variable name="chartModel">
<xsl:choose>
<xsl:when test="$useMiniatureIfAvailable='true' and viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel_miniature !=''">
<xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel_miniature"/>
<xsl:when test="$useMiniatureIfAvailable='true' and viz_charts/viz_chart[@tid=$chart_id]/@chartmodel_miniature !=''">
<xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@chartmodel_miniature"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel"/>
<xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@chartmodel"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="translate($chartModel,'§',$quote)"/>
</xsl:template>
<xsl:template name="viz_navi_top" >
<!-- kann überlagert werden -->
<xsl:call-template name="nd_navi_top" />
</xsl:template>
<xsl:template name="importRendererLibs">
<xsl:variable name="importEcharts">
<xsl:call-template name="isRendererNeeded">
<xsl:with-param name="renderer" select="'echarts'" />
</xsl:call-template>
</xsl:variable>
<xsl:if test="contains($importEcharts,'true')">
<script language="JavaScript" type="text/javascript" src="../xml/js/viz/echarts.min.js"></script>
</xsl:if>
<xsl:variable name="importD3js">
<xsl:call-template name="isRendererNeeded">
<xsl:with-param name="renderer" select="'d3js'" />
</xsl:call-template>
</xsl:variable>
<xsl:if test="contains($importD3js,'true')">
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3-sankey.js" />
<style type="text/css">
.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;
}
</style>
</xsl:if>
<xsl:variable name="importPlot">
<xsl:call-template name="isRendererNeeded">
<xsl:with-param name="renderer" select="'plot'" />
</xsl:call-template>
</xsl:variable>
<xsl:if test="contains($importPlot,'true')">
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" />
</xsl:if>
</xsl:template>
<xsl:template name="isRendererNeeded">
<xsl:param name="renderer" />
<xsl:for-each select="/ergebnisse/ergebnis/felder/feld[@varname='Grafik']" >
<xsl:variable name="chart_uniquename" select="value" />
<xsl:if test="count(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@renderer =$renderer) !=0">
<xsl:text>true</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="displayTables">
<!-- jetzt Tabelle-->
<div style="margin-left:50px">
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<p class="teiltabelle_titel">
<xsl:text>Tabelle </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="10px" 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>
</xsl:for-each>
</div>
</xsl:template>
</xsl:stylesheet>

9
superx/xml/viz_html_chart.xsl

@ -46,8 +46,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -46,8 +46,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizViewer"></xsl:call-template>
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" />
<xsl:call-template name="tableJavascript_viz"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';tableonload();initThemenbaumJs();">
<!--#Template Beginn Top-Navigation-->
@ -108,7 +107,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -108,7 +107,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="hero-body">
<!--<div class="columns is-mobile is-left">
<div class="card has-background-light">
<div class="card-content">-->
@ -388,9 +387,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -388,9 +387,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="ChartElementsDiv" style="display:none" class="box">
<div class="field is-grouped">
<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">
<div class="label-container" lang="de"><span class="labelNormal">
Grafikelement</span></div>
<div class="control">
<div class="control has-tooltip-right" data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button">
<div class="field"><div class="control is-expanded">
<div class="select is-small is-fullwidth is-focused">
<select id="chartElementID" name="chartElementID"

388
superx/xml/viz_html_chart_viewer.xsl

@ -19,11 +19,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -19,11 +19,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="colwidth"><xsl:text>is-full</xsl:text></xsl:variable>
<!--<xsl:variable name="defaultRenderer" select="'echarts'" />
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
-->
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
@ -48,19 +49,17 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -48,19 +49,17 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizViewer"></xsl:call-template>
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="viz_navi_top" />
<!--<xsl:call-template name="ude_header_dashboard" />-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true'"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<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>
@ -68,67 +67,33 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -68,67 +67,33 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--#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" />
<div id="content">
<!--#Template Beginn Seitentitel-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<xsl:call-template name="nd_pagetitle" >
<xsl:with-param name="title" select="$maskenname" />
<xsl:with-param name="title" select="/ergebnisse/ergebnis/maskenname" />
<xsl:with-param name="subtitle" />
<xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template>
<!--#Template Krümelpfad-->
<xsl:call-template name="nd_breadcrumb" />
<!--#Template Ende Krümelpfad-->
<xsl:call-template name="buildVizMetadata" />
<!-- start tabellen-->
<section class="hero-body">
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="ergebniselement_ordnr" select="@ordnr" />
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:if test="/ergebnisse/@isMakro='true'">
<p class="teiltabelle_titel"><!--<xsl:value-of select="../felder/feld[@varname='Teiltabelle']/value_caption" />-->
<xsl:call-template name="nd_getTeiltabelleName">
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr"/>
</xsl:call-template>
<xsl:text> </xsl:text><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnTable',$ergebniselement_ordnr+1, $colon,',',$colon, 'table',$ergebniselement_ordnr+1,$colon,');')}"> <img id="{concat('toggleBtnTable',$ergebniselement_ordnr+1)}" src="../images/minus-circled.svg" height="10px" border="0" /></a></p>
</xsl:if>
<section class="container" id="{concat('table',$ergebniselement_ordnr+1)}" style="display:block"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:with-param name="icon_classname" />
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-full</xsl:text></xsl:attribute>
<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:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
</div>
</section>
</xsl:for-each>
</section>
</div><!--content-div-->
</div><!--columns für navipanel-->
<xsl:call-template name="viz_viewer"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
@ -141,227 +106,130 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -141,227 +106,130 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:template name="viz_viewer">
<xsl:param name="show_maskenfelder" select="'true'" />
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<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>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
</header>
</xsl:template>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<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>
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>';
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
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;
}
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function tableMetaData(nr,value,name,isDefault)
function initPage()
{
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>
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if>
</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>
<xsl:text><![CDATA[
}
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>
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
</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>
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

417
superx/xml/viz_html_chart_viewer_grid.xsl

@ -20,10 +20,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -20,10 +20,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<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="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
-->
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
@ -48,17 +48,15 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -48,17 +48,15 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizViewer"></xsl:call-template>
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="viz_navi_top" />
<!--<xsl:call-template name="ude_header_dashboard" />-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
@ -68,33 +66,26 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -68,33 +66,26 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--#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" />
<div id="content" style="padding-left:1rem">
<!--#Template Beginn Seitentitel-->
<xsl:variable name="masken_tid"><xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:variable>
<xsl:call-template name="nd_pagetitle" >
<xsl:with-param name="title" select="$maskenname" />
<xsl:with-param name="subtitle" />
<xsl:with-param name="icon_classname" select="/ergebnisse/menue/eintraege/eintrag[@isMaske='true' and tid=$masken_tid]/css_class" />
</xsl:call-template>
<!--#Template Krümelpfad-->
<!--<xsl:call-template name="nd_breadcrumb" />-->
<!--#Template Ende Krümelpfad-->
<xsl:call-template name="buildVizMetadata" />
<xsl:call-template name="viz_viewer_grid" />
</div><!--content-->
<xsl:call-template name="viz_viewer_columnwise"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
@ -107,304 +98,166 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -107,304 +98,166 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:template name="viz_viewer_columnwise">
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<xsl:template name="viz_viewer_grid">
<!-- Variableninitialisierung fürs Dashboard:
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<xsl:variable name="spalten_anz">
<!--<xsl:value-of select="2"/>-->
<xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</xsl:variable>
<xsl:variable name="kachelbreite">
<xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Kachelbreite']/value"/>
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/>
</xsl:variable>
<xsl:variable name="kachelhoehe">
<xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Kachelhöhe']/value"/>
<xsl:variable name="colwidth">
<xsl:value-of select="12 div $spalten_anz"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_anz">
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/>
</xsl:variable>
<xsl:variable name="kachelbreite_rem">
<xsl:value-of select="round($kachelbreite div 24)"/><!-- 1 em=16px, für bulma dann *1,5 -->
<xsl:variable name="ergebniselemente_umbruch">
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/>
</xsl:variable>
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</p>-->
<!--<span class="separator">&#160;</span>-->
<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">-->
<div>
<xsl:if test="$spalten_anz!='0'"><!--nicht dynamisch-->
<xsl:attribute name="class"><xsl:value-of select="concat('fixed-grid has-',$spalten_anz,'-cols')" />
</xsl:attribute>
</xsl:if>
<div><!--Beginn columns Kartenreihe -->
<xsl:choose>
<xsl:when test="$spalten_anz='0'"><!--dynamisch-->
<!--klappt noch nicht, Bug in Bulma?-->
<xsl:attribute name="class"><xsl:value-of select="concat('grid is-col-min-',$kachelbreite_rem)" />
</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="class"><xsl:text>grid</xsl:text></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<section class="hero-body">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:variable name="maskennummer"><xsl:value-of select="@id" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<!--
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>-->
<div class="cell is-col-min-25">
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@caption"/>
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
<xsl:with-param name="kachelbreite" select="$kachelbreite"/>
<xsl:with-param name="kachelhoehe" select="$kachelhoehe"/>
<xsl:with-param name="link_maskennummer" select="$maskennummer"/>
<xsl:with-param name="link_chart_uniquename" select="$chart_uniquename" />
<xsl:with-param name="link_tablestylesheet" select="'viz_html_chart_viewer_mask_and_table.xsl'"/>
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
</xsl:for-each>
</div><!-- des grid -->
</div><!--fixed-grid-->
<!--
</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>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<xsl:if test="$ergebniselement_counter &gt;= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0">
<xsl:text disable-output-escaping="yes"><![CDATA[
</div>
</header>
</section>
<section class="container">
<div class="columns features is-mobile is-left">
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<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>';
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
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;
}
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function tableMetaData(nr,value,name,isDefault)
function initPage()
{
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>
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text>
));
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"/>
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_id" select="$chart_id"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'true'"/>
</xsl:call-template>
</xsl: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:text>';
myDiv="</xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_id" select="$chart_id"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/>
</xsl:call-template>
<xsl:text>','</xsl:text>
<xsl:call-template name="remove_linebreaksAndQuot">
<xsl:with-param name="volltext" select="wert" />
<xsl:text>';
createViewer(myChartModelStr,myDiv);
myDiv="</xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_id" select="$chart_id"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/>
</xsl:call-template>
<xsl:text>',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>';
createViewer(myChartModelStr,myDiv);
</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>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

266
superx/xml/viz_html_chart_viewer_grid_hms.xsl

@ -1,266 +0,0 @@ @@ -1,266 +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="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<!--<xsl:call-template name="nd_navi_top" />-->
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer_columnwise"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="viz_viewer_columnwise">
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1 class="title is-4"><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<xsl:variable name="spalten_anz">
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/>
</xsl:variable>
<xsl:variable name="colwidth">
<xsl:value-of select="12 div $spalten_anz"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_anz">
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_umbruch">
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/>
</xsl:variable>
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</p>-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_uniquename"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<h2><xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@caption"/></h2>
<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:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<!--<xsl:if test="$ergebniselement_counter &gt;= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0">-->
<xsl:text disable-output-escaping="yes"><![CDATA[
</div>
</section>
<hr />
<section class="container">
<div class="columns features is-mobile is-left">
]]></xsl:text>
<!--</xsl:if>-->
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_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="$chart_uniquename != ''">
<xsl:text>
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_uniquename" select="$chart_uniquename"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'true'"/>
</xsl:call-template>
<xsl:text>';
myDiv="</xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_uniquename" select="$chart_uniquename"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/>
</xsl:call-template>
<xsl:text>';
createViewer(myChartModelStr,myDiv);
myDiv="</xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='</xsl:text>
<xsl:call-template name="getChartModel">
<xsl:with-param name="chart_uniquename" select="$chart_uniquename"/>
<xsl:with-param name="useMiniatureIfAvailable" select="'false'"/>
</xsl:call-template>
<xsl:text>';
createViewer(myChartModelStr,myDiv);
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

332
superx/xml/viz_html_chart_viewer_mask.xsl

@ -19,11 +19,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -19,11 +19,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="colwidth"><xsl:text>is-full</xsl:text></xsl:variable>
<!--<xsl:variable name="defaultRenderer" select="'echarts'" />
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
-->
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
@ -48,14 +49,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -48,14 +49,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizViewer"></xsl:call-template>
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<xsl:call-template name="tableMaskenfelderJS" />
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="viz_navi_top" />
<!--<xsl:call-template name="ude_header_dashboard" />-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
@ -63,7 +62,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -63,7 +62,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--#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" />
<!--kein Navi Panel bei Maskenfeldern <xsl:call-template name="nd_navi_panel" />-->
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
@ -72,18 +71,24 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -72,18 +71,24 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="column is-two-thirds">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer_columnwise"/>
<xsl:call-template name="viz_viewer"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
<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>
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
@ -101,271 +106,130 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -101,271 +106,130 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:template name="viz_viewer_columnwise">
<xsl:template name="viz_viewer">
<xsl:param name="show_maskenfelder" select="'true'" />
<xsl:if test="/ergebnisse/@isMakro='true'">
<p class="cockpit_title"><xsl:value-of select="/ergebnisse/makro/name" /></p>
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body">
<section class="hero-body has-background-light">
<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: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="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@caption"/>
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</xsl:for-each>
</div>
<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-->
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
</section>
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</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>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</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>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>';
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
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;
}
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function tableMetaData(nr,value,name,isDefault)
function initPage()
{
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>
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if>
</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>
<xsl:text><![CDATA[
}
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>
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
</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>
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

374
superx/xml/viz_html_chart_viewer_mask_and_table.xsl

@ -1,374 +0,0 @@ @@ -1,374 +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>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="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:call-template name="viz_viewer_columnwise"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="viz_viewer_columnwise">
<xsl:if test="/ergebnisse/@isMakro='true'">
<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>
<!--<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: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>
<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:stylesheet>
Loading…
Cancel
Save