Files
Facilitor/APPL/MGT/bes_kenmerk.js
2025-02-03 12:05:15 +00:00

150 lines
4.5 KiB
JavaScript

$(function ()
{
$("#orderdiscipline").change(function() {change_article_catalogue(); });
$("#orderarticlegroup").change(function() {change_article_group(); });
$("#orderpropertytype").change(change_orderpropertytype);
var srtinstallatie_key = $("#orderdisciplinehide").val();
if (!srtinstallatie_key)
{
change_article_catalogue();
change_article_group(); // Initialisatie listboxen bij search.
}
else
{
var discipline_key = $("#orderdiscipline").val();
var srtgroep_key = $("#orderarticlegroup").val();
var srtdeel_key = $("#orderarticle").val();
var niveau = $("#level").val();
if (niveau == "D")
{
fill_srtgroep(discipline_key);
$("#orderarticle").prop("disabled", true);
}
if (niveau == "G")
{
fill_srtgroep(discipline_key, srtgroep_key);
fill_srtdeel(discipline_key, srtgroep_key);
}
if (niveau == "S")
{
fill_srtgroep(discipline_key, srtgroep_key);
fill_srtdeel(discipline_key, srtgroep_key, srtdeel_key);
}
}
});
function change_orderpropertytype()
{
var ktype = $("#orderpropertytype option:selected").attr("bes_srtkenmerk_kenmerktype");
var ktype_lbl_default = (ktype == "l" ? L("mgt_kenmerk_icon") : L("mgt_kenmerk_default"));
var ktype_lbl_readonly = (ktype == "l" ? L("mgt_kenmerk_collapsed"): L("mgt_kenmerk_toonbaar"));
$("label[for*='default']").html(ktype_lbl_default);
$("label[for*='readonly']").html(ktype_lbl_readonly);
}
function change_article_catalogue(srtgroep_key)
{
process_info({niveau:"G",lov:[]});
process_info({niveau:"S",lov:[]});
var discipline_key = $("#orderdiscipline").val();
fill_srtgroep(discipline_key);
}
function change_article_group(srtdeel_key)
{
process_info({niveau:"S",lov:[]});
var discipline_key = $("#orderdiscipline").val();
var srtgroep_key = $("#orderarticlegroup").val();
fill_srtdeel(discipline_key, srtgroep_key);
}
function fill_srtgroep(discipline_key, srtgroep_key)
{
if (discipline_key > 0)
{
$.getJSON("../bes/get_item_info_ajax.asp",
{
req_info: "bes_srtinstallatie",
niveau: "G",
install_key: discipline_key,
init_key: srtgroep_key
},
process_info);
}
}
function fill_srtdeel(discipline_key, srtgroep_key, srtdeel_key)
{
if (srtgroep_key > 0)
{
$.getJSON("../bes/get_item_info_ajax.asp",
{ req_info: "bes_srtinstallatie",
niveau: "S",
install_key: srtgroep_key,
init_key: srtdeel_key
},
process_info);
}
}
function process_info(data)
{
var select = (data.niveau=="G" ? $("#orderarticlegroup") : $("#orderarticle"));
var sel_key = -1;
$new_lov = $("<option>").val(-1).html("");
select.empty().append($new_lov);
if (data.lov.length > 0)
{
for (i=0; i<data.lov.length;i++)
{
var opt = data.lov[i];
$new_lov = $("<option>").val(opt.key).html(opt.oms);
if (opt.sel)
{
$new_lov.attr("selected", "selected");
sel_key = opt.key;
}
select.append($new_lov);
}
select.prop("disabled", false);
}
else
{
select.prop("disabled", true);
}
if (sel_key > -1)
select.val(sel_key);
}
function pre_submit()
{
var add = $("#id").val() == -1;
var discipline_key = $("#orderdiscipline").val() || -1;
var srtgroep_key = $("#orderarticlegroup").val() || -1;
var srtdeel_key = $("#orderarticle").val() || -1;
// Na het toevoegen zijn de discipline, srtgroep en srtdeel niet meer aan te passen.
if (add)
{
if (srtdeel_key != -1)
{
$("#level").val("S");
$("#orderdisciplinehide").val(srtdeel_key);
}
else if (srtgroep_key != -1)
{
$("#level").val("G");
$("#orderdisciplinehide").val(srtgroep_key);
}
else
{
$("#level").val("D");
$("#orderdisciplinehide").val(discipline_key);
}
}
return true;
}