Browse Source

Dashboard UDE Absolv. #7

master
Daniel Quathamer 3 weeks ago
parent
commit
a8627581dd
  1. 4
      src-modules/module/viz/conf/viz.xml
  2. 6
      src-modules/module/viz/masken/44660_felderinfo.unl
  3. 2
      src-modules/module/viz/masken/44690_felderinfo.unl
  4. 6
      src-modules/module/viz/masken/44720_felderinfo.unl
  5. 15
      src-modules/module/viz/schluesseltabellen/macro_masken_bez_fuellen.sql
  6. 116
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_zeitreihe_fuellen.sql
  7. 90
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_zeitreihe_fuellen.sql
  8. 229
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  9. 40
      src-modules/module/viz/schluesseltabellen/viz_type_echarts_fuellen.sql
  10. 116
      superx/xml/js/viz/viz_viewer.js
  11. 105
      superx/xml/viz_components.xsl
  12. 4
      superx/xml/viz_html_chart_viewer_grid.xsl

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

@ -691,6 +691,8 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_zeitreihe_fuellen.sql" database=""/>
</action> </action>
@ -783,6 +785,8 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql" database=""/> <nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_abgrp_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_rpta_sos_lab_aggr_in_rsz_zeitreihe_fuellen.sql" database=""/>
</action> </action>

6
src-modules/module/viz/masken/44660_felderinfo.unl

@ -9,7 +9,7 @@ union SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \ union SELECT 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \ union SELECT 3,'3-spaltig' from xdummy \
union SELECT 4,'4-spaltig' from xdummy \ union SELECT 4,'4-spaltig' from xdummy \
order by 1;^^<<SQL>> SELECT 2,'2-spaltig' from xdummy^ order by 1;^^<<SQL>> SELECT 3,'3-spaltig' from xdummy^
44667^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^ ^^^ 44667^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^ ^^^
44668^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^ 44668^Nur Endsemester^1000^0^0^140^80^1^integer^30^0^1^<<SQL>> select 1,'ja' from xdummy^Eintrag^ ^
44669^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;^ 44669^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;^
@ -19,11 +19,11 @@ order by 1;^^<<SQL>> SELECT 2,'2-spaltig' from xdummy^
44673^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;^^^ 44673^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;^^^
44674^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^ 44674^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^
44675^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=44660 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=44660 order by ord limit 1^ 44675^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=44660 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=44660 order by ord limit 1^
44676^Kachelbreite^305^0^0^100^15^1^integer^5000^0^0^^^800^ 44676^Kachelbreite^305^0^0^100^15^1^integer^5000^0^0^^^600^
44677^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^ 44677^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart order by 2;^hidden^ ^
44678^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^ 44678^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
44679^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^ 44679^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^
44680^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^ 44680^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44681^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^ 44681^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44682^Kachelhöhe^310^0^0^100^15^1^integer^5000^0^0^^^600^ 44682^Kachelhöhe^310^0^0^100^15^1^integer^5000^0^0^^^400^
44683^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^ 44683^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

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

@ -3,7 +3,7 @@
44692^Stichtag2^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^ 44692^Stichtag2^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44693^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^^ 44693^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^^
44694^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.';^ 44694^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.';^
44695^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';^ 44695^Hörerstatus^33^0^0^140^170^1^sql^255^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44696^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 0,'Automatisch' from xdummy \ 44696^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 0,'Automatisch' from xdummy \
union SELECT 1,'1-spaltig' from xdummy \ union SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \ union SELECT 2,'2-spaltig' from xdummy \

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

@ -1,9 +1,9 @@
44720^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^ 44720^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
44721^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^ 44721^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()-(4*365) between sem_beginn and sem_ende;^
44722^Stichtag^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^ 44722^Stichtag^1^350^-1^140^100^1^sql^30^0^13^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen';^^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Prüfungen' and appl_key='2';^
44723^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^ 44723^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^hidden^^
44724^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.';^ 44724^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44725^Hörerstatus^33^0^0^140^170^1^sql^30^0^13^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^ 44725^Hörerstatus^33^0^0^140^170^1^sql^255^0^13^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^ 44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44729^Bis Semester^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;^ 44729^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;^
44730^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^hidden^^ 44730^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^hidden^^

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

