Browse Source

Dynamische Elemente und Resultsets #5

makro_datasrc
Daniel Quathamer 2 years ago
parent
commit
f7e1e7a817
  1. 84
      src-modules/module/viz/schluesseltabellen/viz_property.unl
  2. 290
      superx/xml/js/viz/viz_functions.js
  3. 253
      superx/xml/viz_demo.html
  4. 140
      superx/xml/viz_html_chart.xsl

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

@ -1,42 +1,42 @@
1^Diagramm-Höhe^height^400^px^1^ ^0^4^10^Diagrammhöhe (exkl. Skalenbeschriftung). Wird nur ausgewertet wenn es keine Y-Achse gibt!^101^^^integer^ 1^Diagramm-Höhe^height^^px^1^ ^0^4^10^Diagrammhöhe (exkl. Skalenbeschriftung). Wird nur ausgewertet wenn es keine Y-Achse gibt!^101^^^integer^
2^Diagramm-Breite^width^500^px^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^ 2^Diagramm-Breite^width^^px^1^ ^0^4^10^Diagrammsbreite (exkl.Skalenbeschriftung)^102^100^2000^integer^
3^Werte-Label-Breite^valueLabelWidth^20^px^1^^0^1^18^^^^^integer^ 3^Werte-Label-Breite^valueLabelWidth^^px^1^^0^1^18^^^^^integer^
4^Hintergrundfarbe^backgroundColor^#ccffcc^ ^1^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^ 4^Hintergrundfarbe^backgroundColor^white^ ^1^#ffffeb^0^3^11^Hintergrundfarbe der Grafik^201^^^string^
5^Vordergrundfarbe^color^black^ ^1^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^ 5^Vordergrundfarbe^color^^ ^1^black^0^3^11^Farbe von Text- und Diagrammelementen^202^^^string^
6^Schriftgröße^fontSize^10^px^1^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^ 6^Schriftgröße^fontSize^^px^1^ ^0^4^11^Schriftgröße der Skalenbeschriftung^204^^^integer^
7^Schriftfamilie^fontFamily^serif^ ^1^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^ 7^Schriftfamilie^fontFamily^^ ^1^serif|sans-serif|monospace|system_ui^0^2^11^Schriftfamlilie der Skalenbeschriftung^203^^^string^
8^Flächenfarbe^fill^blue^ ^1^ ^0^1^10^Füllfarbe (nur) von Diagrammelementen (Flächen, Balken, Säulen, Streifen, Punkte)^305^^^string^ 8^Flächenfarbe^fill^^ ^1^ ^0^1^10^Füllfarbe (nur) von Diagrammelementen (Flächen, Balken, Säulen, Streifen, Punkte)^305^^^string^
11^Kat: Schriftneigung^tickRotate^-45^ ^1^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^ 11^Kat: Schriftneigung^tickRotate^^ ^1^ ^0^1^18^Neigungswinkel der Achsenwerte^604^^^integer^
12^Kat: Skalierung^ticks^5^ ^1^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^ 12^Kat: Skalierung^ticks^^ ^1^ ^0^1^18^Feinheit der Wertegliederung^605^^^integer^
13^Kat: Schriftgröße^tickSize^10^ ^1^ ^0^1^18^Größe der Achsenwerte^603^^^integer^ 13^Kat: Schriftgröße^tickSize^^ ^1^ ^0^1^18^Größe der Achsenwerte^603^^^integer^
15^Kat: Label-Ausrichtung^labelAnchor^center^ ^1^left|center|right^0^2^18^Label-Position^601^^^string^ 15^Kat: Label-Ausrichtung^labelAnchor^^ ^1^left|center|right^0^2^18^Label-Position^601^^^string^
16^Außenrand links^marginLeft^ ^px^1^ ^0^4^10^Abstand links neben der Grafik (inkl. Skala)^103^^^integer^ 16^Außenrand links^marginLeft^^px^1^ ^0^4^10^Abstand links neben der Grafik (inkl. Skala)^103^^^integer^
17^Außenrand rechts^marginRight^50^px^1^ ^0^4^10^Abstand rechts neben der Grafik (inkl. Skala)^104^^^integer^ 17^Außenrand rechts^marginRight^^px^1^ ^0^4^10^Abstand rechts neben der Grafik (inkl. Skala)^104^^^integer^
18^Außenrand oben^marginTop^50^px^1^ ^0^4^10^Abstand oberhalb der Grafik^105^^^integer^ 18^Außenrand oben^marginTop^^px^1^ ^0^4^10^Abstand oberhalb der Grafik^105^^^integer^
19^Außenrand unten^marginBottom^50^px^1^ ^0^4^10^ ^106^^^integer^ 19^Außenrand unten^marginBottom^^px^1^ ^0^4^10^ ^106^^^integer^
20^Innenrand oben^insetTop^0^px^1^ ^0^4^10^Oberer Abstand zwischen Diagramm und Grafik^107^^^integer^ 20^Innenrand oben^insetTop^^px^1^ ^0^4^10^Oberer Abstand zwischen Diagramm und Grafik^107^^^integer^
21^Innenrand unten^insetBottom^0^px^1^ ^0^4^10^Unterer Abstand zwischen Diagramm und Grafik^108^^^integer^ 21^Innenrand unten^insetBottom^^px^1^ ^0^4^10^Unterer Abstand zwischen Diagramm und Grafik^108^^^integer^
22^Innenrand links^insetLeft^0^px^1^ ^0^4^10^Linker Abstand zwischen Diagramm und Grafik^109^^^integer^ 22^Innenrand links^insetLeft^^px^1^ ^0^4^10^Linker Abstand zwischen Diagramm und Grafik^109^^^integer^
23^Innenrand rechts^insetRight^0^px^1^ ^0^4^10^Rechter Abstand zwischen Diagramm und Grafik^110^^^integer^ 23^Innenrand rechts^insetRight^^px^1^ ^0^4^10^Rechter Abstand zwischen Diagramm und Grafik^110^^^integer^
24^Farbschema^scheme^ ^ ^1^blues|greens|greys|oranges|purples|reds^0^2^20^Farbschema von Diagrammelemente^303^^^string^ 24^Farbschema^scheme^^ ^1^blues|greens|greys|oranges|purples|reds^0^2^20^Farbschema von Diagrammelemente^303^^^string^
25^Farbtyp^type^ ^ ^1^einfarbig|mehrfarbig|zyklisch^0^2^12^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^ 25^Farbtyp^type^^ ^1^einfarbig|mehrfarbig|zyklisch^0^2^12^Ein-/Mehrfarbigkeit von Diagrammelementen^302^^^string^
43^Farbsättigung^fillOpacity^0,5^ ^1^ ^0^4^12^Deckkraft der Füllfarbe von Diagrammelementen^306^^^string^ 43^Farbsättigung^fillOpacity^^ ^1^ ^0^4^12^Deckkraft der Füllfarbe von Diagrammelementen^306^^^string^
44^Strichfarbe^stroke^ ^ ^1^ ^0^1^12^Strichfarbe von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^307^^^string^ 44^Strichfarbe^stroke^^ ^1^ ^0^1^12^Strichfarbe von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^307^^^string^
45^Strichdicke^strokeWidth^ ^ ^1^ ^0^1^12^Strichdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^ 45^Strichdicke^strokeWidth^^ ^1^ ^0^1^12^Strichdicke von Diagrammelementen (relevant für Plot.dot, Plot.tickX/Y)^308^^^string^
56^Fortlaufende Skala^continous scales^ ^ ^1^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^ 56^Fortlaufende Skala^continous scales^^ ^1^identity|linear|log|pow|sqrt|symlog^0^2^15^Art der Skalen-Gliederung^401^^^string^
57^Kategorie-Skala^categorical scales^ ^ ^1^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^ 57^Kategorie-Skala^categorical scales^^ ^1^point|band^0^2^15^Art der Skalen-Gliederung^402^^^string^
58^Datums-Skala^date scales^ ^ ^1^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^ 58^Datums-Skala^date scales^^ ^1^time|utc^0^2^15^Art der Skalen-Gliederung^403^^^string^
60^Farbschema-Typ^schemetype^ ^ ^1^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^12^Art der Farbverteilung in Diagrammelementen^304^^^string^ 60^Farbschema-Typ^schemetype^^ ^1^linear|sqrt|pow|log|symlog|sequential|cyclical|quantile^0^2^12^Art der Farbverteilung in Diagrammelementen^304^^^string^
61^Elementtyp^marks^ ^ ^1^Plot.line|Plot.dot|Plot.areaX|Plot.areaY.|Plot.barX|Plot.barY|Plot.rectX|Plot.rectY|Plot.ruleX|Plot.ruleY|Plot.tickX|Plot.tickY|Plot.arrow|Plot.cell|Plot.text|Plot.link|Plot.image^0^2^12^Ausrichtung und Form der Dialgrammelemente^301^^^string^ 61^Elementtyp^marks^^ ^1^Plot.line|Plot.dot|Plot.areaX|Plot.areaY.|Plot.barX|Plot.barY|Plot.rectX|Plot.rectY|Plot.ruleX|Plot.ruleY|Plot.tickX|Plot.tickY|Plot.arrow|Plot.cell|Plot.text|Plot.link|Plot.image^0^2^12^Ausrichtung und Form der Dialgrammelemente^301^^^string^
63^Kat: Label-Abstand^labelOffset^ ^px^1^ ^0^1^18^Label-Abstand von Achse^602^^^integer^ 63^Kat: Label-Abstand^labelOffset^^px^1^ ^0^1^18^Label-Abstand von Achse^602^^^integer^
68^Maß: Chart-Abstand^gridChartOffset^3^ ^1^ ^0^1^18^ ^607^^^string^ 68^Maß: Chart-Abstand^gridChartOffset^^ ^1^ ^0^1^18^ ^607^^^string^
69^Maß: Label-Höhe^gridLabelHeight^18^px^1^ ^0^1^18^ ^608^^^integer^ 69^Maß: Label-Höhe^gridLabelHeight^^px^1^ ^0^1^18^ ^608^^^integer^
70^Kategorie-Dimension 1^viz_dimension1^ ^ ^1^ ^0^1^5^ ^608^^^string^ 70^Kategorie-Dimension 1^viz_dimension1^^ ^1^ ^0^1^5^ ^608^^^string^
71^Kategorie-Dimension 2^viz_dimension2^ ^ ^1^ ^0^1^5^ ^608^^^string^ 71^Kategorie-Dimension 2^viz_dimension2^^ ^1^ ^0^1^5^ ^608^^^string^
72^Maß^viz_measure1^ ^ ^1^ ^0^1^6^ ^608^^^string^ 72^Maß^viz_measure1^^ ^1^ ^0^1^6^ ^608^^^string^
73^Maß 2^viz_measure2^ ^ ^1^ ^0^1^6^ ^608^^^string^ 73^Maß 2^viz_measure2^^ ^1^ ^0^1^6^ ^608^^^string^
74^Maß^x_horizontal^ ^ ^1^ ^0^1^5^ ^608^^^string^ 74^Maß^x_horizontal^^ ^1^ ^0^1^5^ ^608^^^string^
75^Kategorie-Dimension^y_horizontal^ ^ ^1^ ^0^1^5^ ^608^^^string^ 75^Kategorie-Dimension^y_horizontal^^ ^1^ ^0^1^5^ ^608^^^string^
76^Balkensegment^stroke_bar^ ^ ^1^ ^0^1^5^ ^608^^^string^ 76^Balkensegment^stroke_bar^^ ^1^ ^0^1^5^ ^608^^^string^
78^Legende^legend^ ^ ^1^true|false^0^2^20^ ^303^^^boolean^ 78^Legende^legend^^ ^1^true|false^0^2^20^ ^303^^^boolean^
79^Textbeschriftung^text_horizontal^ ^ ^1^ ^0^1^5^ ^608^^^string^ 79^Textbeschriftung^text_horizontal^^ ^1^ ^0^1^5^ ^608^^^string^

