150 lines
4.5 KiB
JavaScript
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;
|
|
} |