Compare commits

...

6 Commits

  1. 6
      src-modules/module/viz/conf/includes.txt
  2. 22
      src-modules/module/viz/conf/viz.xml
  3. 22
      src-modules/module/viz/masken/44100_felderinfo.unl
  4. 1
      src-modules/module/viz/masken/44100_maske_system_bez.unl
  5. 19
      src-modules/module/viz/masken/44100_masken_felder_bez.unl
  6. 1
      src-modules/module/viz/masken/44100_maskeninfo.unl
  7. 1
      src-modules/module/viz/masken/44100_sachgeb_maske_bez.unl
  8. 37
      src-modules/module/viz/masken/44130_felderinfo.unl
  9. 1
      src-modules/module/viz/masken/44130_maske_system_bez.unl
  10. 23
      src-modules/module/viz/masken/44130_masken_felder_bez.unl
  11. 1
      src-modules/module/viz/masken/44130_maskeninfo.unl
  12. 1
      src-modules/module/viz/masken/44130_sachgeb_maske_bez.unl
  13. 39
      src-modules/module/viz/masken/44160_felderinfo.unl
  14. 1
      src-modules/module/viz/masken/44160_maske_system_bez.unl
  15. 19
      src-modules/module/viz/masken/44160_masken_felder_bez.unl
  16. 1
      src-modules/module/viz/masken/44160_maskeninfo.unl
  17. 1
      src-modules/module/viz/masken/44160_sachgeb_maske_bez.unl
  18. 50
      src-modules/module/viz/schluesseltabellen/customxmladd.sql
  19. 35
      src-modules/module/viz/schluesseltabellen/sx_stylesheets_einfuegen.sql
  20. 37
      src-modules/module/viz/schluesseltabellen/viz_chart.unl
  21. 34
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  22. 1
      src-modules/module/viz/schluesseltabellen/viz_property_input_type.unl
  23. 25
      src-modules/module/viz/schluesseltabellen/viz_property_renderer.unl
  24. 24
      src-modules/module/viz/schluesseltabellen/viz_type.unl
  25. 528
      src-modules/module/viz/schluesseltabellen/viz_type_d3js_fuellen.sql
  26. 833
      src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql
  27. 533
      src-modules/module/viz/schluesseltabellen/viz_type_property.unl
  28. 719
      superx/xml/js/viz/viz_functions.js
  29. 420
      superx/xml/viz_components.xsl
  30. 189
      superx/xml/viz_html_chart.xsl
  31. 352
      superx/xml/viz_html_chart_viewer.xsl
  32. 248
      superx/xml/viz_html_chart_viewer_grid.xsl
  33. 235
      superx/xml/viz_html_chart_viewer_mask.xsl
  34. 2692
      test/webapps_superx/test_viz/stud_zeitreihe.html
  35. 2805
      test/webapps_superx/test_viz/stud_zeitreihe_plot.html

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

@ -5,9 +5,6 @@ images/information_grey_liberation.svg @@ -5,9 +5,6 @@ images/information_grey_liberation.svg
images/plus-circled.svg
images/minus-circled.svg
style/sx_viz_muster.css
style/bulma.css
style/bulma-tooltip.min.css
style/LICENSE_bulma_tooltip_1.2.0.txt
WEB-INF/conf/edustore/db/bin/SQL_ENV_viz.sam
xml/js/viz/d3.min.js
xml/js/viz/d3-7.8.0-license.txt
@ -20,6 +17,7 @@ xml/pageComponents_html_final_viz.xsl.sam @@ -20,6 +17,7 @@ xml/pageComponents_html_final_viz.xsl.sam
xml/viz_html_chart.xsl
xml/viz_html_chart_sankey.xsl
xml/viz_html_chart_viewer.xsl
xml/tabelle_html_viz.xsl
xml/viz_html_chart_viewer_mask.xsl
xml/viz_html_chart_viewer_grid.xsl
xml/viz_components.xsl
xml/viz_tableComponents.xsl

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

@ -20,6 +20,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" /> @@ -20,6 +20,8 @@ rightname="CS_BIA_STANDARDREPORTS_ADMIN[VIZ]" />
<column name="srcpath" type="VARCHAR" size="255" default="" notnull="false" description="Pfad zum Quellcode" isKey="false"/>
<column name="method" type="VARCHAR" size="255" default="" notnull="false" description="Methode" isKey="false"/>
<column name="orientation" type="CHAR" size="1" default="" notnull="false" description="Orientierung" isKey="false"><comment>Grafik horizontal (H) oder vertikal (V)</comment></column>
<column name="explanation" type="TEXT" size="32255" default="" notnull="false" description="Erläuterung" ><comment></comment></column>
<column name="preview" type="TEXT" size="32255" default="" notnull="false" description="Muster" ><comment>SVG-Beispiel</comment></column>
</columns>
<primaryKeys><rs>
@ -347,7 +349,24 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -347,7 +349,24 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44100" name="Studierende Zeitreihe (VIZ)" thema="Visualisierungen">
<description>Studierende gesamt / 1. FS / 1.HS </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44130" name="Studierende nach Alter (VIZ)" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
<maske tid="44160" name="Übergang Bachelor/Master (Flussdiagramm)" thema="Visualisierungen">
<description> </description>
<src>
<path>$VIZ_PFAD/masken</path>
</src>
</maske>
</masken>
<data-integrity>
@ -456,6 +475,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the @@ -456,6 +475,7 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen </the
<!--<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_jobs_fuellen.sql" database=""/>-->
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/sx_stylesheets_einfuegen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/macro_masken_bez_fuellen.sql" database=""/>
<nativeaction sql="" scriptfile="$VIZ_PFAD/schluesseltabellen/viz_type_plot_fuellen.sql" database=""/>
</action>

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

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
44100^Köpfe oder Fälle ?^-3^0^0^130^150^1^sql^30^1^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle;^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Köpfe';^
44101^Seit Semester^1^0^0^130^80^1^integer^30^1^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^^<<SQL>> select tid,eintrag from semester where today()-(3*365) between sem_beginn and sem_ende;^
44102^Fächer^6^0^0^130^200^6^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='Fächer-Sicht' order by 3,2;^^^
44103^bis Fachsemester^23^330^-1^130^100^1^integer^30^0^0^^hidden^^
44104^Hörerstatus^18^0^0^130^150^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44105^Stichtag^-2^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';^
44106^Status^11^330^-1^130^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^hidden^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44107^Bis Semester^3^330^-1^130^100^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44108^Abschluss^5^0^0^130^150^5^char^30^0^1^<<SQL>> select apnr, trim(druck) || ' (' || trim(apnr) || ')' from cifx where key = 35 order by 2;^^^
44109^Fachkennz.^16^330^-1^130^150^1^char^30^0^1^<<SQL>> select apnr,druck from sos_k_kzfa order by 2^hidden^^
44110^Vertiefung^7^330^-1^130^100^1^char^30^0^1^<<SQL>> select apnr,druck from cifx where key=39 order by 2;^hidden^^
44111^ab Fachsemester^22^0^0^130^100^1^integer^30^0^0^^hidden^^
44112^Filter Studierende^120^0^0^130^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;^^^
44113^Trennen nach^121^330^-1^130^100^1^char^20^0^1^<<SQL>> \
select 'Fach' from xdummy where (select count(*) from sos_gewichtungsvariante)=0 \
union \
select 'Abschluss' from xdummy^hidden^^
44114^Studiengang^4^0^0^130^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44115^##line##^13^0^0^100^100^1^char^5000^0^8^^^1^
44116^##line##^30^0^0^100^100^1^char^5000^0^8^^^1^
44117^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44100 order by 2;^ ^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44100 order by 2 limit 1;^
44118^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44100 order by ord^ ^<<SQL>> select filename,caption from sx_stylesheets S, sx_mask_style M where S.tid=M.stylesheet_id and M.maskeninfo_id=44100 order by ord limit 1^

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

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

19
src-modules/module/viz/masken/44100_masken_felder_bez.unl

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
44100^44100^
44100^44101^
44100^44102^
44100^44103^
44100^44104^
44100^44105^
44100^44106^
44100^44107^
44100^44108^
44100^44109^
44100^44110^
44100^44111^
44100^44112^
44100^44113^
44100^44114^
44100^44115^
44100^44116^
44100^44117^
44100^44118^

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

@ -0,0 +1 @@ @@ -0,0 +1 @@
44100^Studierende Zeitreihe (VIZ)^<sximport>select select_stmt from maskeninfo where tid=16000</sximport>^<sximport>select xil_proplist from maskeninfo where tid=16000</sximport>^Semester^Anzahl^je Semester mit Geschlechtsangabe und Prozentwert^<sximport>select cleanup_stmt from maskeninfo where tid=16000</sximport>^-leer-^3^700^360^0^1^^

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

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

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

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
44130^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^1^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag='Köpfe';^
44131^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44132^Stichtag^1^350^-1^140^100^1^sql^30^0^1^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende';^hidden^<<SQL>> select tid, name from sos_stichtag where stichtagsart='Studierende' and appl_key='0';^
44133^Staatsangehörigkeit^36^0^0^130^150^10^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art='SOS-Staaten-Sicht' order by 3,2;^^^
44134^Status^14^350^-1^140^180^1^sql^30^0^1^<<SQL>> select apnr,eintrag from sos_status order by 2^hidden^<<SQL>> select apnr,eintrag from sos_status where eintrag='Alle ohne Beurl.';^
44135^Hörerstatus^33^0^0^140^170^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus order by 2^hidden^<<SQL>> select apnr, eintrag from hoererstatus where eintrag='alle';^
44136^Weitere Tabellen^123^0^0^140^140^10^char^30^0^1^<<SQL>> select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('dim_studiengang','dim_staat')\
order by 2^hidden^^
44137^bis Fachsemester^35^350^-1^140^100^1^integer^30^0^0^^hidden^^
44139^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^Eintrag^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44140^Filter Studierende^119^0^0^140^150^1^sql^20^0^1^<<SQL>> SELECT id,caption from sx_repository where aktiv =1 and today() between gueltig_seit and gueltig_bis and art='SOS_STUD_FILTER' order by 2;^^^
44141^Geschlecht^37^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT apnr,druck FROM cif where key = 9003 and apnr between 1 and 4 order by 1;^^^
44142^Felder^125^0^0^150^190^10^char^30^0^1^<<SQL>>\
--freemarker template\
select trim(F.table_name) || '.' || F.name,trim(T.caption) || ':' || trim(F.caption) || ' - ' || trim(F.name) from sx_fields F,\
sx_tables T where F.table_name=T.name and F.currentlyused=1\
--Pseudonyme eingeschaltet:\
and (F.name != 'matrikel_nr' or 0=(select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1)) \
and F.table_name in ('sos_stg_aggr','dim_staat','dim_studiengang') \
order by 2;^hidden^sos_stg_aggr.alter,sos_stg_aggr.geschlecht,sos_stg_aggr.matrikel_nr,sos_stg_aggr.summe^
44143^Studiengang^6^0^0^140^150^50^char^30^0^12^<<SQL>> select tid,name,sortnr from sichten where art in ('SOS-Kostenstellen-Sicht', 'SOS-Studiengang-Sicht') order by 3,2;^^^
44144^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
44145^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select filename,X.caption,ord from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44130 order by ord^^<<SQL>> select filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44130 and ord=20 order by ord limit 1^
44146^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44147^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44130 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44130 order by 2 limit 1^
44148^Jahrgang^42^350^-1^140^180^1^sql^30^0^13^<<SQL>> select attributevalue from personattribute_value_list where personattributetype_id = (select personattributetype_id from personattributetype where attributevalue = 'Jahrgang');^hidden^^
44149^Name der Hochschule^15^350^-1^140^80^1^char^255^0^13^<<SQL>> select name from hochschulinfo;^Eintrag^<<SQL>> select name from hochschulinfo;^
44150^Spaltenanzahl^300^0^0^140^80^1^integer^30^0^1^<<SQL>> SELECT 1,'1-spaltig' from xdummy \
union SELECT 2,'2-spaltig' from xdummy \
union SELECT 3,'3-spaltig' from xdummy \
union SELECT 4,'4-spaltig' from xdummy \
order by 1;^hidden^<<SQL>> SELECT 1,'1-spaltig' from xdummy^
44151^Abschluss^7^0^0^140^170^5^char^30^0^1^<<SQL>> select abint,dtxt from k_abint order by 2;^^^
44152^Matrikel-Nr.^20^350^-1^150^180^1^char^200^0^0^^hidden^^
44153^##line##^40^0^0^100^100^1^char^5000^0^8^^^1^

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

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

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

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
44130^44130^
44130^44131^
44130^44132^
44130^44133^
44130^44134^
44130^44135^
44130^44136^
44130^44137^
44130^44139^
44130^44140^
44130^44141^
44130^44142^
44130^44143^
44130^44144^
44130^44145^
44130^44146^
44130^44147^
44130^44148^
44130^44149^
44130^44150^
44130^44151^
44130^44152^
44130^44153^

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

