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:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user