diff --git a/src-modules/module/viz/conf/viz.xml b/src-modules/module/viz/conf/viz.xml index 093f6d8..fa833d5 100644 --- a/src-modules/module/viz/conf/viz.xml +++ b/src-modules/module/viz/conf/viz.xml @@ -790,11 +790,19 @@ scriptfile="" database=""/> - + + + + + + + + + @@ -906,33 +914,67 @@ gueltig_bis DATE version integer default 1 ) ;" scriptfile="" database=""/> + - + + - + + - + + + + + + + + + diff --git a/src-modules/module/viz/schluesseltabellen/customxmladd.sql b/src-modules/module/viz/schluesseltabellen/customxmladd.sql index b14ab5f..aed20c1 100644 --- a/src-modules/module/viz/schluesseltabellen/customxmladd.sql +++ b/src-modules/module/viz/schluesseltabellen/customxmladd.sql @@ -98,10 +98,12 @@ V.chart_position, --replace(V.chartcode,'"','§') as chartcode_escaped, --replace(V.datasource_def,'"','§') as datasource_def_escaped R.uniquename as renderer_uniquename, +R.tid as renderer_id, V.chart_width, V.chart_height, V.chart_miniature_width, -V.chart_miniature_height +V.chart_miniature_height, +V.maskeninfo_id FROM viz_chart V, viz_renderer R where R.tid=V.renderer_id and chart_active=1 @@ -256,10 +258,12 @@ order by 1,2,R.sortnr; chartmodel_miniature="${ch.chartmodel_miniature_escaped}" chart_position="${ch.chart_position}" renderer="${ch.renderer_uniquename}" + renderer_id="${ch.renderer_id}" chart_width="${ch.chart_width}" chart_height="${ch.chart_height}" chart_miniature_width="${ch.chart_width}" chart_miniature_height="${ch.chart_height}" + maskeninfo_id="${ch.maskeninfo_id}" /> diff --git a/src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql new file mode 100644 index 0000000..00f9f30 --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_chart_fuellen.sql @@ -0,0 +1,47 @@ +delete from viz_chart where uniquename in (select uniquename from tmp_viz_chart); + +select sp_update_sequence('viz_chart'); + +insert into viz_chart( +uniquename, + caption, + description, + chartmodel, + preview_svg, + userinfo_id, + creation_date, + update_date, + maskeninfo_id, + mask_params, + renderer_id, + chartmodel_miniature, + chart_position, + chart_active, + chart_width, + chart_height, + chart_miniature_width, + chart_miniature_height) + select + +uniquename, + caption, + description, + chartmodel, + preview_svg, + userinfo_id, + creation_date, + update_date, + maskeninfo_id, + mask_params, + renderer_id, + chartmodel_miniature, + chart_position, + chart_active, + chart_width, + chart_height, + chart_miniature_width, + chart_miniature_height +FROM tmp_viz_chart; + +drop table tmp_viz_chart; + diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_fuellen.sql new file mode 100644 index 0000000..ab22df5 --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_fuellen.sql @@ -0,0 +1,200 @@ +--Freemarker Template +<#include "SQL_lingua_franca"/> +<#include "SuperX_general"/> +<#include "VIZ-Makros"/> + + + + select tid from viz_renderer where uniquename='d3js'; + + + +<#assign viz_properties = [ +{ "caption":"Dimensionen", +"prop_uniquename":"dimensionsNode", +"explanation":"Dimensionen", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"NODE", +"sortnr":"1", +"range_from":"", +"range_to":"", +"prop_value_type":"NODE", +"parent_property_uniquename":"", +"variableName":"encode" +}, +{ "caption":"Dimension 1", +"prop_uniquename":"dimension1", +"explanation":"Dimension 1", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"608", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Maß 1", +"prop_uniquename":"measure1", +"explanation":"Maß 1", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"MEASURE", +"sortnr":"610", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"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", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Dimension 3", +"prop_uniquename":"dimension3", +"explanation":"Dimension 3", +"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", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Diagrammelement", +"prop_uniquename":"seriesNode", +"explanation":"Layout der Diagrammelemente", +"prop_default":"", +"prop_unit":"", +"is_generic":"1", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"NODE", +"sortnr":"400", +"range_from":"", +"range_to":"", +"prop_value_type":"NODE", +"parent_property_uniquename":"", +"variableName":"seriesNode" +}, +{ "caption":"Innerer Radius", +"prop_uniquename":"innerRadius", +"explanation":"Innerer Radius bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.", +"prop_default":"0", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"TEXT", +"property_group_uniquename":"LAYOUT", +"sortnr":"", +"range_from":"0", +"range_to":"100", +"prop_value_type":"string", +"parent_property_uniquename":"seriesNode" +}, +{ "caption":"Beschriftung Radius", +"prop_uniquename":"labelRadiusFactor", +"explanation":"Beschriftungs-Radius Faktor bei Tortendiagrammen (Faktor in %). Bei 0 wird kein innerer Radius genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.", +"prop_default":"80", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"TEXT", +"property_group_uniquename":"LAYOUT", +"sortnr":"", +"range_from":"0", +"range_to":"100", +"prop_value_type":"string", +"parent_property_uniquename":"seriesNode" +}, +{ "caption":"Kanten-Radius", +"prop_uniquename":"cornerRadius", +"explanation":"Ecken-Radius bei Tortendiagrammen (in Pixel). Bei 0 wird keine gerundete Kante genutzt, ein Wert größer 0 macht das Tortendiagramm zum Donut.", +"prop_default":"10", +"prop_unit":"px", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"TEXT", +"property_group_uniquename":"LAYOUT", +"sortnr":"", +"range_from":"0", +"range_to":"50", +"prop_value_type":"string", +"parent_property_uniquename":"seriesNode" +}, +{ "caption":"Label-Deckungsgrad", +"prop_uniquename":"labelOpacity", +"explanation":"Deckungsgrad Faktor bei Beschriftungen (Faktor in %). Bei 100 ist maximale Deckung erreicht", +"prop_default":"70", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"TEXT", +"property_group_uniquename":"LAYOUT", +"sortnr":"", +"range_from":"0", +"range_to":"100", +"prop_value_type":"string", +"parent_property_uniquename":"seriesNode" +}, +{ "caption":"Leerzeilen-Maskierung", +"prop_uniquename":"null_value_mask", +"explanation":"Text, der ersetzt wird, wenn eine Dimension leer ist, z.B. *Andere Hochschule* bei BA-MA-Übergang", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"TEXT", +"property_group_uniquename":"LAYOUT", +"sortnr":"", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"seriesNode" +} +] +/> + + + +<@create_temp_tables /> + + +<@fill_viz_properties /> + + + diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_pie_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_pie_fuellen.sql new file mode 100644 index 0000000..fdfdc3a --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_pie_fuellen.sql @@ -0,0 +1,43 @@ +--Freemarker Template +<#include "SQL_lingua_franca"/> +<#include "SuperX_general"/> +<#include "VIZ-Makros"/> + + + select tid from viz_renderer where uniquename='d3js'; + + +<#assign viz_types = [ +{"uniquename":"pie", "caption":"Tortendiagramm", +"orientation":"Z", +"description":"Tortendiagramm", +"explanation":""} +] +/> + + +<#assign viz_type_properties = [ +{"viz_property_uniquename":"dimension1", +"is_mandatory":"1"}, +{"viz_property_uniquename":"measure1", +"is_mandatory":"1"}, +{"viz_property_uniquename":"innerRadius"}, +{"viz_property_uniquename":"labelRadiusFactor"}, +{"viz_property_uniquename":"cornerRadius"} +] +/> + + +<@create_temp_tables /> + + +<#foreach viz_type in viz_types> + +<@fill_viz_types viz_type_p=viz_type /> + +<@fill_viz_type_properties viz_type_p=viz_type /> + + + + + diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_sankey_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_sankey_fuellen.sql new file mode 100644 index 0000000..5ebaf62 --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_sankey_fuellen.sql @@ -0,0 +1,44 @@ +--Freemarker Template +<#include "SQL_lingua_franca"/> +<#include "SuperX_general"/> +<#include "VIZ-Makros"/> + + + select tid from viz_renderer where uniquename='d3js'; + + +<#assign viz_types = [ +{"uniquename":"sankey", "caption":"Sankey", +"orientation":"H", +"description":"Horizontales Sankeydiagramm", +"explanation":""} +] +/> + + +<#assign viz_type_properties = [ +{"viz_property_uniquename":"dimension1", +"is_mandatory":"1"}, +{"viz_property_uniquename":"dimension2", +"is_mandatory":"1"}, +{"viz_property_uniquename":"measure1", +"is_mandatory":"1"}, +{"viz_property_uniquename":"null_value_mask", +"is_mandatory":"0"} +] +/> + + +<@create_temp_tables /> + + +<#foreach viz_type in viz_types> + +<@fill_viz_types viz_type_p=viz_type /> + +<@fill_viz_type_properties viz_type_p=viz_type /> + + + + + diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_worldmap_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_worldmap_fuellen.sql new file mode 100644 index 0000000..3410d00 --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_d3js_worldmap_fuellen.sql @@ -0,0 +1,40 @@ +--Freemarker Template +<#include "SQL_lingua_franca"/> +<#include "SuperX_general"/> +<#include "VIZ-Makros"/> + + + select tid from viz_renderer where uniquename='d3js'; + + +<#assign viz_types = [ +{"uniquename":"worldmap", "caption":"Weltkarte", +"orientation":"H", +"description":"Weltkarte", +"explanation":""} +] +/> + + +<#assign viz_type_properties = [ +{"viz_property_uniquename":"dimension1", +"is_mandatory":"1"}, +{"viz_property_uniquename":"measure1", +"is_mandatory":"1"} +] +/> + + +<@create_temp_tables /> + + +<#foreach viz_type in viz_types> + +<@fill_viz_types viz_type_p=viz_type /> + +<@fill_viz_type_properties viz_type_p=viz_type /> + + + + + diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql index e0d4c40..6c7d288 100644 --- a/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_fuellen.sql @@ -285,6 +285,22 @@ "parent_property_uniquename":"xAxisNode", "variableName":"xAxisName" }, +{ "caption":"X-Achse Name Position", +"prop_uniquename":"xAxisNameLocation", +"explanation":"Position der X-Achsenbezeichnung", +"prop_default":"end", +"prop_unit":"", +"is_generic":"0", +"static_values":"start|center|end", +"is_mandatory":"0", +"input_type_uniquename":"SELECT", +"sortnr":"25", +"range_from":"", +"range_to":"", +"prop_value_type":"STRING", +"parent_property_uniquename":"xAxisNode", +"variableName":"xAxisNameLocation" +}, { "caption":"X-Achse Beschriftung", "prop_uniquename":"xAxisLabelNode", "explanation":"X-Achse-Beschriftung", @@ -560,6 +576,23 @@ "parent_property_uniquename":"", "variableName":"seriesNode" }, +{ "caption":"Einzelfarbe", +"prop_uniquename":"singleColor", +"explanation":"Linien- oder Balkenfarbe (einfach). Wird mit höherer Priorität ausgewertet als die Palette", +"prop_default":"", +"prop_unit":"", +"is_generic":"1", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"COLOR", +"property_group_uniquename":"STYLE", +"sortnr":"405", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"seriesNode", +"variableName":"singleColor" +}, { "caption":"Farbpalette (vordef.)", "prop_uniquename":"schemeArray", "explanation":"Farbpalette", diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql index 918b028..4a1f312 100644 --- a/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_fuellen.sql @@ -39,6 +39,7 @@ "is_mandatory":"1"}, {"viz_property_uniquename":"xAxisNode"}, {"viz_property_uniquename":"xAxisName"}, +{"viz_property_uniquename":"xAxisNameLocation"}, {"viz_property_uniquename":"xAxisLabelNode"}, {"viz_property_uniquename":"tickRotate_x"}, {"viz_property_uniquename":"width_x"}, diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql index 40879ae..01d9998 100644 --- a/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_echarts_line_bar_series_fuellen.sql @@ -33,6 +33,7 @@ {"viz_property_uniquename":"padding_x"}, {"viz_property_uniquename":"yAxisNode"}, {"viz_property_uniquename":"yAxisName"}, +{"viz_property_uniquename":"xAxisNameLocation"}, {"viz_property_uniquename":"yAxisLabelNode"}, {"viz_property_uniquename":"tickRotate_y"}, {"viz_property_uniquename":"width_y"}, diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_plot_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_plot_fuellen.sql new file mode 100644 index 0000000..6541c8e --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_plot_fuellen.sql @@ -0,0 +1,170 @@ +--Freemarker Template +<#include "SQL_lingua_franca"/> +<#include "SuperX_general"/> +<#include "VIZ-Makros"/> + + + + select tid from viz_renderer where uniquename='plot'; + + + +<#assign viz_properties = [ +{ "caption":"Dimensionen", +"prop_uniquename":"dimensionsNode", +"explanation":"Dimensionen", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"NODE", +"sortnr":"1", +"range_from":"", +"range_to":"", +"prop_value_type":"NODE", +"parent_property_uniquename":"", +"variableName":"encode" +}, +{ "caption":"X-Achse", +"prop_uniquename":"x", +"explanation":"X-Achse", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"608", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Y-Achse", +"prop_uniquename":"y", +"explanation":"Y-Achse", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"610", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Dimension 1", +"prop_uniquename":"dimension1", +"explanation":"Dimension 1", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"608", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Maß 1", +"prop_uniquename":"measure1", +"explanation":"Maß 1", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"MEASURE", +"sortnr":"610", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Serien-Dimension", +"prop_uniquename":"stroke", +"explanation":"Serien-Dimension", +"prop_default":"", +"prop_unit":"", +"is_generic":"0", +"static_values":"", +"is_mandatory":"1", +"input_type_uniquename":"SELECT", +"property_group_uniquename":"CATEGORY", +"sortnr":"608", +"range_from":"", +"range_to":"", +"prop_value_type":"string", +"parent_property_uniquename":"dimensionsNode" +}, +{ "caption":"Diagrammelement", +"prop_uniquename":"seriesNode", +"explanation":"Layout der Diagrammelemente", +"prop_default":"", +"prop_unit":"", +"is_generic":"1", +"static_values":"", +"is_mandatory":"0", +"input_type_uniquename":"NODE", +"sortnr":"400", +"range_from":"", +"range_to":"", +"prop_value_type":"NODE", +"parent_property_uniquename":"", +"variableName":"seriesNode" +}, +{ "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", +"parent_property_uniquename":"seriesNode" +} +, +{ "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", +"parent_property_uniquename":"seriesNode" +} +] +/> + + + +<@create_temp_tables /> + + +<@fill_viz_properties /> + + + diff --git a/src-modules/module/viz/schluesseltabellen/viz_properties_plot_line_bar_boxplot_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_properties_plot_line_bar_boxplot_fuellen.sql new file mode 100644 index 0000000..7327dca --- /dev/null +++ b/src-modules/module/viz/schluesseltabellen/viz_properties_plot_line_bar_boxplot_fuellen.sql @@ -0,0 +1,79 @@ +--Freemarker Template +<#include "SQL_lingua_franca"/> +<#include "SuperX_general"/> +<#include "VIZ-Makros"/> + + + select tid from viz_renderer where uniquename='plot'; + + +<#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_type_properties = [ +{"viz_property_uniquename":"x", +"is_mandatory":"1"}, +{"viz_property_uniquename":"y", +"is_mandatory":"1"}, +{"viz_property_uniquename":"stroke", +"is_mandatory":"0"}, +{"viz_property_uniquename":"stroke_static", +"is_mandatory":"0"}, +{"viz_property_uniquename":"fill_static", +"is_mandatory":"0"} + +] +/> + + +<@create_temp_tables /> + + +<#foreach viz_type in viz_types> + +<@fill_viz_types viz_type_p=viz_type /> + +<@fill_viz_type_properties viz_type_p=viz_type /> + + + + + diff --git a/src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql b/src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql index 69e6c5d..2b61c15 100644 --- a/src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql +++ b/src-modules/module/viz/schluesseltabellen/viz_type_plot_fuellen.sql @@ -1,3 +1,4 @@ +--OBSOLET!!! --Freemarker Template <#include "SQL_lingua_franca"/> <#include "SuperX_general"/> diff --git a/superx/edit/viz/viz_chart_bearbeiten.jsp b/superx/edit/viz/viz_chart_bearbeiten.jsp new file mode 100644 index 0000000..7aade65 --- /dev/null +++ b/superx/edit/viz/viz_chart_bearbeiten.jsp @@ -0,0 +1,263 @@ +<%@ taglib uri="/WEB-INF/dbforms.tld" prefix="db" %> +<%@page pageEncoding="utf-8" contentType="text/html; charset=UTF-8" %> + + + + + + + + + +Maske Diagrammenwürfe bearbeiten +<% +String renderer_id = request.getParameter("renderer_id"); +String renderer = request.getParameter("renderer"); +if(renderer != null && (renderer_id == null || renderer_id.equals(""))) +{ + renderer_id=renderer.equals("plot")?"2":(renderer.equals("d3js")?"1":"3"); + } + +%> + + + + + + + <%@ page import ="java.util.Hashtable" %> +<% +//HttpSession session=request.getSession(true); +if (request.getCharacterEncoding() == null) + request.setCharacterEncoding("UTF-8"); +Object userobject=request.getSession().getAttribute("UserID"); +String userid; +String filter=""; +String sql=""; +if(userobject == null) +{ +%> + + +<% +} +else + userid=userobject.toString(); +Object mandantobject=request.getSession().getAttribute("MandantenID"); +String mandantenid=""; +if(mandantobject != null) + mandantenid=mandantobject.toString(); +//der superx-Default-Mandant ist bei dbforms ein Leerstring +if(mandantenid.equals("default")) + mandantenid=""; +String db_form_name="viz_chart"; +String erlaubt="0"; +%> +<%@ include file="/edit/check_authentication.inc" %> +<% +if(erlaubt.equals("0")) +{ +%> + + +<% +} + +String keyfieldsused="false"; +Object kf=request.getParameter("keyfieldsused"); +if(kf != null) +keyfieldsused=kf.toString(); + +%> + + + + +<% +String tid = request.getParameter("tid"); +filter +="tid="+tid; + +%> + +<% +String created_by = request.getParameter("created_by"); +if(created_by != null && !created_by.equals("null")){ + filter +=",created_by="+created_by; +} +%> + + + + + + + +
+

 