@ -0,0 +1 @@ @@ -0,0 +1 @@
44130^Studierende nach Alter (Boxplot)^<sximport>select select_stmt from maskeninfo where tid=160440</sximport>^<sximport>select xil_proplist from maskeninfo where tid=160440</sximport>^Altersgruppe^Anzahl^Altersverteilung der Studierenden als Boxplot^<sximport>select cleanup_stmt from maskeninfo where tid=160440</sximport>^^3^700^360^0^1^ ^

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

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

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

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
44160^Köpfe oder Fälle ?^0^0^0^140^150^1^sql^70^0^13^<<SQL>> select apnr, eintrag from koepfe_oder_faelle order by 2^hidden^<<SQL>> select apnr, eintrag from koepfe_oder_faelle where eintrag = 'Fälle';^
44161^Seit Semester^3^0^0^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today()-(3*365) between sem_beginn and sem_ende;^
44162^Fächer^9^0^0^100^200^6^char^30^0^12^<<SQL>> select tid from sichten where art='Fächer-Sicht' order by sortnr^ ^ ^
44163^Staatsangehörigkeit^35^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;^ ^ ^
44164^Bis Semester^4^350^-1^140^80^1^integer^30^0^1^<<SQL>> select tid, eintrag from semester order by tid DESC;^ ^<<SQL>> select tid,eintrag from semester where today() between sem_beginn and sem_ende;^
44165^Abschluss^12^0^0^100^100^6^char^30^0^1^<<SQL>> select apnr, druck from cifx where key=35 order by druck;^hidden^ ^
44166^Weitere Tabellen^123^0^0^140^140^3^char^30^0^1^<<SQL>> \
--freemarker template\
select name,string_not_null(caption) || ' - ' || name from sx_tables where name in ('_xy')\
<#if <<tablestylesheet>>!='tabelle_html_datenblatt.xsl'>\
and name in (select distinct tablename from stylesheet_field where stylesheet_id in (select tid from sx_stylesheets where filename=<<tablestylesheet>>)) \
</#if>\
order by 2^hidden^^
44167^Geschlecht^75^0^0^140^170^1^integer^4^0^1^<<SQL>> select tid, beschreibung from konstanten where tid in (1,2);^ ^ ^
44168^Felder^125^0^0^150^190^10^char^30^0^1^<<SQL>>\
--freemarker template\
select trim(F.table_name) || '.' || F.name,trim(T.caption) || ':' || trim(F.caption) || ' - ' || trim(F.name) from sx_fields F,\
sx_tables T where F.table_name=T.name and F.currentlyused=1 \
and (F.table_name ='erfolg_ba_ma_uebergang'\
/* or F.table_name in (<<Weitere Tabellen>>) */) \
and (F.name != 'matrikel_nr' or 0=(select \
count(*) from konstanten where beschreibung='SOS_MTKNR_EXT'\
and apnr=1))\
order by 2;^hidden^erfolg_ba_ma_uebergang.einschr_nachher_abschluss,erfolg_ba_ma_uebergang.summe,erfolg_ba_ma_uebergang.abschluss_vorher_abschluss^
44169^Fachebene^28^330^-1^130^100^1^char^30^1^1^<<SQL>> select 'stg','Fach (intern)' from xdummy union\
select 'stg_astat','Fach (amtlich)' from xdummy union\
select 'lehr','Lehreinheit' from xdummy union\
select 'fb','Fakultät' from xdummy union \
select 'stg_astgrp','Fächergruppe' from xdummy \
order by 1^hidden^<<SQL>> select 'stg','Fach (intern)' from xdummy^
44171^Hörerstatus^36^0^0^140^80^1^sql^30^0^1^<<SQL>> select apnr, eintrag from hoererstatus where apnr like 'hrst%' order by 2^hidden^ ^
44172^Richtung^38^0^0^150^190^1^char^30^1^1^<<SQL>>select 'gw','Grundständig zu weiterf.' from xdummy union select 'wg','Weiterf. zu Grundständig' from xdummy order by 1;^hidden^<<SQL>>select 'gw','Grundständig zu weiterf.' from xdummy^
44173^Studiengang^15^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;^ ^ ^
44174^Schlüssel anzeigen^150^0^0^100^100^1^integer^30^1^1^<<SQL>> select 1,'Ja' from xdummy union select 0,'Nein' from xdummy^hidden^<<SQL>> select 1,'Ja' from xdummy^
44175^tablestylesheet^121^0^0^100^200^1^char^200^1^1^<<SQL>> select distinct filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44160^ ^<<SQL>> select filename,X.caption from sx_stylesheets X,sx_mask_style S where X.tid=S.stylesheet_id and S.maskeninfo_id=44160 order by ord limit 1^
44176^Ausgabeformat^2001^0^0^100^150^1^char^200^1^1^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and nature::smallint<100 order by nature::smallint^hidden^<<SQL>> select element_value,description from menu_element where element='Ausgabeformat' and description='HTML'^
44177^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44160 order by 2;^^<<SQL>> select tid, caption from viz_chart where maskeninfo_id=44160 order by 2 limit 1^
44178^##line##^30^0^0^100^100^1^char^5000^0^8^^ ^1^
44179^##line##^40^0^0^100^100^1^char^5000^0^8^^ ^1^

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

@ -0,0 +1 @@ @@ -0,0 +1 @@
44160^120^

19
src-modules/module/viz/masken/44160_masken_felder_bez.unl

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
44160^44160^
44160^44161^
44160^44162^
44160^44163^
44160^44164^
44160^44165^
44160^44166^
44160^44167^
44160^44168^
44160^44169^
44160^44171^
44160^44172^
44160^44173^
44160^44174^
44160^44175^
44160^44176^
44160^44177^
44160^44178^
44160^44179^

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

@ -0,0 +1 @@ @@ -0,0 +1 @@
44160^Übergang Bachelor/Master (Flussdiagramm)^<sximport>select select_stmt from maskeninfo where tid=30190</sximport>^<sximport>select xil_proplist from maskeninfo where tid=30190</sximport>^Altersgruppe^Anzahl^Übergang Bachelor-Master als Flussdiagramm (Sankey)^<sximport>select cleanup_stmt from maskeninfo where tid=30190</sximport>^^3^700^360^^1^^

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

@ -0,0 +1 @@ @@ -0,0 +1 @@
120^44160^

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

@ -1,16 +1,5 @@ @@ -1,16 +1,5 @@
<#include "MAN_MAKROS"/><sqlvars> <sqlvar name="entries" type="hash">select R.catalogue_id,K.shortname,timeunit,sqlchunk,calcratio,decimalplaces,linksub,linktimeline,R.report_id,R.sortnr, R.sortnr2,R.grouping1,G.caption as group_caption from man_catalogue K,man_catalogue_rpt R left outer join man_grouping G on (G.id=R.grouping1) where K.id=R.catalogue_id and R.active=1 and K.id not in ('Bewerber') order by R.sortnr, R.sortnr2 </sqlvar>
<sqlvar name="commonChartProperties" type="hash">
SELECT tid,
caption,
prop_uniquename,
prop_default,
prop_unit
FROM viz_property
where is_generic=1
;
</sqlvar>
<sqlvar name="commonChartProperties" type="hash">
SELECT
P.tid,
P.caption,
@ -24,8 +13,8 @@ P.explanation, @@ -24,8 +13,8 @@ P.explanation,
P.sortnr,
P.range_from,
P.range_to,
T.caption as input_type_caption,
T.uniquename as input_type_uniquename,
I.caption as input_type_caption,
I.uniquename as input_type_uniquename,
G.caption as group_caption,
G.sortnr as group_sortnr,
G.uniquename as group_uniquename,
@ -35,12 +24,12 @@ PR.variable_name, @@ -35,12 +24,12 @@ PR.variable_name,
P.prop_value_type,
P.is_generic
FROM viz_property_input_type T, viz_property P left outer join viz_property_group G
FROM viz_property_input_type I, viz_property P left outer join viz_property_group G
on (P.property_group_id=G.tid)
left outer join viz_property_group_renderer GR on (GR.property_group_id=G.tid)
left outer join viz_renderer R on (R.tid=GR.renderer_id)
left outer join viz_property_renderer PR on (P.tid=PR.property_id)
where T.tid=P.input_type_id
where I.tid=P.input_type_id
--and P.is_generic=1
order by G.sortnr,G.uniquename,P.sortnr,P.caption
;
@ -70,14 +59,29 @@ order by 3 @@ -70,14 +59,29 @@ order by 3
<sqlvar name="viz_type_properties" type="hash">
SELECT T.tid,
T.uniquename as viz_type_uniquename,
P.prop_uniquename,
P.caption,
P.prop_uniquename,
P.prop_default,
P.prop_unit,
P.is_generic,
P.static_values,
P.is_mandatory,
P.explanation,
P.sortnr,
P.range_from,
P.range_to,
I.caption as input_type_caption,
I.uniquename as input_type_uniquename,
G.uniquename as viz_property_group_uniquename,
TP.is_mandatory,
TP.sortnr
FROM viz_type T, viz_type_property TP, viz_property P, viz_property_group G
TP.sortnr,
P.prop_value_type,
P.is_generic
FROM viz_type T, viz_type_property TP, viz_property P,
viz_property_input_type I, viz_property_group G
where T.tid=TP.viz_type_id
and P.tid=TP.viz_property_id
and I.tid=P.input_type_id
and G.tid=P.property_group_id
order by 2,TP.sortnr,P.caption
;
@ -163,7 +167,15 @@ order by 3 @@ -163,7 +167,15 @@ order by 3
viz_type_uniquename="${tp.viz_type_uniquename}"
viz_property_group_uniquename="${tp.viz_property_group_uniquename}"
is_mandatory="${tp.is_mandatory}"
sortnr="${tp.sortnr}"
prop_default="${tp.prop_default}"
static_values="${tp.static_values}"
input_type_uniquename="${tp.input_type_uniquename}"
prop_unit="${tp.prop_unit}"
prop_range_from="${tp.range_from}"
prop_range_to="${tp.range_to}"
propValueType="${tp.prop_value_type}"
explanation="${tp.explanation}"
isGeneric="${tp.is_generic}"
/>
</#foreach>
</#if>

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

@ -3,10 +3,16 @@ @@ -3,10 +3,16 @@
--Bitte nur Freemarker Variablen füllen
<#assign masken = [
{"mask":"30220", "filename":"viz_html_chart_sankey.xsl", "ord":"120"},
{"mask":"30220", "filename":"30220_html_chart_sankey.xsl", "ord":"130"},
{"mask":"44070", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44070", "filename":"viz_html_chart_viewer.xsl", "ord":"1"}
{"mask":"44070", "filename":"viz_html_chart_viewer_grid.xsl", "ord":"1"},
{"mask":"44100", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44100", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"10"},
{"mask":"44100", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44130", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44130", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer.xsl", "ord":"1"},
{"mask":"44160", "filename":"tabelle_html_datenblatt.xsl", "ord":"20"},
{"mask":"44160", "filename":"viz_html_chart_viewer_mask.xsl", "ord":"30"}
] />
@ -18,28 +24,13 @@ @@ -18,28 +24,13 @@
"contenttype":"text/html",
"is_generic":"1"
},
{"filename":"viz_html_chart_sankey.xsl", "caption":"Übergangsdiagramm (Sankey-Diagramm)", "description":"Kreuztabelle Studienanfänger MA und vorheriger BA", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"30220_html_chart_sankey.xsl", "caption":"Übergangsdiagramm-Viewer(Sankey-Diagramm)", "description":"Kreuztabelle Studienanfänger MA und vorheriger BA", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"1"},
{"filename":"tabelle_html_viz.xsl", "caption":"Tabelle + Visualisierung", "description":"Viewer-Stylesheet für Tabellen und VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"1"}
{"filename":"viz_html_chart_viewer_grid.xsl", "caption":"Dashboard", "description":"Viewer-Stylesheet für VIZ Charts in einer Kachelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer_mask.xsl", "caption":"Diagramm + Maskenfelder", "description":"Viewer-Stylesheet für VIZ Charts mit Maskenfeldern", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"tabelle_html_viz.xsl", "caption":"Tabelle + Visualisierung", "description":"Viewer-Stylesheet für Tabellen und VIZ Charts", "relation":"table", "contenttype":"text/html","is_generic":"0"},
{"filename":"viz_html_chart_viewer.xsl", "caption":"Diagramm-Viewer (einfach)", "description":"Viewer-Stylesheet für VIZ Charts in einer Einzelansicht ", "relation":"table", "contenttype":"text/html","is_generic":"0"}
] />
<#assign stylesheet_field = [
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschluss"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlussart"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlusstyp"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlussart"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschluss"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlusstyp"},
{"filename":"viz_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"summe"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschluss"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlussart"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"abschluss_vorher_abschlusstyp"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlussart"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschluss"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"einschr_nachher_abschlusstyp"},
{"filename":"30220_html_chart_sankey.xsl", "tablename":"erfolg_ba_ma_uebergang", "fieldname":"summe"}
] />
--Hier eventuell notwendige delete's auf die Tabellen sx_mask_style, sx_stylesheets oder stylesheet_field einfügen.

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

