From bba001c0db7e7083a4b6689eede8cc750d4ec5bf Mon Sep 17 00:00:00 2001 From: denise Date: Mon, 10 Sep 2012 17:41:54 -0400 Subject: [PATCH] -diff between original dataTables.columnFilter.js and our modified version --- .../js/datatables/plugin/AIRTIME_DEV_README | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README new file mode 100644 index 000000000..a86836562 --- /dev/null +++ b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README @@ -0,0 +1,108 @@ +Before you overwrite dataTables.columnFilter.js, note that we have changed a few lines +in this file. + +Running a diff between the original column filter plugin (dataTables.columnFilter_orig.js) and +our modified one (dataTables.columnFilter.js): + +denise@denise-DX4860:~/airtime/airtime_mvc/public/js/datatables/plugin$ diff -u dataTables.columnFilter_orig.js dataTables.columnFilter.js +--- dataTables.columnFilter_orig.js 2012-09-10 14:26:30.041095663 -0400 ++++ dataTables.columnFilter.js 2012-09-10 17:04:21.017464447 -0400 +@@ -103,7 +103,8 @@ + label = label.replace(/(^\s*)|(\s*$)/g, ""); + var currentFilter = oTable.fnSettings().aoPreSearchCols[i].sSearch; + var search_init = 'search_init '; +- var inputvalue = label; ++ //var inputvalue = label; ++ var inputvalue = ''; + if (currentFilter != '' && currentFilter != '^') { + if (bIsNumber && currentFilter.charAt(0) == '^') + inputvalue = currentFilter.substr(1); //ignore trailing ^ +@@ -133,29 +134,32 @@ + }); + } else { + input.keyup(function () { +- if (oTable.fnSettings().oFeatures.bServerSide && iFilterLength != 0) { +- //If filter length is set in the server-side processing mode +- //Check has the user entered at least iFilterLength new characters +- +- var currentFilter = oTable.fnSettings().aoPreSearchCols[index].sSearch; +- var iLastFilterLength = $(this).data("dt-iLastFilterLength"); +- if (typeof iLastFilterLength == "undefined") +- iLastFilterLength = 0; +- var iCurrentFilterLength = this.value.length; +- if (Math.abs(iCurrentFilterLength - iLastFilterLength) < iFilterLength +- //&& currentFilter.length == 0 //Why this? +- ) { +- //Cancel the filtering +- return; +- } +- else { +- //Remember the current filter length +- $(this).data("dt-iLastFilterLength", iCurrentFilterLength); ++ var advSearchFields = $("div#advanced_search").children(':visible'); ++ if(validateAdvancedSearch(advSearchFields)){ ++ if (oTable.fnSettings().oFeatures.bServerSide && iFilterLength != 0) { ++ //If filter length is set in the server-side processing mode ++ //Check has the user entered at least iFilterLength new characters ++ ++ var currentFilter = oTable.fnSettings().aoPreSearchCols[index].sSearch; ++ var iLastFilterLength = $(this).data("dt-iLastFilterLength"); ++ if (typeof iLastFilterLength == "undefined") ++ iLastFilterLength = 0; ++ var iCurrentFilterLength = this.value.length; ++ if (Math.abs(iCurrentFilterLength - iLastFilterLength) < iFilterLength ++ //&& currentFilter.length == 0 //Why this? ++ ) { ++ //Cancel the filtering ++ return; ++ } ++ else { ++ //Remember the current filter length ++ $(this).data("dt-iLastFilterLength", iCurrentFilterLength); ++ } + } ++ /* Filter on the column (the index) of this element */ ++ oTable.fnFilter(this.value, _fnColumnIndex(index), regex, smart); //Issue 37 ++ fnOnFiltered(); + } +- /* Filter on the column (the index) of this element */ +- oTable.fnFilter(this.value, _fnColumnIndex(index), regex, smart); //Issue 37 +- fnOnFiltered(); + }); + } + +@@ -168,7 +172,8 @@ + input.blur(function () { + if (this.value == "") { + $(this).addClass("search_init"); +- this.value = asInitVals[index]; ++ //this.value = asInitVals[index]; ++ this.value = ""; + } + }); + } +@@ -228,14 +233,16 @@ + + + $('#' + sFromId + ',#' + sToId, th).keyup(function () { +- +- var iMin = document.getElementById(sFromId).value * 1; +- var iMax = document.getElementById(sToId).value * 1; +- if (iMin != 0 && iMax != 0 && iMin > iMax) +- return; +- +- oTable.fnDraw(); +- fnOnFiltered(); ++ var advSearchFields = $("div#advanced_search").children(':visible'); ++ if(validateAdvancedSearch(advSearchFields)){ ++ var iMin = document.getElementById(sFromId).value * 1; ++ var iMax = document.getElementById(sToId).value * 1; ++ if (iMin != 0 && iMax != 0 && iMin > iMax) ++ return; ++ ++ oTable.fnDraw(); ++ fnOnFiltered(); ++ } + }); + +