FSN#39451 Bij scaffolding op *alle* velden kunnen filteren

svn path=/Website/trunk/; revision=33162
This commit is contained in:
Jos Groot Lipman
2017-03-16 08:24:27 +00:00
parent 26e7a50336
commit 3946e6c519

View File

@@ -35,6 +35,33 @@ function scf_search_field (model, fld, defaults, scf_params, includefilters)
var def = field.filterdefault || defaults[fld];
var defs = scf.parseDefault(def, field);
if (!("filter" in field) && (!("bits" in field)))
{ // default filtertypes
switch (field.typ)
{
case "key":
field.filter = "exact";
break;
case "float":
case "currency":
case "number":
field.filter = "range";
break;
case "check":
case "check0":
field.filter = "exact";
break;
case "varchar":
case "memo":
field.filter = "like";
break;
case "date":
case "datetime":
field.filter = "range";
break;
}
}
if (field.filter == 'like' || field.filter == 'exact' || !("filter" in field))
{
if (scf_params.fcltfilters && scf_params.fcltfilters[fld])
@@ -147,7 +174,7 @@ function scaffolding_search(model, scf_params)
function addFilter(sel) // verplaats het van de verborgen optionalfilters tabel naar de echte filtertabel
{
var fld = $(sel).val();
$("form[name=u2] table.fcltblocktab").append($("table#optionalfilters #" + fld).closest("tr"));
$("form[name=u2] table.fcltblocktab").append($("table#optionalfilters").find("#{0},#start_{0},#end_{0}".format(fld)).closest("tr"));
$(sel).find("option:selected").remove();
}
@@ -201,8 +228,8 @@ function scaffolding_search(model, scf_params)
<body id="searchbody">
<div id="search">
<div style='float:right; padding: 5px;'>
<label>Add filter </label>
<select class='notmulti' style='width:auto' onchange='addFilter(this)'><option></option>
<label><%=L("lcl_scf_extra_filter")%> </label>
<select class='notmulti' style='width:auto' onchange='addFilter(this)'><option></option>
<%
for (var fld in model.fields) // Nu alle optionele filters
{