@ -7,3 +7,40 @@ @@ -7,3 +7,40 @@
8^STUD_ENTW_SEM_STAAT_LINE_1HS^Studienanfänger_innen 1. HS nach Nationalität^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"7","nr":8,"name":"Tab. 8","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"7","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_staat_inl_ausl_lang"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Nationalität"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":7,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^
7^STUD_ENTW_SEM_GESCHL_LINE_1HS^Studienanfänger_innen 1. HS nach Geschlecht^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"6","nr":7,"name":"Tab. 7","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"6","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"sos_stg_aggr_geschlecht_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Geschlecht"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":6,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^
9^STUD_ENTW_SEM_ABSCHLUSS_LINE_1HS^Studienanfänger_innen 1. HS nach Abschlussart^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"8","nr":9,"name":"Tab. 9","isDefault":true}],"targetDiv":"","chartElements":[{"nr":0,"vizTypeUniquename":"line","caption":"line","datasource":"8","elementTypeProperties":[{"nr":0,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_sem_rueck_beur_ein_str"},{"nr":0,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_summe"},{"nr":0,"vizTypePropertyUniquename":"stroke","caption":"Serien-Dimension","propertyValue":"dim_studiengang_abschlussart_str"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studienanfänger_innen 1. HS nach Abschlussart"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginTop","vizPropertyVariablename":"marginTop","propertyValue":"35","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"96","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"fontFamily","vizPropertyVariablename":"fontFamily","propertyValue":"system_ui","propUnit":""},{"name":"fontSize","vizPropertyVariablename":"fontSize","propertyValue":"12","propUnit":"px"},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Anzahl Studierende","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-30","propUnit":""},{"name":"scheme","vizPropertyVariablename":"scheme","propertyValue":"tableau10","propUnit":""},{"name":"legend","vizPropertyVariablename":"legend","propertyValue":"true","propUnit":""}],"dataTransformation":[{"tableId":8,"colname":"sos_stg_aggr_sem_rueck_beur_ein_str","colfunction":"switchWord1and2ff"}]}^ ^1^^^44070^ ^2^^^
11^STUD_ZEITR_BAR_LINE^Studierende Zeitreihe Balken- und Liniendiagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"}]},{"elemID":2,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag"},{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#2ec27e","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"gesamt","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
12^STUD_ZEITR_BAR_LINE_DOT^Studierende Zeitreihe Balken-, Linien- und Punktediagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"}]},{"elemID":2,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag"},{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs"}]},{"elemID":"3","vizTypeUniquename":"dot","caption":"dot","datasource":"0","elementTypeProperties":[{"nr":"3","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#1a5fb4","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"gesamt","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
14^STUD_ALTER_BOXPLOT_H^Studierende nach Alter Boxplot horizontal^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"box_x","caption":"box_x","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"sos_stg_aggr_alter","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"sos_stg_aggr_geschlecht_str","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#26a269","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#1c71d8","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"tip","caption":"Tooltip einschalten","propertyValue":"true","propertyType":"boolean"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende nach Alter"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"120","propUnit":""},{"name":"tip","vizPropertyVariablename":"tip","propertyValue":"true","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#26a269","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#1c71d8","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Geschlecht","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Alter","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"sos_stg_aggr_alter","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"sos_stg_aggr_geschlecht_str","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44130^ ^2^ ^ ^
15^ERFOLG_BA_MA_SANKEY^Bachelor-Master Übergang Sankey Diagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"d3js","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":1,"vizTypeUniquename":"sankey","caption":"sankey","datasource":"0","elementTypeProperties":[{"nr":1,"vizTypePropertyUniquename":"dimension1","caption":"Dimension 1","propertyValue":"erfolg_ba_ma_uebergang_abschluss_vorher_abschluss_str","propertyType":"string"},{"nr":1,"vizTypePropertyUniquename":"dimension2","caption":"Dimension 2","propertyValue":"erfolg_ba_ma_uebergang_einschr_nachher_abschluss_str","propertyType":"string"},{"nr":1,"vizTypePropertyUniquename":"measure1","caption":"Maß 1","propertyValue":"erfolg_ba_ma_uebergang_summe","propertyType":"string"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Übergang Bachelor/Master (Flussdiagramm)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"null_value_mask","vizPropertyVariablename":"null_value_mask","propertyValue":"Kein Master","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44160^ ^2^ ^ ^
13^STUD_ZEITR_BAR_LINE_DOT_TEXT^Studierende Zeitreihe Balken-, Linien,- Punktdiagramm mit Beschriftung^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}],"targetDiv":"","chartElements":[{"elemID":"1","vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[{"nr":"1","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},{"nr":"1","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#2ec27e","propertyType":"string"},\
{"nr":"1","vizTypePropertyUniquename":"sortchannel","caption":"Zusätzl. Sortierung","propertyValue":"rownr","propertyType":"string"}\
]},{"elemID":2,"vizTypeUniquename":"line","caption":"line","datasource":"0","elementTypeProperties":[{"nr":2,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag"},{"nr":2,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs"}]},{"elemID":"3","vizTypeUniquename":"dot","caption":"dot","datasource":"0","elementTypeProperties":[{"nr":"3","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#1a5fb4","propertyType":"string"},{"nr":"3","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]},{"elemID":"4","vizTypeUniquename":"text","caption":"text","datasource":"0","elementTypeProperties":[{"nr":"4","vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"text","caption":"Beschriftung","propertyValue":"ges_1fs","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#f8e45c","propertyType":"string"},{"nr":"4","vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#000000","propertyType":"string"}]}],"chartPropertiesUsed":[{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#dfe4f2","propUnit":""},{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#f8e45c","propUnit":""},{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#000000","propUnit":""},{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","propUnit":""},{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},{"name":"y","vizPropertyVariablename":"y","propertyValue":"ges_1fs","propUnit":""},{"name":"text","vizPropertyVariablename":"text","propertyValue":"ges_1fs","propUnit":""}],"dataTransformation":[]}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^
10^STUD_ZEITR_BAR^Studierende Zeitreihe Balkendiagramm^ ^{"version":"0.2b","id":1,"name":"","renderer":"plot","dataSources":[\
{"value":"0","nr":1,"name":"Tab. 1","isDefault":true}]\
,"targetDiv":"","chartElements":[\
{"elemID":1,"vizTypeUniquename":"bar_y","caption":"bar_y","datasource":"0","elementTypeProperties":[\
{"nr":1,"vizTypePropertyUniquename":"x","caption":"X-Achse","propertyValue":"eintrag","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"y","caption":"Y-Achse","propertyValue":"gesamt","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"stroke_static","caption":"Strichfarbe","propertyValue":"#000000","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"fill_static","caption":"Flächenfarbe","propertyValue":"#1a5fb4","propertyType":"string"},\
{"nr":1,"vizTypePropertyUniquename":"sortchannel","caption":"Sort.","propertyValue":"rownr","propertyType":"string"}]\
}]\
,"chartPropertiesUsed":[\
{"name":"caption","vizPropertyVariablename":"caption","propertyValue":"Studierende Zeitreihe (VIZ)"},\
{"name":"height","vizPropertyVariablename":"height","propertyValue":"450","propUnit":""},\
{"name":"width","vizPropertyVariablename":"width","propertyValue":"650","propUnit":""},\
{"name":"marginLeft","vizPropertyVariablename":"marginLeft","propertyValue":"100","propUnit":""},\
{"name":"marginBottom","vizPropertyVariablename":"marginBottom","propertyValue":"100","propUnit":""},\
{"name":"backgroundColor","vizPropertyVariablename":"backgroundColor","propertyValue":"#ffffff","propUnit":""},\
{"name":"color","vizPropertyVariablename":"color","propertyValue":"#000000","propUnit":""},\
{"name":"stroke_static","vizPropertyVariablename":"stroke_static","propertyValue":"#000000","propUnit":""},\
{"name":"fill_static","vizPropertyVariablename":"fill","propertyValue":"#1a5fb4","propUnit":""},\
{"name":"label_y","vizPropertyVariablename":"label","propertyValue":"Summe","propUnit":""},\
{"name":"line_y","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"label_x","vizPropertyVariablename":"label","propertyValue":"Semester","propUnit":""},\
{"name":"line_x","vizPropertyVariablename":"line","propertyValue":"true","propUnit":""},\
{"name":"tickRotate_x","vizPropertyVariablename":"tickRotate","propertyValue":"-45","propUnit":""},\
{"name":"scale_x","vizPropertyVariablename":"type","propertyValue":"band","propUnit":""},\
{"name":"x","vizPropertyVariablename":"x","propertyValue":"eintrag","propUnit":""},\
\
{"name":"y","vizPropertyVariablename":"y","propertyValue":"gesamt","propUnit":""}]\
,"dataTransformation":""}^ ^^25.08.2024^25.08.2024^44100^ ^2^ ^ ^

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

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
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.^305^^^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^
@ -20,8 +20,8 @@ @@ -20,8 +20,8 @@
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^0^2^22^Nur für Grafikelemente Balken und Linien: Farbtonschema für Serien.^303^^^string^
25^Farbtyp^type^^ ^0^einfarbig|mehrfarbig|zyklisch^0^2^20^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^
43^Farbsättigung^fillOpacity^^ ^0^ ^0^4^20^Deckkraft der Füllfarbe von Diagrammelementen^306^^^string^
45^Strichdicke^strokeWidth^^ ^0^ ^0^1^12^Strichdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^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^
@ -30,12 +30,12 @@ @@ -30,12 +30,12 @@
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^ ^608^^^string^
72^Y-Achse^y^^ ^0^ ^0^1^6^ ^608^^^string^
73^Maß 1^measure1^^ ^0^ ^0^1^6^ ^608^^^string^
76^Serien-Dimension^stroke^^ ^0^ ^0^1^5^ ^608^^^string^
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^ ^608^^^string^
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^
@ -49,8 +49,18 @@ @@ -49,8 +49,18 @@
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^1^5^ ^608^^^string^
96^Dimension 2^dimension2^^ ^0^ ^0^1^5^ ^608^^^string^
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^ ^ ^1^ ^0^1^21^Bittte Wertebereich mit [] eingeben, z.B. [0,100] für 0-100^1000^^^js^
99^X: Skala^scale_x^band^ ^1^linear|identity|point|band|time^0^2^18^ ^1000^^^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^

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

@ -3,3 +3,4 @@ @@ -3,3 +3,4 @@
3^COLOR^Farbauswahl^
4^RANGE^Schieberegler^
5^TEXTAREA^Großes Textfeld^
6^CHECKBOX^Ankreuzfeld^

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

@ -4,12 +4,10 @@ @@ -4,12 +4,10 @@
4^2^7^fontFamily^
5^2^6^fontSize^
6^2^1^height^
7^2^8^fill^
8^2^16^marginLeft^
9^2^11^tickRotate^
10^2^74^x^
11^2^75^y^
12^2^76^stroke^
14^2^24^scheme^
15^2^78^legend^
16^2^17^marginRight^
@ -22,9 +20,30 @@ @@ -22,9 +20,30 @@
23^2^86^label^
25^2^87^label^
26^2^84^tickRotate^
27^2^79^text^
28^2^93^line^
29^2^94^line^
30^1^97^null_value_mask^
31^2^98^domain^
32^2^99^type^
262^1^2^width^
263^1^1^height^
264^1^95^dimension1^
265^1^96^dimension2^
266^1^73^measure1^
268^2^70^x^
269^2^72^y^
270^2^76^stroke^
271^2^79^text^
272^2^109^sortchannel^
273^2^107^tip^
274^2^101^dx^
275^2^102^dy^
276^2^108^stroke_static^
277^2^8^fill^
278^2^103^ariaDescription^
279^2^104^className^
280^2^105^imageFilter^
281^2^43^fillOpacity^
282^2^106^opacity^
283^2^100^strokeDasharray^
284^2^45^strokeWidth^

24
src-modules/module/viz/schluesseltabellen/viz_type.unl

@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
1^bar_x^Balken (horizontal)^2^ ^ ^H^
2^bar_y^Balken (vertikal)^2^ ^ ^V^
3^line^Linien (vertikal)^2^ ^ ^V^
5^area_y^Flächen (vertikal)^2^^^V^
6^dot^Punkte (vertikal)^2^^^V^
7^box_x^Boxplot (horizontal)^2^ ^ ^H^
8^area_x^Flächen (horizontal)^2^^^H^
9^box_y^Boxplot (vertikal)^2^ ^ ^V^
10^text^Wertelabel^2^ ^ ^^
11^bar_x_d3^Balken (horizontal)^1^^^H^
12^sankey^Sankey^1^ ^^H^
13^worldmap^Weltkarte^1^ ^^H^
1^bar_x^Balkendiagramm (horizontal)^2^ ^ ^H^ ^^
2^bar_y^Balkendiagramm (vertikal)^2^ ^ ^V^ ^^
3^line^Linien (vertikal)^2^ ^ ^V^ ^^
5^area_y^Flächendiagramm (vertikal)^2^^^V^ ^^
6^dot^Punkte (vertikal)^2^^^V^ ^^
7^box_x^Boxplot (horizontal)^2^ ^ ^H^ ^^
8^area_x^Flächendiagramm (horizontal)^2^^^H^ ^^
9^box_y^Boxplot (vertikal)^2^ ^ ^V^ ^^
10^text^Wertelabel (vertikal)^2^ ^ ^V^ ^^
11^bar_x_d3^Balken (horizontal)^1^^^H^^^
12^sankey^Sankey^1^ ^^H^^^
13^worldmap^Weltkarte^1^ ^^H^^^

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

@ -0,0 +1,528 @@ @@ -0,0 +1,528 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<sqlvars>
<sqlvar name="renderer">
select tid from viz_renderer where uniquename='d3js';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"sankey", "caption":"Sankey",
"orientation":"H",
"description":"Horizontales Sankeydiagramm",
"explanation":""}
]
/>
<#assign viz_properties = [
{ "caption":"Dimension 1",
"prop_uniquename":"dimension1",
"explanation":"Dimension 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"608",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Dimension 2",
"prop_uniquename":"dimension2",
"explanation":"Dimension 2",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"609",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"Maß 1",
"prop_uniquename":"measure1",
"explanation":"Maß",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"CATEGORY",
"sortnr":"610",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
]
/>
<#assign viz_type_properties = [
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"dimension1",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"dimension2",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"measure1",
"is_mandatory":"1",
"sortnr":"20"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"fontSize",
"is_mandatory":"0",
"sortnr":"100"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"fontSize",
"is_mandatory":"0",
"sortnr":"100"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"fontFamily",
"is_mandatory":"0",
"sortnr":"110"},
{ "viz_type_uniquename":"sankey",
"viz_property_uniquename":"color",
"is_mandatory":"0",
"sortnr":"120"}
]
/>
<#assign viz_type_properties_general = [
]
/>
--ab hier nicht mehr ändern:
--Die Sortierunmmer ergibt sich aus der Reihenfolge
--daher hier mit Bedacht ändern:
<@create_temp_tables />
<@fill_viz_properties />
<#foreach viz_type in viz_types>
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>
<@drop_temp_tables />
<#macro fill_viz_type_properties_general viz_type_p>
select 'Befülle Grafikelement ${viz_type_p.caption}' from xdummy;
delete from tmp_viz_type;
insert into tmp_viz_type(tid,
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation,
explanation)
select T.tid,
'${viz_type_p.uniquename}',
'${viz_type_p.caption}',
${renderer},
'${viz_type_p.orientation}',
'${viz_type_p.explanation}'
from xdummy left outer join viz_type T on (
T.uniquename='${viz_type_p.uniquename}'
and T.renderer_id=${renderer}
)
;
insert into viz_type(
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation)
select uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation
from tmp_viz_type T
where T.tid is null;
update viz_type set
uniquename=T.uniquename,
caption=T.caption,
renderer_id=T.renderer_id,
-- srcpath,
-- method,
orientation=T.orientation,
explanation=T.explanation
from tmp_viz_type T
where T.tid=viz_type.tid
and viz_type.tid in (select distinct T.tid from tmp_viz_type);
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1)
;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
P.is_mandatory,
T.sortnr
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1;
</#macro>
<#macro fill_viz_type_properties viz_type_p>
<#foreach viz_prop in viz_type_properties>
<#if viz_prop.viz_type_uniquename==viz_type_p.uniquename >
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}') ;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
${viz_prop.is_mandatory},
${viz_prop.sortnr}
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}'
;
</#if>
</#foreach>
</#macro>
<#macro create_temp_tables>
CREATE temp TABLE tmp_viz_type
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
renderer_id integer,
srcpath varchar(255),
method varchar(255),
orientation char(1),
description text,
explanation text
);
CREATE temp TABLE tmp_viz_type_property
(
tid serial NOT NULL,
viz_type_id integer,
viz_property_id integer,
is_mandatory smallint DEFAULT 0,
sortnr smallint DEFAULT 0
);
CREATE temp TABLE tmp_viz_property_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_id integer NOT NULL,
variable_name varchar(255)
);
create temp table tmp_viz_property_group
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
sortnr integer
);
CREATE temp TABLE tmp_viz_property_group_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_group_id integer NOT NULL,
variable_name varchar(255)
);
CREATE temp TABLE tmp_viz_property
(
tid integer,
caption varchar(255),
prop_uniquename varchar(255),
prop_default varchar(255),
prop_unit varchar(255),
is_generic smallint DEFAULT 1,
static_values text,
is_mandatory smallint DEFAULT 0,
input_type_id integer DEFAULT 1,
input_type_uniquename varchar(255),
property_group_id integer,
property_group_uniquename varchar(255),
explanation text,
sortnr integer,
range_from integer,
range_to integer,
prop_value_type varchar(255) DEFAULT 'string'::character varying,
variable_name varchar(255),
is_general smallint
);
</#macro>
<#macro drop_temp_tables>
drop table tmp_viz_type;
drop table tmp_viz_property_group;
drop table tmp_viz_property;
drop table tmp_viz_type_property;
drop table tmp_viz_property_renderer;
drop table tmp_viz_property_group_renderer;
</#macro>
<#macro fill_viz_properties>
<#assign sortnr=0 />
<#foreach viz_prop in viz_properties>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
0 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
<#assign sortnr=1000 />
<#foreach viz_prop in viz_type_properties_general>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
1 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
update tmp_viz_property set input_type_id=T.tid
from viz_property_input_type T
where T.uniquename=tmp_viz_property.input_type_uniquename;
select 'Warnung: Property ohne input_type: ' || prop_uniquename
from tmp_viz_property
where input_type_id is null;
update tmp_viz_property set property_group_id=T.tid
from viz_property_group T
where T.uniquename=tmp_viz_property.property_group_uniquename;
select 'Warnung: Property ohne property_group: ' || prop_uniquename
from tmp_viz_property
where property_group_id is null;
--neue Datensätze:
insert into viz_property(
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type)
select
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type
from tmp_viz_property P
where P.tid is null;
update viz_property
set caption=T.caption,
--prop_uniquename,
prop_default=T.prop_default,
prop_unit=T.prop_unit,
is_generic=T.is_generic,
static_values=T.static_values,
is_mandatory=T.is_mandatory,
input_type_id=T.input_type_id,
property_group_id=T.property_group_id,
explanation=T.explanation,
sortnr=T.sortnr,
range_from=T.range_from,
range_to=T.range_to,
prop_value_type=T.prop_value_type
from tmp_viz_property T
where T.tid=viz_property.tid
and viz_property.tid in (select T.tid from tmp_viz_property T);
--renderer:
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer},P.tid
from tmp_viz_property P);
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer},P.tid
from tmp_viz_property P);
insert into viz_property_renderer(
renderer_id,
property_id,
variable_name)
select ${renderer},
P.tid,
case when P.variable_name !='' then P.variable_name else P.prop_uniquename end
from tmp_viz_property P;
</#macro>

