Compare commits

..

1 Commits

Author SHA1 Message Date
Daniel Quathamer 13aa368729 Bugfix Tabelle dashboard_tabs #7 3 months ago
  1. 25
      src-modules/module/viz/conf/viz.xml
  2. 2
      src-modules/module/viz/masken/44130_maskeninfo.unl
  3. 2
      src-modules/module/viz/masken/44220_maskeninfo.unl
  4. 2
      src-modules/module/viz/masken/44250_maskeninfo.unl
  5. 2
      src-modules/module/viz/masken/44280_maskeninfo.unl
  6. 2
      src-modules/module/viz/masken/44310_maskeninfo.unl
  7. 2
      src-modules/module/viz/masken/44340_maskeninfo.unl
  8. 10
      src-modules/module/viz/masken/44510_felderinfo.unl
  9. 1
      src-modules/module/viz/masken/44510_masken_felder_bez.unl
  10. 2
      src-modules/module/viz/masken/44510_maskeninfo.unl
  11. 25
      src-modules/module/viz/masken/44570_felderinfo.unl
  12. 1
      src-modules/module/viz/masken/44570_masken_felder_bez.unl
  13. 2
      src-modules/module/viz/masken/44600_maskeninfo.unl
  14. 44
      src-modules/module/viz/masken/44630_maskeninfo.unl
  15. 16
      src-modules/module/viz/masken/44720_felderinfo.unl
  16. 4
      src-modules/module/viz/masken/44720_maskeninfo.unl
  17. 4
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  18. 4
      src-modules/module/viz/schluesseltabellen/fm_templates.unl
  19. 45
      src-modules/module/viz/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql
  20. 4
      src-modules/module/viz/schluesseltabellen/studierende_datenblatt_dashboard.sql
  21. 109
      src-modules/module/viz/schluesseltabellen/sx_captions_fuellen.sql
  22. 4
      src-modules/module/viz/schluesseltabellen/sx_repository_customxmladd.unl
  23. 234
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  24. 1
      src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql
  25. 3
      src-modules/module/viz/schluesseltabellen/viz_chart_unload.x
  26. 3
      src-modules/module/viz/schluesseltabellen/viz_chart_upload.x
  27. 8
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql
  28. 43
      src-modules/module/viz/schluesseltabellen/viz_properties_echarts_sankey_fuellen.sql
  29. 130
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  30. 1
      src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl
  31. 909
      superx/style/sx_viz_muster.css
  32. 18
      superx/xml/js/viz/viz_assistent.js
  33. 245
      superx/xml/js/viz/viz_viewer.js
  34. 113
      superx/xml/viz_components.xsl
  35. 4
      superx/xml/viz_html_chart.xsl
  36. 1
      superx/xml/viz_html_chart_viewer_mask.xsl
  37. 2
      superx/xml/viz_html_chart_viewer_mask_and_table.xsl

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE module SYSTEM "../../../conf/superx-module.dtd"> -->
<module name="viz" version="0.4b" sachgebiet_id="320"
<module name="viz" version="0.3" sachgebiet_id="320"
sachgebiet="Visualisierungen" systeminfo_id="320"
system="Visualisierungen" thema="Visualisierungen" thema_parent="Abfragen">
<database name="superx" system="superx">
@ -139,7 +139,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -139,7 +139,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<comment>1=ja, d.h. von der Hochschule angepaßt, 0=nein, d.h.
Auslieferung der Software</comment>
</column>
<column name="js_handler" type="VARCHAR" size="255" default="" notnull="" description="JS-Handler" ><comment>JS-Datei für optionale Methode zum Aufruf</comment></column>
</columns>
<primaryKeys><rs>
<row>
@ -229,7 +228,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -229,7 +228,6 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="range_from" type="INTEGER" size="255" default="" notnull="" description="Minimalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column>
<column name="range_to" type="INTEGER" size="255" default="" notnull="" description="Maximalwert" ><comment>Wir nur bei Schiebereglern genutzt</comment></column>
<column name="prop_value_type" type="VARCHAR" size="255" default="string" notnull="false" description="Datentyp" ><comment>string,integer,float,boolean</comment></column>
<column name="dynamic_value_obj" type="VARCHAR" size="255" default="" notnull="false" description="Dynamischer Wertebereich" ><comment>JS-Object mit Schlüssel und Name (uniquename,caption)</comment></column>
@ -755,12 +753,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -755,12 +753,6 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44510" name="Studierende nach Jahr" thema="">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44540" name="Studierende nach Semester und Studiengang" thema="">
<description> </description>
<src>
@ -986,7 +978,6 @@ booklet_stylesheet VARCHAR(255) @@ -986,7 +978,6 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_captions_fuellen.sql" database=""/>
@ -1144,8 +1135,7 @@ chart_width INTEGER default 600 , @@ -1144,8 +1135,7 @@ chart_width INTEGER default 600 ,
chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT,
js_handler varchar(255)
is_custom SMALLINT
)
;" scriptfile="" database=""/>
@ -1199,7 +1189,6 @@ booklet_stylesheet VARCHAR(255) @@ -1199,7 +1189,6 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_dashboard_tab_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_colorscheme_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_chart_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_captions_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/konstanten_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sachgebiete_fuellen.sql" database=""/>
@ -1243,9 +1232,6 @@ booklet_stylesheet VARCHAR(255) @@ -1243,9 +1232,6 @@ booklet_stylesheet VARCHAR(255)
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_geschl_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_zeitreihe_jahr_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_fak_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_abgrp_dashboard_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/rpta_column_layout_sos_stud_la_fuellen.sql" database=""/>
@ -1325,7 +1311,6 @@ mode="full"> @@ -1325,7 +1311,6 @@ mode="full">
<customfield name="chart_height" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_width" visibleSize="10" nullFieldValue="" />
<customfield name="chart_miniature_height" visibleSize="10" nullFieldValue="" />
<customfield name="js_handler" visibleSize="50" nullFieldValue="" />
<customfield name="chart_active" nullFieldValue="" visibleSize="30" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" />
@ -1562,14 +1547,14 @@ mode="full"> @@ -1562,14 +1547,14 @@ mode="full">
<customfield name="colorscheme_active" nullFieldValue="" visibleSize="5" />
<customfield name="is_custom" nullFieldValue="" visibleSize="30" />
<customfield name="Elemente" type="subform" multipart="false" autoUpdate="false"
maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="colorscheme_id"
maxRows="*" table="viz_colorscheme_element" parentField="tid" childField="viz_colorscheme_id"
orderBy="sortnr" allowNew="true"
mode="full">
<field-selection complete="false" />
<customfield name="tid" nullFieldValue="" />
<customfield name="colorscheme_id" type="hidden" overrideValue="tid" />
<customfield name="viz_colorscheme_id" type="hidden" overrideValue="tid" />
<customfield name="colorcode" nullFieldValue="" visibleSize="30" />
<!--TODO: <customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />-->
<customfield name="target_uniquename" visibleSize="10" nullFieldValue="" />
<customfield name="sortnr" visibleSize="10" nullFieldValue="" />
</customfield>
</form>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -57,6 +57,42 @@ FROM viz_dashboard_tab T, viz_dashboard D\ @@ -57,6 +57,42 @@ FROM viz_dashboard_tab T, viz_dashboard D\
\
<#assign stg_filter = " and 's_' || tid_stg in "+Studiengang.allNeededKeysList /> \
\
<#assign kennzahlen = [\
{"name":"Studierende", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0')",\
"optionalFilterName":"",\
"optionalFilterValue":"",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. HS", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and "+SOS_HSSEM_1,\
"optionalFilterName":"Filter Studierende",\
"optionalFilterValue":"SOS_HSSEM_1",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
},\
{"name":"Studienanfänger*innen im 1. FS", \
"selectClause":"sum(summe) as summe", \
"factTable":"sos_stg_aggr",\
"whereClause":"studiengang_nr=1\
and fach_nr=1\
and stichtag=(select I.tid from sos_stichtag I where I.appl_key='0') and fach_sem_zahl=1",\
"optionalFilterName":"bis Fachsemester",\
"optionalFilterValue":"1",\
"linkMaskeninfoTID":"44190",\
"booklet_stylesheet":"viz_report_44190_xmlsource.jrxml"\
}\
\
] />\
\
create temp table tmp_erg(\
ord integer,\
@ -82,11 +118,7 @@ gridtitle_felderinfo_id\ @@ -82,11 +118,7 @@ gridtitle_felderinfo_id\
)\
select 1,\
'${VIZ_HS_KUERZEL} ${dashboard.caption}' ,\
<#if dashboard.maskeninfo_id?exists>\
${dashboard.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${dashboard.booklet_stylesheet}',\
val('${dashboard.gridtitle_felderinfo_id}')\
from xdummy;\
@ -106,11 +138,7 @@ hidden_booklet_stylesheet\ @@ -106,11 +138,7 @@ hidden_booklet_stylesheet\
)\
select ${ord},'${kennzahl.name}',\
${kennzahl.select_clause},\
<#if kennzahl.maskeninfo_id?exists && kennzahl.maskeninfo_id?string !="" >\
${kennzahl.maskeninfo_id},\
<#else>\
null::integer,\
</#if>\
'${kennzahl.optional_filter_name}',\
'${kennzahl.optional_filter_value}',\
'${kennzahl.booklet_stylesheet}'\

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

@ -1,24 +1,24 @@ @@ -1,24 +1,24 @@
44720^Köpfe oder Fälle ?^4^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
44721^Seit Semester^23^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44720^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^ ^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Fälle';^
44721^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today()-(4*365) between sem_beginn and sem_ende;^
44722^Stichtag Prüfungen^21^350^-1^140^100^1^sql^30^0^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^^
44724^viz_label_Studiengang^5^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44724^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44725^Hörerstatus^33^0^0^140^170^1^sql^255^0^13^<<SQL>> select apnr, eintrag from hoererstatus order by 2^apnr, eintrag^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44727^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^13^^^^
44729^Bis Semester^24^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
44729^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> --freemarker template \
select tid, eintrag from semester \
<#if K_VIZ_ZEITR_SEM_ANZ?exists>\
where sem_beginn >= today()-(182*${K_VIZ_ZEITR_SEM_ANZ} )\
</#if>\
and sem_beginn <=today()\
order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44730^viz_label_koepfe_faelle^1^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44730^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^hidden^^
44731^Geschlecht^37^0^0^140^80^1^integer^30^0^999^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44733^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44734^Jahr^110^0^0^140^80^1^integer^30^0^13^ ^ ^ ^
@ -36,8 +36,8 @@ order by sortnr, caption\ @@ -36,8 +36,8 @@ order by sortnr, caption\
FROM rpta_column_layout \
where resultset_id in (select R.tid from rpta_resultset R where R.uniquename='rpta_sos_lab_aggr'\
and R.systeminfo_id=7) and uniquename='rpta_sos_lab_aggr_sem';^
44739^Semestertyp^25^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^ ^
44739^Semestertyp^5^350^-1^140^80^1^integer^255^0^1^<<SQL>> select 1,'nur Sommersemester' from xdummy union select 2,'nur Wintersemester' from xdummy^Eintrag^<<SQL>> select 2,'nur Wintersemester' from xdummy^
44740^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44741^Abschluss^7^0^0^100^200^3^char^1500^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Abschluss-Sicht' order by 3,2;^ ^ ^
44742^viz_label_Zeitraum^20^350^-1^150^180^1^char^200^0^8^^{InputCheck:matrikelnummern}^^
44742^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^13^^{InputCheck:matrikelnummern}^^
44743^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

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

@ -106,7 +106,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\ @@ -106,7 +106,7 @@ and substring('' || tid from 5 for 1)='<<Semestertyp>>'\
\
<#assign filter="<<Köpfe oder Fälle ?>>\
/* and sem_der_pruefung = <<Semester>> */\
/* and stichtag = <<Stichtag Prüfungen>> */\
/* and stichtag = <<Stichtag>> */\
/* and geschlecht = <<Geschlecht>> */\
/* and fach_sem_zahl <= <<bis Fachsemester>> */\
/* and substring('' || sem_der_pruefung from 5 for 1)='<<Semestertyp>>' */\
@ -254,4 +254,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu @@ -254,4 +254,4 @@ Column CID=0 heading_text="${column.caption}" center_heading explanation="${colu
width=${column.visible_width} text_size=60\
</#if>\
</#foreach>\
@@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^0^1^<<SQL>>SELECT description FROM rpta_column_layout where uniquename=<<Spaltenlayout>>;^
@@@^Altersgruppe^Anzahl^Studienanfänger_innen als Zeitreihe, nach Gesschlecht und Fakultät in verschiedenen Visualisierungen^drop table if exists tmp_stud2; drop table if exists tmp_stud3;^^3^700^360^0^1^^

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

@ -128,8 +128,7 @@ V.chart_width, @@ -128,8 +128,7 @@ V.chart_width,
V.chart_height,
V.chart_miniature_width,
V.chart_miniature_height,
V.maskeninfo_id,
V.js_handler
V.maskeninfo_id
FROM viz_chart V, viz_renderer R
where R.tid=V.renderer_id
and chart_active=1
@ -313,7 +312,6 @@ order by 2,5,3 @@ -313,7 +312,6 @@ order by 2,5,3
chart_miniature_width="${ch.chart_width}"
chart_miniature_height="${ch.chart_height}"
maskeninfo_id="${ch.maskeninfo_id}"
js_handler="${ch.js_handler}"
/>
</#foreach>
</#if>

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

@ -181,7 +181,7 @@ set caption=T.caption,\ @@ -181,7 +181,7 @@ set caption=T.caption,\
prop_default=T.prop_default,\
prop_unit=T.prop_unit,\
is_generic=T.is_generic,\
static_values=T.static_values,\
--static_values=T.static_values,\
is_mandatory=T.is_mandatory,\
input_type_id=T.input_type_id,\
property_group_id=T.property_group_id,\
@ -202,7 +202,7 @@ in (select ${renderer},P.tid\ @@ -202,7 +202,7 @@ in (select ${renderer},P.tid\
from viz_property P, tmp_viz_property T\
where P.prop_uniquename=T.prop_uniquename);\
\
select sp_update_sequence('viz_property_renderer');\
\
\
insert into viz_property_renderer(\
renderer_id,\

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

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

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

@ -118,7 +118,7 @@ select '(''tid_stg'',''sem_rueck_beur_ein'',''stichtag'',''geschlecht'', ''hzbar @@ -118,7 +118,7 @@ select '(''tid_stg'',''sem_rueck_beur_ein'',''stichtag'',''geschlecht'', ''hzbar
from xdummy;
</sqlvar>
<sqlvar name="added_table_fields">
select '(''fb'', ''abschluss_grp'', ''abschluss_grp_str'', ''fb_str'',''abschluss_astat_bund'',''regel'')'
select '(''fb'', ''abschluss_grp'', ''abschluss_grp_str'', ''fb_str'',''abschluss_astat_bund'')'
from xdummy;
</sqlvar>
@ -385,7 +385,7 @@ left outer join ${logical_field.join_field} @@ -385,7 +385,7 @@ left outer join ${logical_field.join_field}
';
--whereclause erstmal primitiv
update tmp_rpta_resultset set whereclause = 'and stichtag in (select tid from sos_stichtag where appl_key in (''0'',''1'')) and hrst in (select apnr from sos_k_hrst HRST where HRST.astat in (''1'',''2'')) and kz_rueck_beur_ein in (1,2,3)';
update tmp_rpta_resultset set whereclause = 'and stichtag in (select tid from sos_stichtag where appl_key=''0'') and hrst in (select apnr from sos_k_hrst HRST where HRST.astat in (''1'',''2'')) and kz_rueck_beur_ein in (1,2,3)';
select * into temp tmp_rs1
from rpta_resultset
;

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

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

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

@ -128,8 +128,7 @@ V.chart_width,\ @@ -128,8 +128,7 @@ V.chart_width,\
V.chart_height,\
V.chart_miniature_width,\
V.chart_miniature_height,\
V.maskeninfo_id,\
replace(V.js_handler,'"','§') as js_handler_escaped\
V.maskeninfo_id\
FROM viz_chart V, viz_renderer R\
where R.tid=V.renderer_id\
and chart_active=1\
@ -313,7 +312,6 @@ order by 2,5,3\ @@ -313,7 +312,6 @@ order by 2,5,3\
chart_miniature_width="${ch.chart_width}"\
chart_miniature_height="${ch.chart_height}"\
maskeninfo_id="${ch.maskeninfo_id}"\
js_handler="${ch.js_handler_escaped}" \
/>\
</#foreach>\
</#if>\

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

File diff suppressed because one or more lines are too long

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

@ -16,7 +16,6 @@ where uniquename in ( @@ -16,7 +16,6 @@ where uniquename in (
'STUDANF_GESCHL_PIE',
'STUDANF_HZB_LAND_BAR',
'STUDANF_JAHR_BAR',
'STUDANF_JAHR_LINE',
'STUDANF_KOHORTEN_BAR_Y_ECHART',
'STUDANF_KOHORTEN_BAR_Y_ECHART_INVERTED',
'STUDANF_SEM_LINE_TEXT',

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

@ -20,7 +20,6 @@ DOQUERY "select tid, @@ -20,7 +20,6 @@ DOQUERY "select tid,
chart_height,
chart_miniature_width,
chart_miniature_height,
is_custom,
js_handler from viz_chart where is_custom=0 order by uniquename" false ^ viz_chart.unl txt
is_custom from viz_chart where is_custom=0 order by uniquename" false ^ viz_chart.unl txt

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

@ -22,8 +22,7 @@ chart_width INTEGER default 600 , @@ -22,8 +22,7 @@ chart_width INTEGER default 600 ,
chart_height INTEGER default 400 ,
chart_miniature_width INTEGER default 200 ,
chart_miniature_height INTEGER default 100 ,
is_custom SMALLINT,
js_handler TEXT
is_custom SMALLINT
)
;"

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

@ -630,10 +630,10 @@ @@ -630,10 +630,10 @@
{ "caption":"Ausrichtung Wertelabel (vertikal)",
"prop_uniquename":"position_valueLabel",
"explanation":"",
"prop_default":"inside",
"prop_default":"top",
"prop_unit":"",
"is_generic":"1",
"static_values":"top|left|right|bottom|inside|insideLeft|insideRight|insideTop|insideBottom|insideTopLeft|insideBottomLeft|insideTopRight|insideBottomRight",
"static_values":"top|center|bottom",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
@ -717,9 +717,9 @@ @@ -717,9 +717,9 @@
"prop_default":"",
"prop_unit":"",
"is_generic":"1",
"static_values":"",
"static_values":"D3_Tableau10|D3_category10|D3_Accent|D3_Dark2|D3_observable10|D3_Paired|D3_Pastel1|D3_Pastel2|D3_Set1|D3_Set2|D3_Set3|unique|dichotom|abgrp|fak|quadroColor|blandLocalized|colorGrades",
"is_mandatory":"0",
"input_type_uniquename":"COLORPALETTE",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"",
"sortnr":"410",
"range_from":"",

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

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

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

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

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

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

909
superx/style/sx_viz_muster.css

@ -1,478 +1,431 @@ @@ -1,478 +1,431 @@
/*dateispezifische Basics*/
html, body {
height: auto;
min-height: 100vh;
overflow-x: auto;
overflow-y: auto;
}
.hero-body { margin-left: 1.5em; } /*Abstand zum Burger-Button*/
.title, .subtitle { /*für Seitentitel*/
margin-left: 0.4em;
margin-top: 0%; }
.columns {
display: flex;
flex-wrap: wrap; }
.card { /*für Cardposition, -style*/
display: flex;
flex-flow: column;
margin-left: 0em; /*1.5em bei farbigem Hintergrund*/
margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/
box-shadow: none; }
/*Buttonleiste, Legende*/
.legende { /*für Berichtslegende*/
margin-left: 0.15em;
padding: 0.4rem 0.4rem 0.4rem 0.4rem; } /*für Padding: ob re un li*/
/*Tabs, Selektionsfelder-Formular*/
.label-container { /*für Responsibility der Eingabefelder*/
display: flex;
justify-content: left;
background: inherit;
min-width: 10.0em; }
.label { /*für Selektionsfeld-Bezeichner*/
font-family: sans-serif;
font-weight: normal;
font-size: 2rem;
margin-left: 1.0em;
margin-top: 0.4em; }
.control-new { /*für einheitliche Controlbreite*/
width: 17.0em; }
.tabs {
font-family: sans-serif;
font-weight: normal; }
.tabs { /*für Tab-Namen*/
font-size: 2rem; }
.grid { /*20250917 eingefügt*/
display: flex;
flex-wrap: wrap; } /*erlaubt Umbruch'*/
/*20251007 eingefügt*/
.fullwidth-grid {
width: 100vw; /* gesamte Viewport-Breite */
padding-right: 2em; }
.dashboard-tabs { /*20250917 eingefügt*/
display: flex;
flex-wrap: wrap; /* erlaubt Umbruch */
list-style: none;
margin: 1rem;
padding: 0;
cursor: pointer; }
.dashboard-tabs li { /*20250917 eingefügt*/
flex: 1 1 auto; /* alle Tabs gleich breit, aber flexibel */
text-align: center;
border: 1px solid #ccc;
background: #f9f9f9; }
.dashboard-tabs li a { /*20250917 eingefügt*/
display: block;
text-decoration: none;
font-weight: bold;
color: #333; }
.dashboard-tabs li a:hover, .dashboard-tabs li a:focus { /*20250917 eingefügt*/
background: #e0e0e0; }
.dashboard-tabs li.is-active { /*20251007 eingefügt*/
background: #ebf1f3;
color: midnightblue; }
.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
font-size: 0.8rem;
color: black; }
.input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder {
font-size: 0.8rem;
color: hsl(0, 0%, 29%); }
.input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder, .select select::-webkit-input-selected {
font-size: 0.8rem;
color: hsl(0, 0%, 29%); }
.vizTooltip {
position: absolute;
text-align: center;
width: 60px;
height: 28px;
padding: 2px;
font: 12px sans-serif;
background: lightsteelblue;
border: 0px;
border-radius: 8px;
pointer-events: none;
}
.dojoDialog {background : #eee; border : 1px solid #999;-moz-border-radius : 5px;padding : 4px;width:650;height:420px;overflow:scroll}
.treebutton {
border:none;
margin: 0 4px 0 0;
}
/*Cockpit-Header*/
.hs_header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 20; /*positioniert sich im flow am nähesten zum Betrachter*/
background-color:white;
padding-top: 3rem; }
.hs_header_box1 { /*für Balken-Box über/unter Cockpittitel*/
background: white;
height: 1.0rem;
color: black; }
.hs_header_box2 { /*für Logo-/Cockpittitel-Box*/
display: flex;
/* height: 4.0rem;*/
padding: 0.3rem 17.0rem 0rem 9.0rem; /*für Padding: ob re un li*/
align-items: left; /*für vertikale Ausrichtung d Elemente*/
/*justify-content: space-between;*/ /*für gleichm. Leerraum zw. Elementen*/
background-color: #004c93; }
.cockpit_title {
color: white;
font-size: 2rem;
font-weight: 800;
background-color: #004c93;
padding-left:20px; }
.vizTitle {
margin-left: 0.8em;
margin-right: 0.8em;
white-space: normal;
word-wrap: normal;
overflow-wrap: break-word;
hyphens: auto;
text-align: center;
font-size:1.2em;
font-weight:bolder;
color: midnightblue;
background: #ebf1f3; }
.navbar {background-color: white;} /*20250221 eingefügt*/
.navbar-item img, .navbar-item svg { /*20250221 eingefügt*/
max-height: unset !important; } /*var(--bulma-navbar-item-img-max-height);*/
/*Media-queries**/
@media print{
.dontprint {display:none;}
}
/* 20250919 eingefügt: bis 769px: mobile; ab 769px: tablet and up; ab 1024px: desctop an up */
@media (max-width: 403px) {
.columns { padding-top: 2.5rem; }
.grid { padding-top: 18.5rem; }
}
@media (min-width: 404px) and (max-width: 468px) {
.grid { padding-top: 17rem; }
}
@media (min-width: 469px) and (max-width: 473px) {
.grid { padding-top: 15.5rem; }
}
@media (min-width: 474px) and (max-width: 549px) {
.grid { padding-top: 14rem; }
}
@media (min-width: 550px) and (max-width: 552px) {
.grid { padding-top: 12rem; }
}
@media (min-width: 553px) and (max-width: 576px) {
.grid { padding-top: 10.5rem; }
}
@media (min-width: 577px) and (max-width: 636px) {
.grid { padding-top: 7.5rem; }
}
@media (min-width: 637px) and (max-width: 917px) {
.grid { padding-top: 6rem; }
}
@media (min-width: 918px) and (max-width: 927px) {
.grid { padding-top: 5rem; }
}
@media (min-width: 928px) and (max-width: 1644px) {
.grid { padding-top: 3rem; }
}
@media (min-width: 1645px) {
.grid { padding-top: 1.5rem; }
}
.buttons-container { /* 300425BF eingefügt*/
display: flex;
justify-content: flex-end; /* rechts ausrichten */
align-items: center; /* vertikal zentrieren */
flex-wrap: wrap; /* für kleine Viewports */
padding-top: 1.0rem;
}
.button.is-link {
background-color: white; /*link-Blau:#3273dc; UDE-Blau:#004C93*/
border-color: transparent;
color: #004C93; }
.button.is-link:hover, .button.is-link.is-hovered {
background-color: #276cda;
border-color: transparent;
color: #004C93; }
.button.is-link:focus, .button.is-link.is-focused {
border-color: transparent;
color: #004C93; }
.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
.button.is-link:active, .button.is-link.is-active {
background-color: white;
border-color: transparent;
color: #004C93; }
.button.is-link[disabled],
fieldset[disabled] .button.is-link {
background-color: #004C93;
border-color: transparent;
box-shadow: none; }
.button.is-link.is-inverted {
background-color: #fff;
color: #004C93; }
.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
background-color: #f2f2f2; }
.button.is-link.is-inverted[disabled],
fieldset[disabled] .button.is-link.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #004C93; }
.button.is-link.is-loading::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-link.is-outlined {
background-color: white;
border-color: #004C93;
color: #004C93; }
.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
background-color: #004C93;
border-color: #004C93;
color: #fff; }
.button.is-link.is-outlined.is-loading::after {
border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-link.is-outlined[disabled],
fieldset[disabled] .button.is-link.is-outlined {
background-color: transparent;
border-color: #004C93;
box-shadow: none;
color: #004C93; }
.button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
.button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus,
.button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #004C93; }
.button.is-link.is-inverted.is-outlined.is-loading:hover::after,
.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,
.button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
.button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus,
.button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #004C93; }
.button.is-small.is-rounded.is-link.has-tooltip-bottom { background-color: #004C93; /*UDE-Blau*/ } /*20250711 eingefügt*/
.exportoptions {
margin-top: 2.0em;
}
.buttonlist{ /*für resposive Buttonleiste*/
display: flex;
flex-flow: no wrap;
justify-content: flex-start;
padding: 0.3rem 0rem 0.3rem 0rem; /*für Padding: ob re un li*/
}
.buttonlist img { /*für Icongröße in Buttonleiste*/
height: 2.5rem;
width: auto;
margin-top: 0em; }
/*Auswahlfelder*/
.card { /*für Auswahlfeldercard-Position*/
display: flex;
flex-flow: column;
margin-left: 0em;
margin-top: 8em;
min-width: 10.0em;
width: 100%;
}
.card.is-shady { border: unset !important; } /*20250709 eingefügt */
.label-container, .button-label { /*für einh.responsive Feldbezeichner*/
display: flex;
justify-content: left;
background: ;
min-width: 10.0em; /*für kleine Viewports*/
width: 10%; } /*für kleine Viewports*/
.control-new { /*für einheitliche Controls*/
min-width: 10.0em; /*für kleine Viewports*/
width: 10%; /*für große Viewports*/
}
.button { /*für Button-Bezeichner-Ausrichtung*/
display: flex;
justify-content: left; }
/*Erläuterungen/Legende*/
.box-new { /*für Kopfzeile mit Close-Button*/
display: flex;
justify-content: space-between;
font-weight: bold;
}
.leg_erl {
background-color: whitesmoke; /*für Abschnitthintergrund, Schrift*/
font-size: 0.8em;
}
.dl_title { /*für Texthervorhebungen*/
display: flex;
justify-content: center;
background: inherit;
font-size: 1.2em;
font-weight: 400;
}
/*Datentabellen*/
.table-container {
z-index: 10; /*positioniert sich im flow hinter dem hs_header*/
}
table.ergtabelle tr.listRowOdd td.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr.listRowEven td.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr td.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr th.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr th.header
{
vertical-align:center;
text-align:center;
}
table.ergtabelle
{
border:thin solid white;
font-size:1.5rem;
}
/* Zahlen rechtsbündig:*/
table.ergtabelle tbody tr.listRowEven td.integer
{
text-align:right;
empty-cells:show
vertical-align:center;
}
table.ergtabelle tbody tr.listRowOdd td.integer
{
text-align:right;
empty-cells:show
vertical-align:center;
}
table.ergtabelle tbody tr.listRowEven td.decimal
{
text-align:right;
empty-cells:show
vertical-align:center;
}
table.ergtabelle tbody tr.listRowOdd td.decimal
{
text-align:right;
empty-cells:show
vertical-align:center;
}
.fixed-right-buttons {
position: fixed;
right: 0.1%; /* Abstand vom rechten Bildschirmrand */
top: 50%; /* Zentriert den Button-Block vertikal;*/
transform: translateY(-50%); /* Zentrierung anpassen */
display: flex;
flex-direction: column; /* Buttons vertikal anordnen */
gap: 10px; /* Abstand zwischen den Buttons */
z-index: 600;
padding: 0.7% 0% 0.7% 0%;
}
.inside-buttons { /*20250530 BF ergänzt: wenn sidebar offen*/
display: block;
position: fixed;
top: 50%;
z-index: 700;
left: calc(100% - 545px - 40px);/* Viewport-Breite minus Sidebar-Breite minus Abstand */
transform: none; /* keine vertikale Zentrierung */
}
.sidebar { /*20250523 BF ergänzt*/
position: fixed;
top: 120px; /*Abstand zur oberen Leiste*/
padding-top:2em;
padding-left:0.5em;
padding-right: 0.7em;
right: 0em;
bottom: 0;
width: 545px; /*Breite nach Bedarf */
background: white;
box-shadow: -2px 0 5px rgba(0,0,0,0.1);
overflow-y: auto;
z-index: 700; /*für Anzeige über Content*/
}
.subheaderMaskDialogs
{background-color:#cccccc;
font-weight:bolder;
font-size:1.2rem;
/* margin-left:0;*/
margin-top:0.2em;
margin-bottom:0.2em;
margin-right:0px;
padding-left:0.5em;
}
/*dateispezifische Basics*/
html, body {
height: auto;
min-height: 100vh;
overflow-x: auto;
overflow-y: auto;
}
.hero-body { margin-left: 1.5em; } /*Abstand zum Burger-Button*/
.title, .subtitle { /*für Seitentitel*/
margin-left: 0.4em;
margin-top: 0%; }
.columns {
display: flex;
flex-wrap: wrap; }
.card { /*für Cardposition, -style*/
display: flex;
flex-flow: column;
margin-left: 0em; /*1.5em bei farbigem Hintergrund*/
margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/
box-shadow: none; }
/*Buttonleiste, Legende*/
.legende { /*für Berichtslegende*/
margin-left: 0.15em;
padding: 0.4rem 0.4rem 0.4rem 0.4rem; } /*für Padding: ob re un li*/
/*Tabs, Selektionsfelder-Formular*/
.label-container { /*für Responsibility der Eingabefelder*/
display: flex;
justify-content: left;
background: inherit;
min-width: 10.0em; }
.label { /*für Selektionsfeld-Bezeichner*/
font-family: sans-serif;
font-weight: normal;
font-size: 2rem;
margin-left: 1.0em;
margin-top: 0.4em; }
.control-new { /*für einheitliche Controlbreite*/
width: 17.0em; }
.tabs {
font-family: sans-serif;
font-weight: normal; }
.tabs { /*für Tab-Namen*/
font-size: 2rem; }
.grid { /*20250917 eingefügt*/
display: flex;
flex-wrap: wrap; } /*erlaubt Umbruch'*/
/*20251007 eingefügt*/
.fullwidth-grid {
width: 100vw; /* gesamte Viewport-Breite */
padding-right: 2em; }
.dashboard-tabs { /*20250917 eingefügt*/
display: flex;
flex-wrap: wrap; /* erlaubt Umbruch */
list-style: none;
margin: 1rem;
padding: 0;
cursor: pointer; }
.dashboard-tabs li { /*20250917 eingefügt*/
flex: 1 1 auto; /* alle Tabs gleich breit, aber flexibel */
text-align: center;
border: 1px solid #ccc;
background: #f9f9f9; }
.dashboard-tabs li a { /*20250917 eingefügt*/
display: block;
text-decoration: none;
font-weight: bold;
color: #333; }
.dashboard-tabs li a:hover, .dashboard-tabs li a:focus { /*20250917 eingefügt*/
background: #e0e0e0; }
.dashboard-tabs li.is-active { /*20251007 eingefügt*/
background: #ebf1f3; }
.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder {
font-size: 0.8rem;
color: black; }
.input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder {
font-size: 0.8rem;
color: hsl(0, 0%, 29%); }
.input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder, .select select::-webkit-input-selected {
font-size: 0.8rem;
color: hsl(0, 0%, 29%); }
.vizTooltip {
position: absolute;
text-align: center;
width: 60px;
height: 28px;
padding: 2px;
font: 12px sans-serif;
background: lightsteelblue;
border: 0px;
border-radius: 8px;
pointer-events: none;
}
.dojoDialog {background : #eee; border : 1px solid #999;-moz-border-radius : 5px;padding : 4px;width:650;height:420px;overflow:scroll}
.treebutton {
border:none;
margin: 0 4px 0 0;
}
/*Cockpit-Header*/
.hs_header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 20; /*positioniert sich im flow am nähesten zum Betrachter*/
background-color:white;
padding-top: 3rem; }
.hs_header_box1 { /*für Balken-Box über/unter Cockpittitel*/
background: white;
height: 1.0rem;
color: black; }
.hs_header_box2 { /*für Logo-/Cockpittitel-Box*/
display: flex;
/* height: 4.0rem;*/
padding: 0.3rem 17.0rem 0rem 9.0rem; /*für Padding: ob re un li*/
align-items: left; /*für vertikale Ausrichtung d Elemente*/
/*justify-content: space-between;*/ /*für gleichm. Leerraum zw. Elementen*/
background-color: #004c93; }
.cockpit_title {
color: white;
font-size: 2rem;
font-weight: 800;
background-color: #004c93;
padding-left:20px; }
.vizTitle {
margin-left: 0.8em;
margin-right: 0.8em;
white-space: normal;
word-wrap: normal;
overflow-wrap: break-word;
hyphens: auto;
text-align: center;
font-size:1.2em;
font-weight:bolder;
background: #ebf1f3; }
.navbar {background-color: white;} /*20250221 eingefügt*/
.navbar-item img, .navbar-item svg { /*20250221 eingefügt*/
max-height: unset !important; } /*var(--bulma-navbar-item-img-max-height);*/
/*Media-queries**/
@media print{
.dontprint {display:none;}
}
/* 20250919 eingefügt: bis 769px: mobile; ab 769px: tablet and up; ab 1024px: desctop an up */
@media (max-width: 403px) {
.columns { padding-top: 2.5rem; }
.grid { padding-top: 18.5rem; }
}
@media (min-width: 404px) and (max-width: 468px) {
.grid { padding-top: 17rem; }
}
@media (min-width: 469px) and (max-width: 473px) {
.grid { padding-top: 15.5rem; }
}
@media (min-width: 474px) and (max-width: 549px) {
.grid { padding-top: 14rem; }
}
@media (min-width: 550px) and (max-width: 552px) {
.grid { padding-top: 12rem; }
}
@media (min-width: 553px) and (max-width: 576px) {
.grid { padding-top: 10.5rem; }
}
@media (min-width: 577px) and (max-width: 636px) {
.grid { padding-top: 7.5rem; }
}
@media (min-width: 637px) and (max-width: 917px) {
.grid { padding-top: 6rem; }
}
@media (min-width: 918px) and (max-width: 927px) {
.grid { padding-top: 5rem; }
}
@media (min-width: 928px) and (max-width: 1644px) {
.grid { padding-top: 3rem; }
}
@media (min-width: 1645px) {
.grid { padding-top: 1.5rem; }
}
.buttons-container { /* 300425BF eingefügt*/
display: flex;
justify-content: flex-end; /* rechts ausrichten */
align-items: center; /* vertikal zentrieren */
flex-wrap: wrap; /* für kleine Viewports */
padding-top: 1.0rem;
}
.button.is-link {
background-color: white; /*link-Blau:#3273dc; UDE-Blau:#004C93*/
border-color: transparent;
color: #004C93; }
.button.is-link:hover, .button.is-link.is-hovered {
background-color: #276cda;
border-color: transparent;
color: #004C93; }
.button.is-link:focus, .button.is-link.is-focused {
border-color: transparent;
color: #004C93; }
.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
.button.is-link:active, .button.is-link.is-active {
background-color: white;
border-color: transparent;
color: #004C93; }
.button.is-link[disabled],
fieldset[disabled] .button.is-link {
background-color: #004C93;
border-color: transparent;
box-shadow: none; }
.button.is-link.is-inverted {
background-color: #fff;
color: #004C93; }
.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
background-color: #f2f2f2; }
.button.is-link.is-inverted[disabled],
fieldset[disabled] .button.is-link.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #004C93; }
.button.is-link.is-loading::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-link.is-outlined {
background-color: white;
border-color: #004C93;
color: #004C93; }
.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
background-color: #004C93;
border-color: #004C93;
color: #fff; }
.button.is-link.is-outlined.is-loading::after {
border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important; }
.button.is-link.is-outlined[disabled],
fieldset[disabled] .button.is-link.is-outlined {
background-color: transparent;
border-color: #004C93;
box-shadow: none;
color: #004C93; }
.button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
.button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus,
.button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #004C93; }
.button.is-link.is-inverted.is-outlined.is-loading:hover::after,
.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,
.button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
.button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus,
.button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #004C93; }
.button.is-small.is-rounded.is-link.has-tooltip-bottom { background-color: #004C93; /*UDE-Blau*/ } /*20250711 eingefügt*/
.exportoptions {
margin-top: 2.0em;
}
.buttonlist{ /*für resposive Buttonleiste*/
display: flex;
flex-flow: no wrap;
justify-content: flex-start;
padding: 0.3rem 0rem 0.3rem 0rem; /*für Padding: ob re un li*/
}
.buttonlist img { /*für Icongröße in Buttonleiste*/
height: 2.5rem;
width: auto;
margin-top: 0em; }
/*Auswahlfelder*/
.card { /*für Auswahlfeldercard-Position*/
display: flex;
flex-flow: column;
margin-left: 0em;
margin-top: 8em;
min-width: 10.0em;
width: 100%;
}
.card.is-shady { border: unset !important; } /*20250709 eingefügt */
.label-container, .button-label { /*für einh.responsive Feldbezeichner*/
display: flex;
justify-content: left;
background: ;
min-width: 10.0em; /*für kleine Viewports*/
width: 10%; } /*für kleine Viewports*/
.control-new { /*für einheitliche Controls*/
min-width: 10.0em; /*für kleine Viewports*/
width: 10%; /*für große Viewports*/
}
.button { /*für Button-Bezeichner-Ausrichtung*/
display: flex;
justify-content: left; }
/*Erläuterungen/Legende*/
.box-new { /*für Kopfzeile mit Close-Button*/
display: flex;
justify-content: space-between;
font-weight: bold;
}
.leg_erl {
background-color: whitesmoke; /*für Abschnitthintergrund, Schrift*/
font-size: 0.8em;
}
.dl_title { /*für Texthervorhebungen*/
display: flex;
justify-content: center;
background: inherit;
font-size: 1.2em;
font-weight: 400;
}
/*Datentabellen*/
.table-container {
z-index: 10; /*positioniert sich im flow hinter dem hs_header*/
}
table.ergtabelle tr.listRowOdd td.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr.listRowEven td.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr td.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr th.leer
{
border:thin solid white;
background-color:white;
}
table.ergtabelle tr th.header
{
vertical-align:center;
text-align:center;
}
table.ergtabelle
{
border:thin solid white;
font-size:1.5rem;
}
/* Zahlen rechtsbündig:*/
table.ergtabelle tbody tr.listRowEven td.integer
{
text-align:right;
empty-cells:show
vertical-align:center;
}
table.ergtabelle tbody tr.listRowOdd td.integer
{
text-align:right;
empty-cells:show
vertical-align:center;
}
table.ergtabelle tbody tr.listRowEven td.decimal
{
text-align:right;
empty-cells:show
vertical-align:center;
}
table.ergtabelle tbody tr.listRowOdd td.decimal
{
text-align:right;
empty-cells:show
vertical-align:center;
}

18
superx/xml/js/viz/viz_assistent.js

@ -1039,30 +1039,12 @@ function renderTreeInput(chartProperty,inputId, previousValue) @@ -1039,30 +1039,12 @@ function renderTreeInput(chartProperty,inputId, previousValue)
zs+=" onChange=\"changeColorWithColorPicker(this,'"+inputId+"');treeInputOnchange('chartDiv',myChartModel);\">";
zs+="</input></span>";
break;
case "COLORPALETTE":
zs="&nbsp;<span class=\"field\"><select " +styleAttr+" id=\""+inputId+"\" name=\""+inputId+"\"";
zs+=" value=\""+previousValue +"\" onChange=\"treeInputOnchange('chartDiv',myChartModel);\" >";
var opts=convertvizColorSchemesToInputValues(); //vizColorSchemes.map(vizColorScheme => vizColorScheme.uniquename);
zs+=getTreeInputSelectOptions(opts,previousValue,chartProperty.isMandatory) ;
zs+="</select></span>";
break;
default:
zs="Unbekannter Feldtyp";
break;
}
return zs;
}
function convertvizColorSchemesToInputValues()
{
var vals=[];
for(var i=0;i<vizColorSchemes.length;i++){
var o=new selectionPropertyValue(i,vizColorSchemes[i].caption,vizColorSchemes[i].uniquename,false)
vals.push(o);
}
return vals;
}
function changeColorWithColorPicker(colorpickerInput,targetInputid)
{
document.getElementById(targetInputid).value=colorpickerInput.value;

245
superx/xml/js/viz/viz_viewer.js

@ -163,8 +163,7 @@ function openModalCardDetail(ergebniselementOrdnr) @@ -163,8 +163,7 @@ function openModalCardDetail(ergebniselementOrdnr)
function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
{
var dataset =new Array();
var chartType=(currentChartModel!=null)?currentChartModel.chartElements[0].vizTypeUniquename : "echarts_generic";
var chartType=currentChartModel.chartElements[0].vizTypeUniquename;
//Identify dimensions and measures:
switch (chartType) {
case "echarts_pie":
@ -180,9 +179,7 @@ function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel) @@ -180,9 +179,7 @@ function fillEchartsDataSet(myRs,myRsMetaData,currentChartModel)
var seriesSelectionColumn=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"series_selection_column");
dataset=fillEchartsDataSetSeries(myRs,myRsMetaData,dimension1Fldname,seriesSelectionLine,seriesSelectionColumn);
break;
case "echarts_generic":
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break; default:
default:
dataset=fillEchartsDataSetSimpleCopy(myRs,myRsMetaData);
break;
}
@ -1597,13 +1594,9 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl @@ -1597,13 +1594,9 @@ function renderEChart2(currentChartModel,chartDiv,ergebniselementOrdnr,chartTitl
break;
case "echarts_pie":
option=getEchartOptionsPie(currentChartModel,myDataset);
option=getEchartOptionsPie(currentChartModel,myDataset,titleText);
break;
case "echarts_sankey":
option=getEchartOptionsSankey(currentChartModel,myDataset);
break;
case "echarts_native":
case "echarts_native":
option=getEchartOptionsNative(currentChartModel,myDataset,titleText);
break;
@ -2115,234 +2108,6 @@ return option; @@ -2115,234 +2108,6 @@ return option;
}
function getEchartOptionsSankey(currentChartModel,myDataset)
{
var measure1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","measure1");
var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension1");
var dimension2Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1","dimension2");
var titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption");
var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle");
var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray");
var myPalette=getPaletteArray(scheme,"");
/*const sourceData = [
{"rownr":1,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"LA Master","ma_anfaenger_summe":2,"ba_ma_ueberg_quote":0},
{"rownr":2,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"Master","ma_anfaenger_summe":706,"ba_ma_ueberg_quote":0.36},
{"rownr":3,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"Bachelor","ba_abschluesse_summe":1964,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"kein Master","ma_anfaenger_summe":1256,"ba_ma_ueberg_quote":0.64},
{"rownr":4,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"LA Master","ma_anfaenger_summe":1258,"ba_ma_ueberg_quote":0.9},
{"rownr":5,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"Master","ma_anfaenger_summe":21,"ba_ma_ueberg_quote":0.02},
{"rownr":6,"pj_ba_str":"2023","pj_ba_sem_von_str":"WiSe 2022/2023","pj_ba_sem_bis_str":"SoSe 2023","ba_abschluss_grp_str":"LA Bachelor","ba_abschluesse_summe":1392,"ma_sem_von_str":"WiSe 2022/2023","ma_sem_bis_str":"WiSe 2024/2025","ma_abschluss_grp_str":"kein Master","ma_anfaenger_summe":113,"ba_ma_ueberg_quote":0.08}
];*/
const sourceData =myDataset.source;
// DEBUG: Zeige die Rohdaten an
console.log('DATEN:', sourceData);
// Farbzuordnung (intensivere Töne für besseren Kontrast)
const colorMap = {
'Bachelor': '#3a5a2c',
'LA Bachelor': '#8a9e7a',
'Master': '#001e30',
'LA Master': '#5a7a90',
'kein Master': '#c0c8d0'
};
// ✅ Erstelle ein Map für die Gesamtwerte der Quellknoten (ba_abschluesse_summe)
const sourceTotalMap = new Map();
sourceData.forEach(row => {
const sourceName = row.ba_abschluss_grp_str;
const total = row.ba_abschluesse_summe;
if (!sourceTotalMap.has(sourceName)) {
sourceTotalMap.set(sourceName, total);
} else if (sourceTotalMap.get(sourceName) !== total) {
console.warn(` Inkonsequenter Gesamtwert für Quellknoten "${sourceName}": ${total} vs ${sourceTotalMap.get(sourceName)}`);
}
});
// DEBUG: Zeige die Quellgesamtwerte an
console.log('Gesamtwerte der Quellknoten (ba_abschluesse_summe):', Object.fromEntries(sourceTotalMap));
// ✅ Generiere die Links mit Farbverlauf (Gradienten)
const links = sourceData.map(row => {
const source = row.ba_abschluss_grp_str;
const target = row.ma_abschluss_grp_str;
const value = row.ma_anfaenger_summe;
const sourceColor = colorMap[source];
const targetColor = colorMap[target];
return {
source,
target,
value,
lineStyle: {
width: 2,
color: echartsSankeyCreateGradientColor(sourceColor, targetColor),
opacity: 0.3
}
};
});
// DEBUG: Zeige die generierten Links an
console.log('GENERIERTE LINKS mit Gradienten:', links);
// ECharts Option
var option = {
title: {
text: 'Übergang von Bachelor zu Master',
left: 'center',
textStyle: { fontSize: 16 }
},
tooltip: {
trigger: 'item',
triggerOn: 'mousemove',
formatter: function (params) {
if (params.dataType === 'node') {
const nodeName = params.name;
// Knotenfarbe als Tooltip-Farbe
const color = colorMap[nodeName] || '#ccc';
// Prüfe, ob der Knoten als Quelle oder Ziel vorkommt
const isSource = links.some(link => link.source === nodeName);
const isTarget = links.some(link => link.target === nodeName);
if (isSource && !isTarget) {
// Nur Quelle (links): Name + ba_abschluesse_summe
const total = sourceTotalMap.get(nodeName);
return `<span style="color:${color}; font-weight:bold">${nodeName}-Abschlüsse: ${total}`;
} else if (isTarget) {
// Ziel (rechts): Name + summierte ankommende Werte
const incomingValue = links
.filter(link => link.target === nodeName)
.reduce((sum, link) => sum + link.value, 0);
return `<span style="color:${color}; font-weight:bold">${nodeName}-Studiengänge: ${incomingValue}`;
} else {
return nodeName;
}
} else {
// Link-Tooltip
return params.data.source + ' --> ' + params.data.target + ': ' + params.data.value;
}
}
},
series: {
name: 'Bachelor-Master Übergänge',
type: 'sankey',
layout: 'none',
nodeGap: 25, // ← Erhöhter vertikaler Abstand
nodeWidth: 60, // ← Breite der Knoten
emphasis: {
focus: 'adjacency'
},
data: [
{
name: 'Bachelor',
itemStyle: { color: colorMap['Bachelor'] },
label: { position: 'left', show: true, fontSize: 12, color: '#333' }
},
{
name: 'LA Bachelor',
itemStyle: { color: colorMap['LA Bachelor'] },
label: { position: 'left', show: true, fontSize: 12, color: '#333' }
},
{
name: 'Master',
itemStyle: { color: colorMap['Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
},
{
name: 'LA Master',
itemStyle: { color: colorMap['LA Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
},
{
name: 'kein Master',
itemStyle: { color: colorMap['kein Master'] },
label: { position: 'right', show: true, fontSize: 12, color: '#333' }
}
],
links: links,
label: {
show: true,
fontSize: 12,
color: '#333'
},
lineStyle: {
width: 2,
color: 'source'
// , opacity: 0.9,
// curveness: 0.3
}
}
};
var option2 = {
dataset: {
source: myDataset
},
title: {
text: titleText,
subtext: subtitleText,
left: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.left"), //"center",
top: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"title.top"), //"top",
textStyle: {
fontSize: 20
},
subtextStyle: {
fontSize: 15
}
},
series: [
{
type: 'pie',// sunburst
/*encode: {
value: measure1Fldname,
name: dimension1Fldname
},*/
tooltip: {
trigger: "item"
},
stillShowZeroSum: false,
label: {
show: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"valueLabelShow")=="true")?true:false, //true
fontWeight:'bolder',
formatter: '{c}'
} ,
fontSize: 12,
radius: [getChartPropertyValue(currentChartModel.chartPropertiesUsed,"innerRadius"),getChartPropertyValue(currentChartModel.chartPropertiesUsed,"outerRadius")],// ['30%', '80%'], //1. Parameter inside radius, macht ihn zum Donut. 2.Parameter definiert den Anteil des Kreises am ganzen Viewport"
color: myPalette,
itemStyle: {
borderRadius: (getChartPropertyValue(currentChartModel.chartPropertiesUsed,"cornerRadiusRounded")=="true" ? [20, 5, 5, 10] :[]),
borderColor: '#fff',
borderWidth: 2
}
}
]
};
return option;
}
// ✅ Funktion: Erzeugt einen Farbverlauf von sourceColor zu targetColor
function echartsSankeyCreateGradientColor(sourceColor, targetColor) {
return {
type: 'linear',
x: 0, y: 0, x2: 1, y2: 0,
colorStops: [
{ offset: 0, color: sourceColor },
{ offset: 1, color: targetColor }
]
};
}
function getChartPropertyValue(propArray,propName)
{
var propertyValue="";
@ -2838,7 +2603,7 @@ function openKachelDetails(ergebniselementOrdnr,formName,maskeninfoTID,grafikUni @@ -2838,7 +2603,7 @@ function openKachelDetails(ergebniselementOrdnr,formName,maskeninfoTID,grafikUni
function exportVizBooklet(contenttype,stylesheet)
{
document.forms['Weiterverarbeitung'].stylesheet.value = stylesheet;
document.forms['Weiterverarbeitung'].tablestylesheet.value = stylesheet;
//document.forms['Weiterverarbeitung'].tablestylesheet.value = stylesheet;
document.forms['Weiterverarbeitung'].contenttype.value = contenttype;
document.forms['Weiterverarbeitung'].target = '_blank';
document.forms['Weiterverarbeitung'].submit();

113
superx/xml/viz_components.xsl

@ -333,9 +333,6 @@ vizTypeProperties.push(newVizTypeProperty); @@ -333,9 +333,6 @@ vizTypeProperties.push(newVizTypeProperty);
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="importRendererLibs" />
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement/viz_charts/viz_chart[@js_handler !='']">
<script language="Javascript" type="text/javascript" src="{ @js_handler }" />
</xsl:for-each>
<!--<script language="JavaScript" type="text/javascript" src="../xml/js/viz/echarts.min.js"></script>-->
<script language="JavaScript" type="text/javascript" src="../xml/js/viz/viz_viewer.js"></script>
@ -673,7 +670,13 @@ var rsNr=0; @@ -673,7 +670,13 @@ var rsNr=0;
var myRenderer='</xsl:text>
<xsl:value-of select="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@renderer" />
<xsl:text>';
myDiv="</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[;
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
rsNr=]]></xsl:text>
@ -681,34 +684,23 @@ rsNr=]]></xsl:text> @@ -681,34 +684,23 @@ rsNr=]]></xsl:text>
<xsl:text><![CDATA[;
chartTitle="]]></xsl:text>
<xsl:value-of select="$chart_title" />
<xsl:text>";
</xsl:text>
<xsl:choose>
<xsl:when test="viz_charts/viz_chart[@uniquename=$chart_uniquename]/@js_handler !=''">
<xsl:text>
render_</xsl:text><xsl:value-of select="$chart_uniquename" /><xsl:text>("</xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text>",rsNr,chartTitle);
</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text><![CDATA[
var myChartModel=]]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@uniquename=$chart_uniquename]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[";
<xsl:text>;
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text>
<xsl:text><![CDATA[
myDiv="]]></xsl:text>
<!--<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text>";
//Detailseite mit Legende:
myChartModelStr='Platzhalter d';
createEchartsViewer(myChartModel,myDiv,rsNr);
myDiv="</xsl:text>
-->
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text>";
myChartModelStr='Platzhalter_dl';
createChartsViewer(myChartModel,myDiv,rsNr,myRenderer,chartTitle);
</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
@ -951,39 +943,6 @@ textarea.editform { @@ -951,39 +943,6 @@ textarea.editform {
textarea.editform:focus {
height: 40em;
}
.textarea, .is-small.textarea { /*20251210 eingefügt*/
color: black;
background: white;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em;
}
.field.is-grouped { /*20251210 eingefügt*/
gap: 0.2rem; }
/*Hell-/Dunkel-Modus*/ /*20251210 eingefügt*/
@media (prefers-color-scheme: dark) {
:root { color-scheme: dark; }
.label.is-small, strong {color: black !important; }
.table th { color: black !important; }
.table {--bulma-table-background-color: white !important; }
.table {--bulma-table-color: black !important; }
.table th { color: black !important; }
.box { background-color: white !important; }
.button {
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em; }
.select:not(.is-multiple) {
background: white;
color: black; }
textarea.editform {
color: black;
background: white;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
border-radius: 0.3em; }
}
</style>
</xsl:template>
@ -1438,10 +1397,6 @@ Platzhalter @@ -1438,10 +1397,6 @@ Platzhalter
<xsl:with-param name="feldart" select="$feldart"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$feldart='8'">
<p class="subheaderMaskDialogs"><xsl:value-of select="$feldcaption"/></p>
</xsl:when>
<xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/>
<br />
</xsl:otherwise>
@ -1582,7 +1537,7 @@ Platzhalter @@ -1582,7 +1537,7 @@ Platzhalter
<div class="field is-grouped">
<div class="vizLabel-container" lang="de">
<label class="label is-small trennung">
<span class="button is-link is-link is-outlined is-hovered">
<span class="button is-link is-link is-outlined is-hovered" style="font-weight:bold;font-size:1.5em">
<!--<a class="button is-link is-outlined is-small is-fullwidth">-->
<xsl:attribute name="onClick">
<xsl:value-of select="$jsCall"/>
@ -1599,7 +1554,7 @@ Platzhalter @@ -1599,7 +1554,7 @@ Platzhalter
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input>
<div class="control is-expanded">
<input class="input is-small is-link is-fullwidth" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}">
<input class="input is-small is-link is-fullwidth" style="font-size:1.1rem;font-weight:normal" type="label" readonly="true" name="{concat('label_',$FeldnameEscaped)}" id="{concat('label_',$FeldnameEscaped)}">
<xsl:attribute name="onclick"><xsl:value-of select="$jsCall"/>
</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value_caption"/></xsl:attribute>
@ -1637,24 +1592,12 @@ Platzhalter @@ -1637,24 +1592,12 @@ Platzhalter
</xsl:if>
</xsl:if>
</div>
<xsl:if test="/*/*/felder/feld [@varname = $Feldname]/caption_long != ''">
<div class="control"> <!--220424BFeingefügt-->
<button class="button is-small is-rounded has-tooltip-bottom" onClick="return false;"> <!--220424BFgeändert-->
<xsl:attribute name="data-tooltip">
<xsl:call-template name="br_to_newline">
<xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/caption_long"/><![CDATA[]]></xsl:with-param>
<xsl:with-param name="search">&lt;br&gt;</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
<span class="icon" aria-hidden="true">
<img src="../images/information_grey_liberation.svg" alt="Info" title="Info" />
</span>
</button> <!--220424BFeingefügt-->
</div>
<!--220424BFdeaktiviert-->
</xsl:if>
<!--Ende tooltip -->
<div class="control">
<button class="button is-small is-rounded is-link has-tooltip-bottom" style="font-size:1.1rem;font-weight:normal;" onclick="return false;" tabindex="1353" data-tooltip="Muss noch ergänzt werden.">
<span class="icon" aria-hidden="true">
<img src="../images/information_white_liberation.svg" alt="Info" title="Info" /></span>
</button>
</div><!--Ende control -->
</div>
@ -1826,7 +1769,8 @@ Platzhalter @@ -1826,7 +1769,8 @@ Platzhalter
<xsl:variable name="currentTabNr" select="/ergebnisse/ergebnis[@ordnr='0']/felder/feld[@varname='Tabnr.']/value" />
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row[col[f_name='hidden_link_maskeninfo_id']/wert !='']">
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/sqlerg/row">
<xsl:call-template name="tabBox">
<xsl:with-param name="tabNr" select="col[f_name='ord']/wert"/>
<xsl:with-param name="currentTabNr" select="$currentTabNr"/>
@ -1835,6 +1779,7 @@ Platzhalter @@ -1835,6 +1779,7 @@ Platzhalter
<xsl:with-param name="optional_filter_name" select="col[f_name='hidden_optional_filter_name']/wert" />
<xsl:with-param name="optional_filter_value" select="col[f_name='hidden_optional_filter_value']/wert" />
</xsl:call-template>
</xsl:for-each>
</ul>
<xsl:call-template name="vizGridTitle" >
@ -1928,7 +1873,7 @@ Platzhalter @@ -1928,7 +1873,7 @@ Platzhalter
<xsl:for-each select="/ergebnisse/ergebnis/ergebniselement">
<p class="teiltabelle_titel" style="font-size:3em;">
<xsl:text>Datentabelle </xsl:text><a onclick="{concat('toggleTableVisibility(',$colon,'toggleBtnTable',@ordnr+1, $colon,',',$colon, 'table',@ordnr+1,$colon,');')}"> <img id="{concat('toggleBtnTable',@ordnr+1)}" src="../images/minus-circled.svg" height="20px" style="height:20px" border="0" /></a></p>
<!--<style>
<style>
table.ergtabelle
{
padding-left:100px;
@ -1959,7 +1904,7 @@ td.integer { @@ -1959,7 +1904,7 @@ td.integer {
font-size:1.5em;
}
</style>-->
</style>
<xsl:call-template name="nd_singleTable">
<xsl:with-param name="ergebniselement_ordnr" select="@ordnr" />

4
superx/xml/viz_html_chart.xsl

@ -466,7 +466,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -466,7 +466,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<xsl:call-template name="chartLoadMenu" />
<!--Beginn chartCode-->
<div class="field is-grouped" id="chartCodeDiv"> <!--20251210 entfernt: style="display:block">-->
<div class="field is-grouped" id="chartCodeDiv" style="display:block">
<div class="label-container">
<label class="label is-required is-small"><strong>Chart-Code</strong></label>
</div>
@ -862,7 +862,7 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -862,7 +862,7 @@ Stand: <xsl:value-of select="../stand" /></p>
<!--Beginn Layoutmerkmale-->
<!--Beginn Layoutmerkmale-->
<div class="field is-grouped">
<div class="field">
<div class="label-container">
<label class="label is-required is-small"><strong>Layoutmerkmale</strong></label>
</div>

1
superx/xml/viz_html_chart_viewer_mask.xsl

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

2
superx/xml/viz_html_chart_viewer_mask_and_table.xsl

@ -42,14 +42,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -42,14 +42,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<link rel="stylesheet" type="text/css" href="../style/sx_viz_muster.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<!--<xsl:call-template name="vizTableCSS" />-->
<xsl:call-template name="importVizViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">

Loading…
Cancel
Save