@ -0,0 +1,5 @@
@@ -0,0 +1,5 @@
|
||||
cleanBuildPath |
||||
compileSuperx |
||||
distServer |
||||
initTimestamp |
||||
war |
@ -1 +1 @@
@@ -1 +1 @@
|
||||
16.10.2024 |
||||
21.11.2024 |
||||
|
@ -0,0 +1,176 @@
@@ -0,0 +1,176 @@
|
||||
|
||||
--freemarker template |
||||
|
||||
<#assign files = [{"thema":"Administration","filename":"logobutton_kern.svg"}, |
||||
{"thema":"Administration SuperX-Connect","filename":"logobutton_sx_connect.svg"}, |
||||
{"thema":"Benutzer","filename":""}, |
||||
{"thema":"Benutzer verwalten","filename":""}, |
||||
{"thema":"Benutzer verwalten","filename":""}, |
||||
{"thema":"Benutzerdaten ändern","filename":""}, |
||||
{"thema":"Berichtsassistent","filename":"logobutton_rpta.svg"}, |
||||
{"thema":"Bewerbung, Zulassung","filename":"logobutton_zul.svg"}, |
||||
{"thema":"Finanzrechnung","filename":"logobutton_fin.svg"}, |
||||
{"thema":"Flächendaten löschen","filename":""}, |
||||
{"thema":"Forschung","filename":""}, |
||||
{"thema":"Forschung","filename":""}, |
||||
{"thema":"Gebäude, Räume, Flächen","filename":"logobutton_bau.svg"}, |
||||
{"thema":"Grunddaten und Kennzahlen","filename":"logobutton_kenn.svg"}, |
||||
{"thema":"Hochschulvergleich","filename":"logobutton_sx_connect.svg"}, |
||||
{"thema":"Inventar","filename":"logobutton_ivs.svg"}, |
||||
{"thema":"Kostenrechnung","filename":"logobutton_cob.svg"}, |
||||
{"thema":"Laderoutinen","filename":"logobutton_etl.svg"}, |
||||
{"thema":"Lehrveranstaltungen","filename":""}, |
||||
{"thema":"Leistungsmonitoring","filename":"logobutton_leistungsmonitor.svg"}, |
||||
{"thema":"Management","filename":"logobutton_man.svg"}, |
||||
{"thema":"Personal, Stellen","filename":"logobutton_sva.svg"}, |
||||
{"thema":"Promovierende","filename":"logobutton_prom.svg"}, |
||||
{"thema":"Qualitätssicherung","filename":"logobutton_qa.svg"}, |
||||
{"thema":"Studiengänge","filename":"logobutton_gang.svg"}, |
||||
{"thema":"Studierende, Prüfungen","filename":"logobutton_sos.svg"}, |
||||
{"thema":"Studienverlauf","filename":"logobutton_erfolg.svg"}, |
||||
{"thema":"Visualisierungen","filename":"logobutton_viz.svg"}, |
||||
{"thema":"Xcubes","filename":"logobutton_xcube.svg"} |
||||
]> |
||||
|
||||
<#assign icons = [ |
||||
{"thema":"Abschlussprüfungen","css_class":"icon-graduation-cap"}, |
||||
{"thema":"Administration Berichtsassistent","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Bewerbung, Zulassung","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Finanzrechnung","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Gebäude, Flächen","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Grunddaten und Kennzahlen","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Inventar","css_class":"icon-wrench"}, |
||||
{"thema":"Administration KENNX-Modul","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Kostenrechnung","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Laderoutinen","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Leistungsmonitoring","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Management","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Personal, Stellen","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Qualitätssicherung","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Studiengänge","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Studienverlauf","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Studierende, Prüfungen","css_class":"icon-wrench"}, |
||||
{"thema":"Administration Visualisierungen","css_class":"icon-area-chart"}, |
||||
{"thema":"Administration Xcubes","css_class":"icon-wrench"}, |
||||
{"thema":"Akkreditierung","css_class":""}, |
||||
{"thema":"Amtliche Statistik","css_class":""}, |
||||
{"thema":"Auswertungen zu Studiengängen","css_class":""}, |
||||
{"thema":"Auswertung nach Buchungsabschnitt (Haushalt)","css_class":""}, |
||||
{"thema":"Benutzer","css_class":""}, |
||||
{"thema":"Benutzerinfo verwalten","css_class":""}, |
||||
{"thema":"Benutzer verwalten","css_class":"icon-user"}, |
||||
{"thema":"Besetzung","css_class":""}, |
||||
{"thema":"Chancengleichheit","css_class":"icon-mercury"}, |
||||
{"thema":"Datencockpit Berichte","css_class":"icon-bar-chart"}, |
||||
{"thema":"Datenlieferung","css_class":"icon-cloud-upload"}, |
||||
{"thema":"Datenmanagement","css_class":"icon-cubes"}, |
||||
{"thema":"Einzelprüfungen","css_class":""}, |
||||
{"thema":"Entwicklung","css_class":"icon-wrench"}, |
||||
{"thema":"Fachhochschulen","css_class":""}, |
||||
{"thema":"Felder","css_class":"icon-check"}, |
||||
{"thema":"FHSWF-Masken","css_class":""}, |
||||
{"thema":"Forschung","css_class":""}, |
||||
{"thema":"Forschung-Beschäftigungen","css_class":""}, |
||||
{"thema":"Forschung-Drittmittelprojekte","css_class":""}, |
||||
{"thema":"Forschung-Nachwuchsförderung","css_class":""}, |
||||
{"thema":"Forschung-Patente","css_class":""}, |
||||
{"thema":"Grunddaten Finanzrechnung","css_class":""}, |
||||
{"thema":"Grunddaten Forschung","css_class":"icon-rocket"}, |
||||
{"thema":"Grunddaten Kostenrechnung","css_class":"icon-calc"}, |
||||
{"thema":"Grunddaten Stellen, Personal","css_class":"icon-users"}, |
||||
{"thema":"Grunddaten Studierende, Prüfungen","css_class":"icon-child"}, |
||||
{"thema":"Haushalt","css_class":"icon-calculator"}, |
||||
{"thema":"Hochschulübergreifende Auswertungen","css_class":""}, |
||||
{"thema":"Institutionen verwalten","css_class":"icon-pagelines"}, |
||||
{"thema":"Kaufm.Auswertungen","css_class":"icon-usd"}, |
||||
{"thema":"Kreuztabellen KENN","css_class":"icon-th"}, |
||||
{"thema":"Lehrveranstaltungen","css_class":"icon-user-plus"}, |
||||
{"thema":"Management Detailabfragen","css_class":""}, |
||||
{"thema":"Pädagogische Hochschulen","css_class":""}, |
||||
{"thema":"Personal","css_class":""}, |
||||
{"thema":"Projekte","css_class":""}, |
||||
{"thema":"Promovierendenstatistik (Erw.)","css_class":"icon-university"}, |
||||
{"thema":"Prüfungen","css_class":""}, |
||||
{"thema":"Publikationen","css_class":""}, |
||||
{"thema":"Semesterberichte","css_class":"icon-tablet"}, |
||||
{"thema":"Stammdaten verwalten","css_class":"icon-th-large"}, |
||||
{"thema":"Stellen","css_class":"icon-street-view"}, |
||||
{"thema":"Studierende","css_class":""}, |
||||
{"thema":"UDE-Masken","css_class":""}, |
||||
{"thema":"Zentrale Kennzahlen","css_class":""}, |
||||
{"thema":"ZSL-Mittelverteilung","css_class":""}, |
||||
{"thema":"Zulassungszahlen (extern)","css_class":""} |
||||
]> |
||||
|
||||
|
||||
|
||||
<#foreach file in files> |
||||
<#if file.filename!=""> |
||||
select '${file.thema}' from xdummy; |
||||
<#assign modulkuerzel=file.filename?replace("logobutton_","")?replace(".svg","") /> |
||||
select '${modulkuerzel}' from xdummy; |
||||
|
||||
update themenbaum set css_class='icon_themenbaum_${modulkuerzel}_*' |
||||
where name='${file.thema}' |
||||
and (css_class is null or css_class=''); |
||||
|
||||
|
||||
|
||||
</#if> |
||||
</#foreach> |
||||
|
||||
|
||||
<#foreach icon in icons> |
||||
<#if icon.css_class !=""> |
||||
|
||||
update themenbaum set css_class='icon-menue ${icon.css_class}' |
||||
where name='${icon.thema}' |
||||
and (css_class is null or css_class='') |
||||
; |
||||
|
||||
|
||||
</#if> |
||||
</#foreach> |
||||
|
||||
update themenbaum set css_class='icon_themenbaum_datenblatt_*' |
||||
where maskeninfo_id is not null |
||||
and (css_class is null or css_class='') |
||||
and name ilike '%datenblatt%'; |
||||
|
||||
update themenbaum set css_class='fas fa-cubes' |
||||
where maskeninfo_id is not null |
||||
and (css_class is null or css_class='') |
||||
and name ilike '%xcube%'; |
||||
|
||||
|
||||
update themenbaum set css_class='icon_themenbaum_zeitreihe_*' |
||||
where maskeninfo_id is not null |
||||
and (css_class is null or css_class='') |
||||
and name ilike '%zeitreihe%'; |
||||
|
||||
update themenbaum set css_class='icon_themenbaum_list_*' |
||||
where maskeninfo_id is not null |
||||
and (css_class is null or css_class=''); |
||||
|
||||
|
||||
|
||||
|
||||
update themenbaum set css_class='icon_themenbaum_neutral_*' |
||||
where maskeninfo_id is null |
||||
and parent=1 |
||||
and (css_class is null or css_class=''); |
||||
|
||||
|
||||
UPDATE sx_repository |
||||
SET COMMENT = 'icon_themenbaum_xcube_medium' |
||||
WHERE id = 'WELCOME_XCUBE'; |
||||
|
||||
UPDATE sx_repository |
||||
SET COMMENT = 'icon_themenbaum_man_medium' |
||||
WHERE id = 'WELCOME_MAN'; |
||||
|
||||
UPDATE sx_repository |
||||
SET COMMENT = 'icon-chart-bar' |
||||
WHERE id = 'WELCOME_XML'; |
||||
|
||||
|
@ -0,0 +1,231 @@
@@ -0,0 +1,231 @@
|
||||
<%@page pageEncoding="utf-8" contentType="text/html; charset=UTF-8" %> |
||||
<html> |
||||
<head> |
||||
<% |
||||
if (request.getCharacterEncoding() == null) |
||||
request.setCharacterEncoding("UTF-8"); |
||||
Object userobject=request.getSession().getAttribute("UserID"); |
||||
String userid; |
||||
String filter=""; |
||||
String sql=""; |
||||
if(userobject == null) |
||||
{ |
||||
%> |
||||
|
||||
<jsp:forward page="/edit/not_authenticated.htm"/> |
||||
<% |
||||
} |
||||
else |
||||
userid=userobject.toString(); |
||||
Object mandantobject=request.getSession().getAttribute("MandantenID"); |
||||
String mandantenid=""; |
||||
if(mandantobject != null) |
||||
mandantenid=mandantobject.toString(); |
||||
//der superx-Default-Mandant ist bei dbforms ein Leerstring |
||||
if(mandantenid.equals("default")) |
||||
mandantenid=""; |
||||
String custom_css=""; //TODO |
||||
String tid = request.getParameter("tid"); |
||||
String fname = request.getParameter("Feldname"); |
||||
String previousValue = request.getParameter("previousValue"); |
||||
String zeilenanzahl = request.getParameter("zeilenanzahl"); |
||||
|
||||
String params = request.getParameter("params"); |
||||
|
||||
String callurl="../../servlet/SuperXmlMaske?tid="+tid+"&getJSON_"+fname+"=xxxxxx-xxxxxx@"; |
||||
callurl+=params; |
||||
|
||||
%> |
||||
|
||||
<%@ include file="../../htmlhead_dialoge.inc" %> |
||||
|
||||
<title>Auswahl <%=fname %></title> |
||||
</head> |
||||
<style> |
||||
/*.cell { |
||||
position: sticky; |
||||
top: 0; |
||||
z-index: 10; |
||||
} |
||||
|
||||
.label { |
||||
font-size: 14px; } |
||||
|
||||
.input-container { |
||||
display: flex; |
||||
flex-direction: column; |
||||
align-items: flex-start; |
||||
} |
||||
|
||||
.input-container > .label { |
||||
margin-bottom: 0.25rem; |
||||
|
||||
@media (min-width: 768px) { |
||||
.input-container { |
||||
flex-direction: row; |
||||
align-items: center; |
||||
} |
||||
|
||||
.input-container > .label { |
||||
margin-bottom: 0; |
||||
margin-right: 1rem; |
||||
} |
||||
}*/ |
||||
|
||||
</style> |
||||
<script type="text/javascript" language="javascript"> |
||||
|
||||
var comboContent; |
||||
var fname="<%= fname %>"; |
||||
//var previousValue="<%= previousValue %>"; |
||||
var zeilenanzahl="<%= zeilenanzahl %>"; |
||||
|
||||
var referrerWindow=window.opener; |
||||
var referrerDocument=referrerWindow.document; |
||||
var referrerForm=referrerDocument.forms[0]; |
||||
var previousValue=referrerForm.elements[fname].value; |
||||
var previousValuesArray=ndMaskDialogPreviousValueToArray(previousValue); |
||||
var previousValuesCount=0; |
||||
if(previousValuesArray) |
||||
previousValuesCount=previousValuesArray.length; |
||||
|
||||
|
||||
function showCombo(url,searchstring) |
||||
{ |
||||
var ret; |
||||
var xhttp = new XMLHttpRequest(); |
||||
xhttp.onreadystatechange = function() { |
||||
if (this.readyState == 4 && this.status == 200) { |
||||
comboContent= purgeval(this.responseText); |
||||
console.log(comboContent); |
||||
renderCombo(comboContent,searchstring); |
||||
} |
||||
}; |
||||
xhttp.open("GET", url, true); |
||||
xhttp.send(); |
||||
} |
||||
|
||||
function renderCombo(content,searchstring) |
||||
{ |
||||
var targetDiv=document.getElementById("comboDiv"); |
||||
//targetDiv.innerHTML=JSON.stringify(content); |
||||
var zs="<ul style='list-style-type:none;'> "; |
||||
if(content && content.nodes && content.nodes.length >0) |
||||
{ |
||||
for(var j=0;j < content.nodes.length;j++) |
||||
{ |
||||
var node=content.nodes[j]; |
||||
if(searchstring=="" || node.title.indexOf(searchstring)>-1) |
||||
{ |
||||
if(node.objectId !="") |
||||
{ |
||||
var checkedString=""; |
||||
for(var i=0;i < previousValuesCount;i++) |
||||
{ |
||||
if(previousValuesArray[i]==node.objectId) |
||||
checkedString="checked "; |
||||
|
||||
} |
||||
var fldName="inp"+node.objectId; |
||||
var fldId="inp"+node.objectId; |
||||
var fldType="checkbox"; |
||||
if(zeilenanzahl==1) |
||||
{ |
||||
fldName=fname; |
||||
fldType="radio"; |
||||
} |
||||
zs += "<li><input type='"+fldType+"' "+checkedString+ " name='"+fldName+ "' id='"+fldId+ "' value='"+node.objectId +"' /> "; |
||||
zs +="<label for='"+fldId+"' id='label"+node.objectId +"'>"+node.title+"</label></li>\n"; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
zs +="</ul>"; |
||||
targetDiv.innerHTML=zs; |
||||
} |
||||
|
||||
</script> |
||||
<body onload="showCombo('<%=callurl %>','')"> |
||||
<form name="selection" onsubmit="return false;"> |
||||
<div id="nd_navi_top" style="margin-bottom:3rem"> |
||||
<nav class="navbar is-fixed-top" role="navigation" ><!--aria-label="main navigation"--> |
||||
<div class="navbar-brand"> |
||||
|
||||
<div class="navbar-item"> |
||||
<p><strong>Auswahl <%=fname %></strong></p> |
||||
</div> |
||||
<div class="navbar-item"> |
||||
|
||||
<div class='input-container'> |
||||
<div class='field has-addons'><div class='control'> |
||||
<input id='comboSuche' class='input is-small is-active' type='text' placeholder='Suche' onBlur='renderCombo(comboContent,this.value);return false;'/> |
||||
</div><div class='control'><button class='button is-small is-rounded' onClick="renderCombo(comboContent,document.getElementById('comboSuche').value);return false;"> |
||||
<span class='icon' aria-hidden='true' alt='Suche' title='Suche'><img src='../../images/search_blue.svg'/></span></button> |
||||
</div></div> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="navbar-end"><span class="navbar-end"> |
||||
<div class="navbar-item is-hoverable"> |
||||
<div class="buttons"> |
||||
<p class="submit_button"> |
||||
<button class="button" type="submit"> |
||||
<a onclick="ndMaskDialogUebernehmen(document.forms['selection'],referrerForm)">Übernehmen</a> |
||||
</button> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="navbar-item is-hoverable"> |
||||
<div class="buttons"> |
||||
<p class="reset_button"> |
||||
<button class="button"> |
||||
<a onclick="ndMaskDialogLeeren(document.forms['selection'],referrerForm)">Leeren</a> |
||||
</button> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="navbar-item is-hoverable"> |
||||
<div class="buttons"> |
||||
<p class="close_button"> |
||||
<button class="button"> |
||||
<span class="icon is-small"> |
||||
<a onclick="window.close()"> |
||||
<img src="../../images/close.svg" title="Schließen" aria-label="Schließen" /></a> |
||||
</span> |
||||
</button> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</span> |
||||
</div> |
||||
</nav> |
||||
</div> |
||||
<% if(zeilenanzahl!=null && !zeilenanzahl.equals("1")) |
||||
{ |
||||
%> |
||||
|
||||
<div class="input-container"> <!--style="padding-top:1em;"--> |
||||
<div class="buttons"> |
||||
<input type="checkbox" name="metaCheckox" value="" style="margin-left:1.5rem" onclick="ndMaskDialogToggleAllCheckboxes(document.forms['selection'],this)" />  alle markieren |
||||
</div> |
||||
</div> |
||||
<% |
||||
} |
||||
%> |
||||
<div class="input-container"> <!--style="padding-top:1em;"--> |
||||
<div id="comboDiv" class="comboDiv">keine Auswahl möglich |
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
</form> |
||||
</body> |
||||
</html> |
@ -0,0 +1,424 @@
@@ -0,0 +1,424 @@
|
||||
<%@page pageEncoding="utf-8" contentType="text/html; charset=UTF-8" %> |
||||
<html> |
||||
<head> |
||||
<% |
||||
if (request.getCharacterEncoding() == null) |
||||
request.setCharacterEncoding("UTF-8"); |
||||
Object userobject=request.getSession().getAttribute("UserID"); |
||||
String userid; |
||||
String filter=""; |
||||
String sql=""; |
||||
if(userobject == null) |
||||
{ |
||||
%> |
||||
|
||||
<jsp:forward page="/edit/not_authenticated.htm"/> |
||||
<% |
||||
} |
||||
else |
||||
userid=userobject.toString(); |
||||
Object mandantobject=request.getSession().getAttribute("MandantenID"); |
||||
String mandantenid=""; |
||||
if(mandantobject != null) |
||||
mandantenid=mandantobject.toString(); |
||||
//der superx-Default-Mandant ist bei dbforms ein Leerstring |
||||
if(mandantenid.equals("default")) |
||||
mandantenid=""; |
||||
String custom_css=""; //TODO |
||||
String tid = request.getParameter("tid"); |
||||
String fname = request.getParameter("Feldname"); |
||||
String previousValue = request.getParameter("previousValue"); |
||||
String zeilenanzahl = request.getParameter("zeilenanzahl"); |
||||
|
||||
String params = request.getParameter("params"); |
||||
|
||||
String callurl="../../servlet/SuperXmlMaske?tid="+tid+"&getJSON_"+fname+"=xxxxxx-xxxxxx@"; |
||||
callurl+=params; |
||||
|
||||
%> |
||||
|
||||
<%@ include file="../../htmlhead_dialoge.inc" %> |
||||
|
||||
<title>Auswahl <%=fname %></title> |
||||
</head> |
||||
<style> |
||||
</style> |
||||
<script type="text/javascript" language="javascript"> |
||||
|
||||
var sichtContentJSON; |
||||
var fname="<%= fname %>"; |
||||
var maskentid="<%= tid %>"; |
||||
var previousValue="<%= previousValue %>"; |
||||
var zeilenanzahl="<%= zeilenanzahl %>"; |
||||
var referrerWindow=window.opener; |
||||
var referrerDocument=referrerWindow.document; |
||||
var referrerForm=referrerDocument.forms[0]; |
||||
previousValue=referrerForm.elements[fname].value; |
||||
var referrerFormInputSichtid=referrerForm.elements[fname+"-Sicht"]; |
||||
var referrerFormInputSichtstand=referrerForm.elements[fname+"-Stand"]; |
||||
var referrerFormDivSichtauswahlInnerHTML=""; |
||||
var referrerFormDivSichtstandInnerHTML=""; |
||||
var selectedSichtid=""; |
||||
var selectedSichtStand=""; |
||||
if(referrerFormInputSichtid) |
||||
{ |
||||
var sichtauswahlDiv=referrerDocument.getElementById(fname+"-Sicht-div"); |
||||
if(sichtauswahlDiv) |
||||
referrerFormDivSichtauswahlInnerHTML=sichtauswahlDiv.innerHTML; |
||||
selectedSichtid=referrerForm.elements[fname+"-Sicht"].value; |
||||
} |
||||
if(referrerFormInputSichtstand) |
||||
{ |
||||
var sichtstandDiv=referrerDocument.getElementById(fname+"-Stand-div"); |
||||
if(sichtstandDiv) |
||||
referrerFormDivSichtstandInnerHTML=sichtstandDiv.innerHTML; |
||||
selectedSichtStand=referrerForm.elements[fname+"-Stand"].value; |
||||
} |
||||
var previousValuesArray=ndMaskDialogPreviousValueToArray(previousValue); |
||||
|
||||
var previousValuesCount=0; |
||||
if(previousValuesArray) |
||||
previousValuesCount=previousValuesArray.length; |
||||
//previousValuesCount=0; //TODO: wenn previousValue, dann klappt Aufklappen nicht immer |
||||
function initDialog(url,searchstring) |
||||
{ |
||||
var ret; |
||||
var xhttp = new XMLHttpRequest(); |
||||
xhttp.onreadystatechange = function() { |
||||
if (this.readyState == 4 && this.status == 200) { |
||||
sichtContentJSON= purgeval(this.responseText); |
||||
//console.log(sichtContentJSON); |
||||
renderSichtauswahl(sichtContentJSON); |
||||
renderSicht(sichtContentJSON,searchstring); |
||||
} |
||||
}; |
||||
xhttp.open("GET", url, true); |
||||
xhttp.send(); |
||||
} |
||||
|
||||
function renderSichtauswahl(content) |
||||
{ |
||||
var targetDiv=document.getElementById("sichtauswahlDiv"); |
||||
var zs=""; |
||||
//zs+="TTT"+JSON.stringify(content.sichten.selected); |
||||
if(content && content.sichten.selected && content.sichten.selected.name ) |
||||
{ |
||||
zs += "<div class='field is-grouped is-grouped-multiline'><div class='input-container'><label class='label'>Sicht</label>"; |
||||
//zs += "Ausgewählte Sicht: </span></div>"; |
||||
//zs+=" <div class='field-body'><div class='field is-active'>"; |
||||
zs+= buildSichtauswahlSelect(content); |
||||
zs+="</div></div>"; |
||||
if(content.sichten.selected.stand) |
||||
{ |
||||
zs += "<div class='input-container'>"; |
||||
zs += "<label class='label'>Stand</label>"; |
||||
zs+="<input type='date' class='input is-small' name='Standdatum' id='Standdatum' maxlength='10' size='3'"; |
||||
zs+=" value='"+dateGermanToDateUS(content.sichten.stand)+"' onChange='sichtStandchange(this.value)'/>"; |
||||
zs+="</div>"; |
||||
|
||||
// |
||||
} |
||||
//zs +="</div></div></div>";//von field is-grouped, damit Sicht und Standdatum in einer Zeile sind |
||||
} |
||||
else |
||||
{ |
||||
zs+="Keine Sichtauswahl möglich"; |
||||
} |
||||
|
||||
//Suche: |
||||
zs += "<div class='input-container'>"; |
||||
zs += "<label class='label'>Suche</label>"; |
||||
zs+="<div class='field has-addons'><div class='control'>"; |
||||
zs+= "<input id='sichtSuche' class='input is-small is-active' type='text' placeholder='Suche' onBlur='ndSichtEintraegeSuchen(this.value);return false;'/>"; |
||||
zs+="</div><div class='control'><button class='button is-small is-rounded' onClick='ndSichtEintraegeSuchen(document.getElementById(\'sichtSuche\'));return false;'>"; |
||||
zs+="<span class='icon' aria-hidden='true' alt='Suche' title='Suche'><img src='../../images/search_blue.svg'/></span></button>"; |
||||
zs+="</div></div></div>"; |
||||
|
||||
targetDiv.innerHTML=zs; |
||||
} |
||||
|
||||
|
||||
function buildSichtauswahlSelect(content) |
||||
{ |
||||
var zs="<div class='select is-small is-focused'><select id='sichtauswahlSelect' name='sichtauswahlSelect' style='max-width: 15rem;' onChange='sichtAuswahlchange(this.value)'>"; |
||||
zs+="<option class='maskinput' value='"+content.sichten.selected.name_intern+"' selected>"; |
||||
zs+=content.sichten.selected.name+"</option>"; |
||||
for(var j=0;j < content.sichten.other.length;j++) |
||||
{ |
||||
var node=content.sichten.other[j]; |
||||
zs+="<option class='maskinput' value='"; |
||||
zs+=node.name_intern+"'"; |
||||
zs+=">"+node.name+"</option>"; |
||||
} |
||||
zs+="</select>"; |
||||
return zs; |
||||
} |
||||
|
||||
function sichtAuswahlchange(gewaehlteSicht) |
||||
{ |
||||
var url="../../servlet/SuperXmlMaske?tid="+maskentid+"&getJSON_"+fname+"=xxxxxx-xxxxxx@"; |
||||
url+="&"+fname+"-aktualisieren=true&" + fname + "-Sicht=" + gewaehlteSicht; |
||||
|
||||
initDialog(url,''); |
||||
} |
||||
|
||||
function sichtStandchange(datumUS) |
||||
{ |
||||
var datum=dateUSToDateGerman(datumUS); |
||||
console.log(datum); |
||||
var url="../../servlet/SuperXmlMaske?tid="+maskentid+"&getJSON_"+fname+"=xxxxxx-xxxxxx@"; |
||||
url+="&"+fname+"-aktualisieren=true&" + fname + "-Stand=" + datum; |
||||
|
||||
initDialog(url,''); |
||||
|
||||
} |
||||
|
||||
function renderSicht(content,searchstring) |
||||
{ |
||||
var targetDiv =document.getElementById("sichtDiv"); |
||||
//targetDiv.innerHTML=JSON.stringify(content); |
||||
var zs=""; |
||||
//zs += "<p>"+selectedSichtid+"</p>"; |
||||
//zs += "<p>"+selectedSichtStand+"</p>"; |
||||
//zs += "<p>ttt"+previousValue+"</p>"; |
||||
//zs +=referrerFormDivSichtauswahlInnerHTML; |
||||
//zs +=referrerFormDivSichtstandInnerHTML; |
||||
//zs +=JSON.stringify(content); |
||||
zs +="<ul id='sichtentreeUL'>" |
||||
if(content && content.nodes && content.nodes.length >0) |
||||
{ |
||||
//zs +="<li>content.nodes.length"+content.nodes.length+"</li>"; |
||||
for(var j=0;j < content.nodes.length;j++) |
||||
{ |
||||
var node=content.nodes[j]; |
||||
zs +=renderNode(node,true,searchstring,previousValuesCount,previousValuesArray,zeilenanzahl); |
||||
} |
||||
} |
||||
|
||||
zs +="</ul>"; |
||||
targetDiv.innerHTML=zs; |
||||
} |
||||
|
||||
function renderNode(node,isRoot,searchstring,previousValuesCount,previousValuesArray,zeilenanzahl) |
||||
{ |
||||
var zs=""; |
||||
if(searchstring=="" || node.title.indexOf(searchstring)>-1) |
||||
{ |
||||
if(node.objectId !="") |
||||
{ |
||||
var checkedString=""; |
||||
for(var i=0;i < previousValuesCount;i++) |
||||
{ |
||||
if(previousValuesArray[i]==node.objectId) |
||||
checkedString="checked "; |
||||
|
||||
} |
||||
|
||||
var fldName="inp"+node.objectId; |
||||
var fldId="inp"+node.objectId; |
||||
var fldType="checkbox"; |
||||
if(zeilenanzahl==1) |
||||
{ |
||||
fldName=fname; |
||||
fldType="radio"; |
||||
} |
||||
zs += "<li class='sichtentreeLI'>"; |
||||
if(node.isFolder=="true" && !isRoot) |
||||
{ |
||||
zs+="<span class='sichtentreeCaret' id='sichtentreeCaret_"+node.objectId+"'"; |
||||
zs+="onClick=\"getChildNodes('"+node.objectId.trim()+"',this)\">"; |
||||
zs+="</span> "; |
||||
|
||||
} |
||||
else |
||||
zs+="<span style='margin-left:10px'> </span>"; |
||||
if (node.nodeattrib && node.nodeattrib == 2) |
||||
{ //nicht selektierbar: |
||||
zs +="<span style='margin-left:10px' class='is-unselectable'> </span>"; |
||||
zs +="<span>"+node.title+"</span>\n"; |
||||
} |
||||
else { |
||||
zs+="<input type='"+fldType+"' "+checkedString+ " name='"+fldName+ "' id='"+fldId+ "' value='"+node.objectId +"' /> "; |
||||
zs +="<label for='"+fldId+"' id='label"+node.objectId +"'>"+node.title+"</label>\n"; |
||||
} |
||||
if(node.children && node.children.length >0 ) |
||||
{ |
||||
for(var i=0;i < node.children.length;i++) |
||||
{ |
||||
zs+="<ul>"; |
||||
zs += renderNode(node.children[i],false,searchstring,previousValuesCount,previousValuesArray,zeilenanzahl); |
||||
zs +="</ul>"; |
||||
|
||||
} |
||||
} |
||||
zs+="</li>"; |
||||
|
||||
} |
||||
} //Ende wenn suchstring |
||||
return zs; |
||||
} |
||||
|
||||
function getChildNodes(nodeId,spanElem) |
||||
{ |
||||
//spanElem.parentElement.querySelector(".sichtentreeNested").classList.toggle("sichtentreeActive"); |
||||
var childUlId="childOf"+nodeId; |
||||
spanElem.classList.toggle("sichtentreeCaret-down"); |
||||
|
||||
if(document.getElementById(childUlId)) |
||||
{ |
||||
//Kind existiert bereits, wird nur unsichtbar: |
||||
document.getElementById(childUlId).classList.toggle("sichtentreeNested"); |
||||
} |
||||
else |
||||
{ |
||||
//Kind existiert noch nicht: |
||||
const childUL=document.createElement("ul"); |
||||
childUL.id=childUlId; |
||||
childUL.classList.add("sichtentreeChildUL"); |
||||
spanElem.parentElement.appendChild(childUL); |
||||
|
||||
var url="../../servlet/SuperXmlMaske?tid="+maskentid+"&getJSON_"+fname+"="+nodeId; //xxxxxx-xxxxxx@"; |
||||
var suburl=url+"&"+fname+"="+nodeId; |
||||
var ret; |
||||
var xhttp = new XMLHttpRequest(); |
||||
xhttp.onreadystatechange = function() { |
||||
if (this.readyState == 4 && this.status == 200) { |
||||
childrenJSON= purgeval(this.responseText); |
||||
//childUL.innerHTML=JSON.stringify(sichtContentJSON); |
||||
var childrenHTML=""; |
||||
if(childrenJSON && childrenJSON.length >0) |
||||
{ |
||||
//zs +="<li>content.nodes.length"+content.nodes.length+"</li>"; |
||||
for(var j=0;j < childrenJSON.length;j++) |
||||
{ |
||||
var node=childrenJSON[j]; |
||||
childrenHTML +=renderNode(node,false,"",previousValuesCount,previousValuesArray,zeilenanzahl); |
||||
} |
||||
} |
||||
childUL.innerHTML=childrenHTML; |
||||
//alert(JSON.stringify(childrenJSON)); |
||||
} |
||||
}; |
||||
xhttp.open("GET", suburl, true); |
||||
xhttp.send(); |
||||
} |
||||
|
||||
} |
||||
|
||||
function ndSichtEintraegeSuchen(was) { |
||||
var callurl = '/superx/servlet/SuperXmlMaske'; |
||||
callurl += '?tid=' + maskentid + '&getJSON_' + fname + |
||||
'=search:' + getEncoded(was); |
||||
//document.getElementById('progressbar').style.display = ""; |
||||
var xhttp = new XMLHttpRequest(); |
||||
xhttp.onreadystatechange = function() { |
||||
if (this.readyState == 4 && this.status == 200) { |
||||
var searchResultJSON= purgeval(this.responseText); |
||||
//document.getElementById("sichtDiv").innerHTML=JSON.stringify(searchResultJSON); |
||||
var searchResultHTML="<ul>"; |
||||
if(searchResultJSON && searchResultJSON.length >0) |
||||
{ |
||||
for(var j=0;j < searchResultJSON.length;j++) |
||||
{ |
||||
var node=searchResultJSON[j]; |
||||
searchResultHTML += renderNode(node,true,"",previousValuesCount,previousValuesArray,zeilenanzahl); |
||||
} |
||||
} |
||||
document.getElementById("sichtDiv").innerHTML=searchResultHTML+"</ul>"; |
||||
//alert(JSON.stringify(childrenJSON)); |
||||
} |
||||
}; |
||||
xhttp.open("GET", callurl, true); |
||||
xhttp.send(); |
||||
} |
||||
|
||||
|
||||
|
||||
|
||||
</script> |
||||
<body class="has-navbar-fixed-top" onload="initDialog('<%=callurl %>','')"> |
||||
<div id="nd_navi_top"> |
||||
<nav class="navbar is-fixed-top" role="navigation" ><!--aria-label="main navigation"--> |
||||
<div class="navbar-brand"> |
||||
|
||||
<div class="navbar-item"> |
||||
<p class="title is-4">Auswahl <%=fname %></p> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
<div class="navbar-end"><span class="navbar-end"> |
||||
<div class="navbar-item is-hoverable"> |
||||
<div class="buttons"> |
||||
<p class="submit_button"> |
||||
<button class="button" type="submit"> |
||||
<a onclick="ndMaskSichtDialogUebernehmen(document.forms['selection'],referrerForm)">Übernehmen</a> |
||||
</button> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="navbar-item is-hoverable"> |
||||
<div class="buttons"> |
||||
<p class="reset_button"> |
||||
<button class="button"> |
||||
<a onclick="ndMaskDialogLeeren(document.forms['selection'],referrerForm)">Leeren</a> |
||||
</button> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="navbar-item is-hoverable"> |
||||
<div class="buttons"> |
||||
<p class="close_button"> |
||||
<button class="button"> |
||||
<span class="icon is-small"> |
||||
<a onclick="window.close();"> |
||||
<img src="../../images/close.svg" title="Schließen" aria-label="Schließen" /></a> |
||||
</span> |
||||
</button> |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</span> |
||||
</div> |
||||
</nav> |
||||
|
||||
<!--<div class="container"> doppelte scrollbalken verhindern--> |
||||
<form name="selection" onsubmit="return false;" style="margin:0px"> |
||||
|
||||
<div class="input-container"> |
||||
<div class="field is-grouped is-grouped-multiline"> |
||||
<div class="input-container"> |
||||
|
||||
<div id="sichtauswahlDiv"> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
</div> |
||||
<% if(zeilenanzahl!=null && !zeilenanzahl.equals("1")) |
||||
{ |
||||
%> |
||||
|
||||
<div class="buttons"> |
||||
<input type="checkbox" name="metaCheckox" value="" style="margin-left:1.5rem;" onclick="ndMaskDialogToggleAllCheckboxes(document.forms['selection'],this)" />  alle markieren |
||||
</div> |
||||
<hr /> |
||||
<% |
||||
} |
||||
%> |
||||
|
||||
|
||||
<div id="sichtDiv" class="comboDiv">keine Auswahl möglich |
||||
|
||||
</div> |
||||
|
||||
|
||||
|
||||
</form> |
||||
<!--</div> container--> |
||||
</div> |
||||
</body> |
||||
</html> |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
<footer> |
||||
<!--Beginn Bottom-Navigation--> |
||||
<nav class="bottom-nav"> |
||||
<ul> |
||||
<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/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="#top" aria-label="Zum Seitenanfang"><span class="icon" aria-hidden="true"><img src="/superx/images/up-circled-grey.svg" alt="nach oben" title="nach oben" /></span></a></li> |
||||
</span> |
||||
</ul> |
||||
</nav> |
||||
<!--Ende Bottom-Navigation--> |
||||
</footer> |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1" /> |
||||
<link rel="stylesheet" href="/superx/style/bulma.css" /> |
||||
<link rel="stylesheet" href="/superx/style/sx_common.css" /> |
||||
<link rel="stylesheet" href="/superx/style/sx_login.css" /> |
||||
<link rel="stylesheet" type="text/css" href="/superx/style/fontello-codes.css"/> |
||||
<link rel="stylesheet" type="text/css" href="/superx/style/sx_fontello.css" /> |
||||
<link rel="stylesheet" type="text/css" href="/superx/style/welcome.css"/> |
||||
|
||||
<style> |
||||
<%= custom_css.toString() %> |
||||
</style> |
||||
|
||||
<!--<script defer type="text/javascript" src="/superx/xml/js/alpinejs/alpine3.min.js"></script>--> |
||||
<script defer type="text/javascript" src="/superx/xml/js/memtext/sx_functions.js"></script> |
||||
<script type="text/javascript" src="/superx/xml/js/memtext/nd_functions.js"></script> |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1" /> |
||||
<link rel="stylesheet" href="/superx/style/bulma.css" /> |
||||
<link rel="stylesheet" href="/superx/style/sx_common.css" /> |
||||
<link rel="stylesheet" href="/superx/style/sx_login.css" /> |
||||
<link rel="stylesheet" type="text/css" href="/superx/style/fontello-codes.css"/> |
||||
<link rel="stylesheet" type="text/css" href="/superx/style/sx_fontello.css" /> |
||||
<link rel="stylesheet" type="text/css" href="/superx/style/sx_field_dialogue.css"/> |
||||
|
||||
<style> |
||||
<%= custom_css.toString() %> |
||||
</style> |
||||
|
||||
<!--<script defer type="text/javascript" src="/superx/xml/js/alpinejs/alpine3.min.js"></script>--> |
||||
<script defer type="text/javascript" src="/superx/xml/js/memtext/sx_functions.js"></script> |
||||
<script type="text/javascript" src="/superx/xml/js/memtext/nd_functions.js"></script> |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 572 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 573 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 833 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 581 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 573 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 827 KiB |
After Width: | Height: | Size: 275 KiB |
After Width: | Height: | Size: 574 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 2.0 MiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 2.1 MiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 572 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 572 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 586 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 2.7 MiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 824 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 588 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 573 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 573 KiB |
After Width: | Height: | Size: 576 KiB |
After Width: | Height: | Size: 574 KiB |
After Width: | Height: | Size: 574 KiB |
After Width: | Height: | Size: 591 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 582 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 576 KiB |
After Width: | Height: | Size: 581 KiB |
After Width: | Height: | Size: 828 KiB |
After Width: | Height: | Size: 575 KiB |