@ -39,7 +39,9 @@
{"makro":"44690", "tid":"44570", "sortnr":"10"}, {"makro":"44690", "tid":"44570", "sortnr":"10"},
{"makro":"44690", "tid":"44570", "sortnr":"20"}, {"makro":"44690", "tid":"44570", "sortnr":"20"},
{"makro":"44690", "tid":"44570", "sortnr":"30"}, {"makro":"44690", "tid":"44570", "sortnr":"30"},
{"makro":"44690", "tid":"44720", "sortnr":"40"} {"makro":"44690", "tid":"44720", "sortnr":"40"},
{"makro":"44690", "tid":"44720", "sortnr":"50"},
{"makro":"44690", "tid":"44720", "sortnr":"60"}
@ -195,8 +197,17 @@
{"makro":"44690", "sortnr":"40", "feldname":"Köpfe oder Fälle ?", "value":"1=1"}, {"makro":"44690", "sortnr":"40", "feldname":"Köpfe oder Fälle ?", "value":"1=1"},
{"makro":"44690", "sortnr":"40", "feldname":"Spaltenlayout", "value":"rpta_sos_lab_aggr_sem"}, {"makro":"44690", "sortnr":"40", "feldname":"Spaltenlayout", "value":"rpta_sos_lab_aggr_sem"},
{"makro":"44690", "sortnr":"40", "feldname":"Grafik", "value":"ABSOLV_SEM_LINE"}, {"makro":"44690", "sortnr":"40", "feldname":"Grafik", "value":"ABSOLV_SEM_LINE"},
{"makro":"44690", "sortnr":"40", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"} {"makro":"44690", "sortnr":"40", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"50", "feldname":"Köpfe oder Fälle ?", "value":"1=1"},
{"makro":"44690", "sortnr":"50", "feldname":"Spaltenlayout", "value":"rpta_sos_lab_aggr_in_rsz_sem"},
{"makro":"44690", "sortnr":"50", "feldname":"Grafik", "value":"ABSOLV_RSZ_SEM_BAR"},
{"makro":"44690", "sortnr":"50", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"},
{"makro":"44690", "sortnr":"60", "feldname":"Köpfe oder Fälle ?", "value":"1=1"},
{"makro":"44690", "sortnr":"60", "feldname":"Spaltenlayout", "value":"rpta_sos_lab_aggr_abgrp_sem"},
{"makro":"44690", "sortnr":"60", "feldname":"Grafik", "value":"ABSOLV_ABGRP_SEM_AREA"},
{"makro":"44690", "sortnr":"60", "feldname":"tablestylesheet", "value":"tabelle_html_datenblatt.xsl"}
] /> ] />

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

