@@ -, +, @@ with input timeout --- koha-tmpl/intranet-tmpl/prog/js/datatables.js | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) --- a/koha-tmpl/intranet-tmpl/prog/js/datatables.js +++ a/koha-tmpl/intranet-tmpl/prog/js/datatables.js @@ -911,17 +911,24 @@ function _dt_add_filters(table_node, table_dt, filters_options = {}) { } } - var search = $.fn.dataTable.util.throttle( function ( i, val ) { - table_dt - .column( i ) - .search( val ) - .draw(); - }, 500); - - $( input_type, this ).on( 'keyup change', function () { - if ( table_dt.column(i).search() !== this.value ) { - if ( input_type == "input" ) { - search(i, this.value) + function delay(callback, ms) { + var timer = 0; + return function () { + var context = this, args = arguments; + clearTimeout(timer); + timer = setTimeout(function () { + callback.apply(context, args); + }, ms || 0); + }; + } + + $(input_type, this).on('keyup change', (delay(function () { + if (table_dt.column(i).search() !== this.value) { + if (input_type == "input") { + table_dt + .column(i) + .search(this.value) + .draw(); } else { table_dt .column(i) @@ -929,7 +936,7 @@ function _dt_add_filters(table_node, table_dt, filters_options = {}) { .draw(); } } - } ); + }, 500))); } else { $(this).html(''); } --