290
superx/xml/js/viz/viz_functions.js

@ -67,14 +67,22 @@ function chartModel(id,name,renderer,datasources)
var svgPlot=Plot.plot(this.options); var svgPlot=Plot.plot(this.options);
return svgPlot; return svgPlot;
} }
this.updateModel = function () {
}
} }
function possibleVizType(nr,value,name,explanation,isDefault )
{
this.nr=nr;
this.value=value;
this.name=name;
this.explanation=explanation;
this.isDefault=isDefault;
}
function d3dataRow(nr,dimension1,dimension2,measure ) function d3dataRow(nr,dimension1,dimension2,measure )
{ {
this.nr=nr; this.nr=nr;
@ -113,29 +121,34 @@ this.value=value;
this.isDefault=isDefault; this.isDefault=isDefault;
} }
function dimensionProperty(name,caption,explanation,isMeasure,isMandatory) function dimensionProperty(name,caption,explanation,isMeasure,isMandatory,datasource)
{ {
this.name=name; this.name=name;
this.caption=caption; this.caption=caption;
this.isMeasure=isMeasure; this.isMeasure=isMeasure;
this.isMandatory=isMandatory; this.isMandatory=isMandatory;
this.explanation=explanation; this.explanation=explanation;
this.datasource=datasource;
this.getValueResultset = function () { this.getValueResultset = function () {
var valueOptions=[]; var valueOptions=[];
var optionCounter=0; var optionCounter=0;
selectionRsMetaData=fillSelectionResultMetaData(); //selectionRsMetaData=fillSelectionResultMetaData();
console.log("felder"+selectionRsMetaData.length); //console.log("felder"+selectionRsMetaData.length);
for(var j=0;j < selectionRsMetaData.length;j++) var isDefault=true;
for(var j=0;j < rsColumnMetaData.length;j++)
{ {
var isDefault=false; if(rsColumnMetaData[j].tableId==datasource
console.log("feld "+selectionRsMetaData[j].nr+selectionRsMetaData[j].targetColumn); && rsColumnMetaData[j].colcaption.trim() !=""
if(selectionRsMetaData[j].nr) && (
isMeasure==false || rsColumnMetaData[j].coltype == 4 || rsColumnMetaData[j].coltype == 3)
)
{ {
if(selectionRsMetaData[j].targetColumn==this.name) //console.log("feld "+rsColumnMetaData[j].nr+selectionRsMetaData[j].targetColumn);
isDefault=true; var o=new selectionPropertyValue(rsColumnMetaData[j].nr,rsColumnMetaData[j].colcaption,rsColumnMetaData[j].colname,isDefault);
var o=new selectionPropertyValue(selectionRsMetaData[j].nr,selectionRsMetaData[j].colcaption,selectionRsMetaData[j].targetColumn,isDefault);
valueOptions[optionCounter]=o; valueOptions[optionCounter]=o;
optionCounter++; optionCounter++;
if(isDefault)
isDefault=false;
} }
} }
return valueOptions; return valueOptions;
@ -200,6 +213,44 @@ function updateChartModel(myChartModel)
optionsString+="\"caption\":\""+chartName+"\""; optionsString+="\"caption\":\""+chartName+"\"";
var myForm=document.forms["chartPropertiesForm"]; var myForm=document.forms["chartPropertiesForm"];
//first Collect all groups:
var commonChartPropertyGroups=[];
var previousGroup="";
for(var k=0;k < commonChartProperties.length;k++)
{
var groupVariableName=commonChartProperties[k].groupVariableName;
if(groupVariableName!=""
&& groupVariableName != previousGroup)
{
var newcommonChartPropertyGroup = new commonChartPropertyGroup(commonChartProperties[k].groupCaption,commonChartProperties[k].groupUniquename,groupVariableName);
commonChartPropertyGroups.push(newcommonChartPropertyGroup);
}
previousGroup=groupVariableName;
}
//Now create options Str with all groups:
var textDelim="";
for(var i=0;i < commonChartPropertyGroups.length;i++)
{
if(commonChartPropertyGroups[i].groupVariableName!="layout")
optionsString+=",\""+commonChartPropertyGroups[i].groupVariableName+"\":{\"dummy1\":1";
for(var k=0;k < commonChartProperties.length;k++)
{
if(commonChartProperties[k].groupVariableName==commonChartPropertyGroups[i].groupVariableName
&& commonChartProperties[k].variableName!=""
&& getCommonChartProperty(commonChartProperties[k].name)!="")
{
textDelim=(commonChartProperties[k].propValueType=="string")?"\"":"";
optionsString+=",\""+commonChartProperties[k].variableName+"\":"+textDelim+getCommonChartProperty(commonChartProperties[k].name)+textDelim;
}
}
if(commonChartPropertyGroups[i].groupVariableName!="layout")
optionsString+=" }"; //close tag
}
/*
for(var k=0;k < commonChartProperties.length;k++) for(var k=0;k < commonChartProperties.length;k++)
{ {
for(var i=0;i < myForm.elements.length;i++) for(var i=0;i < myForm.elements.length;i++)
@ -213,7 +264,7 @@ function updateChartModel(myChartModel)
} }
} }
} }*/
optionsString+= ", \"marks\":[]"; optionsString+= ", \"marks\":[]";
optionsString+=" }"; //close tag optionsString+=" }"; //close tag
/* /*
@ -233,7 +284,7 @@ function updateChartModel(myChartModel)
var styles=JSON.parse(stylesString); */ var styles=JSON.parse(stylesString); */
var chartOptions=JSON.parse(optionsString); var chartOptions=JSON.parse(optionsString);
var marksArray=new Array(); var marksArray=new Array();
marksArray[0]=Plot.barX(rs0, marksArray[0]=Plot.barX(rs_table0,
{ {
x: "gesamt", x: "gesamt",
y: "eintrag", y: "eintrag",
@ -252,12 +303,13 @@ function updateChartModel(myChartModel)
return myChartModel; return myChartModel;
} }
function renderChart(renderer,chartDiv) function renderChart(chartDiv)
{ {
if(document.getElementById("chartName").value=="") if(document.getElementById("chartName").value=="")
document.getElementById("chartName").value=vizInitialName; document.getElementById("chartName").value=vizInitialName;
var chartName=document.getElementById("chartName").value; var chartName=document.getElementById("chartName").value;
var renderer=document.getElementById('fldVizRenderer').value;
var myChartModel=new chartModel(1,chartName,renderer,rsTableMetaData); var myChartModel=new chartModel(1,chartName,renderer,rsTableMetaData);
myChartModel=updateChartModel(myChartModel); myChartModel=updateChartModel(myChartModel);
var mySVG=myChartModel.getChartSVG(); var mySVG=myChartModel.getChartSVG();
@ -280,10 +332,176 @@ function prepareSelectionForm()
return selectionProperties; return selectionProperties;
} }
function showGeneralChartPropertiesFormDiv(renderer) function createChartElementConfig1Form(renderer)
{ {
var myDiv=document.getElementById("generalChartPropertiesFormDiv"); //first empty form:
renderGeneralChartPropertiesForm("generalChartPropertiesFormElementsDiv",commonChartProperties,renderer); var formChartElementConfig1=document.getElementById("ChartElementConfig1Div");
while (formChartElementConfig1.firstChild) {
formChartElementConfig1.removeChild(formChartElementConfig1.firstChild);
}
//First Datasource:
const elementDatasourceDiv=document.createElement("div");
const fieldDatasourceElem = document.createElement("div");
fieldDatasourceElem.classList.add("field");
fieldDatasourceElem.classList.add("is-grouped");
//label:
const labelDatasourceElem = document.createElement("div");
labelDatasourceElem.classList.add("label-container");
const labelDatasource = document.createElement("label");
labelDatasource.classList.add("label");
labelDatasource.classList.add("is-required");
labelDatasource.classList.add("is-small");
labelDatasource.classList.add("has-tooltip-right");
labelDatasource.setAttribute("data-tooltip","Datenquelle für das Diagrammelement");
const textnode = document.createTextNode("Datenquelle");
labelDatasource.appendChild(textnode);
labelDatasourceElem.appendChild(labelDatasource);
fieldDatasourceElem.appendChild(labelDatasourceElem);
const selDatasourceElem = document.createElement("select");
selDatasourceElem.name="chartElementDatasource";
selDatasourceElem.id="chartElementDatasource";
selDatasourceElem.classList.add("select");
selDatasourceElem.classList.add("is-small");
selDatasourceElem.onchange= function () {
createChartElementsConfig2Form(renderer);
};
fillSelectOptions(selDatasourceElem,rsTableMetaData,true);
fieldDatasourceElem.appendChild(selDatasourceElem);
elementDatasourceDiv.appendChild(fieldDatasourceElem);
formChartElementConfig1.appendChild(elementDatasourceDiv);
//Then vizType:
const elementVizTypeDiv=document.createElement("div");
const fieldVizTypeElem = document.createElement("div");
fieldVizTypeElem.classList.add("field");
fieldVizTypeElem.classList.add("is-grouped");
//label:
const labelVizTypeElem = document.createElement("div");
labelVizTypeElem.classList.add("label-container");
const labelVizType = document.createElement("label");
labelVizType.classList.add("label");
labelVizType.classList.add("is-required");
labelVizType.classList.add("is-small");
labelVizType.classList.add("has-tooltip-right");
labelVizType.setAttribute("data-tooltip","Art des Diagrammelements");
const textnodeVizType = document.createTextNode("Diagrammelement-Typ");
labelVizType.appendChild(textnodeVizType);
labelVizTypeElem.appendChild(labelVizType);
fieldVizTypeElem.appendChild(labelVizTypeElem);
const selVizTypeElem = document.createElement("select");
selVizTypeElem.name="chartElementVizType";
selVizTypeElem.id="chartElementVizType";
selVizTypeElem.classList.add("select");
selVizTypeElem.classList.add("is-small");
selVizTypeElem.onchange= function () {
createChartElementsConfig2Form(renderer);
};
fillSelectOptions(selVizTypeElem,getPossibleVizTypes(renderer),true);
fieldVizTypeElem.appendChild(selVizTypeElem);
elementVizTypeDiv.appendChild(fieldVizTypeElem);
formChartElementConfig1.appendChild(elementVizTypeDiv);
}
function createChartElementsConfig2Form(renderer)
{
var dataSource=document.getElementById("chartElementDatasource").value;
var vizType=document.getElementById("chartElementVizType").value;
//now Elements:
var formChartElementConfig2Div=document.getElementById("ChartElementConfig2Div");
while (formChartElementConfig2Div.firstChild) {
formChartElementConfig2Div.removeChild(formChartElementConfig2Div.firstChild);
}
const elementDivBox = document.createElement("div");
for(var k=0;k < vizTypeProperties.length;k++)
{
if(vizType==vizTypeProperties[k].typeUniquename)
elementDivBox.appendChild(renderDimensionField(vizTypeProperties[k],dataSource));
}
const saveBtnDiv = document.createElement("div");
const saveBtn = document.createElement("input");
saveBtn.type="BUTTON";
saveBtn.value="Übernehmen";
saveBtn.onclick =function() {
            saveChartElementConfig()
        }
saveBtnDiv.appendChild(saveBtn);
elementDivBox.appendChild(saveBtnDiv);
formChartElementConfig2Div.appendChild(elementDivBox);
/*columnsDiv.appendChild(columnDiv);
//title
const columnDivTitle = document.createElement("div");
columnDivTitle.classList.add("column");
columnDivTitle.classList.add("is-narrow");
const columnDivBoxTitle = document.createElement("div");
columnDivBoxTitle.classList.add("box");
columnDivBoxTitle.style="width: 500px";
for(var k=0;k < myCommonChartProperties.length;k++)
{
if(myCommonChartProperties[k].name=="caption")
columnDivBoxTitle.appendChild(renderChartPropertyField(myCommonChartProperties[k]));
}
columnDivTitle.appendChild(columnDivBoxTitle);
columnsDiv.appendChild(columnDivTitle);
myForm.appendChild(columnsDiv);
*/
}
function saveChartElementConfig()
{
alert("Feierabend");
}
function getPossibleVizTypes(renderer)
{
var possibleVizTypes=new Array();
for(var k=0;k < vizTypes.length;k++)
{
var isDefault=true;
if(vizTypes[k].rendererUniquename==renderer)
{
var newVizType = new possibleVizType( //nr,value,name,explanation,isDefault
k,vizTypes[k].uniquename,vizTypes[k].caption,'',isDefault);
possibleVizTypes.push(newVizType);
isDefault=false;
}
}
return possibleVizTypes;
}
function fillDimensionProperty(vizTypeProperty,datasource)
{
var isMeasure=(vizTypeProperty.groupUniquename=="MEASURE")?true:false;
var myProp= new dimensionProperty(vizTypeProperty.propUniquename,vizTypeProperty.caption,vizTypeProperty.explanation,isMeasure,vizTypeProperty.isMandatory,datasource);
return myProp;
}
function showChartPropertiesFormDiv(formDiv,formElementsDiv,renderer)
{
var myDiv=document.getElementById(formDiv);
switch (formDiv)
{
case "generalChartPropertiesFormDiv":
renderGeneralChartPropertiesForm(formElementsDiv,commonChartProperties,renderer);
break;
case "ChartElementDiv":
break;
default:
//do nothing
break;
}
if(myDiv.style.display=="block") if(myDiv.style.display=="block")
myDiv.style.display="none"; myDiv.style.display="none";
@ -522,6 +740,7 @@ function fillSelectionResult(selectionRsMetaData)
function renderForm(formDiv,myChartProperties,myCommonChartProperties) function renderForm(formDiv,myChartProperties,myCommonChartProperties)
{ {
//OBSOLETE:
//first empty form: //first empty form:
var myForm=document.getElementById(formDiv); var myForm=document.getElementById(formDiv);
while (myForm.firstChild) { while (myForm.firstChild) {
@ -561,7 +780,7 @@ function renderForm(formDiv,myChartProperties,myCommonChartProperties)
} }
function renderDimensionField(dimensionProperty) function renderDimensionField(vizTypeProperty,datasource)
{ {
const fieldElem = document.createElement("div"); const fieldElem = document.createElement("div");
fieldElem.classList.add("field"); fieldElem.classList.add("field");
@ -574,9 +793,9 @@ function renderDimensionField(dimensionProperty)
label.classList.add("is-required"); label.classList.add("is-required");
label.classList.add("is-small"); label.classList.add("is-small");
label.classList.add("has-tooltip-right"); label.classList.add("has-tooltip-right");
label.setAttribute("data-tooltip",commonChartProperty.explanation); //label.setAttribute("data-tooltip",dimensionProperty.explanation);
const textnode = document.createTextNode(dimensionProperty.caption); const textnode = document.createTextNode(vizTypeProperty.caption);
label.appendChild(textnode); label.appendChild(textnode);
labelElem.appendChild(label); labelElem.appendChild(label);
fieldElem.appendChild(labelElem); fieldElem.appendChild(labelElem);
@ -584,23 +803,21 @@ function renderDimensionField(dimensionProperty)
const inputFieldElem = document.createElement("div"); const inputFieldElem = document.createElement("div");
inputFieldElem.classList.add("field"); inputFieldElem.classList.add("field");
inputFieldElem.classList.add("is-active"); inputFieldElem.classList.add("is-active");
const inputParaElem = document.createElement("p");
inputParaElem.classList.add("control-new");
const inputSelectElem = document.createElement("div"); const inputSelectElem = document.createElement("div");
inputSelectElem.classList.add("select"); inputSelectElem.classList.add("select");
inputSelectElem.classList.add("is-small"); inputSelectElem.classList.add("is-small");
inputSelectElem.classList.add("is-fullwidth"); //inputSelectElem.classList.add("is-fullwidth");
const selElem = document.createElement("select"); const selElem = document.createElement("select");
selElem.name=dimensionProperty.name; selElem.name=vizTypeProperty.propUniquename;
selElem.id=dimensionProperty.name; selElem.id=vizTypeProperty.propUniquename;
selElem.onchange= function () { /* vermutlich unnötig: selElem.onchange= function () {
createChart('chartDiv'); renderChart('chartDiv');
}; };*/
var dimensionProperty=fillDimensionProperty(vizTypeProperty,datasource);
fillSelectOptions(selElem,dimensionProperty.getValueResultset(),dimensionProperty.isMandatory); fillSelectOptions(selElem,dimensionProperty.getValueResultset(),dimensionProperty.isMandatory);
inputSelectElem.appendChild(selElem); inputSelectElem.appendChild(selElem);
inputParaElem.appendChild(inputSelectElem); inputFieldElem.appendChild(inputSelectElem);
inputFieldElem.appendChild(inputParaElem);
fieldElem.appendChild(inputFieldElem); fieldElem.appendChild(inputFieldElem);
return fieldElem; return fieldElem;
@ -770,7 +987,7 @@ function renderChartPropertyField(commonChartProperty)
} }
selElem.onchange= function () { selElem.onchange= function () {
createChart('chartDiv'); renderChart('chartDiv');
}; };
fillSelectOptions(selElem,commonChartProperty.getValueResultset(),commonChartProperty.isMandatory); fillSelectOptions(selElem,commonChartProperty.getValueResultset(),commonChartProperty.isMandatory);
inputElem.appendChild(selElem); inputElem.appendChild(selElem);
@ -791,7 +1008,7 @@ function renderChartPropertyField(commonChartProperty)
textAreaElem.id=commonChartProperty.name; textAreaElem.id=commonChartProperty.name;
textAreaElem.value=commonChartProperty.defaultValue; textAreaElem.value=commonChartProperty.defaultValue;
textAreaElem.onchange= function () { textAreaElem.onchange= function () {
createChart('chartDiv'); renderChart('chartDiv');
}; };
inputElem.appendChild(textAreaElem); inputElem.appendChild(textAreaElem);
inputParaElem.appendChild(inputElem); inputParaElem.appendChild(inputElem);
@ -820,7 +1037,7 @@ function renderChartPropertyField(commonChartProperty)
rangeElem.id=commonChartProperty.name; rangeElem.id=commonChartProperty.name;
rangeElem.value=commonChartProperty.defaultValue; rangeElem.value=commonChartProperty.defaultValue;
rangeElem.onchange= function () { rangeElem.onchange= function () {
createChart('chartDiv'); renderChart('chartDiv');
}; };
inputElem.appendChild(rangeElem); inputElem.appendChild(rangeElem);
inputParaElem.appendChild(inputElem); inputParaElem.appendChild(inputElem);
@ -843,7 +1060,7 @@ function renderChartPropertyField(commonChartProperty)
inpElem.id=commonChartProperty.name; inpElem.id=commonChartProperty.name;
inpElem.value=commonChartProperty.defaultValue; inpElem.value=commonChartProperty.defaultValue;
inpElem.onchange= function () { inpElem.onchange= function () {
createChart('chartDiv'); renderChart('chartDiv');
}; };
inputElem.appendChild(inpElem); inputElem.appendChild(inpElem);
inputParaElem.appendChild(inputElem); inputParaElem.appendChild(inputElem);
@ -1037,6 +1254,7 @@ var myDiv=document.getElementById(chartDivElem);
function createChart(chartDivElem) function createChart(chartDivElem)
{ {
//OBSOLETE!
chartType=document.getElementById("viz_chart_type").value; chartType=document.getElementById("viz_chart_type").value;
var selectionRsMetaData=[]; var selectionRsMetaData=[];

253
superx/xml/viz_demo.html

@ -41,7 +41,7 @@ padding-bottom:10px;
/*border-bottom:thick solid gray;*/ /*border-bottom:thick solid gray;*/
} }
</style><script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js"></script><script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js"></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script> </style><script language="Javascript" type="text/javascript" src="../xml/js/viz/d3.min.js"></script><script language="Javascript" type="text/javascript" src="../xml/js/viz/plot.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script language="Javascript" type="text/javascript" src="/superx/xml/js/viz/viz_functions.js"></script><script language="Javascript" type="text/javascript" src=""></script><script>
//document.body.append(Plot.plot(options)); //document.body.append(Plot.plot(options));
@ -102,7 +102,21 @@ this.caption=caption;
this.groupUniquename=groupUniquename; this.groupUniquename=groupUniquename;
this.groupVariableName=groupVariableName; this.groupVariableName=groupVariableName;
} }
function vizType(uniquename,caption,rendererUniquename)
{
this.caption=caption;
this.uniquename=uniquename;
this.rendererUniquename=rendererUniquename;
}
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory)
{
this.propUniquename=propUniquename;
this.caption=caption;
this.groupUniquename=groupUniquename;
this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory;
}
var commonChartProperties=[]; var commonChartProperties=[];
@ -152,7 +166,7 @@ var newCommonChartProperty = new commonChartProperty("fill","Flächenfarbe",fals
commonChartProperties.push(newCommonChartProperty); commonChartProperties.push(newCommonChartProperty);
var newCommonChartProperty = new commonChartProperty("backgroundColor","Hintergrundfarbe",false,"COLOR" var newCommonChartProperty = new commonChartProperty("backgroundColor","Hintergrundfarbe",false,"COLOR"
,"#ffffeb","","","","Hintergrundfarbe der Grafik","Style","STYLE","plot","style","background","string"); ,"#ffffeb","","","#ffffff","Hintergrundfarbe der Grafik","Style","STYLE","plot","style","background","string");
commonChartProperties.push(newCommonChartProperty); commonChartProperties.push(newCommonChartProperty);
var newCommonChartProperty = new commonChartProperty("color","Vordergrundfarbe",false,"COLOR" var newCommonChartProperty = new commonChartProperty("color","Vordergrundfarbe",false,"COLOR"
@ -275,14 +289,27 @@ var newCommonChartProperty = new commonChartProperty("valueLabelWidth","Werte-La
,"","","","","","Achsen-Beschriftung","TICKS_LABELS","plot","x","","integer"); ,"","","","","","Achsen-Beschriftung","TICKS_LABELS","plot","x","","integer");
commonChartProperties.push(newCommonChartProperty); commonChartProperties.push(newCommonChartProperty);
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory)
{ var vizTypes=[];
this.propUniquename=propUniquename;
this.caption=caption; var newVizType = new vizType("bar_x_stacked","Balken gestapelt (horiz.)","plot");
this.groupUniquename=groupUniquename; vizTypes.push(newVizType);
this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory; var newVizType = new vizType("bar_x","Balken (horizontal)","plot");
} vizTypes.push(newVizType);
var newVizType = new vizType("bar_y","Balken (vertikal)","plot");
vizTypes.push(newVizType);
var newVizType = new vizType("area_y","Flächen (vertikal)","plot");
vizTypes.push(newVizType);
var newVizType = new vizType("line","Linien (vertikal)","plot");
vizTypes.push(newVizType);
var newVizType = new vizType("dot","Punkte (vertikal)","plot");
vizTypes.push(newVizType);
var vizTypeProperties=[]; var vizTypeProperties=[];
@ -611,11 +638,12 @@ var platform='superx';
var vizInitialName='Studierende Makro Test'; var vizInitialName='Studierende Makro Test';
function tableMetaData(tableId,nr,name) function tableMetaData(nr,value,name,isDefault)
{ {
this.tableId=tableId; this.value=value;
this.nr=nr; this.nr=nr;
this.name=name; this.name=name
this.isDefault=isDefault;
} }
@ -655,7 +683,7 @@ var rsTableMetaData=new Array();
<span class="feldwert">Aktuelle Zahlen</span> <span class="feldwert">Aktuelle Zahlen</span>
; ;
<span class="feldname">Seit Semester</span>:&nbsp; <span class="feldname">Seit Semester</span>:&nbsp;
<span class="feldwert">SoSe 2017</span> <span class="feldwert">WiSe 2017/2018</span>
; ;
<span class="feldname">Bis Semester</span>:&nbsp; <span class="feldname">Bis Semester</span>:&nbsp;
<span class="feldwert">WiSe 2022/2023</span> <span class="feldwert">WiSe 2022/2023</span>
@ -671,11 +699,14 @@ var rsTableMetaData=new Array();
Stand: 10.08.2022 Stand: 10.08.2022
</p><script language="Javascript"> </p><script language="Javascript">
rsTableMetaData.push(new tableMetaData(0,1,'')); rsTableMetaData.push(new tableMetaData(
1,'table0','table0',
true
));
var rs0MetaData=new Array(); var rs_table0MetaData=new Array();
function dataRow0(rownr,eintrag,gesamt,ges_1fs,round,ges_1hs,specialcol1,column_7,frauen,specialcol2,frau_1fs,specialcol3,frau_1hs,specialcol4 function dataRow_table0(rownr,eintrag,gesamt,ges_1fs,round,ges_1hs,specialcol1,column_7,frauen,specialcol2,frau_1fs,specialcol3,frau_1hs,specialcol4
) )
{ {
this.rownr=rownr; this.rownr=rownr;
@ -695,69 +726,67 @@ this.specialcol4=specialcol4;
} }
var rs0= new Array(); var rs_table0= new Array();
rs0MetaData.push(new dataRowMetaData(0,1,'eintrag','Semester',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',1,'eintrag','Semester',0,null));
rs0MetaData.push(new dataRowMetaData(0,2,'gesamt','Gesamt- zahl',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',2,'gesamt','Gesamt- zahl',0,null));
rs0MetaData.push(new dataRowMetaData(0,3,'ges_1fs','1. FS gesamt',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',3,'ges_1fs','1. FS gesamt',0,null));
rs0MetaData.push(new dataRowMetaData(0,4,'round','1. FS in %',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',4,'round','1. FS in %',0,null));
rs0MetaData.push(new dataRowMetaData(0,5,'ges_1hs','1. HS gesamt',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',5,'ges_1hs','1. HS gesamt',0,null));
rs0MetaData.push(new dataRowMetaData(0,6,'specialcol1','1. HS in %',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',6,'specialcol1','1. HS in %',0,null));
rs0MetaData.push(new dataRowMetaData(0,7,'column_7',' ',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',7,'column_7',' ',0,null));
rs0MetaData.push(new dataRowMetaData(0,8,'frauen','dar. Frauen',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',8,'frauen','dar. Frauen',0,null));
rs0MetaData.push(new dataRowMetaData(0,9,'specialcol2','Frauen in %',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',9,'specialcol2','Frauen in %',0,null));
rs0MetaData.push(new dataRowMetaData(0,10,'frau_1fs','1. FS Frauen',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',10,'frau_1fs','1. FS Frauen',0,null));
rs0MetaData.push(new dataRowMetaData(0,11,'specialcol3','1. FS Frauen in %',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',11,'specialcol3','1. FS Frauen in %',0,null));
rs0MetaData.push(new dataRowMetaData(0,12,'frau_1hs','1. HS Frauen',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',12,'frau_1hs','1. HS Frauen',0,null));
rs0MetaData.push(new dataRowMetaData(0,13,'specialcol4','1. HS Frauen in %',0,null)); rs_table0MetaData.push(new dataRowMetaData('table0',13,'specialcol4','1. HS Frauen in %',0,null));
rs0MetaData[0].coltype=1; rs_table0MetaData[0].coltype=1;
rs0MetaData[1].coltype=4; rs_table0MetaData[1].coltype=4;
rs0MetaData[2].coltype=4; rs_table0MetaData[2].coltype=4;
rs0MetaData[3].coltype=3; rs_table0MetaData[3].coltype=3;
rs0MetaData[4].coltype=4; rs_table0MetaData[4].coltype=4;
rs0MetaData[5].coltype=3; rs_table0MetaData[5].coltype=3;
rs0MetaData[6].coltype=1; rs_table0MetaData[6].coltype=1;
rs0MetaData[7].coltype=4; rs_table0MetaData[7].coltype=4;
rs0MetaData[8].coltype=3; rs_table0MetaData[8].coltype=3;
rs0MetaData[9].coltype=4; rs_table0MetaData[9].coltype=4;
rs0MetaData[10].coltype=3; rs_table0MetaData[10].coltype=3;
rs0MetaData[11].coltype=4; rs_table0MetaData[11].coltype=4;
rs0MetaData[12].coltype=3; rs_table0MetaData[12].coltype=3;
rs0.push(new dataRow0(1,'SoSe 2022',2,2,100.00,2,100.00,'',null,null,null,null,null,null)); rs_table0.push(new dataRow_table0(1,'SoSe 2022',2,2,100.00,2,100.00,'',null,null,null,null,null,null));
rs0.push(new dataRow0(2,'WiSe 2021/2022',2,1,50.00,1,50.00,'',2,100.00,1,100.00,1,100.00)); rs_table0.push(new dataRow_table0(2,'WiSe 2021/2022',2,1,50.00,1,50.00,'',2,100.00,1,100.00,1,100.00));
rs0.push(new dataRow0(3,'SoSe 2021',579,119,20.55,99,17.10,'',240,41.45,44,36.97,37,37.37)); rs_table0.push(new dataRow_table0(3,'SoSe 2021',579,119,20.55,99,17.10,'',240,41.45,44,36.97,37,37.37));
rs0.push(new dataRow0(4,'WiSe 2020/2021',718,361,50.28,327,45.54,'',322,44.85,152,42.11,142,43.43)); rs_table0.push(new dataRow_table0(4,'WiSe 2020/2021',718,361,50.28,327,45.54,'',322,44.85,152,42.11,142,43.43));
rs0.push(new dataRow0(5,'SoSe 2020',447,210,46.98,198,44.30,'',210,46.98,96,45.71,88,44.44)); rs_table0.push(new dataRow_table0(5,'SoSe 2020',447,210,46.98,198,44.30,'',210,46.98,96,45.71,88,44.44));
rs0.push(new dataRow0(6,'WiSe 2019/2020',274,142,51.82,122,44.53,'',128,46.72,68,47.89,59,48.36)); rs_table0.push(new dataRow_table0(6,'WiSe 2019/2020',274,142,51.82,122,44.53,'',128,46.72,68,47.89,59,48.36));
rs0.push(new dataRow0(7,'SoSe 2019',148,41,27.70,39,26.35,'',66,44.59,16,39.02,14,35.90)); rs_table0.push(new dataRow_table0(7,'SoSe 2019',148,41,27.70,39,26.35,'',66,44.59,16,39.02,14,35.90));
rs0.push(new dataRow0(8,'WiSe 2018/2019',111,59,53.15,45,40.54,'',54,48.65,28,47.46,25,55.56)); rs_table0.push(new dataRow_table0(8,'WiSe 2018/2019',111,59,53.15,45,40.54,'',54,48.65,28,47.46,25,55.56));
rs0.push(new dataRow0(9,'SoSe 2018',72,9,12.50,8,11.11,'',31,43.06,2,22.22,2,25.00)); rs_table0.push(new dataRow_table0(9,'SoSe 2018',72,9,12.50,8,11.11,'',31,43.06,2,22.22,2,25.00));
rs0.push(new dataRow0(10,'WiSe 2017/2018',63,29,46.03,19,30.16,'',29,46.03,15,51.72,12,63.16)); rs_table0.push(new dataRow_table0(10,'WiSe 2017/2018',63,29,46.03,19,30.16,'',29,46.03,15,51.72,12,63.16));
rs0.push(new dataRow0(11,'SoSe 2017',44,3,6.82,3,6.82,'',16,36.36,2,66.67,2,66.67));
</script><p class="title is-5">Prüfungen nach Notendurchschnitt (Zeitreihe)</p> </script><p class="title is-5">Prüfungen nach Notendurchschnitt (Zeitreihe)</p>
<!--Template legende in file resultset_html.xsl--> <!--Template legende in file resultset_html.xsl-->
<p class="legende"><span class="feldname">Köpfe oder Fälle ?</span>:&nbsp; <p class="legende"><span class="feldname">Köpfe oder Fälle ?</span>:&nbsp;
@ -767,7 +796,7 @@ rs0.push(new dataRow0(11,'SoSe 2017',44,3,6.82,3,6.82,'',16,36.36,2,66.67,2,66.6
<span class="feldwert">Aktuelle Zahlen</span> <span class="feldwert">Aktuelle Zahlen</span>
; ;
<span class="feldname">Seit Semester</span>:&nbsp; <span class="feldname">Seit Semester</span>:&nbsp;
<span class="feldwert">SoSe 2017</span> <span class="feldwert">WiSe 2017/2018</span>
; ;
<span class="feldname">Bis Semester</span>:&nbsp; <span class="feldname">Bis Semester</span>:&nbsp;
<span class="feldwert">WiSe 2022/2023</span> <span class="feldwert">WiSe 2022/2023</span>
@ -783,11 +812,14 @@ rs0.push(new dataRow0(11,'SoSe 2017',44,3,6.82,3,6.82,'',16,36.36,2,66.67,2,66.6
Stand: 10.08.2022 Stand: 10.08.2022
</p><script language="Javascript"> </p><script language="Javascript">
rsTableMetaData.push(new tableMetaData(1,2,'')); rsTableMetaData.push(new tableMetaData(
2,'table1','table1',
false
));
var rs1MetaData=new Array(); var rs_table1MetaData=new Array();
function dataRow1(rownr,eintrag,anzahl,alle_unbek,column_4,alle,alle_maenner,alle_frauen,deutsche,deutsche_maenner,deutsche_frauen,auslaender,ausl_maenner,ausl_frauen function dataRow_table1(rownr,eintrag,anzahl,alle_unbek,column_4,alle,alle_maenner,alle_frauen,deutsche,deutsche_maenner,deutsche_frauen,auslaender,ausl_maenner,ausl_frauen
) )
{ {
this.rownr=rownr; this.rownr=rownr;
@ -807,79 +839,77 @@ this.ausl_frauen=ausl_frauen;
} }
var rs1= new Array(); var rs_table1= new Array();
rs1MetaData.push(new dataRowMetaData(1,1,'eintrag','Semester',0,null));
rs1MetaData.push(new dataRowMetaData(1,2,'anzahl','Anzahl\n Note\n bekannt',0,null));
rs1MetaData.push(new dataRowMetaData(1,3,'alle_unbek','Anzahl\n Note\n unbekannt',0,null));
rs1MetaData.push(new dataRowMetaData(1,4,'column_4',' ',0,null));
rs1MetaData.push(new dataRowMetaData(1,5,'alle','Alle',0,null));
rs1MetaData.push(new dataRowMetaData(1,6,'alle_maenner','Alle\n Männer',0,null));
rs1MetaData.push(new dataRowMetaData(1,7,'alle_frauen','Alle\n Frauen',0,null));
rs1MetaData.push(new dataRowMetaData(1,8,'deutsche','Deutsche',0,null));
rs1MetaData.push(new dataRowMetaData(1,9,'deutsche_maenner','Deutsche\nMänner',0,null));
rs1MetaData.push(new dataRowMetaData(1,10,'deutsche_frauen','Deutsche\nFrauen',0,null));
rs1MetaData.push(new dataRowMetaData(1,11,'auslaender','Ausländer',0,null));
rs1MetaData.push(new dataRowMetaData(1,12,'ausl_maenner','Ausl.\n Männer',0,null));
rs1MetaData.push(new dataRowMetaData(1,13,'ausl_frauen','Ausl.\n Frauen',0,null));
rs1MetaData[0].coltype=1;
rs1MetaData[1].coltype=4; rs_table1MetaData.push(new dataRowMetaData('table1',1,'eintrag','Semester',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',2,'anzahl','Anzahl\n Note\n bekannt',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',3,'alle_unbek','Anzahl\n Note\n unbekannt',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',4,'column_4',' ',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',5,'alle','Alle',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',6,'alle_maenner','Alle\n Männer',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',7,'alle_frauen','Alle\n Frauen',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',8,'deutsche','Deutsche',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',9,'deutsche_maenner','Deutsche\nMänner',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',10,'deutsche_frauen','Deutsche\nFrauen',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',11,'auslaender','Ausländer',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',12,'ausl_maenner','Ausl.\n Männer',0,null));
rs_table1MetaData.push(new dataRowMetaData('table1',13,'ausl_frauen','Ausl.\n Frauen',0,null));
rs_table1MetaData[0].coltype=1;
rs1MetaData[2].coltype=4; rs_table1MetaData[1].coltype=4;
rs1MetaData[3].coltype=1; rs_table1MetaData[2].coltype=4;
rs1MetaData[4].coltype=3; rs_table1MetaData[3].coltype=1;
rs1MetaData[5].coltype=3; rs_table1MetaData[4].coltype=3;
rs1MetaData[6].coltype=3; rs_table1MetaData[5].coltype=3;
rs1MetaData[7].coltype=3; rs_table1MetaData[6].coltype=3;
rs1MetaData[8].coltype=3; rs_table1MetaData[7].coltype=3;
rs1MetaData[9].coltype=3; rs_table1MetaData[8].coltype=3;
rs1MetaData[10].coltype=3; rs_table1MetaData[9].coltype=3;
rs1MetaData[11].coltype=3; rs_table1MetaData[10].coltype=3;
rs1MetaData[12].coltype=3; rs_table1MetaData[11].coltype=3;
rs1.push(new dataRow1(1,'SoSe 2017',3,null,'',2.466666667,2.466666667,null,2.466666667,2.466666667,null,null,null,null)); rs_table1MetaData[12].coltype=3;
rs1.push(new dataRow1(2,'SoSe 2018',2,null,'',2.600000000,2.200000000,3.000000000,2.600000000,2.200000000,3.000000000,null,null,null)); rs_table1.push(new dataRow_table1(1,'SoSe 2018',2,null,'',2.600000000,2.200000000,3.000000000,2.600000000,2.200000000,3.000000000,null,null,null));
rs1.push(new dataRow1(3,'WiSe 2018/2019',1,null,'',2.300000000,null,2.300000000,2.300000000,null,2.300000000,null,null,null)); rs_table1.push(new dataRow_table1(2,'WiSe 2018/2019',1,null,'',2.300000000,null,2.300000000,2.300000000,null,2.300000000,null,null,null));
rs1.push(new dataRow1(4,'SoSe 2019',5,null,'',2.480000000,2.433333333,2.550000000,2.480000000,2.433333333,2.550000000,null,null,null)); rs_table1.push(new dataRow_table1(3,'SoSe 2019',5,null,'',2.480000000,2.433333333,2.550000000,2.480000000,2.433333333,2.550000000,null,null,null));
rs1.push(new dataRow1(5,'WiSe 2019/2020',13,1,'',1.914615385,1.438333333,2.322857143,1.914615385,1.438333333,2.322857143,null,null,null)); rs_table1.push(new dataRow_table1(4,'WiSe 2019/2020',13,1,'',1.914615385,1.438333333,2.322857143,1.914615385,1.438333333,2.322857143,null,null,null));
rs1.push(new dataRow1(6,'SoSe 2020',21,3,'',2.070952381,2.045384615,2.112500000,2.072000000,2.045000000,2.112500000,2.050000000,2.050000000,null)); rs_table1.push(new dataRow_table1(5,'SoSe 2020',21,3,'',2.070952381,2.045384615,2.112500000,2.072000000,2.045000000,2.112500000,2.050000000,2.050000000,null));
rs1.push(new dataRow1(7,'WiSe 2020/2021',21,1,'',2.321428571,2.437500000,2.166666667,2.321428571,2.437500000,2.166666667,null,null,null)); rs_table1.push(new dataRow_table1(6,'WiSe 2020/2021',21,1,'',2.321428571,2.437500000,2.166666667,2.321428571,2.437500000,2.166666667,null,null,null));
rs1.push(new dataRow1(8,'SoSe 2021',9,1,'',2.833333333,2.100000000,3.042857143,2.833333333,2.100000000,3.042857143,null,null,null)); rs_table1.push(new dataRow_table1(7,'SoSe 2021',9,1,'',2.833333333,2.100000000,3.042857143,2.833333333,2.100000000,3.042857143,null,null,null));
rs1.push(new dataRow1(9,'WiSe 2021/2022',1,null,'',1.030000000,1.030000000,null,1.030000000,1.030000000,null,null,null,null)); rs_table1.push(new dataRow_table1(8,'WiSe 2021/2022',1,null,'',1.030000000,1.030000000,null,1.030000000,1.030000000,null,null,null,null));
rs1.push(new dataRow1(10,'WiSe 2022/2023',1,null,'',2.900000000,2.900000000,null,2.900000000,2.900000000,null,null,null,null)); rs_table1.push(new dataRow_table1(9,'WiSe 2022/2023',1,null,'',2.900000000,2.900000000,null,2.900000000,2.900000000,null,null,null,null));
rs1.push(new dataRow1(11,'',null,null,'',null,null,null,null,null,null,null,null,null)); rs_table1.push(new dataRow_table1(10,'',null,null,'',null,null,null,null,null,null,null,null,null));
rs1.push(new dataRow1(12,'Gesamt - Ø',77,1,'',2.257922078,2.130952381,2.410285714,2.260657895,2.132926829,2.410285714,2.050000000,2.050000000,null)); rs_table1.push(new dataRow_table1(11,'Gesamt - Ø',74,1,'',2.249459459,2.105128205,2.410285714,2.252191781,2.106578947,2.410285714,2.050000000,2.050000000,null));
</script><span class="separator">&nbsp;</span><div class="field is-grouped"> </script><span class="separator">&nbsp;</span><div class="field is-grouped">
<div class="label-container"><label class="label is-required is-small"><strong>Daten-Tabelle Studierende nach Erst- und Neueinschreibung (Zeitreihe)</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showDataTable('dataDivTable0',rs0,rs0MetaData,10);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div> <div class="label-container"><label class="label is-required is-small"><strong>Daten-Tabelle Studierende nach Erst- und Neueinschreibung (Zeitreihe)</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showDataTable('dataDivTabletable0',rs_table0,rs_table0MetaData,10);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div>
<div id="dataDiv"> <div id="dataDiv">
<div id="dataDivTable0"></div> <div id="dataDivTabletable0"></div>
</div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><div class="field is-grouped"> </div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><div class="field is-grouped">
<div class="label-container"><label class="label is-required is-small"><strong>Daten-Tabelle Prüfungen nach Notendurchschnitt (Zeitreihe)</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showDataTable('dataDivTable1',rs1,rs1MetaData,10);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div> <div class="label-container"><label class="label is-required is-small"><strong>Daten-Tabelle Prüfungen nach Notendurchschnitt (Zeitreihe)</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showDataTable('dataDivTabletable1',rs_table1,rs_table1MetaData,10);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div>
<div id="dataDiv"> <div id="dataDiv">
<div id="dataDivTable1"></div> <div id="dataDivTabletable1"></div>
</div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><div class="field is-grouped"> </div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><div class="field is-grouped">
<div class="label-container"><label class="label is-required is-small"><strong>Daten-Auswahl</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="fillDataSelectionForm('dataSelectionFormDiv');"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div> <div class="label-container"><label class="label is-required is-small"><strong>Daten-Auswahl</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="fillDataSelectionForm('dataSelectionFormDiv');"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div>
<div id="dataSelectionDiv"> <div id="dataSelectionDiv">
@ -948,14 +978,14 @@ rs1.push(new dataRow1(12,'Gesamt - Ø',77,1,'',2.257922078,2.130952381,2.4102857
Diagramm Diagramm
</p> </p>
<p><span class="button is-link is-outlined is-small" onClick="renderChart(document.getElementById('fldVizRenderer').value,'chartDiv');">Erzeugen</span></p> <p><span class="button is-link is-outlined is-small" onClick="renderChart('chartDiv');">Erzeugen</span></p>
</div> </div>
<div class="column is-half"> <div class="column is-half">
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"><label class="label is-required is-small">Name</label></div> <div class="label-container"><label class="label is-required is-small">Name</label></div>
<div class="field is-active"> <div class="field is-active">
<p class="control-new"> <p class="control-new">
<div class="select is-small is-fullwidth"><textarea class="maskinput" id="chartName" name="chartName" rows="3" cols="20"></textarea></div> <div class="select is-small is-fullwidth"><textarea class="maskinput" id="chartName" name="chartName" rows="3" cols="20" onChange="renderChart('chartDiv');"></textarea></div>
</p> </p>
</div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</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');"> </div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</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> <figure class="image is-24x24"><img src="../images/information_grey_liberation.svg"></figure></span></div>
@ -980,10 +1010,17 @@ rs1.push(new dataRow1(12,'Gesamt - Ø',77,1,'',2.257922078,2.130952381,2.4102857
</p> </p>
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"><label class="label is-required is-small"><strong>Layoutmerkmale</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showGeneralChartPropertiesFormDiv(document.getElementById('fldVizRenderer').value);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div> <div class="label-container"><label class="label is-required is-small"><strong>Layoutmerkmale</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showChartPropertiesFormDiv('generalChartPropertiesFormDiv','generalChartPropertiesFormElementsDiv',document.getElementById('fldVizRenderer').value);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div>
<div id="generalChartPropertiesFormDiv" style="display:none"> <div id="generalChartPropertiesFormDiv" style="display:none">
<div id="generalChartPropertiesFormElementsDiv"></div> <div id="generalChartPropertiesFormElementsDiv"></div>
</div> </div>
<div class="field is-grouped">
<div class="label-container"><label class="label is-required is-small"><strong>Diagrammelemente</strong></label></div><span class="separator">&nbsp;</span><span class="separator">&nbsp;</span><a onClick="showChartPropertiesFormDiv('ChartElementsDiv','ChartElementListDiv',document.getElementById('fldVizRenderer').value);"><span class="icon"><img src="../images/icons/more.svg" title="Laden"></span></a></div>
<div id="ChartElementsDiv" style="display:none">
<div id="ChartElementListDiv"><a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value)">Neues Element</a></div>
<div id="ChartElementConfig1Div"></div>
<div id="ChartElementConfig2Div"></div>
</div>
</div> </div>
<div class="column"> <div class="column">
<p class="bd-notification is-fojeisj">Vorschau</p> <p class="bd-notification is-fojeisj">Vorschau</p>
@ -1027,7 +1064,7 @@ rs1.push(new dataRow1(12,'Gesamt - Ø',77,1,'',2.257922078,2.130952381,2.4102857
</section> </section>
<div xmlns:ext1="de.memtext.util.DateUtils" xmlns:ext2="java.util.Date" xmlns:string="java.lang.String" id="fuss"> <div xmlns:ext1="de.memtext.util.DateUtils" xmlns:ext2="java.util.Date" xmlns:string="java.lang.String" id="fuss">
<hr><a href="http://www.superx-projekt.de" target="_top">Superx-Projekt</a>&nbsp;<a href="http://www.superx-projekt.de" target="_parent">http://www.superx-projekt.de</a> <hr><a href="http://www.superx-projekt.de" target="_top">Superx-Projekt</a>&nbsp;<a href="http://www.superx-projekt.de" target="_parent">http://www.superx-projekt.de</a>
&nbsp; 31.12.2022 &nbsp; 02.01.2023
</div> </div>
<!--customfooter--> <!--customfooter-->
</div> </div>

140
superx/xml/viz_html_chart.xsl

@ -188,8 +188,6 @@ this.groupUniquename=groupUniquename;
this.groupVariableName=groupVariableName; this.groupVariableName=groupVariableName;
} }
var commonChartProperties=[]; var commonChartProperties=[];
]]></xsl:text> ]]></xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/chartProperties/commonChartProperty"> <xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/chartProperties/commonChartProperty">
@ -253,13 +251,38 @@ commonChartProperties.push(newCommonChartProperty);
</xsl:text>--> </xsl:text>-->
<xsl:text> <xsl:text>
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory)
function vizType(uniquename,caption,rendererUniquename)
{
this.caption=caption;
this.uniquename=uniquename;
this.rendererUniquename=rendererUniquename;
}
var vizTypes=[];
</xsl:text>
<xsl:for-each select="/ergebnisse/ergebnis[@ordnr='0']/ergebniselement/vizTypes/vizType">
<xsl:text>
var newVizType = new vizType("</xsl:text>
<xsl:value-of select="@uniquename" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@caption" />
<xsl:text>","</xsl:text>
<xsl:value-of select="@renderer_uniquename" />
<xsl:text>");
vizTypes.push(newVizType);
</xsl:text>
</xsl:for-each>
<xsl:text>
function vizTypeProperty(propUniquename,caption,typeUniquename,groupUniquename,isMandatory,explanation)
{ {
this.propUniquename=propUniquename; this.propUniquename=propUniquename;
this.caption=caption; this.caption=caption;
this.groupUniquename=groupUniquename; this.groupUniquename=groupUniquename;
this.typeUniquename=typeUniquename; this.typeUniquename=typeUniquename;
this.isMandatory=isMandatory; this.isMandatory=isMandatory;
this.explanation=explanation;
} }
var vizTypeProperties=[]; var vizTypeProperties=[];
@ -275,7 +298,8 @@ var newVizTypeProperty = new vizTypeProperty("</xsl:text>
<xsl:text>","</xsl:text> <xsl:text>","</xsl:text>
<xsl:value-of select="@viz_property_group_uniquename" /> <xsl:value-of select="@viz_property_group_uniquename" />
<xsl:text>",</xsl:text> <xsl:text>",</xsl:text>
<xsl:value-of select="@is_mandatory" /><xsl:text> <xsl:value-of select="@is_mandatory" />
<xsl:text>,""
); );
vizTypeProperties.push(newVizTypeProperty); vizTypeProperties.push(newVizTypeProperty);
</xsl:text> </xsl:text>
@ -1301,15 +1325,6 @@ var platform='superx';
var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>'; var vizInitialName='</xsl:text><xsl:value-of select="$vizInitialName"/><xsl:text>';
function tableMetaData(tableId,nr,name)
{
this.tableId=tableId;
this.nr=nr;
this.name=name;
}
function dataRowMetaData(tableId,nr,colname,colcaption,coltype,colfunction) function dataRowMetaData(tableId,nr,colname,colcaption,coltype,colfunction)
{ {
this.tableId=tableId; this.tableId=tableId;
@ -1320,7 +1335,18 @@ this.coltype=coltype;
this.colfunction=colfunction; this.colfunction=colfunction;
} }
function tableMetaData(nr,value,name,isDefault)
{
this.value=value;
this.nr=nr;
this.name=name
this.isDefault=isDefault;
}
var rsTableMetaData=new Array(); var rsTableMetaData=new Array();
var rsColumnMetaData=new Array();
</xsl:text> </xsl:text>
@ -1330,18 +1356,33 @@ var rsTableMetaData=new Array();
</xsl:template> </xsl:template>
<xsl:template name="buildVizData"> <xsl:template name="buildVizData">
<xsl:param name="tableId" /> <xsl:param name="tableId" />
<script language="Javascript"> <script language="Javascript">
<xsl:text> <xsl:text>
rsTableMetaData.push(new tableMetaData(</xsl:text> rsTableMetaData.push(new tableMetaData(
<xsl:value-of select="$tableId"/><xsl:text>,</xsl:text> </xsl:text>
<xsl:value-of select="position()"/> <xsl:value-of select="position()"/>
<xsl:text>,'')); <xsl:text>,'</xsl:text>
<xsl:value-of select="$tableId"/>
<xsl:text>','</xsl:text>
<xsl:value-of select="$tableId"/>
<xsl:text>',
</xsl:text>
<xsl:choose>
<xsl:when test="position()=1">
<xsl:text>true</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>false</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
));
var rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData=new Array();
function dataRow</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text> function dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xsl:text>
<xsl:for-each select="sqlerg/complete_headers/header"> <xsl:for-each select="sqlerg/complete_headers/header">
<xsl:text>,</xsl:text> <xsl:text>,</xsl:text>
<xsl:call-template name="getColumnNameJS"> <xsl:call-template name="getColumnNameJS">
@ -1364,7 +1405,7 @@ function dataRow</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(rownr</xs
</xsl:for-each><xsl:text> </xsl:for-each><xsl:text>
} }
var rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>= new Array(); var rs_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>= new Array();
</xsl:text> </xsl:text>
@ -1373,8 +1414,8 @@ var rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>= new Array();
<xsl:value-of select="position()"/> <xsl:value-of select="position()"/>
</xsl:variable> </xsl:variable>
<xsl:text> <xsl:text>
rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData.push(new dataRowMetaData(</xsl:text> rsColumnMetaData.push(new dataRowMetaData('</xsl:text>
<xsl:value-of select="$tableId"/><xsl:text>,</xsl:text> <xsl:value-of select="$tableId"/><xsl:text>',</xsl:text>
<xsl:value-of select="$rownr"/> <xsl:value-of select="$rownr"/>
<xsl:text>,'</xsl:text> <xsl:text>,'</xsl:text>
<xsl:call-template name="getColumnNameJS"> <xsl:call-template name="getColumnNameJS">
@ -1399,7 +1440,7 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData.push(new dataRo
<xsl:value-of select="position()"/> <xsl:value-of select="position()"/>
</xsl:variable> </xsl:variable>
<xsl:text> <xsl:text>
rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData[</xsl:text><xsl:value-of select="number($colnr)-1"/><xsl:text>].coltype=</xsl:text><xsl:value-of select="@typ"/> rsColumnMetaData[</xsl:text><xsl:value-of select="number($colnr)-1"/><xsl:text>].coltype=</xsl:text><xsl:value-of select="@typ"/>
<xsl:text>; <xsl:text>;
</xsl:text> </xsl:text>
</xsl:for-each> </xsl:for-each>
@ -1407,7 +1448,7 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData[</xsl:text><xsl
</xsl:if> </xsl:if>
<!--now resultset--> <!--now resultset-->
<xsl:text> <xsl:text>
rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(</xsl:text><xsl:value-of select="$rownr"/> rs_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>(</xsl:text><xsl:value-of select="$rownr"/>
<xsl:for-each select="col"> <xsl:for-each select="col">
<xsl:text>,</xsl:text> <xsl:text>,</xsl:text>
<xsl:choose> <xsl:choose>
@ -1439,14 +1480,14 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
<xsl:call-template name="navigationsmenue" /> <xsl:call-template name="navigationsmenue" />
</xsl:if>--> </xsl:if>-->
<xsl:call-template name="buildVizData" > <xsl:call-template name="buildVizData" >
<xsl:with-param name="tableId" select="@ordnr" /> <xsl:with-param name="tableId" select="concat('table' ,@ordnr)" />
</xsl:call-template> </xsl:call-template>
</xsl:for-each> </xsl:for-each>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<!--Aufruf/Anzeige Diagrammdaten--> <!--Aufruf/Anzeige Diagrammdaten-->
<xsl:for-each select="ergebnis/ergebniselement"> <xsl:for-each select="ergebnis/ergebniselement">
<xsl:variable name="tableId"><xsl:value-of select="@ordnr"/></xsl:variable> <xsl:variable name="tableId"><xsl:value-of select="concat('table' ,@ordnr)"/></xsl:variable>
<div class="field is-grouped"> <div class="field is-grouped">
<div class="label-container"> <div class="label-container">
<label class="label is-required is-small"><strong><xsl:text>Daten-Tabelle </xsl:text><xsl:value-of select="../maskenname"/></strong></label> <label class="label is-required is-small"><strong><xsl:text>Daten-Tabelle </xsl:text><xsl:value-of select="../maskenname"/></strong></label>
@ -1466,8 +1507,8 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
<xsl:attribute name="onClick"> <xsl:attribute name="onClick">
<xsl:text>showDataTable('dataDivTable</xsl:text> <xsl:text>showDataTable('dataDivTable</xsl:text>
<xsl:value-of select="$tableId"/> <xsl:value-of select="$tableId"/>
<xsl:text>',rs</xsl:text><xsl:value-of select="$tableId"/> <xsl:text>',rs_</xsl:text><xsl:value-of select="$tableId"/>
<xsl:text>,rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData,10);</xsl:text> <xsl:text>,rs_</xsl:text><xsl:value-of select="$tableId"/><xsl:text>MetaData,10);</xsl:text>
</xsl:attribute> </xsl:attribute>
<span class="icon"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
@ -1769,7 +1810,7 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
<p class="bd-notification is-primary"> <p class="bd-notification is-primary">
Diagramm Diagramm
</p> </p>
<p><span class="button is-link is-outlined is-small" onClick="renderChart(document.getElementById('fldVizRenderer').value,'chartDiv');">Erzeugen</span></p> <p><span class="button is-link is-outlined is-small" onClick="renderChart('chartDiv');">Erzeugen</span></p>
</div> </div>
<div class="column is-half"> <div class="column is-half">
<div class="field is-grouped"> <div class="field is-grouped">
@ -1780,7 +1821,7 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
<div class="field is-active"> <div class="field is-active">
<p class="control-new"> <p class="control-new">
<div class="select is-small is-fullwidth"> <div class="select is-small is-fullwidth">
<textarea class="maskinput" id="chartName" name="chartName" rows="3" cols="20" /> <textarea class="maskinput" id="chartName" name="chartName" rows="3" cols="20" onChange="renderChart('chartDiv');"/>
</div> </div>
</p> </p>
</div> </div>
@ -1811,6 +1852,7 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
</div> </div>
</div> </div>
<!-- Beginn Eigenschaften+ Vorschau-->
<div class="columns"> <div class="columns">
<div class="column is-one-third"> <div class="column is-one-third">
<p class="bd-notification is-primary"> <p class="bd-notification is-primary">
@ -1826,7 +1868,7 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
<a <a
onClick="showGeneralChartPropertiesFormDiv(document.getElementById('fldVizRenderer').value);"> onClick="showChartPropertiesFormDiv('generalChartPropertiesFormDiv','generalChartPropertiesFormElementsDiv',document.getElementById('fldVizRenderer').value);">
<span class="icon"> <span class="icon">
<img src="../images/icons/more.svg" title="Laden" /> <img src="../images/icons/more.svg" title="Laden" />
</span> </span>
@ -1836,8 +1878,35 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
<div id="generalChartPropertiesFormDiv" style="display:none"> <div id="generalChartPropertiesFormDiv" style="display:none">
<div id="generalChartPropertiesFormElementsDiv"> </div> <div id="generalChartPropertiesFormElementsDiv"> </div>
</div> </div>
</div> <!-- Box Diagrammelemente -->
<div class="column"> <div class="field is-grouped">
<div class="label-container">
<label class="label is-required is-small"><strong>Diagrammelemente</strong></label>
</div>
<span class="separator">&#160;</span>
<span class="separator">&#160;</span>
<a
onClick="showChartPropertiesFormDiv('ChartElementsDiv','ChartElementListDiv',document.getElementById('fldVizRenderer').value);">
<span class="icon">
<img src="../images/icons/more.svg" title="Laden" />
</span>
</a>
</div>
<div id="ChartElementsDiv" style="display:none">
<div id="ChartElementListDiv">
<a onClick="createChartElementConfig1Form(document.getElementById('fldVizRenderer').value)">Neues Element</a>
</div>
<div id="ChartElementConfig1Div"> </div>
<div id="ChartElementConfig2Div"> </div>
</div>
</div> <!-- Ende der Spalte Eigenschaften -->
<div class="column">
<p class="bd-notification is-fojeisj">Vorschau</p> <p class="bd-notification is-fojeisj">Vorschau</p>
<div id="chartCanvas"> <div id="chartCanvas">
<div id="chartDiv"><svg viewBox="0 0 650 450"> <div id="chartDiv"><svg viewBox="0 0 650 450">
@ -1852,6 +1921,9 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
</div> </div>
</div> </div>
</div><!--Ende Eigenschaften + Vorschau-->
</form>
</div> </div>
<!-- <!--
@ -1915,8 +1987,8 @@ rs</xsl:text><xsl:value-of select="$tableId"/><xsl:text>.push(new dataRow</xsl:t
</div> </div>
<div id="chartPropertiesFormDetails" style="display:none"> </div> <div id="chartPropertiesFormDetails" style="display:none"> </div>
--> -->
</form>
</div>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>
<span class="separator">&#160;</span> <span class="separator">&#160;</span>

Loading…
Cancel
Save