@ -0,0 +1,116 @@
--freemarker template
<#include "RPTA-Makros"/>
<sqlvars>
<sqlvar name="rpta_installed">
select count(*) from systeminfo where tid=330;
</sqlvar>
</sqlvars>
<#assign rpta_column_layout =
{"uniquename":"rpta_sos_lab_aggr_abgrp_sem",
"caption":"Absolvierende nach Abschlussgruppe und Semester",
"rpta_resultset":"rpta_sos_lab_aggr",
"whereclause":"",
"description":"Absolvierende nach Abschlussgruppe und Semester",
"is_virtual":1
}
/>
<#assign rpta_columns = [
{"uniquename":"sem_der_pruefung",
"caption":"Semester",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"sem_der_pruefung",
"column_type":"physicalColumn",
"col_function":"",
"is_visible":"0",
"format_code":"TEXT",
"visible_size":"5",
"is_aggregate":"0",
"description":""
},
{"uniquename":"semester_str",
"caption":"Semester Name",
"srcfieldname":"sem_der_pruefung",
"targetfieldname":"semester_str",
"column_type":"logicalColumn",
"col_function":"(case when substring(sem_der_pruefung::varchar from 5 for 1)=''2'' then ''WS '' || substring(sem_der_pruefung::varchar from 3 for 2) || ''/'' || lpad('''' || val(substring(sem_der_pruefung::varchar from 3 for 2))+1,2,''0'')
when substring(sem_der_pruefung::varchar from 5 for 1)=''1'' then ''SS '' || substring(sem_der_pruefung::varchar from 3 for 2)
else '''' end)",
"is_visible":"1",
"format_code":"",
"visible_size":"5",
"is_aggregate":"0",
"description":""
},
{"uniquename":"absolv_ba",
"caption_der_spalte":"BA",
"caption_in_ergebnistabelle":"Bachelor",
"srcfieldname":"",
"targetfieldname":"absolv_ba",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A24'' and dim_studiengang_ist_lehramt =0 then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Bachelor ohne Lehramt"
},
{"uniquename":"absolv_ba_la",
"caption_der_spalte":"LA BA",
"caption_in_ergebnistabelle":"Bachelor Lehramt",
"srcfieldname":"",
"targetfieldname":"absolv_ba_la",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A24'' and dim_studiengang_ist_lehramt =1 then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Bachelor Lehramt"
},
{"uniquename":"absolv_ma",
"caption_der_spalte":"MA",
"caption_in_ergebnistabelle":"Master",
"srcfieldname":"",
"targetfieldname":"absolv_ma",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A37'' and dim_studiengang_ist_lehramt =0 then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Master"
},
{"uniquename":"absolv_ma_la",
"caption_der_spalte":"MA LA",
"caption_in_ergebnistabelle":"Master Lehramt",
"srcfieldname":"",
"targetfieldname":"absolv_ma_la",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''A37'' and dim_studiengang_ist_lehramt =1 then summe
else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Master Lehramt"
},
{"uniquename":"absolv_prom",
"caption_der_spalte":"Promotion",
"caption_in_ergebnistabelle":"Promotion",
"srcfieldname":"",
"targetfieldname":"absolv_prom",
"column_type":"logicalColumn",
"col_function":"(case when dim_studiengang_abschlussart=''G_Prom'' then summe else 0 end)",
"is_visible":"1",
"visible_size":"10",
"is_aggregate":"1",
"description":"Absolv. Promotion"
}
]
/>
<#if rpta_installed==1>
<@rpta_column_layout_fuellen />
</#if>

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

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

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

@ -1193,3 +1193,232 @@
{"name":"dimension1","vizPropertyVariablename":"dimension1","propertyValue":"dim_studiengang_fb_str","propUnit":""},\ {"name":"dimension1","vizPropertyVariablename":"dimension1","propertyValue":"dim_studiengang_fb_str","propUnit":""},\
{"name":"measure1","vizPropertyVariablename":"measure1","propertyValue":"summe","propUnit":""}],\ {"name":"measure1","vizPropertyVariablename":"measure1","propertyValue":"summe","propUnit":""}],\
"dataTransformation":[]}^ ^0^600^400^200^100^ "dataTransformation":[]}^ ^0^600^400^200^100^
41^ABSOLV_RSZ_SEM_BAR^Absolvierende nach RSZ und Semester^ ^{"version":"0.2b","id":1,"name":"","renderer":"echarts",\
"dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"",\
"chartElements":[{"elemID":1,"vizTypeUniquename":"echarts_native","sourceCode":\
{\
title: {\
text: 'Absolvierende nach Regelstudienzeit',\
left: "center",\
top: "top",\
textStyle: {\
fontSize: 20\
}\
},\
grid: {\
top: "16%",\
left: "20%"\
},\
legend: {show:true,itemGap:5,itemHeight:6, top:'bottom',\
data: [{\
name: 'Absolv. in der Regelstudienzeit',\
icon: 'roundRect'},\
{\
name: 'Absolv. über der Regelstudienzeit',\
icon: 'roundRect'\
}, {\
name: 'Unbekannt',\
icon: 'roundRect'\
},\
]\
},\
tooltip: {},\
\
xAxis: [\
{ type: 'category', axisLabel:{rotate:30}}\
],\
yAxis: [{name:'Absolvierende', nameLocation:'middle', nameGap:40,id:0 }],\
\
series: [\
{ name:'Absolv. in der Regelstudienzeit',type: 'bar', encode:{x:'semester_str',y:'absolv_in_rsz'},stack:'summe', color:'#004a93',\
label: {\
show: true\
}},\
{ name:'Absolv. über der Regelstudienzeit',type: 'bar',encode:{x:'semester_str',y:'absolv_ueber_rsz'},stack:'summe', color:'#afcde4',\
label: {\
show: true\
}},\
{ name:'Unbekannt',type: 'bar',encode:{x:'semester_str',y:'absolv_unbek_rsz'},stack:'summe', color:'#cccccc',\
label: {\
show: true\
}}\
]\
}\
}\
]\
}^ ^^25.08.2024^25.08.2024^44720^ ^3^{"version":"0.2b","id":1,"name":"","renderer":"echarts","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"echarts_line_y","caption":"line","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"semester_str","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#ffffff","propertyType":"string"}]},\
{"elemID":2,"vizTypeUniquename":"dot","caption":"dot","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"semester_str","propertyType":"string"},\
{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"},\
{"nr":2,"vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},\
{"nr":2,"vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]},\
{"elemID":"3","vizTypeUniquename":"text","caption":"text","datasource":"0","elementTypeProperties":[{"nr":"3","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"semester_str","propertyType":"string"},\
{"nr":"3","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"},\
{"nr":"3","vizTypePropertyUniquename":"text","caption":"Beschriftung","propertyValue":"summe","propertyType":"string"},\
{"name":"strokeWidth","vizPropertyVariablename":"strokeWidth","propertyValue":"1","propUnit":""},\
{"nr":"3","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":"3","vizTypePropertyUniquename":"dx","caption":"Offset (horizontal)","propertyValue":"4","propertyType":"integer"},\
{"nr":"3","vizTypePropertyUniquename":"dy","caption":"Offset (vertikal)","propertyValue":"-20","propertyType":"integer"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfäger_innen nach Semester"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"70","propUnit":""},\
{"name":"strokeWidth","vizPropertyVariablename":"strokeWidth","propertyValue":"1","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"80","propUnit":""},\
{"name":"innerRadius","vizPropertyVariablename":"innerRadius","propertyValue":"0","propUnit":""},\
{"name":"labelRadiusFactor","vizPropertyVariablename":"labelRadiusFactor","propertyValue":"80","propUnit":""},\
{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},\
{"name":"cornerRadius","vizPropertyVariablename":"cornerRadius","propertyValue":"10","propUnit":"px"},\
{"name":"labelOpacity","vizPropertyVariablename":"labelOpacity","propertyValue":"70","propUnit":""},\
{"name":"dx","vizPropertyVariablename":"dx","propertyValue":"4","propUnit":"px"},\
{"name":"dy","vizPropertyVariablename":"dy","propertyValue":"-20","propUnit":"px"},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"sans-serif","propUnit":""},\
{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"14","propUnit":"px"},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Studierende","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"semester_str","propUnit":""},\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"summe","propUnit":""},\
{"name":"text","vizPropertyVariablename":"text","propertyValue":"summe","propUnit":""}],\
"dataTransformation":[]}^ ^1^600^400^200^100^
42^ABSOLV_ABGRP_SEM_AREA^Absolvierende nach Abschlussgruppe und Semester^ ^{"version":"0.2b","id":1,"name":"","renderer":"echarts",\
"dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"",\
"chartElements":[{"elemID":1,"vizTypeUniquename":"echarts_native","sourceCode":\
{ \
title: {\
text: 'Absolvierende nach Abschluss',\
left: "center",\
top: "top",\
textStyle: {\
fontSize: 20\
}\
},\
grid: {\
top: "16%",\
left: "20%"\
},\
legend: {show:true,itemGap:5,itemHeight:6, top:'bottom',\
data: [{\
name: 'BA',\
icon: 'roundRect'},\
{\
name: 'LA BA',\
icon: 'roundRect'\
},\
{\
name: 'MA',\
icon: 'roundRect'},\
{\
name: 'LA MA',\
icon: 'roundRect'\
},\
{\
name: 'Promotion',\
icon: 'roundRect'\
}\
]\
},\
tooltip: {\
trigger: 'axis',\
axisPointer: {\
type: 'cross',\
label: {\
backgroundColor: '#6a7985'\
}\
}\
},\
xAxis: [\
{ type: 'category', axisLabel:{rotate:30}}\
],\
yAxis: [{name:'Absolvierende', nameLocation:'middle', nameGap:40,id:0 }],\
series: [\
{ name:'BA',type: 'line', encode:{x:'semester_str',y:'absolv_ba'},stack:'summe', color:'#374ca',\
areaStyle: {},\
emphasis: {\
focus: 'series'\
}},\
{ name:'LA BA',type: 'line',encode:{x:'semester_str',y:'absolv_ba_la'},stack:'summe', color:'#5e70ba',\
areaStyle: {},\
emphasis: {\
focus: 'series'\
}},\
{ name:'MA',type: 'line', encode:{x:'semester_str',y:'absolv_ma'},stack:'summe', color:'#64a6d9',\
areaStyle: {},\
emphasis: {\
focus: 'series'\
}},\
{ name:'LA MA',type: 'line',encode:{x:'semester_str',y:'absolv_ma_la'},stack:'summe', color:'#8cb7e1',\
areaStyle: {},\
emphasis: {\
focus: 'series'\
}},\
{ name:'Promotion',type: 'line',encode:{x:'semester_str',y:'absolv_prom'},stack:'summe', color:'#7aa2ba',\
areaStyle: {},\
emphasis: {\
focus: 'series'\
}}\
]\
}\
}\
]\
}^ ^^25.08.2024^25.08.2024^44720^ ^3^{"version":"0.2b","id":1,"name":"","renderer":"echarts","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],\
"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"echarts_line_y","caption":"line","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"semester_str","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#ffffff","propertyType":"string"}]},\
{"elemID":2,"vizTypeUniquename":"dot","caption":"dot","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"semester_str","propertyType":"string"},\
{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"},\
{"nr":2,"vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},\
{"nr":2,"vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]},\
{"elemID":"3","vizTypeUniquename":"text","caption":"text","datasource":"0","elementTypeProperties":[{"nr":"3","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"semester_str","propertyType":"string"},\
{"nr":"3","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"summe","propertyType":"string"},\
{"nr":"3","vizTypePropertyUniquename":"text","caption":"Beschriftung","propertyValue":"summe","propertyType":"string"},\
{"name":"strokeWidth","vizPropertyVariablename":"strokeWidth","propertyValue":"1","propUnit":""},\
{"nr":"3","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":"3","vizTypePropertyUniquename":"dx","caption":"Offset (horizontal)","propertyValue":"4","propertyType":"integer"},\
{"nr":"3","vizTypePropertyUniquename":"dy","caption":"Offset (vertikal)","propertyValue":"-20","propertyType":"integer"}]}],\
"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfäger_innen nach Semester"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"70","propUnit":""},\
{"name":"strokeWidth","vizPropertyVariablename":"strokeWidth","propertyValue":"1","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"80","propUnit":""},\
{"name":"innerRadius","vizPropertyVariablename":"innerRadius","propertyValue":"0","propUnit":""},\
{"name":"labelRadiusFactor","vizPropertyVariablename":"labelRadiusFactor","propertyValue":"80","propUnit":""},\
{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},\
{"name":"cornerRadius","vizPropertyVariablename":"cornerRadius","propertyValue":"10","propUnit":"px"},\
{"name":"labelOpacity","vizPropertyVariablename":"labelOpacity","propertyValue":"70","propUnit":""},\
{"name":"dx","vizPropertyVariablename":"dx","propertyValue":"4","propUnit":"px"},\
{"name":"dy","vizPropertyVariablename":"dy","propertyValue":"-20","propUnit":"px"},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"sans-serif","propUnit":""},\
{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"14","propUnit":"px"},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Studierende","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"semester_str","propUnit":""},\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"summe","propUnit":""},\
{"name":"text","vizPropertyVariablename":"text","propertyValue":"summe","propUnit":""}],\
"dataTransformation":[]}^ ^1^600^400^200^100^

40
src-modules/module/viz/schluesseltabellen/viz_type_echarts_fuellen.sql

@ -28,9 +28,18 @@
{"uniquename":"echarts_pie", "caption":"Tortendiagramm", {"uniquename":"echarts_pie", "caption":"Tortendiagramm",
"orientation":"Z", "orientation":"Z",
"description":"Tortendiagramm oder Donut", "description":"Tortendiagramm oder Donut",
"explanation":""},
{"uniquename":"echarts_bar_y_stacked", "caption":"Säulendiagramm gestapelt (vertikal)",
"orientation":"V",
"description":"Vertikales Balkendiagramm (gestapelt)",
"explanation":""},
{"uniquename":"echarts_native", "caption":"Echarts (nativ)",
"orientation":"V",
"description":"Natives Diagramm",
"explanation":""} "explanation":""}
] ]
/> />
@ -124,6 +133,21 @@
"range_from":"", "range_from":"",
"range_to":"", "range_to":"",
"prop_value_type":"string" "prop_value_type":"string"
},
{ "caption":"Quellcode",
"prop_uniquename":"sourcecode",
"explanation":"Quellcode bei nativen Echarts",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"SOURCECODE",
"sortnr":"608",
"range_from":"",
"range_to":"",
"prop_value_type":"object"
} }
] ]
/> />
@ -137,6 +161,18 @@
"viz_property_uniquename":"y", "viz_property_uniquename":"y",
"is_mandatory":"1", "is_mandatory":"1",
"sortnr":"10"}, "sortnr":"10"},
{ "viz_type_uniquename":"echarts_bar_y_stacked",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"echarts_bar_y_stacked",
"viz_property_uniquename":"stroke",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"echarts_bar_y_stacked",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"20"},
{ "viz_type_uniquename":"echarts_bar_x", { "viz_type_uniquename":"echarts_bar_x",
"viz_property_uniquename":"x", "viz_property_uniquename":"x",
"is_mandatory":"1", "is_mandatory":"1",
@ -168,6 +204,10 @@
{ "viz_type_uniquename":"echarts_pie", { "viz_type_uniquename":"echarts_pie",
"viz_property_uniquename":"measure1", "viz_property_uniquename":"measure1",
"is_mandatory":"1", "is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"echarts_native",
"viz_property_uniquename":"sourcecode",
"is_mandatory":"1",
"sortnr":"10"} "sortnr":"10"}

116
superx/xml/js/viz/viz_viewer.js

@ -1665,6 +1665,8 @@ return option;
function getChartPropertyValue(propArray,propName) function getChartPropertyValue(propArray,propName)
{ {
var propertyValue=""; var propertyValue="";
if(propArray)
{
for (var i=0;i<propArray.length;i++) for (var i=0;i<propArray.length;i++)
{ {
if(propArray[i].name==propName ) if(propArray[i].name==propName )
@ -1674,6 +1676,7 @@ function getChartPropertyValue(propArray,propName)
propertyValue+=propArray[i].propUnit; propertyValue+=propArray[i].propUnit;
} }
}
} }
return propertyValue; return propertyValue;
} }
@ -2177,7 +2180,7 @@ myModalCard.classList.remove('is-active');
function toggleSideBarDiv(mySidebarDivId) function toggleSideBarDiv(mySidebarDivId)
{ {
//first cloe all divs in the sidebar except the one seleced: //first close all divs in the sidebar except the one seleced:
const allSidebarDivs = document.getElementsByClassName("sidebar"); const allSidebarDivs = document.getElementsByClassName("sidebar");
for (let i = 0; i < allSidebarDivs.length; i++) { for (let i = 0; i < allSidebarDivs.length; i++) {
if(allSidebarDivs[i].id!=mySidebarDivId) if(allSidebarDivs[i].id!=mySidebarDivId)
@ -2206,3 +2209,114 @@ function prettifyJson(srcCode)
ret=ret.replace(/},/g,"},\n"); ret=ret.replace(/},/g,"},\n");
return ret; return ret;
} }
function pivotTable1(rsData,rsMetaData,srcColNr)
{
rsData.forEach((row) => {
for (var col in row) {
console.log(col +"-"+row[col]);
}
}
);
}
function pivotTable(rsData,rsMetaData,srcColNrStart)
{
var rsDataPivot=new Array();
var nrSourceRows=rsData.length;
var nrSouceCols=rsMetaData.length;
var rsRow=new Array();
var zs="";
var targetRownr=0;
//first line will have headers:
var rownr=0;
zs+="Zeile|";
rsRow[rownr]="Zeile";
rownr++;
rsData.forEach((row) => {
var colnr=0;
for (var col in row) {
if(colnr==srcColNrStart)
{
zs+=row[col]+"|";
rsRow[rownr]=row[col];
}
colnr++;
}
rownr++;
}
);
zs +="\n";
targetRownr++;
rsDataPivot.push(rsRow);
//now the data:
var metaDataColnr=0;
rsMetaData.forEach((col) => {
if(metaDataColnr>srcColNrStart && col.colcaption.trim()!="")
{
//start a new row:
var rsRow=new Array();
var colname=col.colname;
zs+=col.colcaption +"|";
rsRow[0]=col.colcaption;
var targetColnr=1;
var rownr=0;
rsData.forEach((row) => {
var colnr=0;
for (var col in row) {
if(colnr==metaDataColnr)
{
zs+=row[col]+"|";
rsRow[targetColnr]=row[col];
targetColnr++;
}
colnr++;
};
rownr++;
});
zs+="\n";
rsDataPivot.push(rsRow);
}
metaDataColnr++;
});
//alert(zs);
/* for(var row=0;row < nrSourceRows;row++)
{
rsRow[row]=rsData[row][srcColNr];
}
rsDataPivot.push(rsRow);
//Now line 2 upwards:
rsData.forEach((row) => {
for (var col in row) {
console.log(col +"-"+row[col]);
}
}
);
}
for(var col=srcColNr+1;col < nrSouceCols;col++)
{
var rsRow=new Array();
var srcColCounter=0;
//first targetcolumn has name
rsRow[0]=rsMetaData[col];
for(var row=0;row < nrSourceRows;row++)
{
rsRow[row+1]=rsData[row][col];
}
rsDataPivot.push(rsRow);
}
console.log(rsDataPivot);
*/
return rsDataPivot;
}

105
superx/xml/viz_components.xsl

@ -1145,6 +1145,7 @@ Platzhalter
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<div style="float:right">
<form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8" action="SuperXmlTabelle"> <form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8" action="SuperXmlTabelle">
<input name="navi" type="hidden" value="{/ergebnisse/@showNavigation}" /> <input name="navi" type="hidden" value="{/ergebnisse/@showNavigation}" />
@ -1210,14 +1211,14 @@ Platzhalter
</xsl:for-each> </xsl:for-each>
<div class="field"> <div class="field">
<button class="button is-light" type="submit" onclick="document.forms[0].elements['reuseresult'].value='false';return true;"> <button class="button" type="submit" style="background: #a6a6a6ff; border: thin solid rgba(0, 76, 147, 240); color: white; width: 37%;" onclick="document.forms[0].elements['reuseresult'].value='false';return true;">
Neu laden... Neu laden...
</button> </button>
<!--<input type="submit" class="sx_buttondiv_submit" value="Neu laden..." onclick="document.forms['Weiterverarbeitung'].elements['reuseresult'].value='false';document.forms['Weiterverarbeitung'].elements['stylesheet'].value='tabelle_html_viz.xsl';return true;" />--> <!--<input type="submit" class="sx_buttondiv_submit" value="Neu laden..." onclick="document.forms['Weiterverarbeitung'].elements['reuseresult'].value='false';document.forms['Weiterverarbeitung'].elements['stylesheet'].value='tabelle_html_viz.xsl';return true;" />-->
</div> </div>
<!--</div>--> <!--</div>-->
</form> </form>
<!--</div>--> </div>
</xsl:template> </xsl:template>
<xsl:template name="tabelleSicht"> <xsl:template name="tabelleSicht">
@ -1341,7 +1342,7 @@ Platzhalter
</div> </div>
<!--<div class="control-new">--> <!--<div class="control-new">-->
<div class="field"> <div class="field has-addons">
<input class="schluesselfeld" type="text" size="15" style="display:none" id="{$FeldnameEscaped}" name="{$Feldname}" tabindex="511"> <input class="schluesselfeld" type="text" size="15" style="display:none" id="{$FeldnameEscaped}" name="{$Feldname}" tabindex="511">
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input> </input>
@ -1381,7 +1382,14 @@ Platzhalter
</xsl:attribute> </xsl:attribute>
</input> </input>
</xsl:if> </xsl:if>
</div><!--Ende control is-expanded --> </div>
<div class="control">
<button class="button is-small is-rounded is-link has-tooltip-bottom" onclick="return false;" tabindex="1353" data-tooltip="Muss noch ergänzt werden.">
<span class="icon" aria-hidden="true">
<img src="../images/information_white_liberation.svg" alt="Info" title="Info" /></span>
</button>
</div><!--Ende control -->
</div> </div>
<!--</div>--> <!--</div>-->
@ -1773,60 +1781,95 @@ td.integer {
</form> </form>
</xsl:template> </xsl:template>
<xsl:template name="vizSidebar" > <xsl:template name="vizSidebar" >
<xsl:param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
<style> <style>
.fixed-right-buttons { .fixed-right-buttons {
position: fixed; position: fixed;
right: 0.1%; /* Abstand vom rechten Bildschirmrand */ right: 0.1%; /* Abstand vom rechten Bildschirmrand */
top: 50%; /* Zentriert den Button-Block vertikal */ top: 50%; /* Zentriert den Button-Block vertikal;*/
transform: translateY(-50%); /* Zentrierung anpassen */ transform: translateY(-50%); /* Zentrierung anpassen */
display: flex; display: flex;
flex-direction: column; /* Buttons vertikal anordnen */ flex-direction: column; /* Buttons vertikal anordnen */
gap: 10px; /* Abstand zwischen den Buttons */ gap: 10px; /* Abstand zwischen den Buttons */
z-index: 1000; /* Sicherstellen, dass die Buttons immer sichtbar sind */ z-index: 600;
padding: 0.7% 0% 0.7% 0%; padding: 0.7% 0% 0.7% 0%;
} }
.card-content { .inside-buttons { /*20250530 BF ergänzt: wenn sidebar offen*/
border: thin solid hsl(0, 0%, 71%); display: block;
border-radius: 0.3rem !important; position: fixed;
padding-right:20% top: 50%;
z-index: 700;
left: calc(100vw - 345px - 30px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */
} }
.sidebar {
.sidebar { /*20250523 BF ergänzt*/
position: fixed; position: fixed;
top: 120px; /*Abstand zur oberen Leiste*/ top: 120px; /*Abstand zur oberen Leiste*/
padding-top:2em; padding-top:2em;
padding-left:0.5em; padding-left:0.5em;
right: 1.5em; padding-right: 0.7em;
right: 0em;
bottom: 0; bottom: 0;
width: 325px; /*Breite nach Bedarf */ width: 345px; /*Breite nach Bedarf */
background: white; background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1); box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto; overflow-y: auto;
z-index: 500; /*für Anzeige über Content*/ z-index: 700; /*für Anzeige über Content*/
} }
.card-content {
border: thin solid hsl(0, 0%, 71%);
border-radius: 0.3rem !important;
padding-right:20%
}
.vizLabel-container { .vizLabel-container {
display: flex; display: flex;
background: inherit; background: inherit;
min-width: 7.5rem; min-width: 7.5rem;
} }
</style> .label.is-small { width: 100%; } /*einheitliche Labelbreite*/
<xsl:call-template name="vizSideBarButtons" />
.button { font-weight: bold; }
/* Tooltip-Farbe */
[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,
[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
[data-tooltip]:not([disabled]).has-tooltip-bottom::before {
background-color: #a6a6a6ff; /*#333;*/
color: white;
}
</style>
<xsl:call-template name="vizSideBarButtons" />
<div class="column"> <div class="column">
<div id="mySidebarMaske" class="sidebar" style="display:none;"> <div id="mySidebarMaske" class="sidebar" style="display:none;">
<xsl:call-template name="renderTableDialogs" > <div class="inside-buttons">
<xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
</xsl:call-template> <a href="javascript:toggleSideBarDiv('mySidebarMaske');" title="Filter">
<img src="../images/viz_sidebarbuttonMaske.svg" alt="Filter" width="30px" border="0" /></a>
</div> </div>
<xsl:call-template name="renderTableDialogs" >
<xsl:with-param name="stylesheet" select="$stylesheet" />
</xsl:call-template>
</div>
<div id="mySidebarInfo" class="sidebar" style="display:none;"> <div id="mySidebarInfo" class="sidebar" style="display:none;">
<div class="inside-buttons">
<a href="javascript:toggleSideBarDiv('mySidebarInfo');" title="Info">
<img src="../images/viz_sidebarbuttonInfo.svg" alt="Infos" width="30px" border="0" /></a>
</div>
<xsl:call-template name="erlaeuterung"> <xsl:call-template name="erlaeuterung">
<xsl:with-param name="ergebniselementOrdnr" select="0" /> <xsl:with-param name="ergebniselementOrdnr" select="0" />
</xsl:call-template> </xsl:call-template>
</div> </div>
</div> </div>
</xsl:template> </xsl:template>
@ -1834,7 +1877,8 @@ td.integer {
<xsl:template name="erlaeuterung"> <xsl:template name="erlaeuterung">
<xsl:param name="ergebniselementOrdnr" select="0" /> <xsl:param name="ergebniselementOrdnr" select="0" />
<div class="media"> <div style="float:right" class="media">
<div class="media-content"> <div class="media-content">
<p><xsl:value-of select="/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/explanation" /></p> <p><xsl:value-of select="/ergebnisse/ergebnis[@ordnr=$ergebniselementOrdnr]/explanation" /></p>
@ -2168,5 +2212,24 @@ vertical-align:center;
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:template>
<xsl:template name="viz_dashboard_pagetitle" >
<xsl:param name="ergebniselement_ordnr" select="0" />
<p class="title is-1">
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr=$ergebniselement_ordnr]/felder/feld[@varname='Studiengang']">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<xsl:if test="string-length(value_caption) &lt; 50">
<xsl:value-of select="value_caption" /><![CDATA[]]>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...
</xsl:if>
</xsl:if>
<span class="separator">&#160;</span>
</xsl:for-each>
</p>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

4
superx/xml/viz_html_chart_viewer_grid.xsl

@ -96,7 +96,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</div> </div>
<xsl:if test="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Spaltenanzahl']/value!=0"> <xsl:if test="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Spaltenanzahl']/value!=0">
<xsl:call-template name="vizSidebar" /> <xsl:call-template name="vizSidebar" >
<xsl:with-param name="stylesheet" select="'viz_html_chart_viewer_grid.xsl'" />
</xsl:call-template>
</xsl:if> </xsl:if>
</div> </div>
</div><!--content--> </div><!--content-->

Loading…
Cancel
Save