Browse Source

Barrierefreiheit und Tabellenlayout angepasst #15

master
Daniel Quathamer 1 day ago
parent
commit
281d8f2992
  1. 10
      src/de/memtext/util/CryptUtils.java
  2. 11
      src/de/superx/bin/FMParser.java
  3. 4
      src/de/superx/servlet/UserInitializer.java
  4. 2
      superx-build/build.xml
  5. 2
      superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt
  6. 225
      superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_doc/kern_load.txt
  7. 2
      superx/WEB-INF/conf/edustore/db/install/conf/kern.rtf
  8. BIN
      superx/WEB-INF/lib/superx6.0.jar
  9. 2
      superx/edit/kern/maske_combo_laden.jsp
  10. 2
      superx/edit/kern/maske_sicht_laden.jsp
  11. 29
      superx/style/sx_common.css
  12. 115
      superx/style/sx_tabelle.css
  13. 3
      superx/xml/js/memtext/nd_functions.js
  14. 44
      superx/xml/js/memtext/sx_functions.js
  15. 229
      superx/xml/nd_templates.xsl
  16. 23
      superx/xml/tabelle_html.xsl

10
src/de/memtext/util/CryptUtils.java

@ -7,6 +7,7 @@ import java.util.StringTokenizer;
import javax.crypto.Cipher; import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException; import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec; import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.digest.Crypt;
/** /**
* *
@ -77,6 +78,15 @@ public class CryptUtils {
} }
return encrypted.toString(); return encrypted.toString();
} }
public static String encodeSHA512(String txt) {
if (txt ==null || txt.length() > 1000) {
throw new RuntimeException("Passwort ist ungültig");
}
byte txtArray[] = txt.getBytes();
return Crypt.crypt(txtArray, "$6$0q5233a66a3e9bea16f3139bfe4f6ce50ced591deafbc4b9ef56d6ae60fe9c4b22aa78dbd704bde57c");
}
public static String encryptSimple(String s) { public static String encryptSimple(String s) {
int i = 0; int i = 0;

11
src/de/superx/bin/FMParser.java

@ -44,7 +44,7 @@ public class FMParser extends TemplateProcessor {
private Statement stm; private Statement stm;
private String isSimpleParser; private String isSimpleParser;
private String myParams="";
private static String sqlDialect; private static String sqlDialect;
public FMParser(String mandantenId, Connection con) throws SQLException { public FMParser(String mandantenId, Connection con) throws SQLException {
@ -65,7 +65,16 @@ public class FMParser extends TemplateProcessor {
outfile = GetOpts.getValue(Options.opt_out); outfile = GetOpts.getValue(Options.opt_out);
if (GetOpts.isPresent(Options.opt_simpPars)) if (GetOpts.isPresent(Options.opt_simpPars))
isSimpleParser = GetOpts.getValue(Options.opt_simpPars); isSimpleParser = GetOpts.getValue(Options.opt_simpPars);
if (GetOpts.isPresent(Options.opt_params))
myParams = GetOpts.getValue(Options.opt_params);
String input = StringUtils.readFile(new File(infile)); String input = StringUtils.readFile(new File(infile));
if(myParams !="")
{
String paramName = "<<" +myParams.substring(0, myParams.indexOf("="))+">>";
String paramVal = "'"+myParams.substring(myParams.indexOf("=") + 1)+"'";
input=de.memtext.util.StringUtils.replace(input, paramName, paramVal);
}
String output = ""; String output = "";
if (isSimpleParser != null && isSimpleParser.equalsIgnoreCase("true")) { if (isSimpleParser != null && isSimpleParser.equalsIgnoreCase("true")) {
output = simpleParser(dbprop, input); output = simpleParser(dbprop, input);

4
src/de/superx/servlet/UserInitializer.java

@ -410,7 +410,9 @@ public class UserInitializer {
} }
} else { } else {
//Support fuer LDAP-Technik via Tomcat Remote User //Support fuer LDAP-Technik via Tomcat Remote User
if (request.getRemoteUser()!=null) if (request.getRemoteUser()!=null ||
(request.getAuthType() !=null && request.getAuthType().equals("shibboleth"))
)
{ {
isPasswordOK=true; isPasswordOK=true;
} }

2
superx-build/build.xml

@ -47,7 +47,7 @@
classname="org.codehaus.groovy.ant.Groovy" classname="org.codehaus.groovy.ant.Groovy"
classpathref="classpath"/> classpathref="classpath"/>
<property name="version" value="5.3" /> <property name="version" value="6.0" />
<target name="cvs_checkout_eduetl_dbconv_sch"> <target name="cvs_checkout_eduetl_dbconv_sch">

2
superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt

@ -1 +1 @@
08.08.2026 09.08.2026

225
superx/WEB-INF/conf/edustore/db/install/conf/his1/edustore_doc/kern_load.txt

@ -0,0 +1,225 @@
=Schnittstellen kern=
{| class="prettytable" border="1"
|-
|SuperX-Version
|2
|-
|Modulversion
|6.0b
|-
|Sachgebiet
|Administration id 0
|-
|Systeminfo
|Administration id 9
|-
|Thema
|Administration
|-
|Themenbaum-Ast
|Abfragen
|}
==Ladeschritt 1: kern_cifx_neu==
LAdetabelle für zentrale Stammdaten (derzeit Kostenstellen/Orgunits) durch HLR gefüllt
Typ: Datentabelle,
Themenbereich: Administration
{| class="prettytable" border="1"
|-
! Feldname
! Feldtyp
! Größe
! Default
! Not Null
! Beschreibung
! Kommentar
! Fremdschlüssel
|-
|key
|SMALLINT
|2
|
|true
|
|
|
|-
|hs
|INTEGER
|4
|
|true
|
|
|
|-
|apnr
|VARCHAR
|255
|
|false
|
|
|
|-
|kurz
|CHAR
|10
|
|false
|
|
|
|-
|druck
|VARCHAR
|200
|
|false
|
|
|
|-
|lang_1
|CHAR
|255
|
|false
|
|
|
|-
|astat
|CHAR
|50
|
|false
|
|
|
|-
|parent
|VARCHAR
|255
|
|false
|
|
|
|-
|uniquename
|VARCHAR
|255
|
|false
|
|
|
|-
|bund_apnr
|CHAR
|10
|
|false
|
|
|
|-
|d_akt_von
|DATE
|4
|
|false
|
|
|
|-
|d_akt_bis
|DATE
|4
|
|false
|
|
|
|-
|sourcesystem_id
|VARCHAR
|255
|
|false
|
|
|
|-
|hiskey_id
|VARCHAR
|255
|
|false
|
|
|
|-
|struktur_c
|CHAR
|50
|
|false
|
|
|
|-
|lid
|VARCHAR
|255
|
|false
|Langlebige ID
|
|
|-
|parent_lid
|VARCHAR
|255
|
|false
|Übergeordnete langlebige ID
|
|
|-
|sortorder
|INTEGER
|255
|
|false
|Sortiernummer
|
|
|}

2
superx/WEB-INF/conf/edustore/db/install/conf/kern.rtf

File diff suppressed because one or more lines are too long

BIN
superx/WEB-INF/lib/superx6.0.jar

Binary file not shown.

2
superx/edit/kern/maske_combo_laden.jsp

@ -31,7 +31,7 @@ String previousValue = request.getParameter("previousValue");
String zeilenanzahl = request.getParameter("zeilenanzahl"); String zeilenanzahl = request.getParameter("zeilenanzahl");
String referrerForm = request.getParameter("referrerForm"); String referrerForm = request.getParameter("referrerForm");
if(referrerForm==null || referrerForm.equals("")) if(referrerForm==null || referrerForm.equals(""))
referrerForm="0"; referrerForm="maske";
String params = request.getParameter("params"); String params = request.getParameter("params");
String callurl="../../servlet/SuperXmlMaske?tid="+tid+"&getJSON_"+fname+"=xxxxxx-xxxxxx@"; String callurl="../../servlet/SuperXmlMaske?tid="+tid+"&getJSON_"+fname+"=xxxxxx-xxxxxx@";

2
superx/edit/kern/maske_sicht_laden.jsp

@ -31,7 +31,7 @@ String previousValue = request.getParameter("previousValue");
String zeilenanzahl = request.getParameter("zeilenanzahl"); String zeilenanzahl = request.getParameter("zeilenanzahl");
String referrerForm = request.getParameter("referrerForm"); String referrerForm = request.getParameter("referrerForm");
if(referrerForm==null || referrerForm.equals("")) if(referrerForm==null || referrerForm.equals(""))
referrerForm="0"; referrerForm="maske";
String params = request.getParameter("params"); String params = request.getParameter("params");

29
superx/style/sx_common.css

@ -46,7 +46,7 @@ a, .themenbaumLinkName, .labelSichtorComboButton {
/*Allgemeine Basics*/ /*Allgemeine Basics*/
div.columns { /*für Abstand zum Seitenrand*/ div.columns { /*für Abstand zum Seitenrand*/
margin-top: 1px; margin-top: 1px;
margin-right:5px; } margin-right:5%; } /*202603 geänd. v. 5px*/
body { /*für Seiteninhalt*/ body { /*für Seiteninhalt*/
display: flex; display: flex;
@ -56,16 +56,16 @@ body { /*für Seiteninhalt*/
} }
.hero-body { .hero-body {
margin-left: 1.5em; margin-left: -50px; /*202604: geänd. v 1.5em;*/
margin-right: 1.5em; } margin-right: 1.5em; }
.title, .subtitle { /*für Seitentitel*/ .title, .subtitle { /*für Seitentitel*/
margin-top: 0.4em; margin-top: 0.4em;
padding-bottom: 0.1em; /*für Padding: ob re un li*/ padding-bottom: 0.1em; /* für Padding: ob re un li*/
white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/
word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/
overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/
hyphens: auto; } /*für Padding: ob re un li*/ hyphens: auto; }
.title, .subtitle, .label, .labelNormal, .labelPflicht, .subdir-button, .stb-button, .supplement, .menu-list a, .title, .subtitle, .label, .labelNormal, .labelPflicht, .subdir-button, .stb-button, .supplement, .menu-list a,
.navbar-item, .navbar-dropdown, .bottom-nav, .button, .breadcrumb, p.legende, .dontprint, .panel-block, .panel-tabs, .resultcount { .navbar-item, .navbar-dropdown, .bottom-nav, .button, .breadcrumb, p.legende, .dontprint, .panel-block, .panel-tabs, .resultcount {
@ -564,7 +564,7 @@ input.ndSchluesselfeld {
.field.has-addons .control .select select, .input, .field.has-addons .control .select select, .input,
.field.has-addons .control .button { .field.has-addons .control .button {
height: 2.5em; height: 2.5em;
border: thin solid hsl(0, 0%, 71%); /*hellgrau*/ border: thin solid hsl(0, 0%, 60%);} /*=dkleres Grau; vormals hsl(0, 0%, 71%)=hellgrau*/
} }
.field.has-addons .control:not(:last-child) { .field.has-addons .control:not(:last-child) {
@ -589,17 +589,16 @@ input.ndSchluesselfeld {
position: absolute; position: absolute;
z-index: 1000; z-index: 1000;
padding: 1.0em; padding: 1.0em;
background-color: #a6a6a6ff; /*UDE: #a6a6a6ff; sx-regulär:royalblue;*/ background-color: royalblue /*#333*/;
color: white; color: white;
border-radius: 0.3em; border-radius: 0.3em;
white-space: wrap; white-space: wrap;
text-align: left; text-align: left;
width: 25em; width: 250px;
height: fit-content; height: fit-content;
white-space: wrap; /* für Zeilenumbrüche nach Standard-Regeln*/ white-space: wrap; /* für Zeilenumbrüche nach Standard-Regeln*/
overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/
hyphens: auto; hyphens: auto; }
}
/*Listen*/ /*Listen*/
ul { ul {
@ -675,7 +674,7 @@ img.svg_icon { height:20px; }
.icon_themenbaum_kenn_small{content:url(../images/icon_kenn_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} .icon_themenbaum_kenn_small{content:url(../images/icon_kenn_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;}
.icon_themenbaum_kenn_normal{content:url(../images/logobutton_kenn.svg);height:100px;width:100px;display:inline;} .icon_themenbaum_kenn_normal{content:url(../images/logobutton_kenn.svg);height:100px;width:100px;display:inline;}
.icon_themenbaum_sx_connect_small{content:url(../images/icon_sx_connect.png);height:20px;width:20px;display:inline;} .icon_themenbaum_sx_connect_small{content:url(../images/icon_sx_connect.png);height:20px;width:20px;display:inline;}
.icon_themenbaum_sx_connect_normal{content:url(../images/logobutton_sx_connect.svg);height:100px;width:100px;display:inline;} .icon_themenbaum_sx_connect_normal{content:url(../images/logobutton_sx_connect.png);height:100px;width:100px;display:inline;}
.icon_themenbaum_ivs_small{content:url(../images/icon_ivs_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} .icon_themenbaum_ivs_small{content:url(../images/icon_ivs_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;}
.icon_themenbaum_ivs_normal{content:url(../images/logobutton_ivs.svg);height:100px;width:100px;display:inline;} .icon_themenbaum_ivs_normal{content:url(../images/logobutton_ivs.svg);height:100px;width:100px;display:inline;}
.icon_themenbaum_cob_small{content:url(../images/icon_cob_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} .icon_themenbaum_cob_small{content:url(../images/icon_cob_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;}
@ -710,5 +709,15 @@ img.svg_icon { height:20px; }
.icon_themenbaum_zeitreihe_small {content: url(../images/chart-line.png);height:20px;width:20px;display:inline-block;} .icon_themenbaum_zeitreihe_small {content: url(../images/chart-line.png);height:20px;width:20px;display:inline-block;}
.icon_themenbaum_list_normal {content: url(../images/list.svg);height:25px;width:25px;display:inline-block;} .icon_themenbaum_list_normal {content: url(../images/list.svg);height:25px;width:25px;display:inline-block;}
.icon_themenbaum_list_small {content: url(../images/list.png);height:20px;width:20px;display:inline-block;} .icon_themenbaum_list_small {content: url(../images/list.png);height:20px;width:20px;display:inline-block;}
/*neu ab 05.2026*/
.icon_themenbaum_co_stage_small{content:url(../images/icon_co_stage_mini.svg);height:20px;width:20px;padding-top:3px;display:inline-block;}
.icon_themenbaum_co_stage_normal{content:url(../images/logobutton_co_stage.svg);height:100px;width:100px;display:inline-block;}
.icon_themenbaum_gx_stage_small{content:url(../images/icon_gx_stage_mini.svg);height:20px;width:20px;padding-top:3px;display:inline-block;}
.icon_themenbaum_gx_stage_normal{content:url(../images/logobutton_gx_stage.svg);height:100px;width:100px;display:inline-block;}
.icon_themenbaum_hr_stage_small{content:url(../images/icon_hr_stage_mini.svg);height:20px;width:20px;padding-top:3px;display:inline-block;}
.icon_themenbaum_hr_stage_normal{content:url(../images/logobutton_hr_stage.svg);height:100px;width:100px;display:inline-block;}
.icon_themenbaum_nutzungsantrag_small{content:url(../images/icon_nutzungsantrag.svg);height:20px;width:20px;padding-top:3px;display:inline-block;}
.icon_themenbaum_nutzungsantrag_normal{content:url(../images/logobutton_nutzungsantrag.svg);height:100px;width:100px;display:inline-block;}

115
superx/style/sx_tabelle.css

@ -347,6 +347,12 @@ table.ergtabelle th, table.ergtabelle td {
padding: 5px; padding: 5px;
} }
/*20260304:Zahlen rechtsbündig*/
.table td:nth-last-child(-n+2),
.table th:nth-last-child(-n+2) {
text-align: right;
}
p.teiltabelle_titel { p.teiltabelle_titel {
clear: left; clear: left;
line-height: 2em; line-height: 2em;
@ -361,8 +367,10 @@ p.teiltabelle_titel {
/*Legende*/ /*Legende*/
.legende { .legende {
/*display: flex;*/ display: flex;
flex: 1 1 auto; /* 20240911; flex-grow, flex-shrink, flex-basis = auto; /*für flexibles Verhalten der Zeile*/ /*flex: 1 1 auto; /* 202604 weg; flex-grow, flex-shrink, flex-basis = auto; /*für flexibles Verhalten der Zeile*/
flex-grow: 1;
flex-shrink: 1;
flex-flow: row wrap; flex-flow: row wrap;
justify-content: flex-start; justify-content: flex-start;
align-items: normal; align-items: normal;
@ -384,9 +392,8 @@ p.legende {
.input-container { .input-container {
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: nowrap; /*Verhindert Umbruch bei kleinerem Viewport*/ flex-wrap: normal; /* 20260326 neu*/
white-space: nowrap; /*Verhindert den Umbruch des Labeltextes */ flex: 1 1 auto; /* 20260304; flex-grow, flex-shrink, flex-basis = auto; /*für flexibles Verhalten der Zeile*/
flex-shrink: 1; /*Lässt Select-Element schrumpfen, falls der Platz knapp wird*/
padding-bottom: 0.1rem; padding-bottom: 0.1rem;
} }
@ -401,24 +408,96 @@ p.legende {
margin-bottom: 0.3rem; margin-bottom: 0.3rem;
margin-right: 0.5rem; } /* Abstand zwischen Label und Eingabefeld*/ margin-right: 0.5rem; } /* Abstand zwischen Label und Eingabefeld*/
.input-container {
flex-direction: row;
align-items: center;
width: 100% }
/*Spezifische Anpassungen für kleinere Viewports bis 768px=Tablet-Hochformat*/
@media screen and (max-width: 768px) {
.input-container, .legende, p.legende, .breadcrumb, .buttonbar {
flex-direction: column; /* Stapelt die Felder vertikal; 20241102 BF geänd. v row*/ align-items: center;
width: 100%
}
}
/*Datensatzinfo unterhalb Ergebnistabelle*/ /*Datensatzinfo unterhalb Ergebnistabelle*/
.pagination-container { .pagination-container {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: left; justify-content: left;
max-width: 80%; /*max-width: 80%;*/ /*202604 weg*/
gap: 2px; } /* Abstand zwischen den Elementen */ gap: 2px; } /* Abstand zwischen den Elementen */
/******202603************/
/* Mobile */
@media (max-width:768px){
.container,.input-container { /*Format-,Berichtswahl, Breadcrumb, Legende*/
max-width:100%; /*202604 geänd von 800px;*/
white-space:normal;
overflow-wrap: break-word;
}
table.ergtabelle,
table.ergtabellexy {
max-width:70%; /*202604 geänd. v 600px;*/
font-size:0.65rem;
/*white-space:nowrap;*/
}
table.ergtabelle th,
table.ergtabelle td,
table.ergtabellexy th,
table.ergtabellexy td {
/*word-break:break-word !important;*/
min-width:50px;
max-width:60px;
white-space: normal; /* Zeilenumbruch nach Standard-Regeln*/
/*word-wrap: normal; /* veraltet: f Umbruch nach Standard-Regeln*/
overflow-wrap: break-word !important; /* aktuell: Umbruch nach Standard-Regeln*/
hyphens: auto;
}
}
/* Tablet */
@media (min-width:769px) and (max-width:1024px){
.container,.input-container { /*Format-,Berichtswahl, Breadcrumb, Legende*/
max-width:100%; /*202604 geänd v 700px*/
white-space:normal;
overflow-wrap: break-word;
}
table.ergtabelle,
table.ergtabellexy {
max-width:80%; /*202604: geänd. v 700px;*/
font-size:0.7rem;
}
table.ergtabelle th,
table.ergtabelle td,
table.ergtabellexy th,
table.ergtabellexy td {
/*word-break:break-word !important;*/
min-width:50px; /*202604: geänd. v 80px;*/
max-width:70px; /*202604: geänd. v 80px;*/
white-space: normal; /* Zeilenumbruch nach Standard-Regeln*/
/*word-wrap: normal; /* veraltet: f Umbruch nach Standard-Regeln*/
overflow-wrap: break-word !important; /* aktuell: Umbruch nach Standard-Regeln*/
hyphens: auto;
}
}
/* Desktop */
@media (min-width:1025px){
.container,.input-container { /*Format-,Berichtswahl, Breadcrumb, Legende*/
max-width:100%; /*202604 geänd v 700px*/
white-space:normal;
overflow-wrap: break-word;
}
table.ergtabelle,
table.ergtabellexy {
font-size:0.75rem;
/*max-width:80%; /*202604: weg*/
}
table.ergtabelle th,
table.ergtabelle td,
table.ergtabellexy th,
table.ergtabellexy td {
/*word-break:break-word !important;*/
min-width:50px; /*202604: geänd. v 80px;*/
max-width:130px; /*202604: geänd. v 80px;*/
white-space: normal; /* Zeilenumbruch nach Standard-Regeln*/
/*word-wrap: normal; /* veraltet: f Umbruch nach Standard-Regeln*/
overflow-wrap: break-word !important; /* aktuell: Umbruch nach Standard-Regeln*/
hyphens: auto;
}
}

3
superx/xml/js/memtext/nd_functions.js

@ -219,10 +219,11 @@ var label = "";
} }
} }
console.log("selected:"+val); console.log("selected:"+val);
var labelField="label_" + createVarname(fname);
if(referrerFrm.elements[fname] && val !="") if(referrerFrm.elements[fname] && val !="")
{ {
referrerFrm.elements[fname].value=val; referrerFrm.elements[fname].value=val;
var labelField="label_" + createVarname(fname);
if(referrerFrm.elements[labelField]) if(referrerFrm.elements[labelField])
{ {
referrerFrm.elements[labelField].value =removeHtmlEntities(label); referrerFrm.elements[labelField].value =removeHtmlEntities(label);

44
superx/xml/js/memtext/sx_functions.js

@ -1953,19 +1953,27 @@ function resetValidation()
var el=document.getElementById('validation'); var el=document.getElementById('validation');
if(el) if(el)
el.innerHTML = ""; el.innerHTML = "";
if(1=2)
{ //still experimental
for(var i=1; i < felder.length; i++) for(var i=1; i < felder.length; i++)
{ {
if(felder[i]["isDynamic"]=="true") if(felder[i]["isDynamic"]=="true")
{ {
var tmpFname=felder[i]["name"]; var tmpFname=felder[i]["name"];
var fieldID=createVarname(tmpFname);
console.log("Feld " +felder[i]["name"]+ " ist dynamisch"); console.log("Feld " +felder[i]["name"]+ " ist dynamisch");
if(felder[i].dependsOn && felder[i].dependsOn.length >0) if(felder[i].dependsOn && felder[i].dependsOn.length >0)
{ {
for(var k=0;k < felder[i].dependsOn.length;k++) for(var k=0;k < felder[i].dependsOn.length;k++)
{ {
var dependsOnFieldname=felder[i].dependsOn[k]; var dependsOnFieldname=felder[i].dependsOn[k];
var dependsOnFieldvalue=document.forms[0].elements[dependsOnFieldname].value; var dependsOnFieldID=createVarname(dependsOnFieldname);
var dependsOnFieldvalue="";
if(document.getElementById(dependsOnFieldID))
dependsOnFieldvalue=document.getElementById(dependsOnFieldID).value;
else
console.log("Feld " +dependsOnFieldname+ "existiert nicht im Formular");
console.log("Feld " +tmpFname+ " hängt ab von " +dependsOnFieldname); console.log("Feld " +tmpFname+ " hängt ab von " +dependsOnFieldname);
if(dependsOnFieldvalue != "") if(dependsOnFieldvalue != "")
{ {
@ -1973,25 +1981,40 @@ function resetValidation()
if(felder[i]["art"]=="1") if(felder[i]["art"]=="1")
{ {
//reset field: //reset field:
document.forms[0].elements[tmpFname].value=""; var previousValue=document.getElementById(fieldID).value;
document.forms[0].elements["label_"+createVarname(tmpFname)].value=""; var previousValueLabel=document.getElementById("label_"+fieldID).value;
console.log("leere Feld "+tmpFname ); console.log("prüfe Feld "+tmpFname );
//Ajax Load //Ajax Load
var callurl="../servlet/SuperXmlMaske?tid="+maskentid+"&getJSON_"+getEncoded(tmpFname)+"=xxxxxx-xxxxxx@"; var callurl="../servlet/SuperXmlMaske?tid="+maskentid+"&getJSON_"+getEncoded(tmpFname)+"=xxxxxx-xxxxxx@";
var params=maskeComboOderSichtBuildParams(document.forms[0],tmpFname,1, tmpFname); //dependsOnFieldname+"="+dependsOnFieldvalue; var params=maskeComboOderSichtBuildParams(document.forms[0],tmpFname,1, tmpFname); //dependsOnFieldname+"="+dependsOnFieldvalue;
callurl+=params; callurl+=params;
console.log("callurl "+callurl ); //console.log("callurl "+callurl );
var previousValueIsStillPossible=false;
var isFirstPossibleValue=true;
var valueLoadedOk=getComboValue(callurl).then((jsonData) => { var valueLoadedOk=getComboValue(callurl).then((jsonData) => {
if(jsonData && jsonData.nodes && jsonData.nodes.length ==2) //ein leeres Element + ein gefülltes, nicht mehr if(jsonData && jsonData.nodes ) //&& jsonData.nodes.length ==2 ein leeres Element + ein gefülltes, nicht mehr
{ {
for(var j=0;j < jsonData.nodes.length;j++) for(var j=0;j < jsonData.nodes.length;j++)
{ {
var node=jsonData.nodes[j]; var node=jsonData.nodes[j];
console.log("setze Feld "+tmpFname + " auf Wert "+node.objectId +" ("+node.title+")"); if(previousValue==node.objectId)
document.forms[0].elements[tmpFname].value=node.objectId; previousValueIsStillPossible=true;
document.forms[0].elements["label_"+createVarname(tmpFname)].value=node.title;
//console.log("setze Feld "+tmpFname + " auf Wert "+node.objectId +" ("+node.title+")");
} }
if(previousValueIsStillPossible)
{
document.getElementById(fieldID).value=node.objectId;
document.getElementById("label_"+fieldID).value=node.title;
}
else
{ //Reset field:
document.getElementById(fieldID).value="";
document.getElementById("label_"+fieldID).value="";
}
} }
}); });
@ -2007,6 +2030,7 @@ function resetValidation()
} }
} }
}
} }
async function getComboValue(url) async function getComboValue(url)
{ {

229
superx/xml/nd_templates.xsl

@ -262,11 +262,9 @@ jQuery.ajaxPrefilter( function( s ) {
<xsl:variable name="renderIconsInBreadcrumb"> <xsl:variable name="renderIconsInBreadcrumb">
<xsl:call-template name="renderIconsInBreadcrumb" /> <xsl:call-template name="renderIconsInBreadcrumb" />
</xsl:variable> </xsl:variable>
<xsl:if test="/*/@showNavigation='true'">
<div id="nd_breadcrumb"> <div id="nd_breadcrumb">
<div class="container"> <!--Neu 20240728 nötig??--> <div class="container">
<nav class="breadcrumb has-path-separator" aria-label="breadcrumbs"> <nav class="breadcrumb has-path-separator" aria-label="breadcrumbs">
<ul> <ul>
<xsl:for-each select="/*/menupos/eintraege/eintrag"> <xsl:for-each select="/*/menupos/eintraege/eintrag">
@ -349,7 +347,6 @@ jQuery.ajaxPrefilter( function( s ) {
</nav> </nav>
</div> </div>
</div> </div>
</xsl:if>
</xsl:template> </xsl:template>
<!--#Template Ende Krümelpfad--> <!--#Template Ende Krümelpfad-->
<xsl:template name="renderIconsInBreadcrumb" > <xsl:template name="renderIconsInBreadcrumb" >
@ -369,16 +366,32 @@ jQuery.ajaxPrefilter( function( s ) {
<div id="nd_navi_top"> <div id="nd_navi_top">
<nav class="navbar is-fixed-top" role="navigation" aria-label="main navigation"> <nav class="navbar is-fixed-top" role="navigation" aria-label="main navigation">
<div class="navbar-brand"> <div class="navbar-brand">
<a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL }"> <!--<20260207 geändert:
<img src="{/*/generalinfo/REPORT_LOGO_FILE}" alt="Zur Startseite der Institution" title="Zur Startseite" height="30px"/> <a class="navbar-item" target="_self" href="{/*/generalinfo/REPORT_HEADING_URL}" aria-label="Logo der Institution">
<img src="{/*/generalinfo/REPORT_LOGO_FILE}" alt="Logo der Institution" height="30px" />
</a> </a>
<a class="navbar-item" href="{/*/generalinfo/REPORT_DOCUMENTATION_URL }"><xsl:value-of select="/*/generalinfo/REPORT_HEADING_INSTITUTION" />
<a class="navbar-item" href="{/*/generalinfo/REPORT_DOCUMENTATION_URL }" aria-label="Startseite der Institution">
<xsl:value-of select="/*/generalinfo/REPORT_HEADING_INSTITUTION"/>
</a>-->
<!--20260210 geändert:-->
<a class="navbar-item"
href="{/*/generalinfo/REPORT_HEADING_URL}"
aria-label="Logo der Institution">
<img
src="{/*/generalinfo/REPORT_LOGO_FILE}"
alt="Logo der Institution"
height="30px"/>
</a>
<a class="navbar-item"
href="{/*/generalinfo/REPORT_DOCUMENTATION_URL }" aria-label="Zur Startseite der Institution" alt="Zur Startseite der Institution">
<xsl:value-of select="/*/generalinfo/REPORT_HEADING_INSTITUTION"/>
</a> </a>
<div class="navbar-item is-hoverable"> <div class="navbar-item is-hoverable">
<!--<div class="inside"--><!--120724BFdeaktiviert--> <button class="closebutton" title="Menü schließen" aria-label="Menü schließen" onclick="toggleNavpanelFrame(this);"></button>
<button class="closebutton" title="Menü schließen" aria-label="Menü schließen" onclick="toggleNavpanelFrame(this);"></button>
<!--</div>-->
</div> </div>
</div><!--navbar-brand--> </div><!--navbar-brand-->
@ -523,39 +536,52 @@ jQuery.ajaxPrefilter( function( s ) {
<!--<button class="closebutton" title="Menü" onclick="toggleNavpanelFrame(this);"></button>--> <!--28062024BF auskommentiert--> <!--<button class="closebutton" title="Menü" onclick="toggleNavpanelFrame(this);"></button>--> <!--28062024BF auskommentiert-->
<div class="navpanelFrame" id="navpanelFrame" style="display:flex"> <div class="navpanelFrame" id="navpanelFrame" style="display:flex;">
<!-- <div class="panel-tabs"> <!-- <div class="panel-tabs">
<a class="is-active">Berichte</a>&#160; <a class="is-active">Berichte</a>&#160;
<a>Kennzahlen</a>&#160; <a>Kennzahlen</a>&#160;
<a>Datenanalysen</a>&#160; <a>Datenanalysen</a>&#160;
</div>--> </div>-->
<div class="panel-block"> <div class="panel-block">
<span class="panel-block-search"> <form class="panel-block-search" role="search">
<div class="field has-addons">
<div class="control" style="width:15em;"> <div class="field has-addons">
<!--<p class="control has-icons-left">-->
<input class="input is-small" type="text" placeholder="Suche" onChange="themenbaumsuche(this);"/> <div class="control" style="width:15em;">
<!--<span class="icon is-left"><i class="fas fa-search" aria-hidden="true"></i></span>--> <label for="themenbaumSuche" class="is-sr-only">
<!--<span class="icon" aria-hidden="true"> Themenbaum durchsuchen >
<img src="../images/CSerch.svg" alt="Suche" title="Suche" /> </label>
</span>-->
<!--</p>--> <input
</div> class="input is-small"
<div class="control"> id="themenbaumSuche"
<button class="button is-small is-rounded"> name="themenbaumSuche"
<span class="icon" aria-hidden="true" alt="Suche" title="Suche"> type="search"/>
<img src="../images/search_blue.svg" />
</span>
</button>
</div>
</div> </div>
</span>
</div>
<li class="panel-block"> <div class="control">
<button
type="submit"
class="button is-small is-rounded"
aria-label="Suche starten">
<span class="icon" aria-hidden="true">
<img src="../images/search_blue.svg" alt=""/>
</span>
</button>
</div>
</div>
</form>
</div>
<span class="panel-block">
<p class="menu-label">Module > Bereiche > Abfragen</p> <p class="menu-label">Module > Bereiche > Abfragen</p>
</li> </span>
<xsl:variable name="showJavascriptMenue"><xsl:call-template name="showJavascriptMenue" /></xsl:variable><!--klappt nicht, wird vom Servlet nicht richtig übergeben: <xsl:value-of select="/*/@aufklappbarer_themenbaum" />--> <xsl:variable name="showJavascriptMenue"><xsl:call-template name="showJavascriptMenue" /></xsl:variable><!--klappt nicht, wird vom Servlet nicht richtig übergeben: <xsl:value-of select="/*/@aufklappbarer_themenbaum" />-->
<xsl:call-template name="nd_user_themen"> <xsl:call-template name="nd_user_themen">
@ -688,7 +714,7 @@ if (parentelement) toggleThemenbaumCaret(parentelement);
<a class="panel-item"> <a class="panel-item">
<!--<xsl:attribute name="class"><xsl:value-of select="concat('panel-item ',css_class)" /></xsl:attribute>--> <!--<xsl:attribute name="class"><xsl:value-of select="concat('panel-item ',css_class)" /></xsl:attribute>-->
<xsl:attribute name="href"><xsl:text>/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>&amp;navi=</xsl:text><xsl:value-of select="/*/@showNavigation"/></xsl:attribute> <xsl:attribute name="href"><xsl:text>/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>&amp;navi=</xsl:text><xsl:value-of select="/*/@showNavigation"/></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>loadHtml('/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>','content');</xsl:text></xsl:attribute> <xsl:attribute name="onclick"><xsl:text>loadHtml('/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>&amp;navi=</xsl:text><xsl:value-of select="/*/@showNavigation"/><xsl:text>','content');</xsl:text></xsl:attribute>
<xsl:call-template name="renderIconIfExists"> <xsl:call-template name="renderIconIfExists">
<xsl:with-param name="classname" select="css_class" /> <xsl:with-param name="classname" select="css_class" />
<xsl:with-param name="context" select="'small'" /> <xsl:with-param name="context" select="'small'" />
@ -759,7 +785,7 @@ if (parentelement) toggleThemenbaumCaret(parentelement);
<!--<xsl:attribute name="class"><xsl:value-of select="concat('image is-24x24 ',css_class)" /></xsl:attribute> fas fa-home <!--<xsl:attribute name="class"><xsl:value-of select="concat('image is-24x24 ',css_class)" /></xsl:attribute> fas fa-home
<xsl:attribute name="class"><xsl:value-of select="'icon-themenbaum icon-scissors'" /></xsl:attribute>--> <xsl:attribute name="class"><xsl:value-of select="'icon-themenbaum icon-scissors'" /></xsl:attribute>-->
<xsl:attribute name="href"><xsl:text>/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>&amp;navi=</xsl:text><xsl:value-of select="/*/@showNavigation"/></xsl:attribute> <xsl:attribute name="href"><xsl:text>/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>&amp;navi=</xsl:text><xsl:value-of select="/*/@showNavigation"/></xsl:attribute>
<xsl:attribute name="onclick"><xsl:text>loadHtml('/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>','content');</xsl:text></xsl:attribute> <xsl:attribute name="onclick"><xsl:text>loadHtml('/superx/servlet/SuperXmlMenu?tid=</xsl:text><xsl:value-of select="id"/><xsl:text>&amp;navi=</xsl:text><xsl:value-of select="/*/@showNavigation"/><xsl:text>','content');</xsl:text></xsl:attribute>
<xsl:call-template name="renderIconIfExists"> <xsl:call-template name="renderIconIfExists">
<xsl:with-param name="classname" select="css_class" /> <xsl:with-param name="classname" select="css_class" />
<xsl:with-param name="context" select="'small'" /> <xsl:with-param name="context" select="'small'" />
@ -1002,7 +1028,7 @@ menue.push(entry);
<nav class="bottom-nav"> <nav class="bottom-nav">
<ul> <ul>
<span class="bottom-nav"> <span class="bottom-nav">
<li class="navbar-item"><a href="https://super-ics.de/superx/f_SuperX-Homepage.htm"><div class="poweredby_sxbi" aria-hidden="true"></div></a></li> <li class="navbar-item"><a href="https://super-ics.de/superx/f_SuperX-Homepage.htm" aria-label="SuperX-Homepage"><div class="poweredby_sxbi" aria-hidden="true"></div></a></li>
<li class="navbar-item"><a href="https://super-ics.de/datenschutz_public.htm" >Datenschutz</a></li> <li class="navbar-item"><a href="https://super-ics.de/datenschutz_public.htm" >Datenschutz</a></li>
<li class="navbar-item"><a href="https://super-ics.de/impressum.htm" >Impressum</a></li> <li class="navbar-item"><a href="https://super-ics.de/impressum.htm" >Impressum</a></li>
<li class="navbar-item"><a href="#top" aria-label="Zum Seitenanfang"><span class="icon" aria-hidden="true"><img src="../images/up-circled-grey.svg" alt="nach oben" title="nach oben" /></span></a></li> <li class="navbar-item"><a href="#top" aria-label="Zum Seitenanfang"><span class="icon" aria-hidden="true"><img src="../images/up-circled-grey.svg" alt="nach oben" title="nach oben" /></span></a></li>
@ -1484,14 +1510,15 @@ menue.push(entry);
</xsl:call-template> </xsl:call-template>
</xsl:if> </xsl:if>
<!--<div class="table-container"> reakiviertBF20240608--> <!--<div class="table-container"> weg 20240608-->
<table id="{concat('table',$ergebniselement_ordnr + 1)}" class="ergtabelle" style="display:block"><!--bulma:class="table is-bordered is-striped is-narrow is-hoverable" --> <table id="{concat('table',$ergebniselement_ordnr + 1)}" class="ergtabellexy" >
<!--20260326 style weg: style="display:block">bulma:class="table is-bordered is-striped is-narrow is-hoverable" -->
<thead> <thead>
<xsl:call-template name="nd_tableheader"/> <xsl:call-template name="nd_tableheader"/>
</thead> </thead>
<tbody> <tbody>
<xsl:call-template name="nd_tablebody"/> <xsl:call-template name="nd_tablebody"/>
</tbody> </tbody>
</table> </table>
<!-- </div> Ende singletable-container--> <!-- </div> Ende singletable-container-->
<!-- start fuß--> <!-- start fuß-->
@ -2061,10 +2088,7 @@ Seite 1 von 1
<xsl:call-template name="nd_selectionform_field_label" /> <xsl:call-template name="nd_selectionform_field_label" />
</div> </div>
<!--<div class="field-body">--> <!--220424BFdeaktiviert--> <xsl:call-template name="nd_selectionform_field_input" />
<!--<div class="field is-active">--> <!--220424BFdeaktiviert-->
<!--<p class="control-new">--> <!--220424BFdeaktiviert-->
<xsl:call-template name="nd_selectionform_field_input" />
</div> </div>
@ -2094,7 +2118,7 @@ Seite 1 von 1
<xsl:choose> <xsl:choose>
<!-- start 0--> <!-- start 0-->
<xsl:when test="art='0' and zeilenanzahl &gt; 1"> <xsl:when test="art='0' and zeilenanzahl &gt; 1">
<label class="{$labelClass}"><xsl:value-of select="name" /></label> <label class="{$labelClass}" for="{name}"><xsl:value-of select="name" /></label>
</xsl:when> </xsl:when>
<!-- end 0 --> <!-- end 0 -->
<!-- start 1,2--> <!-- start 1,2-->
@ -2185,10 +2209,10 @@ Seite 1 von 1
<xsl:attribute name="name"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:attribute name="name"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute>
<xsl:attribute name="id"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:attribute name="id"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute>
<xsl:attribute name="tabindex"> <!--<xsl:attribute name="tabindex">
<xsl:value-of select="10000+(nummer*10)+2"/> <xsl:value-of select="10000+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:attribute name="value"> <xsl:attribute name="value">
<xsl:choose> <xsl:choose>
@ -2348,10 +2372,10 @@ Seite 1 von 1
</textarea> </textarea>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<div class="control-new"> <!--220424BFeingefügt--> <div class="control-new">
<div class="field has-addons"> <!--220424BFeingefügt--> <div class="field has-addons">
<xsl:call-template name="nd_selectionform_field_input_schluesselfeld" /> <xsl:call-template name="nd_selectionform_field_input_schluesselfeld" />
<div class="control is-expanded"> <!--220424BFeingefügt--> <div class="control is-expanded">
<xsl:choose> <xsl:choose>
<!-- start art 0--> <!-- start art 0-->
<xsl:when test="art='0'"> <xsl:when test="art='0'">
@ -2362,9 +2386,9 @@ Seite 1 von 1
<xsl:attribute name="NAME"> <xsl:attribute name="NAME">
<xsl:value-of select="name"/> <xsl:value-of select="name"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="tabindex"> <!--20260216 deaktiviert <xsl:attribute name="tabindex">
<xsl:value-of select="100+(nummer*10)+2"/> <xsl:value-of select="100+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:attribute name="id"> <xsl:attribute name="id">
<xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template>
</xsl:attribute> </xsl:attribute>
@ -2415,19 +2439,23 @@ Seite 1 von 1
<xsl:text>maskinput</xsl:text> <xsl:text>maskinput</xsl:text>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="id"><xsl:text>select_</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:attribute name="id"><xsl:text>select_</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute>
<xsl:attribute name="NAME"> <xsl:attribute name="NAME">
<xsl:text>select_</xsl:text><xsl:value-of select="name"/> <xsl:text>select_</xsl:text><xsl:value-of select="name"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="tabindex"> <!--20260216 deaktiviert<xsl:attribute name="tabindex">
<xsl:value-of select="100+(nummer*10)+2"/> <xsl:value-of select="100+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:attribute name="onchange"> <xsl:attribute name="onchange">
<xsl:text>c=document.getElementById('</xsl:text> <xsl:text>c=document.getElementById('</xsl:text>
<xsl:text>select_</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template> <xsl:text>select_</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template>
<xsl:text>');document.getElementById('</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template><xsl:text>').value=c.options[c.selectedIndex].value;resetValidation();</xsl:text> <xsl:text>');document.getElementById('</xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template><xsl:text>').value=c.options[c.selectedIndex].value;resetValidation();</xsl:text>
</xsl:attribute> </xsl:attribute>
<xsl:if test="obligatorisch='1'">
<xsl:attribute name="required"><xsl:text>true</xsl:text></xsl:attribute>
</xsl:if>
<option /> <option />
<xsl:for-each select="relation/item"> <xsl:for-each select="relation/item">
<xsl:if test="string-length(name) &gt; 0"> <xsl:if test="string-length(name) &gt; 0">
@ -2443,6 +2471,7 @@ Seite 1 von 1
</option> </option>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</select> </select>
</div> </div>
</xsl:when> </xsl:when>
@ -2474,9 +2503,9 @@ Seite 1 von 1
<xsl:attribute name="NAME"> <xsl:attribute name="NAME">
<xsl:value-of select="concat('chkbx_',name)"/> <xsl:value-of select="concat('chkbx_',name)"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="tabindex"> <!--20260216 deaktiviert<xsl:attribute name="tabindex">
<xsl:value-of select="100+(nummer*10)+2"/> <xsl:value-of select="100+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:if test="defaultwert/name != '' and defaultwert/name != 'false'"> <xsl:if test="defaultwert/name != '' and defaultwert/name != 'false'">
<xsl:attribute name="checked"> <xsl:attribute name="checked">
<xsl:value-of select="defaultwert/name"/> <xsl:value-of select="defaultwert/name"/>
@ -2514,9 +2543,9 @@ Seite 1 von 1
<xsl:attribute name="NAME"> <xsl:attribute name="NAME">
<xsl:value-of select="name"/> <xsl:value-of select="name"/>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="tabindex"> <!--20260216 deaktiviertxsl:attribute name="tabindex">
<xsl:value-of select="100+(nummer*10)+2"/> <xsl:value-of select="100+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:attribute name="id"> <xsl:attribute name="id">
<xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template>
</xsl:attribute> </xsl:attribute>
@ -2573,9 +2602,9 @@ Seite 1 von 1
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:attribute> </xsl:attribute>
<xsl:attribute name="tabindex"> <!--20260216 deaktiviert<xsl:attribute name="tabindex">
<xsl:value-of select="100+(nummer*10)+2"/> <xsl:value-of select="100+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:attribute name="NAME"> <xsl:attribute name="NAME">
<xsl:value-of select="name"/> <xsl:value-of select="name"/>
</xsl:attribute> </xsl:attribute>
@ -2651,27 +2680,17 @@ Seite 1 von 1
<xsl:if test="($MaskFieldTooltipPosition='right' or $MaskFieldTooltipPosition='both') and caption_long != '' and art != '13' and art != '18' and art != '8' and art !='10' and art !='17'"> <xsl:if test="($MaskFieldTooltipPosition='right' or $MaskFieldTooltipPosition='both') and caption_long != '' and art != '13' and art != '18' and art != '8' and art !='10' and art !='17'">
<!--<span class="info" onclick="if(document.getElementById('{concat('f_',tid)}').style.display=='none')document.getElementById('{concat('f_',tid)}').style.display='block'; else document.getElementById('{concat('f_',tid)}').style.display='none'; return false;"> <div class="control">
<figure class="image is-24x24"> <button class="button is-small is-rounded has-tooltip-bottom" onClick="return false;">
<img src="../images/information_grey_liberation.svg" alt="Information" title="Information" />
</figure>
</span>-->
<!--<span class="button is-light tooltip is-tooltip-right" >-->
<!--<span class="button is-light has-tooltip-left" >--> <!--220424BFeingefügt-->
<div class="control"> <!--220424BFeingefügt-->
<button class="button is-small is-rounded has-tooltip-bottom" onClick="return false;"> <!--220424BFgeändert-->
<xsl:attribute name="data-tooltip"> <xsl:attribute name="data-tooltip">
<xsl:call-template name="br_to_newline"> <xsl:call-template name="br_to_newline">
<xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="caption_long"/><![CDATA[]]></xsl:with-param> <xsl:with-param name="string"><![CDATA[]]><xsl:value-of select="caption_long"/><![CDATA[]]></xsl:with-param>
<xsl:with-param name="search">&lt;br&gt;</xsl:with-param> <xsl:with-param name="search">&lt;br&gt;</xsl:with-param>
<!--<xsl:with-param name="replace"><xsl:text>&#10;</xsl:text></xsl:with-param>-->
</xsl:call-template> </xsl:call-template>
</xsl:attribute> </xsl:attribute>
<!--<figure class="image is-24x24">--> <!--220424BFdeaktiviert-->
<!-- <img src="../images/information_grey_liberation.svg" />
</figure>-->
<!--</span>-->
<span class="icon" aria-hidden="true"> <span class="icon" aria-hidden="true">
<img src="../images/information_grey_liberation.svg" alt="Info" title="Info" /> <img src="../images/information_grey_liberation.svg" alt="Info" title="Info" />
</span> </span>
@ -2703,7 +2722,7 @@ Seite 1 von 1
<xsl:text disable-output-escaping="yes"><![CDATA[<input type="text" size="10" onchange="resetValidation();"]]></xsl:text> <xsl:text disable-output-escaping="yes"><![CDATA[<input type="text" size="10" onchange="resetValidation();"]]></xsl:text>
<xsl:text><![CDATA[ id="]]></xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template><xsl:text>" </xsl:text> <xsl:text><![CDATA[ id="]]></xsl:text><xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template><xsl:text>" </xsl:text>
<xsl:text><![CDATA[ name="]]></xsl:text><xsl:value-of select="name"/><xsl:text>" </xsl:text> <xsl:text><![CDATA[ name="]]></xsl:text><xsl:value-of select="name"/><xsl:text>" </xsl:text>
<xsl:text><![CDATA[ tabindex="]]></xsl:text><xsl:value-of select="100+(nummer*10)+1"/><xsl:text>" </xsl:text> <!--20260216 deaktiviert<xsl:text><![CDATA[ tabindex="]]></xsl:text><xsl:value-of select="100+(nummer*10)+1"/><xsl:text>" </xsl:text>-->
<xsl:text><![CDATA[ class="]]></xsl:text> <xsl:text><![CDATA[ class="]]></xsl:text>
<xsl:choose> <xsl:choose>
<xsl:when test="typ='sql'">schluesselfeld_invisible</xsl:when> <xsl:when test="typ='sql'">schluesselfeld_invisible</xsl:when>
@ -2735,10 +2754,10 @@ Seite 1 von 1
<xsl:attribute name="name"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:attribute name="name"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute>
<xsl:attribute name="id"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute> <xsl:attribute name="id"><xsl:text>label_</xsl:text> <xsl:call-template name="create_varname"><xsl:with-param name="string"><xsl:value-of select="name"/></xsl:with-param></xsl:call-template></xsl:attribute>
<xsl:attribute name="tabindex"> <!--20260216 deaktiviert<xsl:attribute name="tabindex">
<xsl:value-of select="10000+(nummer*10)+2"/> <xsl:value-of select="10000+(nummer*10)+2"/>
</xsl:attribute> </xsl:attribute>-->
<xsl:attribute name="value"> <xsl:attribute name="value">
<xsl:choose> <xsl:choose>
@ -4296,19 +4315,23 @@ document.forms[0].target = '_blank';
</a> </a>
</xsl:template> </xsl:template>
<xsl:template name="nd_tableExportWeiterverarbeitung"> <xsl:template name="nd_tableExportWeiterverarbeitung">
<!--<div class="buttonbar">--><!--071024 BF deaktiviert-->
<!--<div class="field is-grouped is-grouped-multiline">--><!--071024 BF deaktiviert-->
<div class="input-container"> <div class="input-container">
<label class="label is-small">Weiterverarbeiten: </label> <label for="xsl_template" class="label is-small">Format auswählen:</label>
<div class="field has-addons"> <div class="field has-addons">
<div class="control"> <div class="control">
<div class="select is-small is-fullwidth"> <!--<label for="xsl_template">
<select name="xsl_template"> Ausgabeformat wählen
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet[is_generic='1']"> </label>-->
<option value="{concat(filename,'|',contenttype)}"><xsl:value-of select="caption" /></option>
</xsl:for-each> <div class="select is-small is-fullwidth">
</select> <select id="xsl_template" name="xsl_template"> <!--20260211: id eingefügt-->
</div> <xsl:for-each select="/ergebnisse/stylesheets/stylesheet[is_generic='1']">
<option value="{concat(filename,'|',contenttype)}">
<xsl:value-of select="caption" />
</option>
</xsl:for-each>
</select>
</div>
</div> </div>
<xsl:variable name="newTemplateImage"> <xsl:variable name="newTemplateImage">
@ -4322,7 +4345,6 @@ document.forms[0].target = '_blank';
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<!-- ************ 071024 BF eingefügt-->
<div class="control"> <div class="control">
<button class="button is-small is-rounded"> <button class="button is-small is-rounded">
<span class="icon"> <span class="icon">
@ -4332,37 +4354,18 @@ document.forms[0].target = '_blank';
</span> </span>
</button> </button>
</div> </div>
<!--071024 BF eingefügt ************-->
<!--************ 071024 BF deaktiviert-->
<!--<a class="linkLookImage" style="margin-left:0px;">
<xsl:attribute name="href">
<xsl:text>javascript:setTemplatePropertiesAndSubmit(document.forms[0].xsl_template.value);
</xsl:text>
</xsl:attribute>
<img title="Weiterverarbeiten" alt="Weiterverarbeiten" src="{$newTemplateImage}" border="0" />
</a>-->
<!--071024 BF deaktiviert ************-->
</div> <!--Ende field has-addons --> </div> <!--Ende field has-addons -->
</div> <!--Ende input-container--> </div> <!--Ende input-container-->
<!-- </div>--> <!--Ende field is grouped is-multiline--><!--071024 BF deaktiviert-->
<!--</div>--> <!--Ende buttonbar--><!--071024 BF deaktiviert-->
</xsl:template> <!--Ende nd_tableExportWeiterverarbeitung--> </xsl:template> <!--Ende nd_tableExportWeiterverarbeitung-->
<xsl:template name="nd_JasperExportBtn"> <xsl:template name="nd_JasperExportBtn">
<xsl:if test="count(/ergebnisse/stylesheets/stylesheet[ends-with(filename,'.jrxml')])"> <xsl:if test="count(/ergebnisse/stylesheets/stylesheet[ends-with(filename,'.jrxml')])">
<!--<div class="container" style="margin-bottom:20px">--><!--061024 BF deaktiviert-->
<!--<div class="buttonbar">--> <!--071024 BF deaktiviert-->
<!--<div class="field is-grouped is-grouped-multiline">--><!--071024 BF deaktiviert-->
<div class="input-container"> <div class="input-container">
<!--<div class="control">--><!--061024 BF deaktiviert--> <label for="jr_stylesheet" class="label is-small">Bericht auswählen: </label>
<label class="label is-small">Bericht ausgeben: </label>
<!--</div>--><!--061024 BF deaktiviert-->
<div class="field has-addons"> <div class="field has-addons">
<div class="control"> <div class="control">
<div class="select is-small" style="margin-left:3px;"> <div class="select is-small" ><!--202603 weg style="margin-left:3px;"-->
<select name="jr_stylesheet" onchange="jsDisableInput(this.value);"> <select id="jr_stylesheet" name="jr_stylesheet" onchange="jsDisableInput(this.value);">
<xsl:for-each select="/ergebnisse/stylesheets/stylesheet"> <xsl:for-each select="/ergebnisse/stylesheets/stylesheet">
<xsl:if test="ends-with(filename,'.jrxml')"> <xsl:if test="ends-with(filename,'.jrxml')">
<option><xsl:attribute name="value"><xsl:value-of select="filename" /></xsl:attribute><xsl:value-of select="caption" /></option> <option><xsl:attribute name="value"><xsl:value-of select="filename" /></xsl:attribute><xsl:value-of select="caption" /></option>

23
superx/xml/tabelle_html.xsl

@ -28,7 +28,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:variable> </xsl:variable>
<html> <html data-theme="light" lang="de"><!--20260211 erweitert um data-theme und lang-->
<head> <head>
<xsl:call-template name="nd_htmlhead"> <xsl:call-template name="nd_htmlhead">
<xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" /> <xsl:with-param name="title" select="concat('Tabelle ',$maskenname)" />
@ -47,6 +47,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
<!--#Template Ende Top-Navigation--> <!--#Template Ende Top-Navigation-->
<div class="columns"> <div class="columns">
<div class="column is-left"><!--202603 neu-->
<!--#Template Beginn Navigations-Panel Auswertungen--> <!--#Template Beginn Navigations-Panel Auswertungen-->
<xsl:if test="/ergebnisse/@showNavigation='true'"> <xsl:if test="/ergebnisse/@showNavigation='true'">
@ -54,14 +55,13 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
<xsl:call-template name="nd_navi_panel" /> <xsl:call-template name="nd_navi_panel" />
</xsl:for-each> </xsl:for-each>
</xsl:if> </xsl:if>
</div>
<!--#Template Ende Navigations-Panel Auswertungen--> <!--#Template Ende Navigations-Panel Auswertungen-->
<div class="column is-left is-8-mobile is-10-tablet is-12-desktop">
<!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung--> <!--Beginn Seitentitel, Krümelpfad, Knopfleiste, Legende, Erläuterung-->
<section class="hero-body"> <section class="hero-body">
<div class="container"> <!--NEU 120724--> <div class="container">
<div class="columns is-mobile is-left"> <div class="card">
<div class="column is-full">
<div class="card "> <!--010824BF entfernt: has-background-light-->
<div class="card-content"> <div class="card-content">
<xsl:call-template name="nd_progressbar" /> <xsl:call-template name="nd_progressbar" />
@ -116,13 +116,12 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sx="http://memtext.de">
<input type="hidden" name="_csrf.parameterName" value="_csrf.token"/> <input type="hidden" name="_csrf.parameterName" value="_csrf.token"/>
</form> </form>
</div> <!--Ende content --> </div> <!--Ende content-->
</div> <!--Ende card-content--> </div> <!--Ende card-content-->
</div> <!--Ende card-background --> </div> <!--Ende card -->
</div> <!--Ende column--> </div> <!--Ende container-->
</div> <!--Ende hero-columns--> </section> <!--Ende hero-body = Berichts-Card-->
</div> <!--Ende container.NEU 120724--> </div> <!--Ende hero-column-->
</section> <!--Ende hero = Berichts-Card-->
</div> <!--Ende site-columns--> </div> <!--Ende site-columns-->
<xsl:call-template name="nd_tableDialogs" /> <xsl:call-template name="nd_tableDialogs" />
</body> </body>

Loading…
Cancel
Save