162 lines
4.9 KiB
JavaScript
162 lines
4.9 KiB
JavaScript
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: ins_onderdelen.js
|
|
*/
|
|
|
|
var rowIndex = -1;
|
|
|
|
function CreateRow(deel_key, deel_name, srtdeel_name, srtgroep_name, disc_name)
|
|
{
|
|
rowIndex++;
|
|
var table = $("#deel_desctable>tbody")[0];
|
|
|
|
// Insert data rows
|
|
tr = table.insertRow(-1);
|
|
tr.setAttribute("deel_key", deel_key);
|
|
tr.value = rowIndex;
|
|
|
|
// Create drop button
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.align = "center";
|
|
cell.innerHTML = "<span OnClick='delRow(this)' style='cursor:pointer'>" + I("fa-trash-alt") + "</span>";
|
|
|
|
// innerHTML opent een htmlparser die overbodige spaties en line breaks verwijderd in IE, daarom met innerText oplossen
|
|
// Input velden moeten wel met innerHTML of outerHTML anders wordt het text
|
|
|
|
// Deel omschrijving veld
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = deel_name + "<input type='hidden' id='deel" + rowIndex + "' name='deel" + rowIndex + "' value='" + deel_key + "'>";
|
|
cell.align = "left";
|
|
cell.style.whiteSpace = "nowrap";
|
|
|
|
// disc omschrijving veld
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = disc_name;
|
|
cell.align = "left";
|
|
cell.style.whiteSpace = "nowrap";
|
|
|
|
// srtgroep_name omschrijving veld
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = srtgroep_name;
|
|
cell.align = 'left';
|
|
cell.style.whiteSpace = "nowrap";
|
|
|
|
// srtdeel omschrijving veld
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = srtdeel_name;
|
|
cell.align = "left";
|
|
cell.style.whiteSpace = "nowrap";
|
|
|
|
document.getElementById("nrRows").value = parseInt(rowIndex) + 1;
|
|
}
|
|
|
|
function delRow(img)
|
|
{
|
|
// Verwijder het aangeklikte object uit de lijst (de regel)
|
|
var tr = $(img).closest("tr")[0];
|
|
if (tr.getAttribute("deel_key") != null)
|
|
{
|
|
document.getElementById("deel_desctable").deleteRow(tr.rowIndex);
|
|
}
|
|
}
|
|
|
|
function ins_submit()
|
|
{
|
|
document.forms.u2.submit();
|
|
}
|
|
function ins_cancel()
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: true });
|
|
}
|
|
|
|
async function ins_add()
|
|
{
|
|
if (!await validateForm("u2"))
|
|
return false;
|
|
|
|
if ($("#deel_key").val() > 0)
|
|
{ // Check of het object al in de lijst staat
|
|
var exist = false;
|
|
$("tr[deel_key]").each(function(i)
|
|
{
|
|
if ($("#deel_key").val() == $(this).attr("deel_key"))
|
|
exist = true;
|
|
});
|
|
if (!exist)
|
|
{ // Object staat nog niet in de lijst.
|
|
CreateRow($("#deel_key").val(),
|
|
$("#deel_key_show").val(),
|
|
$("#srtdeel_show").val(),
|
|
$("#srtgroep_show").val(),
|
|
$("#disc_show").val());
|
|
FcltMgr.resized(window);
|
|
}
|
|
//else => Het object staat al in de lijst.
|
|
}
|
|
}
|
|
|
|
function onChangeDiscipline()
|
|
{
|
|
//sgSrtgroep.setValue($("#stdm").val(), $("#stdm_show").val(), true, true, null, true);
|
|
// Regel hierboven werkt niet goed omdat CheckExist een get call veroorzaakt om te kijken of waarde bestaat.
|
|
// In de tussentijd verstoort CheckJustOne dit process met een $.getJSON()
|
|
// Dus gewoon Groep leegmaken
|
|
sgSrtgroep.setValue(-1, "", true, false, null, true);
|
|
sgSrtgroep.CheckJustOne();
|
|
$("#srtdeelmulti").empty();
|
|
}
|
|
|
|
function callback_ins_info(data, textStatus, jqXHR)
|
|
{ // Zet de discipline indien niet ingevuld
|
|
// setValue(key, txt, doonChange, checkExist, extraParam, lastTry)
|
|
if ($("#disc").val() == -1)
|
|
sgDisc.setValue(data.disc_key, data.disc_omschr, false /*doonChange*/, true /*checkExist*/);
|
|
if ($("#srtgroep").val() == -1)
|
|
sgSrtgroep.setValue(data.srtgroep_key, data.srtgroep_omschr, false /*doonChange*/, true /*checkExist*/);
|
|
if ($("#srtdeel").val() == -1)
|
|
sgSrtdeel.setValue(data.srtdeel_key, data.srtdeel_omschr, false /*doonChange*/, true /*checkExist*/);
|
|
}
|
|
|
|
function onChangeSrtgroep(srtgroep_key)
|
|
{ // Zet de discipline indien niet ingevuld.
|
|
if (srtgroep_key > 0 && $("#disc").val() <= 0 && typeof sgDisc != "undefined")
|
|
{
|
|
$.getJSON("../Shared/get_ins_info.asp",
|
|
{ srtgroep_key: srtgroep_key },
|
|
callback_ins_info);
|
|
}
|
|
sgSrtdeel.setValue(-1, "", true, false, null, true);
|
|
sgSrtdeel.CheckJustOne();
|
|
sgDeel.setValue(-1, "", true, false, null, true);
|
|
sgDeel.CheckJustOne();
|
|
}
|
|
|
|
function onChangeSrtdeel(srtdeel_key)
|
|
{
|
|
if (srtdeel_key > 0 && ($("#srtgroep").val() <= 0 && typeof sgSrtgroep != "undefined"))
|
|
{
|
|
$.getJSON("../Shared/get_ins_info.asp",
|
|
{ srtdeel_key: srtdeel_key },
|
|
callback_ins_info);
|
|
}
|
|
sgDeel.setValue(-1, "", true, false, null, true);
|
|
sgDeel.CheckJustOne();
|
|
}
|
|
|
|
function onChangeDeel(deel_key)
|
|
{
|
|
if (deel_key > 0 && ($("#srtdeel").val() <= 0 && typeof sgSrtdeel != "undefined"))
|
|
{
|
|
$.getJSON("../Shared/get_ins_info.asp",
|
|
{ deel_key: deel_key },
|
|
callback_ins_info);
|
|
}
|
|
}
|