-
Notifications
You must be signed in to change notification settings - Fork 12
/
bootstrap-pagination.min.js
1 lines (1 loc) · 12.9 KB
/
bootstrap-pagination.min.js
1
var BootstrapPagination=function(){function n(n,t){var i,r;if(this.options={total:0,pageSize:20,pageIndex:0,pageGroupSize:10,leftFormateString:"本页{count}条记录/共{total}条记录",rightFormateString:"第{pageNumber}页/共{totalPages}页",pageNumberFormateString:"{pageNumber}",pageSizeListFormateString:"每页显示{pageSize}条记录",prevPageText:"上一页",nextPageText:"下一页",prevGroupPageText:"上一组",nextGroupPageText:"下一组",firstPageText:"首页",lastPageText:"尾页",pageInputPlaceholder:"GO",pageInputTimeout:800,pageSizeList:[5,10,20,50,100,200],layoutScheme:"lefttext,pagesizelist,firstpage,prevgrouppage,prevpage,pagenumber,nextpage,nextgrouppage,lastpage,pageinput,righttext"},this.timeoutId=0,this.obj=n,n.getAttribute("data-layoutscheme")!==null&&(this.options.layoutScheme=n.getAttribute("data-layoutscheme")),n.getAttribute("data-total")!==null&&(this.options.total=parseInt(n.getAttribute("data-total"))),n.getAttribute("data-pagesize")!==null&&(this.options.pageSize=parseInt(n.getAttribute("data-pagesize"))),n.getAttribute("data-pagegroupsize")!==null&&(this.options.pageGroupSize=parseInt(n.getAttribute("data-pagegroupsize"))),n.getAttribute("data-pageindex")!==null&&(this.options.pageIndex=parseInt(n.getAttribute("data-pageindex"))),n.getAttribute("data-leftformatestring")!==null&&(this.options.leftFormateString=n.getAttribute("data-leftformatestring")),n.getAttribute("data-rightformatestring")!==null&&(this.options.rightFormateString=n.getAttribute("data-rightformatestring")),n.getAttribute("data-pagenumberformatestring")!==null&&(this.options.pageNumberFormateString=n.getAttribute("data-pagenumberformatestring")),n.getAttribute("data-pagesizelistformatestring")!==null&&(this.options.pageSizeListFormateString=n.getAttribute("data-pagesizelistformatestring")),n.getAttribute("data-prevpagetext")!==null&&(this.options.prevPageText=n.getAttribute("data-prevpagetext")),n.getAttribute("data-nextpagetext")!==null&&(this.options.nextPageText=n.getAttribute("data-nextpagetext")),n.getAttribute("data-prevgrouppagetext")!==null&&(this.options.prevGroupPageText=n.getAttribute("data-prevgrouppagetext")),n.getAttribute("data-nextgrouppagetext")!==null&&(this.options.nextGroupPageText=n.getAttribute("data-nextgrouppagetext")),n.getAttribute("data-firstpagetext")!==null&&(this.options.firstPageText=n.getAttribute("data-firstpagetext")),n.getAttribute("data-lastpagetext")!==null&&(this.options.lastPageText=n.getAttribute("data-lastpagetext")),n.getAttribute("data-pageinput-placeholder")!==null&&(this.options.pageInputPlaceholder=n.getAttribute("data-pageinput-placeholder")),n.getAttribute("data-pageinput-timeout")!==null&&(this.options.pageInputTimeout=parseInt(n.getAttribute("data-pageinput-timeout"))),n.getAttribute("data-pagesizelist")!==null&&(this.options.pageSizeList=JSON.parse(n.getAttribute("data-pagesizelist"))),n.getAttribute("data-disabled")!==null&&(this.options.disabled=n.getAttribute("data-disabled")!=="false"),typeof(t===null||t===void 0?void 0:t.onPageChanged)!="undefined"?this.onPageChanged=t.onPageChanged:n.getAttribute("data-onpagechanged")!==null&&(i=n.getAttribute("data-onpagechanged"),this.onPageChanged=typeof i=="function"?i:new Function("sender",i)),typeof t!="undefined")for(r in t)this.options[r]=t[r];this.fixPageIndex();this.render()}return Object.defineProperty(n.prototype,"total",{get:function(){return this.options.total},set:function(n){if(n<0)throw'The value of "value" is out of range. It must be >= 0.';this.options.total!==n&&(this.options.total=n,this.fixPageIndex(),this.render())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"pageIndex",{get:function(){return this.options.pageIndex},set:function(n){if(n<0)throw'The value of "value" is out of range. It must be >= 0.';this.options.pageIndex!==n&&(this.options.pageIndex=n,this.fixPageIndex(),this.render())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"pageSize",{get:function(){return this.options.pageSize},set:function(n){if(n<1)throw'The value of "value" is out of range. It must be >= 1.';this.options.pageSize!==n&&(this.options.pageSize=n,this.fixPageIndex(),this.render())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"pageGroupSize",{get:function(){return this.options.pageGroupSize},set:function(n){if(n<1)throw'The value of "value" is out of range. It must be >= 1.';this.options.pageGroupSize!==n&&(this.options.pageGroupSize=n,this.render())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"disabled",{get:function(){return this.options.disabled},set:function(n){this.options.disabled!==n&&(this.options.disabled=n,this.render())},enumerable:!1,configurable:!0}),n.prototype.getTotalPages=function(){return Math.floor((this.options.total+this.options.pageSize-1)/this.options.pageSize)},n.prototype.getCurrentCount=function(){var n=this.options.total-this.options.pageSize*this.options.pageIndex;return n>this.options.pageSize?this.options.pageSize:n},n.prototype.createPageButton=function(n,t){var i=document.createElement("li"),r;return i.className="page-item",r=document.createElement("a"),r.className="page-link",r.href="javascript:;",r.innerHTML=this.options.pageNumberFormateString.replace("{pageNumber}",n),typeof t!="undefined"&&t!=this.options.pageIndex&&(r.onclick=this.onPageIndexChanged.bind(this,t)),i.append(r),typeof t!="undefined"&&t==this.options.pageIndex&&(i.classList.add("active"),i.ariaCurrent="page"),(this.options.disabled===!0||typeof t=="undefined")&&i.classList.add("disabled"),i},n.prototype.createLabel=function(n){var t=document.createElement("li");return t.innerHTML='<span class="page-link">'+n+"<\/span>",t.className="page-item disabled",t},n.prototype.formateString=function(n){return n.replace("{count}",this.getCurrentCount().toString()).replace("{total}",this.options.total.toString()).replace("{pageNumber}",(this.options.total>0?this.options.pageIndex+1:0).toString()).replace("{totalPages}",this.getTotalPages().toString())},n.prototype.createPageSizeList=function(){var i=document.createElement("li"),n,r,u;for(i.className="page-item dropdown",n=document.createElement("a"),n.className="page-link dropdown-toggle",n.href="javascript:;",n.setAttribute("data-bs-toggle","dropdown"),n.setAttribute("aria-expanded","false"),n.innerHTML=this.options.pageSizeListFormateString.replace("{pageSize}",'<span class="pagesize">'+this.options.pageSize+"<\/span>"),r=document.createElement("ul"),r.className="dropdown-menu",i.append(n),i.append(r),u=0;u<this.options.pageSizeList.length;u++){var f=this.options.pageSizeList[u],e=document.createElement("li"),t=document.createElement("a");t.className="dropdown-item";t.setAttribute("role","menuitem");t.tabIndex=-1;t.href="javascript:;";t.innerHTML=f.toString();f==this.options.pageSize&&t.classList.add("active");t.onclick=this.onPageSizeChanged.bind(this,f);e.append(t);r.append(e)}return this.options.disabled===!0&&(n.classList.add("disabled"),i.classList.add("disabled")),i},n.prototype.createPageInput=function(){var i=document.createElement("li"),t;return i.className="page-item",t=document.createElement("input"),n.isMobile()?(t.type="number",t.min="0",t.max="99999999"):(t.type="text",t.maxLength=8),t.pattern="^\\d+$",t.className="page-link page-input",this.options.pageInputPlaceholder&&t.setAttribute("placeholder",this.options.pageInputPlaceholder),i.append(t),t.onkeyup=this.onPageInputChanged.bind(this),this.options.disabled===!0&&(t.disabled=!0,i.classList.add("disabled")),i},n.prototype.onPageIndexChanged=function(n){if(typeof n!="undefined"&&(this.options.pageIndex=n,this.fixPageIndex(),this.render(),this.onPageChanged))this.onPageChanged(this)},n.prototype.onPageSizeChanged=function(n){if(typeof n!="undefined"&&(this.options.pageSize=n,this.fixPageIndex(),this.render(),this.onPageChanged))this.onPageChanged(this)},n.prototype.onPageInputChanged=function(n){var r;clearTimeout(this.timeoutId);var t=n.target,i=t.value,u=new RegExp(t.pattern,"gi");if(!u.test(i))return!1;r=parseInt(i)-1;this.timeoutId=setTimeout(function(n){n.onPageIndexChanged(r)},this.options.pageInputTimeout,this)},n.prototype.fixPageIndex=function(){var n=this.getTotalPages();this.options.pageIndex>n-1&&(this.options.pageIndex=n-1);this.options.pageIndex<0&&(this.options.pageIndex=0)},n.prototype.render=function(){for(var t,i,n=[],u=this.options.layoutScheme.split(","),r=0;r<u.length;r++)switch(u[r]){case"lefttext":this.options.leftFormateString&&(n[n.length]=this.createLabel(this.formateString(this.options.leftFormateString)));break;case"firstpage":this.options.firstPageText&&(this.options.pageIndex==0?n[n.length]=this.createPageButton(this.options.firstPageText):(t=0,n[n.length]=this.createPageButton(this.options.firstPageText,t)));break;case"prevgrouppage":this.options.prevGroupPageText&&(this.options.pageIndex==0?n[n.length]=this.createPageButton(this.options.prevGroupPageText):(t=this.options.pageIndex-this.options.pageGroupSize<0?0:this.options.pageIndex-this.options.pageGroupSize,n[n.length]=this.createPageButton(this.options.prevGroupPageText,t)));break;case"prevpage":this.options.prevPageText&&(this.options.pageIndex<=0?n[n.length]=this.createPageButton(this.options.prevPageText):(t=this.options.pageIndex-1,n[n.length]=this.createPageButton(this.options.prevPageText,t)));break;case"pagenumber":if(this.options.pageNumberFormateString)for(t=this.options.pageIndex-Math.floor((this.options.pageGroupSize-1)/2),t+this.options.pageGroupSize>this.getTotalPages()-1&&(t=this.getTotalPages()-this.options.pageGroupSize),t<0&&(t=0),i=0;i<this.options.pageGroupSize&&t<this.getTotalPages();i++)n[n.length]=this.createPageButton((t+1).toString(),t),t++;break;case"nextpage":this.options.nextPageText&&(this.options.pageIndex<this.getTotalPages()-1?(t=this.options.pageIndex+1,n[n.length]=this.createPageButton(this.options.nextPageText,t)):n[n.length]=this.createPageButton(this.options.nextPageText));break;case"nextgrouppage":this.options.nextGroupPageText&&(this.options.pageIndex<this.getTotalPages()-1?(t=this.options.pageIndex+this.options.pageGroupSize>this.getTotalPages()-1?this.getTotalPages()-1:this.options.pageIndex+this.options.pageGroupSize,n[n.length]=this.createPageButton(this.options.nextGroupPageText,t)):n[n.length]=this.createPageButton(this.options.nextGroupPageText));break;case"lastpage":this.options.lastPageText&&(this.options.pageIndex<this.getTotalPages()-1?(t=this.getTotalPages()-1,n[n.length]=this.createPageButton(this.options.lastPageText,t)):n[n.length]=this.createPageButton(this.options.lastPageText));break;case"pageinput":n[n.length]=this.createPageInput();break;case"pagesizelist":this.options.pageSizeList&&(n[n.length]=this.createPageSizeList());break;case"righttext":this.options.rightFormateString&&(n[n.length]=this.createLabel(this.formateString(this.options.rightFormateString)))}for(this.obj.innerHTML="",i=0;i<n.length;i++)this.obj.append(n[i])},n}();(function(n){function t(){if(t._isMobile===null){var n=navigator.userAgent||navigator.vendor||window.opera;t._isMobile=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(n)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(n.substring(0,4))?/MI PAD/i.test(n)?!1:!0:!1}return t._isMobile}n.isMobile=t,function(n){n._isMobile=null}(t=n.isMobile||(n.isMobile={}))})(BootstrapPagination||(BootstrapPagination={}));