833
src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql

@ -0,0 +1,833 @@ @@ -0,0 +1,833 @@
--Freemarker Template
<#include "SQL_lingua_franca"/>
<#include "SuperX_general"/>
<sqlvars>
<sqlvar name="renderer_plot_id">
select tid from viz_renderer where uniquename='plot';
</sqlvar>
</sqlvars>
<#assign viz_types = [
{"uniquename":"bar_x", "caption":"Balkendiagramm (horizontal)",
"orientation":"H",
"description":"Horizontales Balkendiagramm",
"explanation":""},
{"uniquename":"bar_y", "caption":"Balkendiagramm (vertikal)",
"orientation":"V",
"description":"Vertikales Balkendiagramm",
"explanation":""},
{"uniquename":"line", "caption":"Linien (vertikal)",
"orientation":"V",
"description":"Vertikales Liniendiagramm",
"explanation":""},
{"uniquename":"area_x", "caption":"Flächendiagramm (horizontal)",
"orientation":"H",
"description":"Horizontales Flächendiagramm",
"explanation":""},
{"uniquename":"area_y", "caption":"Flächendiagramm (vertikal)",
"orientation":"V",
"description":"Vertikales Flächendiagramm",
"explanation":""},
{"uniquename":"dot", "caption":"Punkte (vertikal)",
"orientation":"V",
"description":"Vertikales Punktdiagramm",
"explanation":""},
{"uniquename":"box_x", "caption":"Boxplot (horizontal)",
"orientation":"H",
"description":"Horizontales Boxplot",
"explanation":""},
{"uniquename":"box_y", "caption":"Boxplot (vertikal)",
"orientation":"V",
"description":"Vertikales Boxplot",
"explanation":""},
{"uniquename":"text", "caption":"Wertelabel (vertikal)",
"orientation":"V",
"description":"Wertelabel für vertikales Diagramm",
"explanation":""}
]
/>
<#assign viz_properties = [
{ "caption":"X-Achse",
"prop_uniquename":"x",
"explanation":"X-Achsendefinition",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Y-Achse",
"prop_uniquename":"y",
"explanation":"Y-Achsendefinition",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"Serien-Dimension",
"prop_uniquename":"stroke",
"explanation":"Serien-Dimension zusätzlich zu Achsen",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Beschriftung",
"prop_uniquename":"text",
"explanation":"Nur für Grafikelement Wertelabel",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Zusätzl. Sortierung",
"prop_uniquename":"sortchannel",
"explanation":"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.",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"CATEGORY",
"sortnr":"800",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
]
/>
<#assign viz_type_properties = [
{ "viz_type_uniquename":"bar_x",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"bar_x",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"bar_x",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"bar_y",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"bar_y",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"bar_y",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"line",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"line",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"line",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"dot",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"dot",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"dot",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"box_x",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"box_x",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"box_y",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"box_y",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"x",
"is_mandatory":"1",
"sortnr":"1"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"y",
"is_mandatory":"1",
"sortnr":"10"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"stroke",
"is_mandatory":"0",
"sortnr":"20"},
{ "viz_type_uniquename":"text",
"viz_property_uniquename":"text",
"is_mandatory":"0",
"sortnr":"30"}
]
/>
<#assign viz_type_properties_general = [
{ "caption":"Textuelle Beschreibung des Grafikelements",
"prop_uniquename":"ariaDescription",
"explanation":"für barrierearme Grafiken",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Strichfarbe",
"prop_uniquename":"stroke_static",
"explanation":"Strichfarbe (einfach)",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"COLOR",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"Flächenfarbe",
"prop_uniquename":"fill_static",
"explanation":"Nur für Grafikelemente Flächen und Balken. Füllfarbe.",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"COLOR",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string",
"variable_name":"fill"
},
{ "caption":"CSS-Klasse",
"prop_uniquename":"className",
"explanation":"Klassenname des Grafikelements für CSS-basierte Layouts",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
}
,
{ "caption":"CSS-Filter für Bilder",
"prop_uniquename":"imageFilter",
"explanation":"z.B. blur(5px)",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Offset (horizontal)",
"prop_uniquename":"dx",
"explanation":"Horizontales Offset des Grafikelements in Pixel",
"prop_default":"",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"integer"
},
{ "caption":"Offset (vertikal)",
"prop_uniquename":"dy",
"explanation":"Vertikales Offset des Grafikelements in Pixel",
"prop_default":"",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"integer"
},
{ "caption":"Deckungsgrad Farbe",
"prop_uniquename":"fillOpacity",
"explanation":"Deckungsrad (opacity) zwischen 0 und 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"0",
"range_to":"1",
"prop_value_type":"string"
},
{ "caption":"Deckungsgrad Objekt",
"prop_uniquename":"opacity",
"explanation":"Deckungsrad (opacity) des Grafikelements zwischen 0 und 1",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"0",
"range_to":"1",
"prop_value_type":"string"
},
{ "caption":"Strichlinie Abstand-Intervalle",
"prop_uniquename":"strokeDasharray",
"explanation":"Abstand von Bindestrichen (Komma-separierte Pixel), z.B. [10,5] für 10 und dann 5 Pixel Abstand",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"string"
},
{ "caption":"Strichlinie Breite",
"prop_uniquename":"strokeWidth",
"explanation":"Strichbreite in Pixel",
"prop_default":"",
"prop_unit":"px",
"is_generic":"0",
"static_values":"",
"is_mandatory":"0",
"input_type_uniquename":"TEXT",
"property_group_uniquename":"STYLE",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"integer"
}
,
{ "caption":"Tooltip einschalten",
"prop_uniquename":"tip",
"explanation":"Sollen implizite Tooltips angezeigt werden (true,false)",
"prop_default":"",
"prop_unit":"",
"is_generic":"0",
"static_values":"true|false",
"is_mandatory":"0",
"input_type_uniquename":"SELECT",
"property_group_uniquename":"LAYOUT",
"sortnr":"",
"range_from":"",
"range_to":"",
"prop_value_type":"boolean"
}
] />
--ab hier nicht mehr ändern:
--Die Sortierunmmer ergibt sich aus der Reihenfolge
--daher hier mit Bedacht ändern:
<@create_temp_tables />
<@fill_viz_properties />
<#foreach viz_type in viz_types>
<@fill_viz_type_properties_general viz_type_p=viz_type />
<@fill_viz_type_properties viz_type_p=viz_type />
</#foreach>
<@drop_temp_tables />
<#macro fill_viz_type_properties_general viz_type_p>
select 'Befülle Grafikelement ${viz_type_p.caption}' from xdummy;
delete from tmp_viz_type;
insert into tmp_viz_type(tid,
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation,
explanation)
select T.tid,
'${viz_type_p.uniquename}',
'${viz_type_p.caption}',
${renderer_plot_id},
'${viz_type_p.orientation}',
'${viz_type_p.explanation}'
from xdummy left outer join viz_type T on (
T.uniquename='${viz_type_p.uniquename}'
and T.renderer_id=${renderer_plot_id}
)
;
insert into viz_type(
uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation)
select uniquename,
caption,
renderer_id,
-- srcpath,
-- method,
orientation
from tmp_viz_type T
where T.tid is null;
update viz_type set
uniquename=T.uniquename,
caption=T.caption,
renderer_id=T.renderer_id,
-- srcpath,
-- method,
orientation=T.orientation,
explanation=T.explanation
from tmp_viz_type T
where T.tid=viz_type.tid
and viz_type.tid in (select distinct T.tid from tmp_viz_type);
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1)
;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
P.is_mandatory,
T.sortnr
from tmp_viz_property T,viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename=T.prop_uniquename
and T.is_general=1;
</#macro>
<#macro fill_viz_type_properties viz_type_p>
<#foreach viz_prop in viz_type_properties>
<#if viz_prop.viz_type_uniquename==viz_type_p.uniquename >
delete from viz_type_property
where (viz_type_id,
viz_property_id)
in (select Y.tid as viz_type_id,
P.tid as viz_property_id
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}') ;
insert into viz_type_property(
viz_type_id,
viz_property_id,
is_mandatory,
sortnr)
select Y.tid as viz_type_id,
P.tid as viz_property_id,
${viz_prop.is_mandatory},
${viz_prop.sortnr}
from viz_type Y, viz_property P
where Y.uniquename='${viz_type_p.uniquename}'
and Y.renderer_id=${renderer_plot_id}
and P.prop_uniquename='${viz_prop.viz_property_uniquename}'
;
</#if>
</#foreach>
</#macro>
<#macro create_temp_tables>
CREATE temp TABLE tmp_viz_type
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
renderer_id integer,
srcpath varchar(255),
method varchar(255),
orientation char(1),
description text,
explanation text
);
CREATE temp TABLE tmp_viz_type_property
(
tid serial NOT NULL,
viz_type_id integer,
viz_property_id integer,
is_mandatory smallint DEFAULT 0,
sortnr smallint DEFAULT 0
);
CREATE temp TABLE tmp_viz_property_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_id integer NOT NULL,
variable_name varchar(255)
);
create temp table tmp_viz_property_group
(
tid serial NOT NULL,
uniquename varchar(255) NOT NULL,
caption varchar(255),
sortnr integer
);
CREATE temp TABLE tmp_viz_property_group_renderer
(
tid serial NOT NULL,
renderer_id integer NOT NULL,
property_group_id integer NOT NULL,
variable_name varchar(255)
);
CREATE temp TABLE tmp_viz_property
(
tid integer,
caption varchar(255),
prop_uniquename varchar(255),
prop_default varchar(255),
prop_unit varchar(255),
is_generic smallint DEFAULT 1,
static_values text,
is_mandatory smallint DEFAULT 0,
input_type_id integer DEFAULT 1,
input_type_uniquename varchar(255),
property_group_id integer,
property_group_uniquename varchar(255),
explanation text,
sortnr integer,
range_from integer,
range_to integer,
prop_value_type varchar(255) DEFAULT 'string'::character varying,
variable_name varchar(255),
is_general smallint
);
</#macro>
<#macro drop_temp_tables>
drop table tmp_viz_type;
drop table tmp_viz_property_group;
drop table tmp_viz_property;
drop table tmp_viz_type_property;
drop table tmp_viz_property_renderer;
drop table tmp_viz_property_group_renderer;
</#macro>
<#macro fill_viz_properties>
<#assign sortnr=0 />
<#foreach viz_prop in viz_properties>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
0 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
<#assign sortnr=1000 />
<#foreach viz_prop in viz_type_properties_general>
<#assign sortnr=sortnr+100 />
insert into tmp_viz_property(tid,
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_uniquename,
property_group_uniquename,
explanation,
sortnr,
range_from,
range_to,
prop_value_type,
variable_name,
is_general)
select P.tid,
'${viz_prop.caption}',
'${viz_prop.prop_uniquename}',
'${viz_prop.prop_default}',
'${viz_prop.prop_unit}',
${viz_prop.is_generic},
'${viz_prop.static_values}',
${viz_prop.is_mandatory},
'${viz_prop.input_type_uniquename}',
'${viz_prop.property_group_uniquename}',
'${viz_prop.explanation}',
${sortnr},
val('${viz_prop.range_from}'),
val('${viz_prop.range_to}'),
'${viz_prop.prop_value_type}',
<#if viz_prop.variable_name?exists>
'${viz_prop.variable_name}',
<#else>
'',
</#if>
1 as is_general
from xdummy left outer join viz_property P
on (P.prop_uniquename='${viz_prop.prop_uniquename}')
;
</#foreach>
update tmp_viz_property set input_type_id=T.tid
from viz_property_input_type T
where T.uniquename=tmp_viz_property.input_type_uniquename;
select 'Warnung: Property ohne input_type: ' || prop_uniquename
from tmp_viz_property
where input_type_id is null;
update tmp_viz_property set property_group_id=T.tid
from viz_property_group T
where T.uniquename=tmp_viz_property.property_group_uniquename;
select 'Warnung: Property ohne property_group: ' || prop_uniquename
from tmp_viz_property
where property_group_id is null;
--neue Datensätze:
insert into viz_property(
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type)
select
caption,
prop_uniquename,
prop_default,
prop_unit,
is_generic,
static_values,
is_mandatory,
input_type_id,
property_group_id,
explanation,
sortnr,
range_from,
range_to,
prop_value_type
from tmp_viz_property P
where P.tid is null;
update viz_property
set caption=T.caption,
--prop_uniquename,
prop_default=T.prop_default,
prop_unit=T.prop_unit,
is_generic=T.is_generic,
static_values=T.static_values,
is_mandatory=T.is_mandatory,
input_type_id=T.input_type_id,
property_group_id=T.property_group_id,
explanation=T.explanation,
sortnr=T.sortnr,
range_from=T.range_from,
range_to=T.range_to,
prop_value_type=T.prop_value_type
from tmp_viz_property T
where T.tid=viz_property.tid
and viz_property.tid in (select T.tid from tmp_viz_property T);
--renderer:
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer_plot_id},P.tid
from tmp_viz_property P);
delete from viz_property_renderer
where (renderer_id, property_id)
in (select ${renderer_plot_id},P.tid
from tmp_viz_property P);
insert into viz_property_renderer(
renderer_id,
property_id,
variable_name)
select ${renderer_plot_id},
P.tid,
case when P.variable_name !='' then P.variable_name else P.prop_uniquename end
from tmp_viz_property P;
</#macro>

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

