Вход Регистрация
Файл: datatables/media/src/core/core.page.js
Строк: 180
<?php
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Note that most of the paging logic is done in 
 * DataTable.ext.oPagination
 */

/**
 * Generate the node required for default pagination
 *  @param {object} oSettings dataTables settings object
 *  @returns {node} Pagination feature node
 *  @memberof DataTable#oApi
 */
function _fnFeatureHtmlPaginate oSettings )
{
    if ( 
oSettings.oScroll.bInfinite )
    {
        return 
null;
    }
    
    var 
nPaginate document.createElement'div' );
    
nPaginate.className oSettings.oClasses.sPaging+oSettings.sPaginationType;
    
    
DataTable.ext.oPaginationoSettings.sPaginationType ].fnInitoSettingsnPaginate
        function( 
oSettings ) {
            
_fnCalculateEndoSettings );
            
_fnDrawoSettings );
        }
    );
    
    
/* Add a draw callback for the pagination on first instance, to update the paging display */
    
if ( !oSettings.aanFeatures.)
    {
        
oSettings.aoDrawCallback.push( {
            
"fn": function( oSettings ) {
                
DataTable.ext.oPaginationoSettings.sPaginationType ].fnUpdateoSettings, function( oSettings ) {
                    
_fnCalculateEndoSettings );
                    
_fnDrawoSettings );
                } );
            },
            
"sName""pagination"
        
} );
    }
    return 
nPaginate;
}


/**
 * Alter the display settings to change the page
 *  @param {object} oSettings dataTables settings object
 *  @param {string|int} mAction Paging action to take: "first", "previous", "next" or "last"
 *    or page number to jump to (integer)
 *  @returns {bool} true page has changed, false - no change (no effect) eg 'first' on page 1
 *  @memberof DataTable#oApi
 */
function _fnPageChange oSettingsmAction )
{
    var 
iOldStart oSettings._iDisplayStart;
    
    if ( 
typeof mAction === "number" )
    {
        
oSettings._iDisplayStart mAction oSettings._iDisplayLength;
        if ( 
oSettings._iDisplayStart oSettings.fnRecordsDisplay() )
        {
            
oSettings._iDisplayStart 0;
        }
    }
    else if ( 
mAction == "first" )
    {
        
oSettings._iDisplayStart 0;
    }
    else if ( 
mAction == "previous" )
    {
        
oSettings._iDisplayStart oSettings._iDisplayLength>=?
            
oSettings._iDisplayStart oSettings._iDisplayLength :
            
0;
        
        
/* Correct for under-run */
        
if ( oSettings._iDisplayStart )
        {
          
oSettings._iDisplayStart 0;
        }
    }
    else if ( 
mAction == "next" )
    {
        if ( 
oSettings._iDisplayLength >= )
        {
            
/* Make sure we are not over running the display array */
            
if ( oSettings._iDisplayStart oSettings._iDisplayLength oSettings.fnRecordsDisplay() )
            {
                
oSettings._iDisplayStart += oSettings._iDisplayLength;
            }
        }
        else
        {
            
oSettings._iDisplayStart 0;
        }
    }
    else if ( 
mAction == "last" )
    {
        if ( 
oSettings._iDisplayLength >= )
        {
            var 
iPages parseInt( (oSettings.fnRecordsDisplay()-1) / oSettings._iDisplayLength10 ) + 1;
            
oSettings._iDisplayStart = (iPages-1) * oSettings._iDisplayLength;
        }
        else
        {
            
oSettings._iDisplayStart 0;
        }
    }
    else
    {
        
_fnLogoSettings0"Unknown paging action: "+mAction );
    }
    $(
oSettings.oInstance).trigger('page'oSettings);
    
    return 
iOldStart != oSettings._iDisplayStart;
}
?>
Онлайн: 4
Реклама