+
+

+ + + +

+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tid +
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +<% sql = "select tid, name from maskeninfo order by name;"; %> +
+
+ +
+ +
+
+ +
+ +<% sql = "select tid, caption from viz_renderer order by caption;"; %> +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+in px
+ +
+ +
+in px
+ +
+ +
+in px
+ +
+ +
+in px
+ +
+ +
+
+
+
+
+ + + + + diff --git a/superx/xml/js/viz/viz_assistent.js b/superx/xml/js/viz/viz_assistent.js index b41b94b..abadce2 100644 --- a/superx/xml/js/viz/viz_assistent.js +++ b/superx/xml/js/viz/viz_assistent.js @@ -581,6 +581,7 @@ function saveChartElementConfig() //document.getElementById("vizElementCounter").value=myChartModel.chartElements.length; renderChart('chartDiv',myChartModel,datasource,title); + updateChartModelCode(myChartModel); /*var marksArray=new Array(); marksArray[elemID]=Plot.barX(rs_table0, @@ -1006,13 +1007,14 @@ function getPropertyValueFromModel(myChartModel,propUniquename,isCommon,chartEle function renderTreeInput(chartProperty,inputId, previousValue) { var zs=""; + var styleAttr=" style=\"box-shadow: inset 1px 1px 3px #cccccc;border-radius: 5px;\" "; switch (chartProperty.inputType) { case "TEXT": - zs=" "; break; case "SELECT": - zs=" "; zs+=getTreeInputSelectOptions(chartProperty.getValueResultset(),previousValue,chartProperty.isMandatory) ; @@ -1022,6 +1024,11 @@ function renderTreeInput(chartProperty,inputId, previousValue) zs=" "; zs+=""; break; default: @@ -1035,7 +1042,7 @@ function getTreeInputSelectOptions(myValues,selectedValue,isMandatory) var zs=""; for(var j=0;j < myValues.length;j++) { - + var selectedOption=null; var defaultSelected=false; if(myValues[j].value==selectedValue) { @@ -1062,6 +1069,7 @@ function treeInputOnchange(targetDiv,myChartModel) { updateChartModel(); renderChart(targetDiv,myChartModel); + //TODO SRC-Textarea } function renderGeneralChartPropertiesForm(formDiv,myCommonChartProperties,currentChartModel) @@ -1430,7 +1438,7 @@ for(var col=0;col < metadata.length;col++) { const thCap = document.createElement("td"); thCap.style="font-family:monospace;font-size:smaller"; - const textnode = document.createTextNode("("+metadata[col].colname+")"); + const textnode = document.createTextNode("("+col+".: "+metadata[col].colname+")"); thCap.appendChild(textnode); rowElemSubHeader.appendChild(thCap); } @@ -1443,7 +1451,7 @@ for(row=0;row"+vizCharts[i].caption +""; + } + } + zs+=""; + mySelect.innerHTML=zs; +} - - +function openVizChartDBForm(tid) +{ + if(tid==null || tid=="") + { + neu=window.open("../edit/viz/viz_chart_bearbeiten.jsp?renderer="+document.getElementById("fldVizRenderer").value,"_blank","directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=600"); + } + else + { + var chartObj=vizCharts.find(ch => ch.tid == tid); + var renderer_id= chartObj.renderer_id; + neu=window.open("../edit/viz/viz_chart_bearbeiten.jsp?tid="+tid +"&renderer_id="+renderer_id,"_blank","directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=600"); + } + return false; +} function showVizNavTab(nr) { diff --git a/superx/xml/js/viz/viz_viewer.js b/superx/xml/js/viz/viz_viewer.js index 67a32fb..3688114 100644 --- a/superx/xml/js/viz/viz_viewer.js +++ b/superx/xml/js/viz/viz_viewer.js @@ -1578,8 +1578,8 @@ function getEchartOptionsBarLine(currentChartModel,myDataset,chartType,titleText //TODO: bar_x und y abfangen' var chartTypes = chartType.split(/_/); var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray"); -var myPalette=getSchemeArray(scheme); - +var singleColor = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"singleColor"); +var myPalette=getPaletteArray(scheme,singleColor); var orientation=chartTypes[2]; var measure1Axis="y"; var dimension1Axis="x"; @@ -1644,6 +1644,7 @@ if(orientation=="x") xAxis: { type:xAxisType, //horizontal oder vertikal name:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"xAxisName"), + nameLocation:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"xAxisNameLocation"), //type: 'category', axisLabel: { inside: false, @@ -1719,7 +1720,8 @@ function getEchartOptionsBarLineSeries(currentChartModel,myDataset,chartType,tit //TODO: bar_x und y abfangen' var chartTypes = chartType.split(/_/); var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray"); -var myPalette=getSchemeArray(scheme); +var singleColor = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"singleColor"); +var myPalette=getPaletteArray(scheme,singleColor); var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle"); var xAxisType="category"; var yAxisType="value"; @@ -1808,6 +1810,7 @@ var option = { //type:'value', type: yAxisType, name:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"yAxisName"), + nameLocation:getChartPropertyValue(currentChartModel.chartPropertiesUsed,"xAxisNameLocation"), axisLabel: { inside: false, margin: getChartPropertyValue(currentChartModel.chartPropertiesUsed,"padding_y"), @@ -1871,7 +1874,7 @@ var dimension1Fldname=getChartElementPropertyValueFromModel(currentChartModel,"1 var titleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"caption"); var subtitleText=getChartPropertyValue(currentChartModel.chartPropertiesUsed,"subtitle"); var scheme = getChartPropertyValue(currentChartModel.chartPropertiesUsed,"schemeArray"); -var myPalette=getSchemeArray(scheme); +var myPalette=getPaletteArray(scheme,""); var option = { dataset: { @@ -2021,16 +2024,16 @@ function getCommonChartProperty(name) if(document.forms["chartPropertiesForm"] && document.forms["chartPropertiesForm"].elements[name]) { propertyValue=document.forms["chartPropertiesForm"].elements[name].value; - } - if(propertyValue=="") - { - let prop = commonChartProperties.find(o => o.name === name); - if(prop.defaultValue!="") - { - propertyValue=prop.defaultValue; - } - } + if(propertyValue=="") + { + let prop = commonChartProperties.find(o => o.name === name); + if(prop.defaultValue!="") + { + propertyValue=prop.defaultValue; + } + } + } /*for (var i=0;i + + +var currentMaskeninfoId=; + +function vizChart(tid, +uniquename, +caption, +renderer, +renderer_id, +maskeninfo_id, +userinfo_id) +{ +this.tid=tid; +this.uniquename=uniquename; +this.caption=caption; +this.renderer=renderer; +this.renderer_id=renderer_id; +this.maskeninfo_id=maskeninfo_id; +this.userinfo_id=userinfo_id; +} + +var vizCharts=[]; + + + +var newVizChart = new vizChart( +, +" + +"," + +"," + +", + +," + +"," + +"); +vizCharts.push(newVizChart); + + + -
- - - -
+ @@ -666,7 +608,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
-
+
@@ -696,15 +638,69 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util +  +  + + +
+
+ +
+ + +
+ +
+ +
- -
- - - -