@ -1,388 +1,153 @@ @@ -1,388 +1,153 @@
1^1^70^1^1^
3^1^72^1^10^
8^2^70^1^0^
9^2^72^1^10^
10^3^70^1^0^
12^5^70^1^0^
13^3^72^1^10^
15^5^72^1^10^
16^6^70^1^0^
17^6^72^1^10^
20^1^76^0^20^
22^2^76^0^20^
24^5^76^0^20^
26^3^76^0^20^
27^6^76^0^20^
33^7^70^1^0^
34^7^72^0^0^
35^9^70^0^0^
36^9^72^1^0^
37^8^76^0^20^
38^8^72^1^10^
39^8^70^1^0^
41^10^70^0^0^
42^10^72^0^10^
43^10^76^0^20^
44^11^95^1^0^
45^11^73^1^0^
46^12^73^1^20^
47^12^95^1^1^
48^12^96^1^10^
49^1^3^0^^
50^1^4^0^201^
51^1^5^0^202^
52^1^6^0^204^
53^1^7^0^203^
54^1^8^0^305^
55^1^11^0^604^
56^1^12^0^605^
57^1^13^0^603^
58^1^15^0^601^
59^1^16^0^103^
60^1^17^0^104^
61^1^18^0^105^
62^1^19^0^106^
63^1^20^0^107^
64^1^21^0^108^
65^1^22^0^109^
66^1^23^0^110^
67^1^25^0^302^
68^1^43^0^306^
69^1^45^0^308^
70^1^56^0^401^
71^1^57^0^402^
72^1^58^0^403^
73^1^60^0^304^
74^1^61^0^301^
75^1^63^0^602^
76^1^68^0^607^
77^1^69^0^608^
78^1^81^0^602^
79^1^82^0^601^
80^1^83^0^603^
81^1^84^0^604^
82^1^85^0^605^
83^1^86^0^602^
84^1^87^0^602^
85^1^93^0^602^
86^1^94^0^602^
87^2^3^0^^
88^2^4^0^201^
89^2^5^0^202^
90^2^6^0^204^
91^2^7^0^203^
92^2^8^0^305^
93^2^11^0^604^
94^2^12^0^605^
95^2^13^0^603^
96^2^15^0^601^
97^2^16^0^103^
98^2^17^0^104^
99^2^18^0^105^
100^2^19^0^106^
101^2^20^0^107^
102^2^21^0^108^
103^2^22^0^109^
104^2^23^0^110^
105^2^25^0^302^
106^2^43^0^306^
107^2^45^0^308^
108^2^56^0^401^
109^2^57^0^402^
110^2^58^0^403^
111^2^60^0^304^
112^2^61^0^301^
113^2^63^0^602^
114^2^68^0^607^
115^2^69^0^608^
116^2^81^0^602^
117^2^82^0^601^
118^2^83^0^603^
119^2^84^0^604^
120^2^85^0^605^
121^2^86^0^602^
122^2^87^0^602^
123^2^93^0^602^
124^2^94^0^602^
125^3^3^0^^
126^3^4^0^201^
127^3^5^0^202^
128^3^6^0^204^
129^3^7^0^203^
130^3^8^0^305^
131^3^11^0^604^
132^3^12^0^605^
133^3^13^0^603^
134^3^15^0^601^
135^3^16^0^103^
136^3^17^0^104^
137^3^18^0^105^
138^3^19^0^106^
139^3^20^0^107^
140^3^21^0^108^
141^3^22^0^109^
142^3^23^0^110^
143^3^25^0^302^
144^3^43^0^306^
145^3^45^0^308^
146^3^56^0^401^
147^3^57^0^402^
148^3^58^0^403^
149^3^60^0^304^
150^3^61^0^301^
151^3^63^0^602^
152^3^68^0^607^
153^3^69^0^608^
154^3^81^0^602^
155^3^82^0^601^
156^3^83^0^603^
157^3^84^0^604^
158^3^85^0^605^
159^3^86^0^602^
160^3^87^0^602^
161^3^93^0^602^
162^3^94^0^602^
163^5^3^0^^
164^5^4^0^201^
165^5^5^0^202^
166^5^6^0^204^
167^5^7^0^203^
168^5^8^0^305^
169^5^11^0^604^
170^5^12^0^605^
171^5^13^0^603^
172^5^15^0^601^
173^5^16^0^103^
174^5^17^0^104^
175^5^18^0^105^
176^5^19^0^106^
177^5^20^0^107^
178^5^21^0^108^
179^5^22^0^109^
180^5^23^0^110^
181^5^25^0^302^
182^5^43^0^306^
183^5^45^0^308^
184^5^56^0^401^
185^5^57^0^402^
186^5^58^0^403^
187^5^60^0^304^
188^5^61^0^301^
189^5^63^0^602^
190^5^68^0^607^
191^5^69^0^608^
192^5^81^0^602^
193^5^82^0^601^
194^5^83^0^603^
195^5^84^0^604^
196^5^85^0^605^
197^5^86^0^602^
198^5^87^0^602^
199^5^93^0^602^
200^5^94^0^602^
201^6^3^0^^
202^6^4^0^201^
203^6^5^0^202^
204^6^6^0^204^
205^6^7^0^203^
206^6^8^0^305^
207^6^11^0^604^
208^6^12^0^605^
209^6^13^0^603^
210^6^15^0^601^
211^6^16^0^103^
212^6^17^0^104^
213^6^18^0^105^
214^6^19^0^106^
215^6^20^0^107^
216^6^21^0^108^
217^6^22^0^109^
218^6^23^0^110^
219^6^25^0^302^
220^6^43^0^306^
221^6^45^0^308^
222^6^56^0^401^
223^6^57^0^402^
224^6^58^0^403^
225^6^60^0^304^
226^6^61^0^301^
227^6^63^0^602^
228^6^68^0^607^
229^6^69^0^608^
230^6^81^0^602^
231^6^82^0^601^
232^6^83^0^603^
233^6^84^0^604^
234^6^85^0^605^
235^6^86^0^602^
236^6^87^0^602^
237^6^93^0^602^
238^6^94^0^602^
239^7^3^0^^
240^7^4^0^201^
241^7^5^0^202^
242^7^6^0^204^
243^7^7^0^203^
245^7^11^0^604^
246^7^12^0^605^
247^7^13^0^603^
248^7^15^0^601^
249^7^16^0^103^
250^7^17^0^104^
251^7^18^0^105^
252^7^19^0^106^
253^7^20^0^107^
254^7^21^0^108^
255^7^22^0^109^
256^7^23^0^110^
257^7^25^0^302^
258^7^43^0^306^
259^7^45^0^308^
260^7^56^0^401^
261^7^57^0^402^
262^7^58^0^403^
263^7^60^0^304^
264^7^61^0^301^
265^7^63^0^602^
266^7^68^0^607^
267^7^69^0^608^
268^7^81^0^602^
269^7^82^0^601^
270^7^83^0^603^
271^7^84^0^604^
272^7^85^0^605^
273^7^86^0^602^
274^7^87^0^602^
275^7^93^0^602^
276^7^94^0^602^
277^8^3^0^^
278^8^4^0^201^
279^8^5^0^202^
280^8^6^0^204^
281^8^7^0^203^
282^8^8^0^305^
283^8^11^0^604^
284^8^12^0^605^
285^8^13^0^603^
286^8^15^0^601^
287^8^16^0^103^
288^8^17^0^104^
289^8^18^0^105^
290^8^19^0^106^
291^8^20^0^107^
292^8^21^0^108^
293^8^22^0^109^
294^8^23^0^110^
295^8^25^0^302^
296^8^43^0^306^
297^8^45^0^308^
298^8^56^0^401^
299^8^57^0^402^
300^8^58^0^403^
301^8^60^0^304^
302^8^61^0^301^
303^8^63^0^602^
304^8^68^0^607^
305^8^69^0^608^
306^8^81^0^602^
307^8^82^0^601^
308^8^83^0^603^
309^8^84^0^604^
310^8^85^0^605^
311^8^86^0^602^
312^8^87^0^602^
313^8^93^0^602^
314^8^94^0^602^
315^9^3^0^^
316^9^4^0^201^
317^9^5^0^202^
318^9^6^0^204^
319^9^7^0^203^
321^9^11^0^604^
322^9^12^0^605^
323^9^13^0^603^
324^9^15^0^601^
325^9^16^0^103^
326^9^17^0^104^
327^9^18^0^105^
328^9^19^0^106^
329^9^20^0^107^
330^9^21^0^108^
331^9^22^0^109^
332^9^23^0^110^
333^9^25^0^302^
334^9^43^0^306^
335^9^45^0^308^
336^9^56^0^401^
337^9^57^0^402^
338^9^58^0^403^
339^9^60^0^304^
340^9^61^0^301^
341^9^63^0^602^
342^9^68^0^607^
343^9^69^0^608^
344^9^81^0^602^
345^9^82^0^601^
346^9^83^0^603^
347^9^84^0^604^
348^9^85^0^605^
349^9^86^0^602^
350^9^87^0^602^
351^9^93^0^602^
352^9^94^0^602^
353^10^3^0^^
354^10^4^0^201^
355^10^5^0^202^
356^10^6^0^204^
357^10^7^0^203^
358^10^8^0^305^
359^10^11^0^604^
360^10^12^0^605^
361^10^13^0^603^
362^10^15^0^601^
363^10^16^0^103^
364^10^17^0^104^
365^10^18^0^105^
366^10^19^0^106^
367^10^20^0^107^
368^10^21^0^108^
369^10^22^0^109^
370^10^23^0^110^
371^10^25^0^302^
372^10^43^0^306^
373^10^45^0^308^
374^10^56^0^401^
375^10^79^0^40^
376^10^58^0^403^
377^10^60^0^304^
378^10^61^0^301^
379^10^63^0^602^
380^10^68^0^607^
381^10^69^0^608^
382^10^81^0^602^
383^10^82^0^601^
384^10^83^0^603^
385^10^84^0^604^
386^10^85^0^605^
387^10^86^0^602^
388^10^87^0^602^
389^10^93^0^602^
390^10^94^0^602^
391^2^78^0^300^
392^2^24^0^400^
393^1^78^0^400^
394^1^24^0^410^
395^8^78^0^400^
396^8^24^0^410^
397^5^78^0^400^
398^5^24^0^410^
399^3^78^0^400^
400^3^24^0^410^
401^6^78^0^400^
402^6^24^0^410^
403^12^97^0^100^
404^12^6^10^0^
405^12^7^0^0^
406^12^5^20^0^
407^13^73^1^10^
408^13^95^1^1^
605^8^70^0^100^
606^8^72^0^200^
608^8^76^0^300^
610^5^70^0^100^
611^5^72^0^200^
613^5^76^0^300^
1693^12^97^0^100^
1695^12^95^1^1^
1696^12^96^1^10^
1697^12^73^1^20^
1699^12^6^0^100^
1700^12^7^0^110^
1701^12^5^0^120^
1702^2^109^0^900^
1703^1^109^0^800^
1704^7^109^0^800^
1705^9^109^0^800^
1706^8^109^0^800^
1707^5^109^0^800^
1708^1^108^0^1200^
1709^1^107^0^2200^
1710^1^101^0^1600^
1711^1^102^0^1700^
1712^1^8^0^1300^
1713^1^103^0^1100^
1714^1^105^0^1500^
1715^1^104^0^1400^
1716^1^43^0^1800^
1717^1^106^0^1900^
1718^1^100^0^2000^
1719^1^45^0^2100^
1720^1^70^1^1^
1721^1^72^1^10^
1722^1^76^0^20^
1723^2^108^0^1200^
1724^2^107^0^2200^
1725^2^101^0^1600^
1726^2^102^0^1700^
1727^2^8^0^1300^
1728^2^103^0^1100^
1729^2^105^0^1500^
1730^2^104^0^1400^
1731^2^43^0^1800^
1732^2^106^0^1900^
1733^2^100^0^2000^
1734^2^45^0^2100^
1735^2^70^1^1^
1736^2^72^1^10^
1737^2^76^0^20^
1738^3^108^0^1200^
1739^3^107^0^2200^
1740^3^101^0^1600^
1741^3^102^0^1700^
1742^3^8^0^1300^
1743^3^103^0^1100^
1744^3^105^0^1500^
1745^3^104^0^1400^
1746^3^43^0^1800^
1747^3^106^0^1900^
1748^3^100^0^2000^
1749^3^45^0^2100^
1750^3^70^1^1^
1751^3^72^1^10^
1752^3^76^0^20^
1753^8^108^0^1200^
1754^8^107^0^2200^
1755^8^101^0^1600^
1756^8^102^0^1700^
1757^8^8^0^1300^
1758^8^103^0^1100^
1759^8^105^0^1500^
1760^8^104^0^1400^
1761^8^43^0^1800^
1762^8^106^0^1900^
1763^8^100^0^2000^
1764^8^45^0^2100^
1765^5^108^0^1200^
1766^5^107^0^2200^
1767^5^101^0^1600^
1768^5^102^0^1700^
1769^5^8^0^1300^
1770^5^103^0^1100^
1771^5^105^0^1500^
1772^5^104^0^1400^
1773^5^43^0^1800^
1774^5^106^0^1900^
1775^5^100^0^2000^
1776^5^45^0^2100^
1777^6^108^0^1200^
1778^6^107^0^2200^
1779^6^101^0^1600^
1780^6^102^0^1700^
1781^6^8^0^1300^
1782^6^103^0^1100^
1783^6^105^0^1500^
1784^6^104^0^1400^
1785^6^43^0^1800^
1786^6^106^0^1900^
1787^6^100^0^2000^
1788^6^45^0^2100^
1789^6^70^1^1^
1790^6^72^1^10^
1791^6^76^0^20^
1792^7^108^0^1200^
1793^7^107^0^2200^
1794^7^101^0^1600^
1795^7^102^0^1700^
1796^7^8^0^1300^
1797^7^103^0^1100^
1798^7^105^0^1500^
1799^7^104^0^1400^
1800^7^43^0^1800^
1801^7^106^0^1900^
1802^7^100^0^2000^
1803^7^45^0^2100^
1804^7^70^1^1^
1805^7^72^1^10^
1806^9^108^0^1200^
1807^9^107^0^2200^
1808^9^101^0^1600^
1809^9^102^0^1700^
1810^9^8^0^1300^
1811^9^103^0^1100^
1812^9^105^0^1500^
1813^9^104^0^1400^
1814^9^43^0^1800^
1815^9^106^0^1900^
1816^9^100^0^2000^
1817^9^45^0^2100^
1818^9^70^1^1^
1819^9^72^1^10^
1820^10^108^0^1200^
1821^10^107^0^2200^
1822^10^101^0^1600^
1823^10^102^0^1700^
1824^10^8^0^1300^
1825^10^103^0^1100^
1826^10^105^0^1500^
1827^10^104^0^1400^
1828^10^43^0^1800^
1829^10^106^0^1900^
1830^10^100^0^2000^
1831^10^45^0^2100^
1832^10^70^1^1^
1833^10^72^1^10^
1834^10^76^0^20^
1835^10^79^0^30^
1836^3^109^0^800^
1837^10^109^0^800^

