Вход Регистрация
Файл: wapxl.ru/bower_components/datatables-plugins/api/fnSetFilteringDelay.js
Строк: 77
<?php
/**
 * Enables filtration delay for keeping the browser more responsive while 
 * searching for a longer keyword.
 *
 * This can be particularly useful when working with server-side processing,
 * where you wouldn't typically want an Ajax request to be made with every key
 * press the user makes when searching the table.
 *
 *  @name fnSetFilteringDelay
 *  @summary Add a key debouce delay to the global filtering input of a table
 *  @author [Zygimantas Berziunas](http://www.zygimantas.com/), 
 *    [Allan Jardine](http://www.sprymedia.co.uk/) and _vex_
 *
 *  @example
 *    $(document).ready(function() {
 *        $('.dataTable').dataTable().fnSetFilteringDelay();
 *    } );
 */

jQuery.fn.dataTableExt.oApi.fnSetFilteringDelay = function ( oSettings, iDelay ) {
    var 
_that = this;

    if ( 
iDelay === undefined ) {
        
iDelay = 250;
    }

    
this.each( function ( i ) {
        $.
fn.dataTableExt.iApiIndex = i;
        var
            
$this = this,
            
oTimerId = null,
            
sPreviousSearch = null,
            
anControl = $( 'input', _that.fnSettings().aanFeatures.f );

            
anControl.unbind( 'keyup search input' ).bind( 'keyup search input', function() {
            var $
$this = $this;

            if (
sPreviousSearch === null || sPreviousSearch != anControl.val()) {
                
window.clearTimeout(oTimerId);
                
sPreviousSearch = anControl.val();
                
oTimerId = window.setTimeout(function() {
                    $.
fn.dataTableExt.iApiIndex = i;
                    
_that.fnFilter( anControl.val() );
                }, 
iDelay);
            }
        });

        return 
this;
    } );
    return 
this;
};
?>
Онлайн: 2
Реклама