UNPKG

primevue

Version:

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![npm version](https://badge.fury.io/js/primevue.svg)](https://badge.fury.io/js/primevue)

2 lines (1 loc) 8.88 kB
import{openBlock as e,createBlock as t,toDisplayString as n,resolveDirective as a,withDirectives as i,createVNode as s,Fragment as r,renderList as o,resolveComponent as p,renderSlot as l,createCommentVNode as g}from"vue";import c from"primevue/ripple";import u from"primevue/dropdown";var d={inheritAttrs:!1,props:{pageCount:{type:Number,default:0},page:{type:Number,default:0},first:{type:Number,default:0},rows:{type:Number,default:0},totalRecords:{type:Number,default:0},template:{type:String,default:"({currentPage} of {totalPages})"}},computed:{text(){return this.template.replace("{currentPage}",this.page+1).replace("{totalPages}",this.pageCount).replace("{first}",this.first+1).replace("{last}",Math.min(this.first+this.rows,this.totalRecords)).replace("{rows}",this.rows).replace("{totalRecords}",this.totalRecords)}}};const h={class:"p-paginator-current"};d.render=function(a,i,s,r,o,p){return e(),t("span",h,n(p.text),1)};var f={computed:{containerClass(){return["p-paginator-first p-paginator-element p-link",{"p-disabled":this.$attrs.disabled}]}},directives:{ripple:c}};const m=s("span",{class:"p-paginator-icon pi pi-angle-double-left"},null,-1);f.render=function(n,s,r,o,p,l){const g=a("ripple");return i((e(),t("button",{class:l.containerClass,type:"button"},[m],2)),[[g]])};var P={computed:{containerClass(){return["p-paginator-last p-paginator-element p-link",{"p-disabled":this.$attrs.disabled}]}},directives:{ripple:c}};const k=s("span",{class:"p-paginator-icon pi pi-angle-double-right"},null,-1);P.render=function(n,s,r,o,p,l){const g=a("ripple");return i((e(),t("button",{class:l.containerClass,type:"button"},[k],2)),[[g]])};var w={computed:{containerClass(){return["p-paginator-next p-paginator-element p-link",{"p-disabled":this.$attrs.disabled}]}},directives:{ripple:c}};const b=s("span",{class:"p-paginator-icon pi pi-angle-right"},null,-1);w.render=function(n,s,r,o,p,l){const g=a("ripple");return i((e(),t("button",{class:l.containerClass,type:"button"},[b],2)),[[g]])};var y={inheritAttrs:!1,emits:["click"],props:{value:Array,page:Number},methods:{onPageLinkClick(e,t){this.$emit("click",{originalEvent:e,value:t})}},directives:{ripple:c}};const v={class:"p-paginator-pages"};y.render=function(s,p,l,g,c,u){const d=a("ripple");return e(),t("span",v,[(e(!0),t(r,null,o(l.value,(a=>i((e(),t("button",{key:a,class:["p-paginator-page p-paginator-element p-link",{"p-highlight":a-1===l.page}],type:"button",onClick:e=>u.onPageLinkClick(e,a)},n(a),11,["onClick"])),[[d]]))),128))])};var L={computed:{containerClass(){return["p-paginator-prev p-paginator-element p-link",{"p-disabled":this.$attrs.disabled}]}},directives:{ripple:c}};const C=s("span",{class:"p-paginator-icon pi pi-angle-left"},null,-1);L.render=function(n,s,r,o,p,l){const g=a("ripple");return i((e(),t("button",{class:l.containerClass,type:"button"},[C],2)),[[g]])};var x={inheritAttrs:!1,emits:["rows-change"],props:{options:Array,rows:Number},methods:{onChange(e){this.$emit("rows-change",e)}},computed:{rowsOptions(){let e=[];if(this.options)for(let t=0;t<this.options.length;t++)e.push({label:String(this.options[t]),value:this.options[t]});return e}},components:{RPPDropdown:u}};x.render=function(n,a,i,s,r,o){const l=p("RPPDropdown");return e(),t(l,{modelValue:i.rows,options:o.rowsOptions,optionLabel:"label",optionValue:"value","onUpdate:modelValue":a[1]||(a[1]=e=>o.onChange(e))},null,8,["modelValue","options"])};var R={emits:["update:first","update:rows","page"],props:{totalRecords:{type:Number,default:0},rows:{type:Number,default:0},first:{type:Number,default:0},pageLinkSize:{type:Number,default:5},rowsPerPageOptions:{type:Array,default:null},template:{type:String,default:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown"},currentPageReportTemplate:{type:null,default:"({currentPage} of {totalPages})"},alwaysShow:{type:Boolean,default:!0}},data(){return{d_first:this.first,d_rows:this.rows}},watch:{first(e){this.d_first=e},rows(e){this.d_rows=e},totalRecords(e){this.page>0&&e&&this.d_first>=e&&this.changePage(this.pageCount-1)}},methods:{changePage(e){const t=this.pageCount;if(e>=0&&e<t){this.d_first=this.d_rows*e;const n={page:e,first:this.d_first,rows:this.d_rows,pageCount:t};this.$emit("update:first",this.d_first),this.$emit("update:rows",this.d_rows),this.$emit("page",n)}},changePageToFirst(e){this.isFirstPage||this.changePage(0),e.preventDefault()},changePageToPrev(e){this.changePage(this.page-1),e.preventDefault()},changePageLink(e){this.changePage(e.value-1),e.originalEvent.preventDefault()},changePageToNext(e){this.changePage(this.page+1),e.preventDefault()},changePageToLast(e){this.isLastPage||this.changePage(this.pageCount-1),e.preventDefault()},onRowChange(e){this.d_rows=e,this.changePage(this.page)}},computed:{templateItems(){let e=[];return this.template.split(" ").map((t=>{e.push(t.trim())})),e},page(){return Math.floor(this.d_first/this.d_rows)},pageCount(){return Math.ceil(this.totalRecords/this.d_rows)||1},isFirstPage(){return 0===this.page},isLastPage(){return this.page===this.pageCount-1},calculatePageLinkBoundaries(){const e=this.pageCount,t=Math.min(this.pageLinkSize,e);let n=Math.max(0,Math.ceil(this.page-t/2)),a=Math.min(e-1,n+t-1);const i=this.pageLinkSize-(a-n+1);return n=Math.max(0,n-i),[n,a]},pageLinks(){let e=[],t=this.calculatePageLinkBoundaries,n=t[0],a=t[1];for(var i=n;i<=a;i++)e.push(i+1);return e},currentState(){return{page:this.page,first:this.d_first,rows:this.d_rows}}},components:{CurrentPageReport:d,FirstPageLink:f,LastPageLink:P,NextPageLink:w,PageLinks:y,PrevPageLink:L,RowsPerPageDropdown:x}};const _={key:0,class:"p-paginator p-component"},N={key:0,class:"p-paginator-left-content"},S={key:1,class:"p-paginator-right-content"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-paginator {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.p-paginator-left-content {\n\tmargin-right: auto;\n}\n.p-paginator-right-content {\n\tmargin-left: auto;\n}\n.p-paginator-page,\n.p-paginator-next,\n.p-paginator-last,\n.p-paginator-first,\n.p-paginator-prev,\n.p-paginator-current {\n cursor: pointer;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n line-height: 1;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n position: relative;\n}\n.p-paginator-element:focus {\n z-index: 1;\n position: relative;\n}\n"),R.render=function(n,a,i,s,c,u){const d=p("FirstPageLink"),h=p("PrevPageLink"),f=p("NextPageLink"),m=p("LastPageLink"),P=p("PageLinks"),k=p("CurrentPageReport"),w=p("RowsPerPageDropdown");return i.alwaysShow||u.pageLinks&&u.pageLinks.length>1?(e(),t("div",_,[n.$slots.left?(e(),t("div",N,[l(n.$slots,"left",{state:u.currentState})])):g("",!0),(e(!0),t(r,null,o(u.templateItems,(n=>(e(),t(r,{key:n},["FirstPageLink"===n?(e(),t(d,{key:0,onClick:a[1]||(a[1]=e=>u.changePageToFirst(e)),disabled:u.isFirstPage},null,8,["disabled"])):"PrevPageLink"===n?(e(),t(h,{key:1,onClick:a[2]||(a[2]=e=>u.changePageToPrev(e)),disabled:u.isFirstPage},null,8,["disabled"])):"NextPageLink"===n?(e(),t(f,{key:2,onClick:a[3]||(a[3]=e=>u.changePageToNext(e)),disabled:u.isLastPage},null,8,["disabled"])):"LastPageLink"===n?(e(),t(m,{key:3,onClick:a[4]||(a[4]=e=>u.changePageToLast(e)),disabled:u.isLastPage},null,8,["disabled"])):"PageLinks"===n?(e(),t(P,{key:4,value:u.pageLinks,page:u.page,onClick:a[5]||(a[5]=e=>u.changePageLink(e))},null,8,["value","page"])):"CurrentPageReport"===n?(e(),t(k,{key:5,template:i.currentPageReportTemplate,page:u.page,pageCount:u.pageCount,first:c.d_first,rows:c.d_rows,totalRecords:i.totalRecords},null,8,["template","page","pageCount","first","rows","totalRecords"])):"RowsPerPageDropdown"===n&&i.rowsPerPageOptions?(e(),t(w,{key:6,rows:c.d_rows,options:i.rowsPerPageOptions,onRowsChange:a[6]||(a[6]=e=>u.onRowChange(e))},null,8,["rows","options"])):g("",!0)],64)))),128)),n.$slots.right?(e(),t("div",S,[l(n.$slots,"right",{state:u.currentState})])):g("",!0)])):g("",!0)};export default R;