719
superx/xml/js/viz/viz_functions.js

File diff suppressed because it is too large Load Diff

420
superx/xml/viz_components.xsl

@ -263,13 +263,14 @@ vizTypes.push(newVizType); @@ -263,13 +263,14 @@ vizTypes.push(newVizType);
</xsl:for-each>
<xsl:text>
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,explanation)
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,propertyType,explanation)
{
this.propUniquename=propUniquename;
this.caption=caption;
this.groupUniquename=groupUniquename;
this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory;
this.propertyType=propertyType;
this.explanation=explanation;
}
@ -294,8 +295,9 @@ var newVizTypeProperty = new vizTypeProperty("</xsl:text> @@ -294,8 +295,9 @@ var newVizTypeProperty = new vizTypeProperty("</xsl:text>
<xsl:text>false</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>,""
);
<xsl:text>,"</xsl:text>
<xsl:value-of select="@propValueType" />
<xsl:text>","");
vizTypeProperties.push(newVizTypeProperty);
</xsl:text>
</xsl:for-each>
@ -533,4 +535,416 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]"> @@ -533,4 +535,416 @@ and (@renderer_uniquename='plot' or @renderer_uniquename='d3js') ]">
<script language="Javascript" type="text/javascript" src="{@srcpath}" />
</xsl:for-each>
</xsl:template>
<xsl:template name="modalCards" >
<xsl:for-each select="/ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<div class="modal modal-fx-3dSlit" id="{concat('modalCard',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-content is-huge is-image">
<!-- content -->
<div class="modal-content">
<div class="box" style="text-align:right">
<a href="{concat('javascript:closeModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
<div class="box">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
</div>
</div>
</div>
<div class="modal modal-fx-3dSlit" id="{concat('modalCardDetail',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-content is-tiny">
<div class="box" style="text-align:right">
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4>
<a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
<!-- content -->
<div class="card">
<div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@description"/></p>
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@varname" />
</xsl:otherwise>
</xsl:choose></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /></p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" />
</xsl:call-template>
</xsl:if>
</div>
<p align="right"><a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a></p>
</div>
</div>
</div>
</div>
</div>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-inverted is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>
<!-- Templates für Maskenfelder in Tabellen: -->
<xsl:template name="renderTableDialogs" >
<div class="card var(--bulma-card-background-color)" style="margin-top:5em;">
<form name="Weiterverarbeitung" method="post" target="_self" charset="UTF-8" action="SuperXmlTabelle">
<div class="card-content">
<input name="navi" type="hidden" value="{/ergebnisse/@showNavigation}" />
<input type="hidden" name="tid">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/makro/@id" /></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/maskenname/@id" /></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</input>
<input type="hidden" name="UserID"><xsl:attribute name="value"><xsl:value-of select="/ergebnisse/userID" /></xsl:attribute></input>
<input type="hidden" name="reuseresult" value="true"/> <!-- gecachte Ergebnis benutzen-->
<input type="hidden" name="maxoffset" value=""/> <!--im Normalfall wird Servleteinstellung genutzt - nur Druckversion übergibt Wert-->
<input type="hidden" name="offset">
<xsl:attribute name="value"><xsl:value-of select="/ergebnisse/ergebnis/ergebniselement/sqlerg/@offset" /></xsl:attribute>
</input>
<input type="hidden" name="stylesheet" value="" />
<input type="hidden" name="contenttype" value="" />
<!-- MB 5/2011 fuer Export nur sichtbarer Tabellenzeilen nach Excel/PDF -->
<input type="hidden" name="irowno" value="" />
<!-- Start Schleife alle Maskenfelder-->
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld">
<xsl:variable name="feldname"><xsl:value-of select="@varname" /></xsl:variable>
<xsl:variable name="feldnameEscaped"><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template></xsl:variable>
<xsl:variable name="feldart">
<xsl:call-template name="getFeldArt">
<xsl:with-param name="feldname" select="$feldname"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="feldHidden">
<xsl:call-template name="getFeldHidden">
<xsl:with-param name="feldname" select="$feldname"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="feldZeilenanzahl">
<xsl:call-template name="getFeldZeilenanzahl">
<xsl:with-param name="feldname" select="$feldname"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$feldname='##line##'">
<!-- do nothing-->
</xsl:when>
<xsl:when test="$feldHidden='true' or $feldname='tablestylesheet'">
<!--verstecktesFeld-->
<xsl:text disable-output-escaping="yes"><![CDATA[<input type="hidden" name="]]></xsl:text><xsl:value-of disable-output-escaping="no" select="@varname"/><xsl:text>" value="</xsl:text>
<xsl:value-of disable-output-escaping="no" select="value"/><xsl:text>"</xsl:text>
<xsl:text disable-output-escaping="yes"><![CDATA[</input>
]]></xsl:text>
</xsl:when>
<xsl:when test="$feldart='1' or $feldart='12'">
<xsl:call-template name="tabellenFeldComboOderSicht">
<xsl:with-param name="maskeninfo_id" select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/>
<xsl:with-param name="Feldname" select="$feldname"/>
<xsl:with-param name="FeldnameEscaped" select="$feldnameEscaped"/>
<xsl:with-param name="feldZeilenanzahl" select="$feldZeilenanzahl"/>
<xsl:with-param name="feldart" select="$feldart"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise><xsl:value-of select="concat('Feld ',$feldname,' ist nicht geeignet für Tabellenaufrufe')"/>
<br />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<div class="field">
<button class="button is-primary is-outlined" type="submit" onclick="document.forms['Weiterverarbeitung'].elements['reuseresult'].value='false';document.forms['Weiterverarbeitung'].elements['stylesheet'].value='tabelle_html_viz.xsl';return true;">
Neu laden...
</button>
<!--<input type="submit" class="sx_buttondiv_submit" value="Neu laden..." onclick="document.forms['Weiterverarbeitung'].elements['reuseresult'].value='false';document.forms['Weiterverarbeitung'].elements['stylesheet'].value='tabelle_html_viz.xsl';return true;" />-->
</div>
</div>
</form>
</div>
</xsl:template>
<xsl:template name="tabelleSicht">
<div dojoType="dialog" id="sichtdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="100"
closeNode="ok" style="z-index:1012;display:none">
<form name="treedlgform" onsubmit="return false;">
<center>
<table align="center" cellpadding="0">
<tr><td colspan="2" class="header" id="sichtElementName" align="center">Auswahl</td></tr>
<tr>
<td id="sicht" class="sichtstand" align="center"><b>Sicht:</b> ausgewählte Sicht</td><td id="sichtbutton" class="sichtstand"><input class="submit_pencil" id="Sichtauswahl" type="button" value="Sichtauswahl" onclick="sichtauswahl.show()"></input></td>
</tr>
<tr><td id="stand" class="sichtstand" align="center"><b>Stand:</b> 1.1.2007</td><td id="standbutton" class="sichtstand"><input class="submit_pencil" id="Standauswahl" type="button" value="ändern" onclick="dojo.widget.byId('Standeingabedlg').show();"></input></td>
</tr>
</table>
</center>
<div
dojoType="TreeSelectorV3"
widgetId="treeSelector"
allowedMulti="false"
id="treeSelector" eventNames="select:nodeSelected">
<xsl:text> </xsl:text>
</div>
<div dojoType="TreeEmphasizeOnSelect" selector="treeSelector"></div>
<div dojoType="memtext:TreeLoadingControllerSx" id="treeLoadingController" widgetId="treeLoadingController">
<xsl:attribute name="RPCUrl">/superx/servlet/SuperXmlMaske?tid=<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/maskenname/@id"/></xsl:attribute>
</div>
<div style="height:325px;overflow:scroll"><!-- IE needs non-dojo div vor scrolling-->
<div dojoType="memtext:MemTree" widgetId="selTree" id="selTree" listeners="treeLoadingController;treeSelector">
<div dojoType="TreeNodeV3" title="keine Auswahl möglich" ></div>
</div>
</div>
<br/>
<center>
<label id="sichthintmulti">Sie können einen oder mehrere Einträge auswählen (<a href="javascript:alert('Halten Sie beim Anklicken Strg gedrückt, um mehrere Einträge auszuwählen.');">Hinweis</a>)</label>
<p align="center">
<input type="button" class="submit"
onclick="document.getElementById('suchok').style.display='';document.getElementById('suchselect').style.display='none';document.getElementById('suchuebernehmen').style.display='none';dojo.widget.byId('suchdlg').show();"
value="Suchen"></input>&#160;
</p>
<p align="center">
<input type="button" id="abbrechen" class="submit" onclick="sichtdlg.hide();zeigeCombosIE6();" value="Abbrechen"></input>&#160;
<input type="button" id="ok" class="submit" onclick="maskeSichtauswahlUebernehmen();" value="OK"></input>&#160;&#160;&#160;&#160;&#160;
<input type="button" id="leeren" class="submit" onclick="dojo.widget.byId('treeSelector').deselectAll();maskeSichtauswahlUebernehmen();sichtdlg.hide();" value="Leeren"></input>
</p>
</center>
</form>
</div>
<div dojoType="dialog" id="sichtauswahl" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="100" closeNode="ok"
style="z-index:1014;display:none">
<h3 align="center">Sicht auswählen</h3>
<form name="sichtauswahlform">
<p align="center">
<select name="sichtselect">
<option value="-999">keine Auswahl möglich</option>
</select>
</p>
<p align="center">
<input type="button" class="clsButtonStyle" id="abbrechen2" onclick="sichtauswahl.hide()" value="Abbrechen">&#160;</input>
<input type="button" id="ok2" class="clsButtonStyle" onclick="maskeSichtAendern()" value="OK"></input>
</p>
</form>
</div>
<!-- end sicht -->
<!-- start suchdlg -->
<div dojoType="dialog" id="suchdlg" bgColor="darkgray" bgOpacity="0.7" toggle="fade" toggleDuration="100" style="z-index:1015;display:none">
<h3 align="center">Suche</h3>
<form name="suchform" onsubmit="return false;"> <!-- theoretisch könnte man form sogar weglassen, weil gar nicht gepostet werden soll -->
<p align="center">
<input type="text" id="suchtext" onkeypress="enterClicksButton('suchok',event)"></input>
</p>
<p align="center">
<select id="suchselect" size="10">
</select>
</p>
<p align="center">
<input type="button" class="clsButtonStyle" id="abbrechen" onclick="dojo.widget.byId('suchdlg').hide();" value="Abbrechen">&#160;</input>
<input type="button" id="suchok" class="clsButtonStyle" onclick="sichtEintraegeSuchen(document.getElementById('suchtext').value);" value="OK"></input>
<input type="button" id="suchuebernehmen" class="clsButtonStyle" onclick="dojo.widget.byId('suchdlg').hide();combodlg.hide();sichtdlg.hide();suchauswahlUebernehmen();" value="Übernehmen"></input>
</p>
</form>
</div>
<!-- end suchdlg -->
</xsl:template>
<xsl:template name="tabellenFeldComboOderSicht">
<xsl:param name="maskeninfo_id" />
<xsl:param name="Feldname" />
<xsl:param name="FeldnameEscaped" />
<xsl:param name="feldZeilenanzahl" select="1"/>
<xsl:param name="feldart" select="1"/>
<xsl:variable name="jsCall"><xsl:text>vizTabelleComboOderSichtLaden(</xsl:text>
<xsl:value-of select="$maskeninfo_id" />
<xsl:text>,'</xsl:text>
<xsl:value-of select="$Feldname"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="$Feldname"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="$FeldnameEscaped"/>
<xsl:text>',</xsl:text>
<xsl:value-of select="$feldZeilenanzahl"/>
<xsl:text>,'</xsl:text>
<xsl:value-of select="$feldart"/>
<xsl:text>');</xsl:text>
</xsl:variable>
<div class="field is-grouped">
<div class="label-container">
<p class="button-label">
<a class="button is-link is-outlined is-small is-fullwidth">
<xsl:attribute name="onClick">
<xsl:value-of select="$jsCall"/>
</xsl:attribute>
<xsl:value-of select="$Feldname"/></a>
</p>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<div class="field-body">
<p class="control-new ">
<input class="schluesselfeld" type="text" size="15" style="display:none" id="{$FeldnameEscaped}" name="{$Feldname}" tabindex="511">
<xsl:attribute name="value"><xsl:value-of select="/*/*/felder/feld [@varname = $Feldname]/value"/></xsl:attribute>
</input>
<input class="input is-small is-fullwidth" 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>
</input>
<xsl:if test="$feldart='12'">
<input type="hidden">
<xsl:attribute name="value">
<xsl:choose>
<xsl:when test="../../felder/feld[@varname=$Feldname]/@stand !=''">
<xsl:value-of select="../../felder/feld[@varname=$Feldname]/@stand"/>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="value"><xsl:value-of select="'01.01.2024'"/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="concat($Feldname,'-Stand')"/>
</xsl:attribute>
</input>
<input type="hidden">
<xsl:attribute name="name">
<xsl:value-of select="concat($Feldname,'-Sicht')"/>
</xsl:attribute>
<xsl:attribute name="value">
<xsl:value-of select="../../felder/feld[@varname=$Feldname]/sicht/@name_intern"/>
</xsl:attribute>
</input>
</xsl:if>
</p>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<!--<span class="info" onclick="window.open('https://super-ics.de/superx/doku/kern_modul/admin/f_Patcheinspielen.htm','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660'); ">
<figure class="image is-24x24">
<img src="../images/information_grey_liberation.svg" />
</figure>
</span>-->
</div>
</div>
</xsl:template>
<xsl:template name="getFeldArt">
<xsl:param name="feldname" />
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@varname=$feldname]/@art"/>
</xsl:template>
<xsl:template name="getFeldHidden">
<xsl:param name="feldname" />
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@varname=$feldname]/@hidden"/>
</xsl:template>
<xsl:template name="getFeldZeilenanzahl">
<xsl:param name="feldname" />
<xsl:value-of select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@varname=$feldname]/@zeilenanzahl"/>
</xsl:template>
<xsl:template name="tableMaskenfelderJS">
<script language="Javascript"><xsl:text><![CDATA[
var felder = new Array();
]]></xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/completefields/feld">
<xsl:text>felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]= new Object();
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["htmlname"]='</xsl:text><xsl:value-of select="@varname"/><xsl:text>';
felder[</xsl:text><xsl:value-of select="position()" /><xsl:text>]["name"]='</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="@varname"/></xsl:with-param></xsl:call-template><xsl:text>';
</xsl:text>
</xsl:for-each>
</script>
</xsl:template>
</xsl:stylesheet>

189
superx/xml/viz_html_chart.xsl

@ -1,72 +1,89 @@ @@ -1,72 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="xsl_functions.xsl" />
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="menue_html_dojo.xsl" />
<xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:call-template name="table"/>
</xsl:template>
<!-- start table main-->
<xsl:template name="table">
<html>
<xsl:choose>
<xsl:when test="/ergebnisse/@hisinone_active='true'">
<xsl:call-template name="head_hisinone_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="tableJavascript_viz"></xsl:call-template>
<!-- start Body-->
<body onload="document.getElementById('progressbar').style.display='none';"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript -->
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA">
<p>&#160;<b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="menuFrame" />
</xsl:for-each>
</xsl:if>
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute>
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="topbar_menue" />
</xsl:for-each>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';tableonload();initThemenbaumJs();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute>
</xsl:if>
<xsl:call-template name="viz_canvas"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div>
</div>
<xsl:call-template name="footer" />
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
</body>
<!-- end body -->
</html>
@ -91,9 +108,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -91,9 +108,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<div class="columns is-mobile is-left">
<!--<div class="columns is-mobile is-left">
<div class="card has-background-light">
<div class="card-content">
<div class="card-content">-->
<p class="title is-4">Konfigurationsassistent Datenvisualisierung</p>
<!--Beginn NavTabs-->
@ -131,9 +148,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -131,9 +148,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</div><!--tab-content -->
</div> <!-- card-content -->
</div><!--card -->
</div> <!-- column -->
</section>
</xsl:for-each>
</xsl:template>
@ -289,8 +304,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -289,8 +304,8 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--footer-->
<footer class="card-footer">
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" onclick="selectionResultPreview('selectionResultPreviewTable');">Daten-Vorschau</button></p>-->
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit">Speichern</button></p>
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit">Speichern</button></p>
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset">Zurücksetzen</button></p>-->
</footer>
</xsl:template>
@ -350,6 +365,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -350,6 +365,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!-- Beginn Grafikelemente+ Vorschau-->
<div class="columns">
<div class="column is-four-fifth">
<!-- Box Grafikelemente -->
<div class="field is-grouped">
<div class="label-container">
@ -369,30 +387,49 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -369,30 +387,49 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<div id="ChartElementsDiv" style="display:none" class="box">
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small">Grafikelemente-Set</label>
</div>
<!--<div id="ChartElementListDiv"></div>-->
<div id="ChartElementListFooterDiv"><!--Elemente:--> <input class="is-small" type="text" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
<div class="label-container" lang="de"><span class="labelNormal has-tooltip-bottom" data-tooltip="Nur für Grafiktool Plot: Übersicht Grafikelemente, wählen Sie ein Element zum Bearbeiten, oder erzeugen einen neuen Grafikelementtyp. Sie können auch mehrere erzeugen bzw. entfernen mit dem + bzw - Button">
Grafikelement</span></div>
<div class="control">
<div class="field"><div class="control is-expanded">
<div class="select is-small is-fullwidth is-focused">
<select id="chartElementID" name="chartElementID"
onchange="loadChartElementConfig(this);">
<option>Bitte fügen Sie ein Element ein</option>
</select>
<input class="is-small" type="hidden" size="1" name="vizElementCounter" id="vizElementCounter" value="0" readonly="readonly" style="background-color:#cccccc;"/>
</div>
</div>
<div class="control">
<a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value,null)">
<img src="../images/plus-circled.svg" width="12" height="12" title="Neues Element anlegen" />
</a>
<span class="separator">&#160;</span>
<a onClick="removeChartElementConfig()">
<img src="../images/minus-circled.svg" width="12" height="12" title="Letztes Element entfernen" />
</a>
</div>
</div>
<img src="../images/minus-circled.svg" width="12" height="12" title="Ausgewähltes Element entfernen" />
</a>
</div>
</div>
</div>
</div><!--ende Feld Grafikelemente-->
<!--<div id="ChartElementListDiv"></div>-->
<div id="ChartElementConfig1Div"> </div>
<div id="ChartElementConfig2Div"> </div>
</div> <!--Ende Grafikelemente-->
<!--Beginn Layoutmerkmale-->
<!--Beginn Layoutmerkmale-->
<div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Layoutmerkmale</strong></label>
<label class="label is-required is-small"><strong>Allgem. Layoutmerkmale</strong></label>
</div>
<span class="separator">&#160;</span>
@ -405,10 +442,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -405,10 +442,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
</a>
</div>
<div id="generalChartPropertiesFormDiv" style="display:none">
<div id="generalChartPropertiesFormDiv" class="box" style="display:none">
<div id="generalChartPropertiesFormElementsDiv"> </div>
</div>
</div>
<!--Beginn Quellcode-->
<div class="field is-grouped">
<div class="label-container">
@ -569,7 +605,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -569,7 +605,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<!--footer (BF nach unten verschoben)-->
<footer class="card-footer">
<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit" onClick="showSaveChartFormDiv('saveChartFormDiv','plot');">Speichern...</button></p>
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="submit" onClick="showSaveChartFormDiv('saveChartFormDiv','plot');">Speichern...</button></p>-->
<!--<p class="card-footer-item"><button class="button is-link is-outlined is-small" type="reset" onClick="return resetChartPropertiesForm('plot');">Zurücksetzen</button></p>-->
<div id="saveChartFormDiv" style="display:none">
<form name="saveChart" target="_blank" action="../edit/viz/viz_chart_erzeugen.jsp">
@ -620,7 +656,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util @@ -620,7 +656,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<input type="submit" class="button is-link is-outlined is-small" value="Speichern"></input>
<!--<input type="submit" class="button is-link is-outlined is-small" value="Speichern"></input>-->
</div>
@ -762,35 +798,6 @@ Stand: <xsl:value-of select="../stand" /></p> @@ -762,35 +798,6 @@ Stand: <xsl:value-of select="../stand" /></p>
</div>
</xsl:template>
<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
<!-- <div class="card-content modal-button" data-target="modal-card11">
<div class="content">
<h4><xsl:value-of select="$caption" /></h4>
<p> </p>
<xsl:call-template name="legende_viz" >
<xsl:with-param name="ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>-->
</div>
</xsl:template>
</xsl:stylesheet>

