SoFunction
Updated on 2025-03-09

nodejs pagination code sharing


/**
* Pagination plugin class (missing display count per page, listrows will be written tomorrow)
* @param page {Number} Current page
* @param pagesize {Number} Number of records per page
* @param total {Number} Total records
 * @constructor
 */
function Paginate(page, pagesize, total){
    if(!page || page <1){
        page = 1;
    }
    if(!pagesize || pagesize<1){
        pagesize = 20;
    }
    if(!total || total <0){
        total = 0;
    }
    = pagesize;
    = total;
    if(% ===0){
        = parseInt(/);
    }else{
        = parseInt( /) + 1;
    }
    if(page>){
        = ;
    }else{
        = page;
    }
}

/*
* The current number of entries
*/
= function(){
    var first = (-1)*;
    if(first>){
        return (-1)*;
    }
    return first;
}
/*
* The largest number of entries on the current page
*/
= function(){
    var last = ()+;
    if(last>){
        return ;
    }
    return last;
}

/**
* Previous page
 * @returns {number}
 */
= function(){
    if( <= 1){
        return false;
    }
    return -1;
}

/**
* Next page
 * @returns {*}
 */
= function(){
    if( >= ){
        return false;
    }
    return (parseInt()+1);
}
= Paginate;