Files
Facilitor/APPL/FAC/fac_report.js
Jos Groot Lipman f76fb7e08f AAFM#34060 Betere auto-filter bij 'range' velden. Ook null-waarde onderdrukken
svn path=/Website/branches/v2015.2/; revision=26651
2015-10-14 14:30:05 +00:00

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)
);
});