352
superx/xml/viz_html_chart_viewer.xsl

@ -1,85 +1,174 @@ @@ -1,85 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="xsl_functions.xsl" />
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_html_chart.xsl" />
<xsl:import href="viz_components.xsl" />
<xsl:import href="menue_html_dojo.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="defaultRenderer" select="'d3js'" />
<xsl:variable name="availableRendererPlot" select="'false'" />
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="colwidth"><xsl:text>is-full</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:call-template name="table"/>
</xsl:template>
<!-- start table main-->
<xsl:template name="table">
<html>
<xsl:choose>
<xsl:when test="/ergebnisse/@hisinone_active='true'">
<xsl:call-template name="head_hisinone" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="head_superx_viz" ><xsl:with-param name="title" select="concat('Ergebnis ',/ergebnisse/ergebnis[ position()=1]/maskenname)" /></xsl:call-template>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="tableJavascript_viz"></xsl:call-template>
<!-- start Body-->
<body onload="document.getElementById('progressbar').style.display='none';initPage();"> <!-- tableonload definiert in pageComponents.pccustomize position table_post_javascript -->
<div id="progressbar" style="position:absolute; width:150px; height:150px; left:200px; top:200px; background:#AAAAAA">
<p>&#160;<b>Laden...</b><br/><img src="../images/progress_bar.gif"></img><br/></p></div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="menuFrame" />
</xsl:for-each>
</xsl:if>
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="class"><xsl:text>page-wrap</xsl:text></xsl:attribute>
<xsl:for-each select="/ergebnisse/menue">
<xsl:call-template name="topbar_menue" />
</xsl:for-each>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<div>
<xsl:if test="/ergebnisse/@showNavigation='true'">
<xsl:attribute name="id"><xsl:text>wrapper</xsl:text></xsl:attribute>
</xsl:if>
<xsl:call-template name="viz_canvas"/>
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div>
</div>
<xsl:call-template name="footer" />
<xsl:call-template name="modalCards" />
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="importVizJavascriptLibs">
<script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js" />
<script language="Javascript" type="text/javascript" src="../xml/js/viz/viz_functions.js" />
<script language="Javascript" type="module" src="../xml/js/viz/d3-sankey.js" />
<xsl:template name="viz_viewer">
<xsl:param name="show_maskenfelder" select="'true'" />
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:text><![CDATA[
function initPage()
@ -135,170 +224,5 @@ if(myDiv.style.display=="block") @@ -135,170 +224,5 @@ if(myDiv.style.display=="block")
]]></xsl:text>
</script>
</xsl:template>
<xsl:template name="viz_canvas">
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<xsl:variable name="spalten_anz">
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/>
</xsl:variable>
<xsl:variable name="colwidth">
<xsl:value-of select="12 div $spalten_anz"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_anz">
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_umbruch">
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/>
</xsl:variable>
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</p>-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<xsl:if test="$ergebniselement_counter &gt;= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0">
<xsl:text disable-output-escaping="yes"><![CDATA[
</div>
</section>
<section class="container">
<div class="columns features is-mobile is-left">
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<xsl:template name="modalCards" >
<xsl:for-each select="/ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<div class="modal modal-fx-3dSlit" id="{concat('modalCard',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-content is-huge is-image">
<!-- content -->
<div class="modal-content">
<div class="box" style="text-align:right">
<a href="{concat('javascript:closeModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
<div class="box">
<div id="{concat('modalCardImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
</div>
</div>
</div>
<div class="modal modal-fx-3dSlit" id="{concat('modalCardDetail',$ergebniselement_ordnr)}">
<div class="modal-background"></div>
<div class="modal-content is-tiny">
<div class="box" style="text-align:right">
<h4><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/></h4>
<a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a>
</div>
<!-- content -->
<div class="card">
<div class="card-image">
<div id="{concat('modalCardDetailImage',$ergebniselement_ordnr)}">
Picture placeholder
</div>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p><xsl:value-of select="viz_charts/viz_chart[@tid=$chart_id]/@description"/></p>
<p class="legende">
<xsl:for-each select="../felder/feld">
<xsl:if test="(value !='' or sicht/@isFirstInGroup='false' or @isstandtoday='false') and @varname != 'sort' and @varname != 'maxoffset' and value_caption != ''">
<span class="feldname">
<xsl:choose>
<xsl:when test="string-length(caption_short) &gt; 0 and caption_short != 'null'" >
<![CDATA[]]><xsl:value-of select="caption_short" /><![CDATA[]]>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@varname" />
</xsl:otherwise>
</xsl:choose></span>:&#160;
<xsl:if test="string-length(value_caption) &lt; 50">
<span class="feldwert"><xsl:value-of select="value_caption" /><![CDATA[]]></span>
</xsl:if>
<xsl:if test="string-length(value_caption) &gt; 49">
<span class="feldwert"><![CDATA[]]><xsl:value-of select="substring(value_caption,0,50)" /><![CDATA[]]>...</span>
</xsl:if>
<xsl:if test="sicht!=''">
<span><![CDATA[ (]]><xsl:value-of select="sicht" />
<xsl:if test="@stand!=''"><xsl:text> - Stand:</xsl:text><xsl:value-of select="@stand"/></xsl:if>
<xsl:text><![CDATA[)]]> </xsl:text></span>
</xsl:if>
;
</xsl:if>
</xsl:for-each>
User: <xsl:value-of select="/ergebnisse/user"/>&#160;
Stand: <xsl:value-of select="../stand" /></p>
<xsl:if test="../hinweis != ''">
<xsl:call-template name="newline_to_br">
<xsl:with-param name="string" select="../hinweis" />
</xsl:call-template>
</xsl:if>
</div>
<p align="right"><a href="{concat('javascript:closeModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-black is-outlined"> X </span>
</a></p>
</div>
</div>
</div>
</div>
</div>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

248
superx/xml/viz_html_chart_viewer_grid.xsl

@ -0,0 +1,248 @@ @@ -0,0 +1,248 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<xsl:call-template name="nd_navi_panel" />
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-full">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer_columnwise"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="viz_viewer_columnwise">
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<xsl:variable name="spalten_anz">
<xsl:value-of select="max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value))"/>
</xsl:variable>
<xsl:variable name="colwidth">
<xsl:value-of select="12 div $spalten_anz"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_anz">
<xsl:value-of select="count(/ergebnisse/ergebnis[felder/feld[@varname='Grafik']])"/>
</xsl:variable>
<xsl:variable name="ergebniselemente_umbruch">
<xsl:value-of select="round($ergebniselemente_anz div max(number(/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value)))"/>
</xsl:variable>
<!--<p>plan: <xsl:value-of select="/ergebnisse/ergebnis/felder/feld[@varname='Spaltenanzahl']/value"/>
</p>-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
<xsl:if test="$ergebniselement_counter &gt;= $spalten_anz and ($ergebniselement_counter mod $spalten_anz) =0">
<xsl:text disable-output-escaping="yes"><![CDATA[
</div>
</section>
<section class="container">
<div class="columns features is-mobile is-left">
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

235
superx/xml/viz_html_chart_viewer_mask.xsl

@ -0,0 +1,235 @@ @@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util.HtmlUtils">
<xsl:import href="resultset_html.xsl" />
<xsl:import href="interLinks_html.xsl" />
<xsl:import href="nd_templates.xsl" />
<xsl:import href="pageComponents_html.xsl" />
<xsl:import href="viz_components.xsl" />
<!--In diesem Stylesheet können Sie individuelle templates unterbringen,
die in ihrer Präzedenz das normale Stylesheet
pageComponents_html.xsl überragt. -->
<xsl:import href="pageComponents_html_final.xsl" />
<xsl:decimal-format name="German" grouping-separator="." NaN="" zero-digit ="0" decimal-separator="," />
<!-- wichtig für DOJO!-->
<xsl:output method="xml" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd" cdata-section-elements="script style" indent="yes" encoding="UTF-8"/>
<xsl:variable name="colon"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:variable name="colwidth"><xsl:text>is-full</xsl:text></xsl:variable>
<xsl:variable name="defaultRenderer" select="'plot'" />
<xsl:variable name="availableRendererPlot" select="'true'" />
<xsl:variable name="availableRendererD3" select="'true'" />
<xsl:template match="/">
<xsl:variable name="maskenname">
<xsl:choose>
<xsl:when test="/ergebnisse/@isMakro='true'">
<xsl:value-of select="/ergebnisse/makro/name" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/ergebnisse/ergebnis/maskenname" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html>
<head>
<xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
</xsl:call-template>
<link rel="stylesheet" href="../style/sx_tabelle.css" />
<!--<link rel="stylesheet" href="../style/superx.css" />-->
</head>
<xsl:call-template name="nd_htmlscript" />
<xsl:call-template name="nd_tableJavascript" />
<xsl:call-template name="nd_tableCSS" />
<xsl:call-template name="importVizJavascriptLibsViewer"></xsl:call-template>
<xsl:call-template name="tableMaskenfelderJS" />
<body class="has-navbar-fixed-top" onload="document.getElementById('progressbar').style.display='none';initPage();">
<!--#Template Beginn Top-Navigation-->
<xsl:call-template name="nd_navi_top" />
<!--#Template Ende Top-Navigation-->
<div class="columns">
<!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true' and 1=0"><!-- erstmal kein Panel,weil der Asssistent schon recht breit ist -->
<xsl:for-each select="/ergebnisse">
<!--kein Navi Panel bei Maskenfeldern <xsl:call-template name="nd_navi_panel" />-->
</xsl:for-each>
</xsl:if>
<!--#Template Ende Navigations-Panel Auswertungen-->
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body">
<div class="container">
<div class="columns is-mobile is-left">
<div class="column is-two-thirds">
<div class="card ">
<div class="card-content">
<xsl:call-template name="nd_progressbar" />
<xsl:call-template name="viz_viewer"/>
<xsl:call-template name="bottombar" />
<xsl:comment>customfooter</xsl:comment>
</div> <!--Ende content -->
</div> <!--Ende card-content-->
</div> <!--Ende card-background -->
<div class="column">
<xsl:if test="count(/ergebnisse/ergebnis[@ordnr='0']/completefields/feld[@art='1']) &gt; 0">
<xsl:call-template name="renderTableDialogs" />
</xsl:if>
</div>
</div> <!--Ende column-->
</div> <!--Ende hero-columns-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns-->
<xsl:call-template name="modalCards" />
</body>
<!-- end body -->
</html>
</xsl:template>
<!-- end main -->
<xsl:template name="viz_viewer">
<xsl:param name="show_maskenfelder" select="'true'" />
<xsl:if test="/ergebnisse/@isMakro='true'">
<h1><xsl:value-of select="/ergebnisse/makro/name" /></h1>
</xsl:if>
<p></p>
<xsl:call-template name="buildVizMetadata" />
<!-- end Kopf-->
<!-- start Grafiken-->
<!-- Berechne den Umbruch der Spalten für die Kacheln
z.B. 6 Grafiken ergibt einen Umbruch nach der 3. Teiltabelle
Formel: ANZ / 2 kaufm. gerundet
-->
<span class="separator">&#160;</span>
<!--Beginn Selektions-Card-->
<!--Beginn Berichtstitel, Pfad, Knopfleiste-->
<section class="hero-body has-background-light">
<section class="container"> <!--Beginn Kartenreihe -->
<div class="columns features is-mobile is-left"> <!--Beginn columns Kartenreihe -->
<xsl:for-each select="/ergebnisse/ergebnis[felder/feld[@varname='Grafik']/value!='']/ergebniselement">
<xsl:variable name="ergebniselement_counter" select="position()" />
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<!--<p><xsl:value-of select="concat('Zähler: ',$ergebniselement_counter)"/></p>-->
<div>
<xsl:attribute name="class"><xsl:text>column is-</xsl:text><xsl:value-of select="$colwidth"/></xsl:attribute>
<xsl:call-template name="viewer_kachel">
<xsl:with-param name="caption" select="viz_charts/viz_chart[@tid=$chart_id]/@caption"/>
<xsl:with-param name="ergebniselement_ordnr" select="$ergebniselement_ordnr" />
</xsl:call-template>
<!--<p><xsl:value-of select="concat($spalten_anz,'-',$ergebniselement_counter,':',$ergebniselement_counter mod $spalten_anz)"/></p>-->
</div>
<!-- neue Zeile wenn counter mod Spaltenanz. =0 -->
</xsl:for-each>
</div><!-- der columns -->
</section><!-- der letzten Kartenreihe -->
</section><!-- des Portals -->
</xsl:template>
<!--<xsl:template name="viewer_kachel">
<xsl:param name="caption" />
<xsl:param name="ergebniselement_ordnr" />
<div class="card is-shady">
<div class="card-image">
<div id="{concat('chartDiv',$ergebniselement_ordnr)}">
Platzhalter
</div>
</div>
<p>
<a onClick="{concat('javascript:openModalImage(',$ergebniselement_ordnr,');')}">
<span class="button is-success is-small modal-button">Vergrößern ...</span></a>
<a onClick="{concat('javascript:openModalCardDetail(',$ergebniselement_ordnr,');')}">
<span class="button is-link is-small modal-button">Mehr Infos ...</span></a>
</p>
</div>
</xsl:template>-->
<xsl:template name="importVizJavascriptLibsViewer">
<script language="Javascript" type="text/javascript" src="../xml/js/jquery-2.1.1.min.js" />
<script language="JavaScript" type="text/javascript" src="../xml/js/memtext/sx_functions.js"></script>
<xsl:call-template name="tableJavascript_viz" />
<script language="Javascript" type="text/javascript">
<xsl:text><![CDATA[
function initPage()
{
var myChartModelStr="";
var myDiv="";
]]></xsl:text>
<xsl:for-each select="ergebnisse">
<xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="chart_id"><xsl:value-of select="../felder/feld[@varname='Grafik']/value" /></xsl:variable>
<xsl:variable name="ergebniselement_ordnr"><xsl:value-of select="@ordnr" /></xsl:variable>
<xsl:if test="$chart_id != ''">
<xsl:text><![CDATA[
myChartModelStr=']]></xsl:text>
<xsl:value-of select="translate(viz_charts/viz_chart[@tid=$chart_id]/@chartmodel,'§',$quote)" />
<xsl:text><![CDATA[';
myDiv="]]></xsl:text>
<xsl:value-of select="concat('chartDiv',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
myDiv="]]></xsl:text>
<xsl:value-of select="concat('modalCardDetailImage',$ergebniselement_ordnr)" />
<xsl:text><![CDATA[";
createViewer(myChartModelStr,myDiv);
]]></xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:text><![CDATA[
}
function createViewer(myChartModelStr,chartDiv)
{
myChartModel=JSON.parse(myChartModelStr);
renderChart(chartDiv,myChartModel);
}
function toggleLegendeDisplay(legendeDiv)
{
var myDiv=document.getElementById(legendeDiv);
if(myDiv.style.display=="block")
myDiv.style.display="none";
else
myDiv.style.display="block";
}
]]></xsl:text>
</script>
</xsl:template>
</xsl:stylesheet>

2692
test/webapps_superx/test_viz/stud_zeitreihe.html

File diff suppressed because it is too large Load Diff

2805
test/webapps_superx/test_viz/stud_zeitreihe_plot.html

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save