101 lines
4.0 KiB
JavaScript
101 lines
4.0 KiB
JavaScript
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: fac_usrrap_filter.js
|
|
Description:
|
|
Context: Let op: de functies worden aangeroepen vanuit fac_usrrap_filter.asp
|
|
maar dat bestand wordt met Ajax in fac_usrrap.asp ingeplakt.
|
|
Daarom wordt deze js ook fac_usrrap.asp geinclude.
|
|
Note:
|
|
|
|
*/
|
|
var g_objid;
|
|
|
|
function getFilledListboxParams()
|
|
{ // De functie verzameld de ingevulde filterwaarden
|
|
var nrCols = $("#nr_charcols").val();
|
|
var lbparams = [];
|
|
for (var i = 1; i <= nrCols; i++)
|
|
{
|
|
if ($("#fclt_f_colvalue" + i).css("display") != "none")
|
|
var colvalue = $("#fclt_f_colvalue" + i).val();
|
|
else
|
|
var colvalue = $("#fclt_f_colvalue" + i + "_l").val();
|
|
if (colvalue != "" && colvalue != null)
|
|
{
|
|
var nextnr = (lbparams.length/2 + 1)
|
|
lbparams.push({name: "colname" + nextnr, value: $("#fclt_f_colname" + i).val()});
|
|
lbparams.push({name: "colvalue" + nextnr, value: colvalue});
|
|
}
|
|
}
|
|
return lbparams;
|
|
}
|
|
|
|
// Replace a filter field by a listbox with all existing data for that filter field
|
|
function FillListbox(objid, colname, usrrap_key)
|
|
{
|
|
txtObject = document.getElementById(objid);
|
|
lstObject = document.getElementById(objid+"_l");
|
|
if (txtObject.style.display == "none") // reset normal textbox
|
|
{
|
|
txtObject.disabled = false; // Textveld wordt weer zichtbaar en moet worden gesubmit
|
|
$(txtObject).show().val("");
|
|
lstObject.style.display = 'none';
|
|
lstObject.disabled = true; // Selectbox wordt hidden en moet niet meer worden gesubmit
|
|
}
|
|
else // turn on select-list
|
|
{
|
|
txtObject.disabled = true; // Textveld wordt hidden en moet niet meer worden gesubmit
|
|
// Door de afhankelijkheid van de filtervelden, nu altijd selectboxen opnieuw opbouwen, anders kan door wijzigingen van filterwaarden de afhankelijkheid niet meer juist zijn.
|
|
document.body.style.cursor = "wait";
|
|
$(txtObject).show().val("Please wait");
|
|
document.getElementById(objid+"_q").disabled = true;
|
|
g_objid = objid;
|
|
// Haal de waarden van de ingevulde filtervelden op
|
|
filledListboxParams = getFilledListboxParams();
|
|
// Aantal meegezonden waarden ook als parameter meegeven
|
|
filledListboxParams.push({name: "aantalcolvalue", value: filledListboxParams.length/2});
|
|
$.getJSON("fac_usrrap_worker.asp?colname="+colname+"&usrrap_key="+usrrap_key,
|
|
filledListboxParams, // Ingevulde filterwaarden
|
|
process_worker_info);
|
|
}
|
|
}
|
|
|
|
// Called by onLoad of repWorker.asp
|
|
function process_worker_info(data)
|
|
{
|
|
document.getElementById(g_objid).style.display = 'none';
|
|
//document.getElementById(g_objid).name = 'obsolete';
|
|
document.getElementById(g_objid+"_q").value = '?';
|
|
document.getElementById(g_objid+"_q").disabled = false;
|
|
document.getElementById(g_objid+"_q").title = '';
|
|
|
|
var txtObject = document.getElementById(g_objid);
|
|
var lstObject = document.getElementById(g_objid+'_l');
|
|
//lstObject.name = g_objid; // From now on use the listbox
|
|
lstObject.disabled = false; // Selectbox wordt weer zichtbaar en moet worden gesubmit
|
|
txtObject.style.display = 'none';
|
|
$(lstObject).show();
|
|
|
|
var ob = lstObject.options;
|
|
var sz = ob.length;
|
|
while (sz--)
|
|
ob.remove(0);
|
|
|
|
opt = document.createElement('OPTION');
|
|
opt.value = "";
|
|
opt.text = L("lcl_shared_alle");
|
|
ob.add(opt);
|
|
for( i=0; i<data.wd.length; i++ ) {
|
|
opt = document.createElement('OPTION');
|
|
opt.value = data.wd[i];
|
|
opt.text = data.wd[i] == null? L("lcl_empty") : data.wd[i];
|
|
ob.add(opt);
|
|
}
|
|
// direct openen werkt niet lstObject.click();
|
|
document.body.style.cursor = "auto";
|
|
FcltMgr.resized(); // listbox is enkele pixels hoger dan de inputbox
|
|
}
|
|
|