223 lines
6.1 KiB
JavaScript
223 lines
6.1 KiB
JavaScript
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: fac_stdmeldingfaq.js
|
|
*/
|
|
|
|
var rowIndex = -1;
|
|
var multiFAQ = true;
|
|
|
|
function onClickItem(tr)
|
|
{
|
|
// Wordt aangeroepen na één klik op een item
|
|
$(tr).toggleClass("selected");
|
|
}
|
|
|
|
function onDblClickItem(tr)
|
|
{
|
|
$(tr).closest("table").find("tr").removeClass("selected"); // Alle andere regels deselecteren
|
|
$(tr).addClass("selected");
|
|
window.parent.doSubmit();
|
|
}
|
|
|
|
function setMultiFAQ(aantal)
|
|
{
|
|
multiFAQ = (aantal != 1);
|
|
}
|
|
|
|
function CreateRow(loc_key, onr_key, scope, plaats)
|
|
{
|
|
rowIndex++;
|
|
var table = $("#algfaqtable>tbody")[0];
|
|
|
|
// Insert data rows
|
|
tr = table.insertRow(-1);
|
|
tr.myData = { loc_key: loc_key
|
|
, onr_key: onr_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
|
|
|
|
// Vakgroep omschrijving veld
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = scope;
|
|
cell.align = "left";
|
|
cell.style.whiteSpace = "nowrap";
|
|
|
|
// Stdmelding omschrijving veld
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = plaats;
|
|
cell.align = "left";
|
|
cell.style.whiteSpace = "nowrap";
|
|
|
|
// Data velden
|
|
cell = tr.insertCell(-1);
|
|
cell.className = "result";
|
|
cell.innerHTML = "<input type='hidden' id='loc" + rowIndex + "' name='loc" + rowIndex + "' value='" + loc_key + "'>"
|
|
+ "<input type='hidden' id='onr" + rowIndex + "' name='onr" + rowIndex + "' value='" + onr_key + "'>";
|
|
cell.align = 'left';
|
|
|
|
document.getElementById("nrRows").value = parseInt(rowIndex) + 1;
|
|
}
|
|
|
|
function delRow(img)
|
|
{
|
|
// Verwijder de aangeklikte afdeling uit de lijst (de regel)
|
|
FcltMgr.confirm(L("lcl_faq_del_alg"), function() {
|
|
var tr = $(img).closest("tr")[0];
|
|
if (tr.myData.loc_key != null) {
|
|
document.getElementById("algfaqtable").deleteRow(tr.rowIndex);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
function fac_submit()
|
|
{
|
|
var data = $("[name=u2]").serialize();
|
|
$.post($("form[name=u2]")[0].action,
|
|
data,
|
|
FcltCallbackAndThenAlways(fac_submit_callback),
|
|
"json");
|
|
return true; // disabled button ook
|
|
}
|
|
|
|
function fac_submit_callback(json)
|
|
{
|
|
if (json.success)
|
|
{
|
|
window.parent.FcltMgr.reload();
|
|
FcltMgr.closeDetail(window, json);
|
|
}
|
|
}
|
|
|
|
function fac_add()
|
|
{
|
|
var onr_key = -1;
|
|
var scope;
|
|
var plaats = $("#plaats").val();
|
|
var bttype;
|
|
|
|
var loc_selected = !!($("#locatie").is(":visible") && ($("#locatie option:selected").length || $("#locatiekey").val() > 0));
|
|
var geb_selected = !!($("#gebouw").is(":visible") && ($("#gebouw option:selected").length || $("#gebouwkey").val() > 0));
|
|
var ver_selected = !!($("#verdieping").is(":visible") && ($("#verdieping option:selected").length || $("#verdiepingkey").val() > 0));
|
|
var rui_selected = !!($("#ruimte").is(":visible") && ($("#ruimte option:selected").length || $("#ruimtekey").val() > 0));
|
|
|
|
if (rui_selected)
|
|
{
|
|
scope = "Ruimte";
|
|
onr_key = $("#ruimtekey").val();
|
|
if (sgRoom.isMulti())
|
|
{
|
|
if ($("#ruimte option:selected").length)
|
|
{
|
|
$("#ruimte option:selected").each(function () {
|
|
onr_key = $(this).val();
|
|
this_plaats = plaats + "-" + $(this).text();
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, this_plaats);
|
|
});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, plaats);
|
|
}
|
|
}
|
|
else if (ver_selected)
|
|
{
|
|
scope = "Verdieping";
|
|
onr_key = $("#verdiepingkey").val();
|
|
if (sgFlr.isMulti())
|
|
{
|
|
$("#verdieping option:selected").each(function () {
|
|
onr_key = $(this).val();
|
|
this_plaats = plaats + "-" + $(this).text();
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, this_plaats);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, plaats);
|
|
}
|
|
}
|
|
else if (geb_selected)
|
|
{
|
|
onr_key = $("#gebouwkey").val();
|
|
if (sgBld.isMulti())
|
|
{
|
|
$("#gebouw option:selected").each(function () {
|
|
onr_key = $(this).val();
|
|
this_plaats = plaats + "-" + $(this).text();
|
|
bttype = $(this)[0].getAttribute("extra");
|
|
if (bttype == "B")
|
|
scope = "Gebouw";
|
|
else
|
|
scope = "Terrein";
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, this_plaats);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
bttype = $("#gebouwkey")[0].getAttribute("extra");
|
|
if (bttype == "B")
|
|
scope = "Gebouw";
|
|
else
|
|
scope = "Terrein";
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, plaats);
|
|
}
|
|
}
|
|
else if (loc_selected)
|
|
{
|
|
scope = "Locatie";
|
|
if (sgLoc.isMulti())
|
|
{
|
|
$("#locatie option:selected").each(function () {
|
|
plaats = $(this).text().split(" ")[0];
|
|
fac_check_and_add($(this).val(), onr_key, scope, plaats);
|
|
});
|
|
}
|
|
else
|
|
{
|
|
fac_check_and_add($("#locatiekey").val(), onr_key, scope, plaats);
|
|
}
|
|
}
|
|
}
|
|
|
|
function fac_check_and_add(loc_key, onr_key, scope, plaats)
|
|
{
|
|
if (loc_key > 0)
|
|
{
|
|
var exist = false;
|
|
$("#algfaqtable tr").each(function(i, value)
|
|
{
|
|
if (this.myData
|
|
&& (loc_key == this.myData.loc_key)
|
|
&& (onr_key == this.myData.onr_key)
|
|
)
|
|
{
|
|
exist = true;
|
|
}
|
|
});
|
|
if (!exist)
|
|
{
|
|
CreateRow( loc_key
|
|
, onr_key
|
|
, scope
|
|
, plaats
|
|
);
|
|
FcltMgr.resized(window);
|
|
}
|
|
}
|
|
}
|