<% /* $Revision$ $Id$ File: scaffolding_search.asp Description: Generiek zoekscherm Parameters: Context: Note: */ %> <% function scf_search_field (model, fld, defaults, scf_params, includefilters) { var xmodel = model; if (fld.indexOf(".") > 0) // Bij res_ruimte configurations.res_opstelling_key ofwel . { includefilters.push(fld); xmodel = model.includes[fld.split(".")[0]].model; var fld = fld.split(".")[1]; } var field = xmodel.fields[fld]; if (!field) // Een veld kan verwijderd zijn met delete this.fields.veld. return; if (field.typ == "time") // Doen we nog niet return; field.defaultvalue = null; if (field.hidden || field.nosearch) return; if (field.typ == "memo") field.typ = "varchar"; // We hoeven geen groot veld om in te zoeken 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": field.filter = "range"; break; case "number": field.filter = field.LOV?"exact":"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; } } var cntfield = 0; if (field.filter == 'like' || field.filter == 'exact' || !("filter" in field)) { if (scf_params.fcltfilters && scf_params.fcltfilters[fld]) { // pinned filter parameters var fldval = scf_params.fcltfilters[fld]; var LOVval = ""; if (typeof fldval == "string") { scf_RWFIELDTR(xmodel, fld, fldval, null, {search: true, extraclass: "pinned"}); } else { for (var j=0; j <% FCLTHeader.Generate() %> <% if (FCLTHeader.filters) scf_params.fcltfilters = JSON.parse(FCLTHeader.filters); %> <% var filtercols = I("fa-search-plus") + " "+L("lcl_scf_extra_filter")+" " + " "; %>
id='scf_pivot' value='<%=(model.list.autoPivot&2)?1:0%>'> <% var defaults = shared.qs2json(model); // TODO: Ook via scf_params for (var fld in model.fields) { var field = model.fields[fld]; if (field.hidden && fld in defaults) { Response.Write(""); } } if (scf_params.transit) { var tdata = scf_params.transit; for (trans in tdata) { %> <% } } var est_title = ""; if ("estimated_rows" in model) est_title = " estimated {0} rows as of {1}".format(model.estimated_rows, toDateTimeString(model.last_analyzed)); else est_title = " " + safe.html(model.records_title); SEARCH_PAGE_START({ header: L("lcl_filterblok") + est_title, ishtmlsafe: true, filtercols: filtercols } ); var search_blocks = []; if (scf_params && scf_params.layout && scf_params.layout.search_block) { search_blocks = scf_params.layout.search_block; } else { search_blocks.push( { filters:(scf_params.search.filters ? scf_params.search.filters : []) , labels: (scf_params.search.labels ? scf_params.search.labels : []) }); } var blkcount = []; for (var sblk=0; sblk