You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
10 years ago
|
/**
|
||
|
* Plug-in offers the same functionality as `simple_numbers` pagination type
|
||
|
* (see `pagingType` option) but without ellipses.
|
||
|
*
|
||
|
* @name Simple Numbers - No Ellipses
|
||
|
* @summary Same pagination as 'simple_numbers' but without ellipses
|
||
|
* @author [Michael Ryvkin](http://www.gyrocode.com)
|
||
|
*
|
||
|
* @example
|
||
|
* $(document).ready(function() {
|
||
|
* $('#example').dataTable( {
|
||
|
* "pagingType": "simple_numbers_no_ellipses"
|
||
|
* } );
|
||
|
* } );
|
||
|
*/
|
||
|
|
||
|
$.fn.DataTable.ext.pager.full_numbers_no_ellipses = function(page, pages){
|
||
|
var numbers = [];
|
||
|
var buttons = $.fn.DataTable.ext.pager.numbers_length;
|
||
|
var half = Math.floor( buttons / 2 );
|
||
|
|
||
|
var _range = function ( len, start ){
|
||
|
var end;
|
||
|
|
||
|
if ( typeof start === "undefined" ){
|
||
|
start = 0;
|
||
|
end = len;
|
||
|
|
||
|
} else {
|
||
|
end = start;
|
||
|
start = len;
|
||
|
}
|
||
|
|
||
|
var out = [];
|
||
|
for ( var i = start ; i < end; i++ ){ out.push(i); }
|
||
|
|
||
|
return out;
|
||
|
};
|
||
|
|
||
|
|
||
|
if ( pages <= buttons ) {
|
||
|
numbers = _range( 0, pages );
|
||
|
|
||
|
} else if ( page <= half ) {
|
||
|
numbers = _range( 0, buttons);
|
||
|
|
||
|
} else if ( page >= pages - 1 - half ) {
|
||
|
numbers = _range( pages - buttons, pages );
|
||
|
|
||
|
} else {
|
||
|
numbers = _range( page - half, page + half + 1);
|
||
|
}
|
||
|
|
||
|
numbers.DT_el = 'span';
|
||
|
|
||
|
return [ 'previous', numbers, 'next' ];
|
||
|
};
|