VGLD#56232 Search-as-you-type; redundant code removed, efficiency increased and compacted code

svn path=/Website/trunk/; revision=41444
This commit is contained in:
2019-03-11 10:12:03 +00:00
parent 429b3e4a41
commit 2a240d3cae
3 changed files with 48 additions and 78 deletions

View File

@@ -26,59 +26,52 @@ function delayed(delay, fn)
window.timerID = setTimeout(fn, delay);
}
window.lastFilter = "";
function doFilter(deze)
{
var deze = $("#autofilter");
var valThis = deze.val().toLowerCase();
// Zolang je *meer* letters tikt hoeven wel altijd alleen te hiden
// Dat is op IE11 veel sneller dan toggle
var valThis = $("#autofilter").val().toLowerCase();
// Zolang je *meer* letters tikt hoeven wel altijd alleen te hiden
// Dat is op IE11 veel sneller dan toggle
var hideOnly = valThis.indexOf(window.lastFilter) == 0;
$('table.rstable>tbody>tr').each(function(){
$("table.rstable > tbody > tr").each(function() {
var text = $(this).text().toLowerCase();
var moretext = ($(this).find("span.rsTruncmore").attr('resttxt')||"").toLowerCase();
var moretext = ($(this).find("span.rsTruncmore").attr("resttxt")||"").toLowerCase();
var found = text.indexOf(valThis) > -1 || moretext.indexOf(valThis) > -1;
if (!found && hideOnly)
this.style.display = 'none'; // Veel sneller met IE11 dan $(this).hide();
else
$(this).toggle(found);
if (!found)
$(this).find("input.multiselect").prop('checked', false);
{
this.style.display = 'none'; // Veel sneller met IE11 dan $(this).hide();
$(this).find("input.multiselect").prop("checked", false);
}
else if (!hideOnly)
$(this).show();
});
window.lastFilter = valThis;
toggleFooter($("table.rstable")[0].id);
if (typeof updateTableHeaders === "function")
updateTableHeaders();
window.lastFilter = valThis;
}
if (window.$)
$(function()
{
if (typeof(postformHTML)!="undefined") $("body").append(postformHTML);
if (typeof(postformHTML) != "undefined") $("body").append(postformHTML);
if ($('table.rstable>tbody>tr').length > 4 && !$('table.rstable[noqfilter="1"]').length)
if ($("table.rstable > tbody > tr").length > 4 && !$('table.rstable[noqfilter="1"]').length)
{ // Uitsluitend als de frameheader direct voor de omsluitende collapseblock komt
// Voorkomt dat het bij factuurregels of veel bezoekers bovenin het scherm komt
// Die schermen hebben voor de details namelijk geen IFRAMER_HEADER
var collapse = $('table.rstable').closest("#collapseblock");
var collapsePrev;
// Als de hambdropdown div tussendoor komt, 1 opschuiven
if (collapse.prev().prop("className") == "hambdropdown")
var collapsePrev = collapse.prev().prev(".fcltframeheader");
else
var collapsePrev = collapse.prev(".fcltframeheader");
collapsePrev.find("#iframerextratitle").after("<input id='autofilter' type='text' placeholder='"+L("lcl_autofilter")+"'>");
$("#autofilter")
.click(function (e) {e.stopPropagation()})
.keyup(function(e){
if (e.which == 27) {
$("#autofilter").val("");
}
delayed(200, doFilter);
});
var collapse = $("table.rstable").closest("#collapseblock");
var $frameHeader = collapse.prev(".fcltframeheader");
$frameHeader.find("#iframerextratitle").after("<input id='autofilter' type='text' placeholder='"+L("lcl_autofilter")+"'>");
$("#autofilter").click(function (e) {e.stopPropagation()})
.keyup(function(e){
if (e.which == 27) {
$("#autofilter").val("");
}
delayed(200, doFilter);
});
};
var lastChecked = null;
function kliklist (doMulti)
{

View File

@@ -101,16 +101,9 @@ var hour_px = res.hour_px(width_px - 250, nr_days);
$(function()
{
if ($("table.planbord > tbody > tr").length > 4)
{ // Uitsluitend als de frameheader direct voor de omsluitende collapseblock komt
{
var $tableBlock = $("table.planbord").closest("div#list");
var $frameHeader;
// Als de hambdropdown div tussendoor komt, 1 opschuiven
if ($tableBlock.prev().prop("className") == "hambdropdown")
$frameHeader = $tableBlock.prev().prev(".fcltframeheader");
else
$frameHeader = $tableBlock.prev(".fcltframeheader");
var $frameHeader = $tableBlock.prev(".fcltframeheader");
$frameHeader.find("#iframerextratitle").after("<input id='autofilter' type='text' placeholder='"+L("lcl_autofilter")+"'>");
$("#autofilter").click(function (e) { e.stopPropagation() })
.keyup(function (e) {
@@ -122,28 +115,25 @@ var hour_px = res.hour_px(width_px - 250, nr_days);
}
});
function doFilter(deze)
function doFilter()
{
var deze = $("#autofilter");
var valThis = deze.val().toLowerCase();
// Zolang je *meer* letters tikt hoeven wel altijd alleen te hiden
// Dat is op IE11 veel sneller dan toggle
var valThis = $("#autofilter").val().toLowerCase();
// Zolang je *meer* letters tikt hoeven we altijd alleen te hiden
// Dat is op IE11 veel sneller dan toggle
var hideOnly = valThis.indexOf(window.lastFilter) == 0;
$("table.planbord > tbody > tr").each(function() {
var text = $(this).text().toLowerCase();
var found = text.indexOf(valThis) > -1;
if (!found && hideOnly)
if (!found)
this.style.display = "none"; // Veel sneller met IE11 dan $(this).hide();
else
$(this).toggle(found);
else if (!hideOnly)
$(this).show();
});
window.lastFilter = valThis;
if (typeof updateTableHeaders === "function")
{
updateTableHeaders();
}
if (!hideOnly)
FcltMgr.resized();
window.lastFilter = valThis;
}
function res_print()

View File

@@ -101,47 +101,34 @@ hour_px = res.hour_px(width_px - 400, nr_days);
var extern_flex = "Flex voor externen=<%=safe.jsstring(extern_flex)%>";
window.lastFilter = "";
function doFilter(deze)
function doFilter()
{
var deze = $("#autofilter");
var valThis = deze.val().toLowerCase();
// Zolang je *meer* letters tikt hoeven wel altijd alleen te hiden
// Dat is op IE11 veel sneller dan toggle
var valThis = $("#autofilter").val().toLowerCase();
// Zolang je *meer* letters tikt hoeven we altijd alleen te hiden
// Dat is op IE11 veel sneller dan toggle
var hideOnly = valThis.indexOf(window.lastFilter) == 0;
$("table.planbord > tbody > tr").each(function() {
var text = $(this).text().toLowerCase();
var moretext = "";
$(this).find("div[title]").each(function () {
moretext += ($(this).prop("title") || "").toLowerCase();
})
var found = text.indexOf(valThis) > -1 || moretext.indexOf(valThis) > -1;
if (!found && hideOnly)
var found = text.indexOf(valThis) > -1;
if (!found)
this.style.display = "none"; // Veel sneller met IE11 dan $(this).hide();
else
$(this).toggle(found);
else if (!hideOnly)
$(this).show();
});
window.lastFilter = valThis;
if (typeof updateTableHeaders === "function")
{
updateTableHeaders();
}
if (!hideOnly)
FcltMgr.resized();
window.lastFilter = valThis;
}
$(function()
{
if ($("table.planbord > tbody > tr").length > 4)
{ // Uitsluitend als de frameheader direct voor de omsluitende collapseblock komt
{
var $tableBlock = $("table.planbord").closest("div#list");
var $frameHeader;
// Als de hambdropdown div tussendoor komt, 1 opschuiven
if ($tableBlock.prev().prop("className") == "hambdropdown")
$frameHeader = $tableBlock.prev().prev(".fcltframeheader");
else
$frameHeader = $tableBlock.prev(".fcltframeheader");
var $frameHeader = $tableBlock.prev(".fcltframeheader");
$frameHeader.find("#iframerextratitle").after("<input id='autofilter' type='text' placeholder='"+L("lcl_autofilter")+"'>");
$("#autofilter").click(function (e) { e.stopPropagation() })
.keyup(function (e) {