56 lines
2.0 KiB
JavaScript
56 lines
2.0 KiB
JavaScript
/*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: fac_report.js
|
|
*/
|
|
|
|
function toggleInputSelect()
|
|
{
|
|
var inp = $(this).prevAll("input,select")[0];
|
|
if (inp.tagName == 'INPUT')
|
|
{ // 1e keer drukken maakt er een listbox van
|
|
$.getJSON("fac_report_worker.asp", $("[name=u2]").serialize() + "&distinct=" + inp.name, process_worker_info);
|
|
$(inp).show().val(L("lcl_rap_please_wait"));
|
|
$(inp).prop('disabled', true);
|
|
}
|
|
else // het is al een select
|
|
{
|
|
if ($(this).hasClass("_multi_select_toggle")) // 3e keer drukken weer gewoon input box
|
|
{
|
|
$(inp).replaceWith('<input class="fld" id="' + inp.name +'" name="' + inp.name +'">');
|
|
$(this).removeClass('_multi_select_toggle');
|
|
}
|
|
else // 2e keer drukken maakt er een listbox van
|
|
{ // scaffolding_search.inc heeft een live handler op deze class die een toggle naar multi-select doet
|
|
$(this).addClass('_multi_select_toggle');
|
|
}
|
|
}
|
|
}
|
|
|
|
function process_worker_info(data)
|
|
{
|
|
var inp = $("#" + data.distinct); // we krijgen de naam terug in data.distinct
|
|
inp.replaceWith('<select id="{0}" name="{0}"></select>'.format(data.distinct));
|
|
var sel = $("#" + data.distinct);
|
|
var l = data.values.length;
|
|
if (l > 0 && data.values[l-1][data.colname] === null)
|
|
data.values.pop();
|
|
if(data.values.length > 1)
|
|
sel.append($('<option></option>').val("").text(L("lcl_shared_alle") + " " + data.values.length));
|
|
for (var i = 0; i < data.values.length; i++)
|
|
{
|
|
var v = data.values[i][data.colname];
|
|
sel.append($('<option></option>').val(v).text(v));
|
|
}
|
|
}
|
|
|
|
// Voeg overal de autoselect toggles toe
|
|
$(function ()
|
|
{
|
|
$("input.fld").after($("<img class='autoreport' src='../Pictures/comment.png'>")
|
|
.attr('title', L("lcl_usrrap_beware"))
|
|
.click(toggleInputSelect)
|
|
);
|
|
});
|