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) [![Discord Chat](https://img.shields.io/discord/55794023

2 lines (1 loc) 4.71 kB
import{ObjectUtils as t}from"primevue/utils";import e from"primevue/paginator";import{resolveComponent as a,openBlock as o,createBlock as r,renderSlot as s,createCommentVNode as i,createSlots as l,withCtx as n,createVNode as p,Fragment as g,renderList as d}from"vue";var u={name:"DataView",emits:["update:first","update:rows","page"],props:{value:{type:Array,default:null},layout:{type:String,default:"list"},rows:{type:Number,default:0},first:{type:Number,default:0},totalRecords:{type:Number,default:0},paginator:{type:Boolean,default:!1},paginatorPosition:{type:String,default:"bottom"},alwaysShowPaginator:{type:Boolean,default:!0},paginatorTemplate:{type:String,default:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown"},pageLinkSize:{type:Number,default:5},rowsPerPageOptions:{type:Array,default:null},currentPageReportTemplate:{type:String,default:"({currentPage} of {totalPages})"},sortField:{type:[String,Function],default:null},sortOrder:{type:Number,default:null},lazy:{type:Boolean,default:!1}},data(){return{d_first:this.first,d_rows:this.rows}},watch:{first(t){this.d_first=t},rows(t){this.d_rows=t},sortField(){this.resetPage()},sortOrder(){this.resetPage()}},methods:{onPage(t){this.d_first=t.first,this.d_rows=t.rows,this.$emit("update:first",this.d_first),this.$emit("update:rows",this.d_rows),this.$emit("page",t)},sort(){if(this.value){const e=[...this.value];return e.sort(((e,a)=>{let o=t.resolveFieldData(e,this.sortField),r=t.resolveFieldData(a,this.sortField),s=null;return s=null==o&&null!=r?-1:null!=o&&null==r?1:null==o&&null==r?0:"string"==typeof o&&"string"==typeof r?o.localeCompare(r,void 0,{numeric:!0}):o<r?-1:o>r?1:0,this.sortOrder*s})),e}return null},resetPage(){this.d_first=0,this.$emit("update:first",this.d_first)}},computed:{containerClass(){return["p-dataview p-component",{"p-dataview-list":"list"===this.layout,"p-dataview-grid":"grid"===this.layout}]},getTotalRecords(){return this.totalRecords?this.totalRecords:this.value?this.value.length:0},empty(){return!this.value||0===this.value.length},paginatorTop(){return this.paginator&&("bottom"!==this.paginatorPosition||"both"===this.paginatorPosition)},paginatorBottom(){return this.paginator&&("top"!==this.paginatorPosition||"both"===this.paginatorPosition)},items(){if(this.value&&this.value.length){let t=this.value;if(t&&t.length&&this.sortField&&(t=this.sort()),this.paginator){const e=this.lazy?0:this.d_first;return t.slice(e,e+this.d_rows)}return t}return null}},components:{DVPaginator:e}};const h={key:0,class:"p-dataview-header"},f={class:"p-dataview-content"},m={class:"p-grid p-nogutter grid grid-nogutter"},w={key:0,class:"p-col col"},P={class:"p-dataview-emptymessage"},c={key:3,class:"p-dataview-footer"};u.render=function(t,e,u,y,v,R){const $=a("DVPaginator");return o(),r("div",{class:R.containerClass},[t.$slots.header?(o(),r("div",h,[s(t.$slots,"header")])):i("",!0),R.paginatorTop?(o(),r($,{key:1,rows:v.d_rows,first:v.d_first,totalRecords:R.getTotalRecords,pageLinkSize:u.pageLinkSize,template:u.paginatorTemplate,rowsPerPageOptions:u.rowsPerPageOptions,currentPageReportTemplate:u.currentPageReportTemplate,class:{"p-paginator-top":R.paginatorTop},alwaysShow:u.alwaysShowPaginator,onPage:e[1]||(e[1]=t=>R.onPage(t))},l({_:2},[t.$slots.paginatorLeft?{name:"left",fn:n((()=>[s(t.$slots,"paginatorLeft")]))}:void 0,t.$slots.paginatorRight?{name:"right",fn:n((()=>[s(t.$slots,"paginatorRight")]))}:void 0]),1032,["rows","first","totalRecords","pageLinkSize","template","rowsPerPageOptions","currentPageReportTemplate","class","alwaysShow"])):i("",!0),p("div",f,[p("div",m,[(o(!0),r(g,null,d(R.items,((e,a)=>(o(),r(g,null,[t.$slots.list&&"list"===u.layout?s(t.$slots,"list",{key:0,data:e,index:a}):i("",!0),t.$slots.grid&&"grid"===u.layout?s(t.$slots,"grid",{key:1,data:e,index:a}):i("",!0)],64)))),256)),R.empty?(o(),r("div",w,[p("div",P,[s(t.$slots,"empty")])])):i("",!0)])]),R.paginatorBottom?(o(),r($,{key:2,rows:v.d_rows,first:v.d_first,totalRecords:R.getTotalRecords,pageLinkSize:u.pageLinkSize,template:u.paginatorTemplate,rowsPerPageOptions:u.rowsPerPageOptions,currentPageReportTemplate:u.currentPageReportTemplate,class:{"p-paginator-bottom":R.paginatorBottom},alwaysShow:u.alwaysShowPaginator,onPage:e[2]||(e[2]=t=>R.onPage(t))},l({_:2},[t.$slots.paginatorLeft?{name:"left",fn:n((()=>[s(t.$slots,"paginatorLeft")]))}:void 0,t.$slots.paginatorRight?{name:"right",fn:n((()=>[s(t.$slots,"paginatorRight")]))}:void 0]),1032,["rows","first","totalRecords","pageLinkSize","template","rowsPerPageOptions","currentPageReportTemplate","class","alwaysShow"])):i("",!0),t.$slots.footer?(o(),r("div",c,[s(t.$slots,"footer")])):i("",!0)],2)};export default u;