UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

2 lines (1 loc) 19.9 kB
"use strict";var e=require("primevue/utils"),t=require("primevue/basecomponent"),n=require("primevue/paginator/style"),a=require("vue"),o=require("primevue/icons/angledoubleleft"),r=require("primevue/ripple"),i=require("primevue/dropdown"),l=require("primevue/inputnumber"),s=require("primevue/icons/angledoubleright"),p=require("primevue/icons/angleright"),u=require("primevue/icons/angleleft");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g=c(t),d=c(n),m=c(o),f=c(r),h=c(i),P=c(l),b=c(s),y=c(p),v=c(u),k={name:"BasePaginator",extends:g.default,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:[Object,String],default:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown"},currentPageReportTemplate:{type:null,default:"({currentPage} of {totalPages})"},alwaysShow:{type:Boolean,default:!0}},style:d.default,provide:function(){return{$parentInstance:this}}},w={name:"CurrentPageReport",hostName:"Paginator",extends:g.default,props:{pageCount:{type:Number,default:0},currentPage:{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:function(){var e=this.template.replace("{currentPage}",this.currentPage).replace("{totalPages}",this.pageCount).replace("{first}",this.pageCount>0?this.first+1:0).replace("{last}",Math.min(this.first+this.rows,this.totalRecords)).replace("{rows}",this.rows).replace("{totalRecords}",this.totalRecords);return e}}};w.render=function(e,t,n,o,r,i){return a.openBlock(),a.createElementBlock("span",a.mergeProps({class:e.cx("current")},e.ptm("current")),a.toDisplayString(i.text),17)};var B={name:"FirstPageLink",hostName:"Paginator",extends:g.default,props:{template:{type:Function,default:null}},methods:{getPTOptions:function(e){return this.ptm(e,{context:{disabled:this.$attrs.disabled}})}},components:{AngleDoubleLeftIcon:m.default},directives:{ripple:f.default}};B.render=function(e,t,n,o,r,i){var l=a.resolveDirective("ripple");return a.withDirectives((a.openBlock(),a.createElementBlock("button",a.mergeProps({class:e.cx("firstPageButton"),type:"button"},i.getPTOptions("firstPageButton"),{"data-pc-group-section":"pagebutton"}),[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.template||"AngleDoubleLeftIcon"),a.mergeProps({class:e.cx("firstPageIcon")},i.getPTOptions("firstPageIcon")),null,16,["class"]))],16)),[[l]])};var L={name:"JumpToPageDropdown",hostName:"Paginator",extends:g.default,emits:["page-change"],props:{page:Number,pageCount:Number,disabled:Boolean,templates:null},methods:{onChange:function(e){this.$emit("page-change",e)}},computed:{pageOptions:function(){for(var e=[],t=0;t<this.pageCount;t++)e.push({label:String(t+1),value:t});return e}},components:{JTPDropdown:h.default}};L.render=function(e,t,n,o,r,i){var l=a.resolveComponent("JTPDropdown");return a.openBlock(),a.createBlock(l,{modelValue:n.page,options:i.pageOptions,optionLabel:"label",optionValue:"value","onUpdate:modelValue":t[0]||(t[0]=function(e){return i.onChange(e)}),class:a.normalizeClass(e.cx("jumpToPageDropdown")),disabled:n.disabled,unstyled:e.unstyled,pt:e.ptm("jumpToPageDropdown"),"data-pc-section":"jumptopagedropdown","data-pc-group-section":"pagedropdown"},a.createSlots({_:2},[n.templates.jumptopagedropdownicon?{name:"dropdownicon",fn:a.withCtx((function(e){return[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.templates.jumptopagedropdownicon),{class:a.normalizeClass(e.class)},null,8,["class"]))]})),key:"0"}:void 0]),1032,["modelValue","options","class","disabled","unstyled","pt"])};var C={name:"JumpToPageInput",hostName:"Paginator",extends:g.default,inheritAttrs:!1,emits:["page-change"],props:{page:Number,pageCount:Number,disabled:Boolean},data:function(){return{d_page:this.page}},watch:{page:function(e){this.d_page=e}},methods:{onChange:function(e){e!==this.page&&(this.d_page=e,this.$emit("page-change",e-1))}},computed:{inputArialabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.jumpToPageInputLabel:void 0}},components:{JTPInput:P.default}};C.render=function(e,t,n,o,r,i){var l=a.resolveComponent("JTPInput");return a.openBlock(),a.createBlock(l,{ref:"jtpInput",modelValue:r.d_page,class:a.normalizeClass(e.cx("jumpToPageInput")),"aria-label":i.inputArialabel,disabled:n.disabled,"onUpdate:modelValue":i.onChange,unstyled:e.unstyled,pt:e.ptm("jumpToPageInput"),"data-pc-section":"jumptopageinput"},null,8,["modelValue","class","aria-label","disabled","onUpdate:modelValue","unstyled","pt"])};var x={name:"LastPageLink",hostName:"Paginator",extends:g.default,props:{template:{type:Function,default:null}},methods:{getPTOptions:function(e){return this.ptm(e,{context:{disabled:this.$attrs.disabled}})}},components:{AngleDoubleRightIcon:b.default},directives:{ripple:f.default}};x.render=function(e,t,n,o,r,i){var l=a.resolveDirective("ripple");return a.withDirectives((a.openBlock(),a.createElementBlock("button",a.mergeProps({class:e.cx("lastPageButton"),type:"button"},i.getPTOptions("lastPageButton"),{"data-pc-group-section":"pagebutton"}),[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.template||"AngleDoubleRightIcon"),a.mergeProps({class:e.cx("lastPageIcon")},i.getPTOptions("lastPageIcon")),null,16,["class"]))],16)),[[l]])};var D={name:"NextPageLink",hostName:"Paginator",extends:g.default,props:{template:{type:Function,default:null}},methods:{getPTOptions:function(e){return this.ptm(e,{context:{disabled:this.$attrs.disabled}})}},components:{AngleRightIcon:y.default},directives:{ripple:f.default}};D.render=function(e,t,n,o,r,i){var l=a.resolveDirective("ripple");return a.withDirectives((a.openBlock(),a.createElementBlock("button",a.mergeProps({class:e.cx("nextPageButton"),type:"button"},i.getPTOptions("nextPageButton"),{"data-pc-group-section":"pagebutton"}),[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.template||"AngleRightIcon"),a.mergeProps({class:e.cx("nextPageIcon")},i.getPTOptions("nextPageIcon")),null,16,["class"]))],16)),[[l]])};var T={name:"PageLinks",hostName:"Paginator",extends:g.default,inheritAttrs:!1,emits:["click"],props:{value:Array,page:Number},methods:{getPTOptions:function(e,t){return this.ptm(t,{context:{active:e===this.page}})},onPageLinkClick:function(e,t){this.$emit("click",{originalEvent:e,value:t})},ariaPageLabel:function(e){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.pageLabel.replace(/{page}/g,e):void 0}},directives:{ripple:f.default}},N=["aria-label","aria-current","onClick","data-p-highlight"];T.render=function(e,t,n,o,r,i){var l=a.resolveDirective("ripple");return a.openBlock(),a.createElementBlock("span",a.mergeProps({class:e.cx("pages")},e.ptm("pages")),[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.value,(function(t){return a.withDirectives((a.openBlock(),a.createElementBlock("button",a.mergeProps({key:t,class:e.cx("pageButton",{pageLink:t}),type:"button","aria-label":i.ariaPageLabel(t),"aria-current":t-1===n.page?"page":void 0,onClick:function(e){return i.onPageLinkClick(e,t)}},i.getPTOptions(t-1,"pageButton"),{"data-p-highlight":t-1===n.page}),[a.createTextVNode(a.toDisplayString(t),1)],16,N)),[[l]])})),128))],16)};var S={name:"PrevPageLink",hostName:"Paginator",extends:g.default,props:{template:{type:Function,default:null}},methods:{getPTOptions:function(e){return this.ptm(e,{context:{disabled:this.$attrs.disabled}})}},components:{AngleLeftIcon:v.default},directives:{ripple:f.default}};S.render=function(e,t,n,o,r,i){var l=a.resolveDirective("ripple");return a.withDirectives((a.openBlock(),a.createElementBlock("button",a.mergeProps({class:e.cx("previousPageButton"),type:"button"},i.getPTOptions("previousPageButton"),{"data-pc-group-section":"pagebutton"}),[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.template||"AngleLeftIcon"),a.mergeProps({class:e.cx("previousPageIcon")},i.getPTOptions("previousPageIcon")),null,16,["class"]))],16)),[[l]])};var I={name:"RowsPerPageDropdown",hostName:"Paginator",extends:g.default,emits:["rows-change"],props:{options:Array,rows:Number,disabled:Boolean,templates:null},methods:{onChange:function(e){this.$emit("rows-change",e)}},computed:{rowsOptions:function(){var e=[];if(this.options)for(var t=0;t<this.options.length;t++)e.push({label:String(this.options[t]),value:this.options[t]});return e}},components:{RPPDropdown:h.default}};function A(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function O(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function $(e){if(Array.isArray(e))return F(e)}function R(e){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},R(e)}function j(e,t){return q(e)||V(e,t)||_(e,t)||E()}function E(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _(e,t){if(e){if("string"==typeof e)return F(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?F(e,t):void 0}}function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function V(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,r,i,l=[],s=!0,p=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){p=!0,o=e}finally{try{if(!s&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(p)throw o}}return l}}function q(e){if(Array.isArray(e))return e}I.render=function(e,t,n,o,r,i){var l=a.resolveComponent("RPPDropdown");return a.openBlock(),a.createBlock(l,{modelValue:n.rows,options:i.rowsOptions,optionLabel:"label",optionValue:"value","onUpdate:modelValue":t[0]||(t[0]=function(e){return i.onChange(e)}),class:a.normalizeClass(e.cx("rowPerPageDropdown")),disabled:n.disabled,unstyled:e.unstyled,pt:e.ptm("rowPerPageDropdown"),"data-pc-section":"rowperpagedropdown","data-pc-group-section":"pagedropdown"},a.createSlots({_:2},[n.templates.rowsperpagedropdownicon?{name:"dropdownicon",fn:a.withCtx((function(e){return[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(n.templates.rowsperpagedropdownicon),{class:a.normalizeClass(e.class)},null,8,["class"]))]})),key:"0"}:void 0]),1032,["modelValue","options","class","disabled","unstyled","pt"])};var J={name:"Paginator",extends:k,emits:["update:first","update:rows","page"],data:function(){return{d_first:this.first,d_rows:this.rows}},watch:{first:function(e){this.d_first=e},rows:function(e){this.d_rows=e},totalRecords:function(e){this.page>0&&e&&this.d_first>=e&&this.changePage(this.pageCount-1)}},mounted:function(){this.setPaginatorAttribute(),this.createStyle()},methods:{changePage:function(e){var t=this.pageCount;if(e>=0&&e<t){this.d_first=this.d_rows*e;var 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:function(e){this.isFirstPage||this.changePage(0),e.preventDefault()},changePageToPrev:function(e){this.changePage(this.page-1),e.preventDefault()},changePageLink:function(e){this.changePage(e.value-1),e.originalEvent.preventDefault()},changePageToNext:function(e){this.changePage(this.page+1),e.preventDefault()},changePageToLast:function(e){this.isLastPage||this.changePage(this.pageCount-1),e.preventDefault()},onRowChange:function(e){this.d_rows=e,this.changePage(this.page)},createStyle:function(){var t=this;if(this.hasBreakpoints()&&!this.isUnstyled){var n;this.styleElement=document.createElement("style"),this.styleElement.type="text/css",e.DomHandler.setAttribute(this.styleElement,"nonce",null===(n=this.$primevue)||void 0===n||null===(n=n.config)||void 0===n||null===(n=n.csp)||void 0===n?void 0:n.nonce),document.head.appendChild(this.styleElement);var a="",o=Object.keys(this.template),r={};o.sort((function(e,t){return parseInt(e)-parseInt(t)})).forEach((function(e){r[e]=t.template[e]}));for(var i=0,l=Object.entries(Object.entries(r));i<l.length;i++){var s,p=j(l[i],2),u=p[0],c=j(p[1],1)[0],g=void 0;g="default"!==c&&"string"==typeof Object.keys(r)[u-1]?Number(Object.keys(r)[u-1].slice(0,-2))+1+"px":Object.keys(r)[u-1],s=Object.entries(r)[u-1]?"and (min-width:".concat(g,")"):"",a+="default"===c?"\n @media screen ".concat(s," {\n .paginator[").concat(this.attributeSelector,"],\n .p-paginator-default{\n display: flex;\n }\n }\n "):"\n.paginator[".concat(this.attributeSelector,"], .p-paginator-").concat(c," {\n display: none;\n}\n@media screen ").concat(s," and (max-width: ").concat(c,") {\n .paginator[").concat(this.attributeSelector,"], .p-paginator-").concat(c," {\n display: flex;\n }\n .paginator[").concat(this.attributeSelector,"],\n .p-paginator-default{\n display: none;\n }\n}\n ")}this.styleElement.innerHTML=a}},hasBreakpoints:function(){return"object"===R(this.template)},setPaginatorAttribute:function(){var e,t=this;this.$refs.paginator&&this.$refs.paginator.length>=0&&(e=this.$refs.paginator,$(e)||O(e)||_(e)||A()).forEach((function(e){e.setAttribute(t.attributeSelector,"")}))},getAriaLabel:function(e){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria[e]:void 0}},computed:{templateItems:function(){var e={};if(this.hasBreakpoints()){for(var t in(e=this.template).default||(e.default="FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown"),e)e[t]=this.template[t].split(" ").map((function(e){return e.trim()}));return e}return e.default=this.template.split(" ").map((function(e){return e.trim()})),e},page:function(){return Math.floor(this.d_first/this.d_rows)},pageCount:function(){return Math.ceil(this.totalRecords/this.d_rows)},isFirstPage:function(){return 0===this.page},isLastPage:function(){return this.page===this.pageCount-1},calculatePageLinkBoundaries:function(){var e=this.pageCount,t=Math.min(this.pageLinkSize,e),n=Math.max(0,Math.ceil(this.page-t/2)),a=Math.min(e-1,n+t-1);return[n=Math.max(0,n-(this.pageLinkSize-(a-n+1))),a]},pageLinks:function(){for(var e=[],t=this.calculatePageLinkBoundaries,n=t[1],a=t[0];a<=n;a++)e.push(a+1);return e},currentState:function(){return{page:this.page,first:this.d_first,rows:this.d_rows}},empty:function(){return 0===this.pageCount},currentPage:function(){return this.pageCount>0?this.page+1:0},attributeSelector:function(){return e.UniqueComponentId()}},components:{CurrentPageReport:w,FirstPageLink:B,LastPageLink:x,NextPageLink:D,PageLinks:T,PrevPageLink:S,RowsPerPageDropdown:I,JumpToPageDropdown:L,JumpToPageInput:C}};J.render=function(e,t,n,o,r,i){var l=a.resolveComponent("FirstPageLink"),s=a.resolveComponent("PrevPageLink"),p=a.resolveComponent("NextPageLink"),u=a.resolveComponent("LastPageLink"),c=a.resolveComponent("PageLinks"),g=a.resolveComponent("CurrentPageReport"),d=a.resolveComponent("RowsPerPageDropdown"),m=a.resolveComponent("JumpToPageDropdown"),f=a.resolveComponent("JumpToPageInput");return e.alwaysShow||i.pageLinks&&i.pageLinks.length>1?(a.openBlock(),a.createElementBlock("nav",a.normalizeProps(a.mergeProps({key:0},e.ptm("paginatorWrapper"))),[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(i.templateItems,(function(n,o){return a.openBlock(),a.createElementBlock("div",a.mergeProps({key:o,ref_for:!0,ref:"paginator",class:e.cx("paginator",{key:o})},e.ptm("root"),{"data-pc-name":"paginator"}),[e.$slots.start?(a.openBlock(),a.createElementBlock("div",a.mergeProps({key:0,class:e.cx("start")},e.ptm("start")),[a.renderSlot(e.$slots,"start",{state:i.currentState})],16)):a.createCommentVNode("",!0),(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n,(function(n){return a.openBlock(),a.createElementBlock(a.Fragment,{key:n},["FirstPageLink"===n?(a.openBlock(),a.createBlock(l,{key:0,"aria-label":i.getAriaLabel("firstPageLabel"),template:e.$slots.firstpagelinkicon,onClick:t[0]||(t[0]=function(e){return i.changePageToFirst(e)}),disabled:i.isFirstPage||i.empty,unstyled:e.unstyled,pt:e.pt},null,8,["aria-label","template","disabled","unstyled","pt"])):"PrevPageLink"===n?(a.openBlock(),a.createBlock(s,{key:1,"aria-label":i.getAriaLabel("prevPageLabel"),template:e.$slots.prevpagelinkicon,onClick:t[1]||(t[1]=function(e){return i.changePageToPrev(e)}),disabled:i.isFirstPage||i.empty,unstyled:e.unstyled,pt:e.pt},null,8,["aria-label","template","disabled","unstyled","pt"])):"NextPageLink"===n?(a.openBlock(),a.createBlock(p,{key:2,"aria-label":i.getAriaLabel("nextPageLabel"),template:e.$slots.nextpagelinkicon,onClick:t[2]||(t[2]=function(e){return i.changePageToNext(e)}),disabled:i.isLastPage||i.empty,unstyled:e.unstyled,pt:e.pt},null,8,["aria-label","template","disabled","unstyled","pt"])):"LastPageLink"===n?(a.openBlock(),a.createBlock(u,{key:3,"aria-label":i.getAriaLabel("lastPageLabel"),template:e.$slots.lastpagelinkicon,onClick:t[3]||(t[3]=function(e){return i.changePageToLast(e)}),disabled:i.isLastPage||i.empty,unstyled:e.unstyled,pt:e.pt},null,8,["aria-label","template","disabled","unstyled","pt"])):"PageLinks"===n?(a.openBlock(),a.createBlock(c,{key:4,"aria-label":i.getAriaLabel("pageLabel"),value:i.pageLinks,page:i.page,onClick:t[4]||(t[4]=function(e){return i.changePageLink(e)}),pt:e.pt},null,8,["aria-label","value","page","pt"])):"CurrentPageReport"===n?(a.openBlock(),a.createBlock(g,{key:5,"aria-live":"polite",template:e.currentPageReportTemplate,currentPage:i.currentPage,page:i.page,pageCount:i.pageCount,first:r.d_first,rows:r.d_rows,totalRecords:e.totalRecords,unstyled:e.unstyled,pt:e.pt},null,8,["template","currentPage","page","pageCount","first","rows","totalRecords","unstyled","pt"])):"RowsPerPageDropdown"===n&&e.rowsPerPageOptions?(a.openBlock(),a.createBlock(d,{key:6,"aria-label":i.getAriaLabel("rowsPerPageLabel"),rows:r.d_rows,options:e.rowsPerPageOptions,onRowsChange:t[5]||(t[5]=function(e){return i.onRowChange(e)}),disabled:i.empty,templates:e.$slots,unstyled:e.unstyled,pt:e.pt},null,8,["aria-label","rows","options","disabled","templates","unstyled","pt"])):"JumpToPageDropdown"===n?(a.openBlock(),a.createBlock(m,{key:7,"aria-label":i.getAriaLabel("jumpToPageDropdownLabel"),page:i.page,pageCount:i.pageCount,onPageChange:t[6]||(t[6]=function(e){return i.changePage(e)}),disabled:i.empty,templates:e.$slots,unstyled:e.unstyled,pt:e.pt},null,8,["aria-label","page","pageCount","disabled","templates","unstyled","pt"])):"JumpToPageInput"===n?(a.openBlock(),a.createBlock(f,{key:8,page:i.currentPage,onPageChange:t[7]||(t[7]=function(e){return i.changePage(e)}),disabled:i.empty,unstyled:e.unstyled,pt:e.pt},null,8,["page","disabled","unstyled","pt"])):a.createCommentVNode("",!0)],64)})),128)),e.$slots.end?(a.openBlock(),a.createElementBlock("div",a.mergeProps({key:1,class:e.cx("end")},e.ptm("end")),[a.renderSlot(e.$slots,"end",{state:i.currentState})],16)):a.createCommentVNode("",!0)],16)})),128))],16)):a.createCommentVNode("",!0)},module.exports=J;