@ -1957,84 +1957,6 @@ function resetValidation()
@@ -1957,84 +1957,6 @@ function resetValidation()
var el = document . getElementById ( 'validation' ) ;
if ( el )
el . innerHTML = "" ;
if ( 1 == 2 )
{ //still experimental
for ( var i = 1 ; i < felder . length ; i ++ )
{
if ( felder [ i ] [ "isDynamic" ] == "true" )
{
var tmpFname = felder [ i ] [ "name" ] ;
var fieldID = createVarname ( tmpFname ) ;
console . log ( "Feld " + felder [ i ] [ "name" ] + " ist dynamisch" ) ;
if ( felder [ i ] . dependsOn && felder [ i ] . dependsOn . length > 0 )
{
for ( var k = 0 ; k < felder [ i ] . dependsOn . length ; k ++ )
{
var dependsOnFieldname = felder [ i ] . dependsOn [ k ] ;
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 ) ;
if ( dependsOnFieldvalue != "" )
{
console . log ( "requery mit " + dependsOnFieldvalue ) ;
if ( felder [ i ] [ "art" ] == "1" )
{
//reset field:
var previousValue = document . getElementById ( fieldID ) . value ;
var previousValueLabel = document . getElementById ( "label_" + fieldID ) . value ;
console . log ( "prüfe Feld " + tmpFname ) ;
//Ajax Load
var callurl = "../servlet/SuperXmlMaske?tid=" + maskentid + "&getJSON_" + getEncoded ( tmpFname ) + "=xxxxxx-xxxxxx@" ;
var params = maskeComboOderSichtBuildParams ( document . forms [ 0 ] , tmpFname , 1 , tmpFname ) ; //dependsOnFieldname+"="+dependsOnFieldvalue;
callurl += params ;
//console.log("callurl "+callurl );
var previousValueIsStillPossible = false ;
var isFirstPossibleValue = true ;
var valueLoadedOk = getComboValue ( callurl ) . then ( ( jsonData ) => {
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 ++ )
{
var node = jsonData . nodes [ j ] ;
if ( previousValue == node . objectId )
previousValueIsStillPossible = true ;
//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 = "" ;
}
}
} ) ;
}
}
}
}
}
else
{
console . log ( "Feld " + felder [ i ] [ "name" ] + " ist nicht dynamisch" ) ;
}
}
}
}
async function getComboValue ( url )
{
@ -2047,6 +1969,7 @@ async function getComboValue(url)
@@ -2047,6 +1969,7 @@ async function getComboValue(url)
const comboContent = await response . text ( ) ;
if ( comboContent )
{
console . log ( "comboContent: " + comboContent ) ;
return purgeval ( comboContent ) ;
}
else
@ -2119,7 +2042,6 @@ function validiereNeueMaskennr(frm,platform)
@@ -2119,7 +2042,6 @@ function validiereNeueMaskennr(frm,platform)
}
}
/* Funktionen für Javascript Baum, z.B. GANG Studiengang-Menü: */
function srcUrl ( url , targetElem )
{
@ -2222,7 +2144,7 @@ function renderTreeNode(treeNodes,myNode)
@@ -2222,7 +2144,7 @@ function renderTreeNode(treeNodes,myNode)
//hat Element kinder?
if ( myNode . isFolder )
{
ret += "<span class=\"treeCaret\" id=\"treeCaret_\"" + myNode . apnr + "\" onClick=\"renderTreeChildNodes(treeNodes,'" + myNode . apnr + "',this)\"></span> " ;
ret += "<span class=\"treeCaret\" id=\"treeCaret_\"" + myNode . apnr + "\" onClick=\"renderTreeChildNodes(treeNodes,'" + myNode . apnr + "',this)\"></span>" ;
}
if ( myNode . onClickHandler != "" && ! myNode . isFolder )
{
@ -2252,3 +2174,114 @@ function treeNodeHasChildren(treeNodes,nodeId)
@@ -2252,3 +2174,114 @@ function treeNodeHasChildren(treeNodes,nodeId)
}
return hasChildren ;
}
function setDependentFields ( fld )
{
//still experimental
for ( var i = 1 ; i < felder . length ; i ++ )
{
if ( felder [ i ] [ "isDynamic" ] == "true" )
{
var tmpFname = felder [ i ] [ "htmlname" ] ;
var fieldID = createVarname ( tmpFname ) ;
console . log ( "Feld " + felder [ i ] [ "name" ] + " ist dynamisch" ) ;
if ( felder [ i ] . dependsOn && felder [ i ] . dependsOn . length > 0 && document . forms [ "maske" ] . elements [ felder [ i ] [ "name" ] ] . value != "" )
{
for ( var k = 0 ; k < felder [ i ] . dependsOn . length ; k ++ )
{
var dependsOnFieldname = felder [ i ] . dependsOn [ k ] ;
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 ) ;
if ( dependsOnFieldvalue != "" )
{
console . log ( "Feld " + tmpFname + " ist abhängig von " + dependsOnFieldvalue ) ;
if ( document . getElementById ( fieldID ) && document . getElementById ( "label_" + fieldID ) )
{
document . getElementById ( fieldID ) . value = "" ;
document . getElementById ( "label_" + fieldID ) . value = "" ;
}
console . log ( "requery mit " + dependsOnFieldvalue ) ;
if ( felder [ i ] [ "art" ] == "1" )
{
//reset field:
var previousValue = document . getElementById ( fieldID ) . value ;
var previousValueLabel = document . getElementById ( "label_" + fieldID ) . value ;
console . log ( "prüfe Feld " + tmpFname ) ;
//Ajax Load
var callurl = "../servlet/SuperXmlMaske?tid=" + maskentid + "&getJSON_" + getEncoded ( tmpFname ) + "=xxxxxx-xxxxxx@" ;
var params = maskeComboOderSichtBuildParams ( document . forms [ "maske" ] , tmpFname , 1 , tmpFname ) ; //dependsOnFieldname+"="+dependsOnFieldvalue;
callurl += params ;
//console.log("callurl "+callurl );
//var isFirstPossibleValue=true;
try {
var valueLoadedOk = getComboValue ( callurl ) . then ( ( jsonData ) => {
if ( jsonData ) //&& jsonData.nodes.length ==2 ein leeres Element + ein gefülltes, nicht mehr
{
console . log ( "jsonData: " + jsonData ) ;
if ( jsonData . error )
{
//reset field
console . log ( "Feld " + tmpFname + " Wert " + previousValue + " passt nicht mehr" ) ;
document . getElementById ( tmpFname ) . value = "" ;
document . getElementById ( "label_" + tmpFname ) . value = "" ;
}
if ( jsonData . nodes ) //&& jsonData.nodes.length ==2 ein leeres Element + ein gefülltes, nicht mehr
{
for ( var j = 0 ; j < jsonData . nodes . length ; j ++ )
{
var node = jsonData . nodes [ j ] ;
if ( previousValue == node . objectId )
previousValueIsStillPossible = true ;
//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 = "" ;
}
}
}
//else
// previousValueIsStillPossible=true;
} ) ;
console . log ( "Prüfung Feld " + tmpFname + " abgeschlossen" ) ;
}
catch ( error )
{
//reset field
console . log ( "Ajax Fehler, Feld " + fieldID + " Wert " + previousValue + " passt nicht mehr" ) ;
document . getElementById ( fieldID ) . value = "" ;
document . getElementById ( "label_" + fieldID ) . value = "" ;
}
}
}
}
}
}
else
{
console . log ( "Feld " + felder [ i ] [ "name" ] + " ist nicht dynamisch" ) ;
}
}
}