import{m as p,D as f,i as d}from"./entry.a948ca9b.js";/* empty css                */import{l as m,N as n,aa as g,Y as P}from"./swiper-vue.45d37649.js";import{_ as y}from"./_plugin-vue_export-helper.c27b6911.js";const C=m({props:{total:{type:Number,default:0},pageSize:{type:Number,default:10},currentPage:{type:Number,default:1},pagerCount:{type:Number,default:7},pathPrefix:{type:String,default:"/"},pageQueryName:{type:String,default:"page"},queryMode:{type:Number,default:2},layout:{type:String,default:"prev, pager, next"},prevBtnClassName:{type:String,default:""},nextBtnClassName:{type:String,default:""},background:{type:Boolean,default:!0},small:{type:Boolean,default:!1}},data(){return{isShowPrevMore:!1,isShowNextMore:!1}},computed:{totalPage(){const t=Math.ceil(this.total/this.pageSize);return t||1},layoutComputed(){let t=this.layout.split(",");return t=t.map(a=>a.trim()).filter(a=>a),t},pathPrefixComputed(){let t=this.pathPrefix;return this.queryMode===2?t.includes("?")?t+=`&${this.pageQueryName}=`:t+=`?${this.pageQueryName}=`:this.queryMode===1&&t.substring(t.length-1,1)!=="/"&&(t+="/"),t},pagers(){const t=this.pagerCount,a=(t-1)/2,s=Number(this.currentPage),o=Number(this.totalPage);let l=!1,u=!1;o>t&&(s>t-a&&(l=!0),s<o-a&&(u=!0));const h=[];if(l&&!u){const e=o-(t-2);for(let r=e;r<o;r++)h.push(r)}else if(!l&&u)for(let e=2;e<t;e++)h.push(e);else if(l&&u){const e=Math.floor(t/2)-1;for(let r=s-e;r<=s+e;r++)h.push(r)}else for(let e=2;e<o;e++)h.push(e);return this.isShowPrevMore=l,this.isShowNextMore=u,h}},methods:{handleChangePage(t,a){a&&(a.preventDefault(),a.stopPropagation()),this.currentPage!==t&&(this.$emit("update:currentPage",t),this.$emit("change",{page:t,path:this.pathPrefixComputed+t}))},handleShowMoreClick(t){let a=this.currentPage;const s=this.pagerCount-2;t===-1?a=this.currentPage-s:a=this.currentPage+s,this.handleChangePage(a,null)},handleJumperChange(t){const a=this.totalPage,s=Number(t.target.value);if(s>a)return t.target.value=a,this.handleChangePage(a,null),!1;if(s<1)return t.target.value=1,this.handleChangePage(1,null),!1;this.handleChangePage(s,null)}},render(){const t=new Map,a=n("a",{onClick:e=>{this.handleChangePage(this.currentPage-1>=1?this.currentPage-1:1,e)},href:`${this.pathPrefixComputed}${this.currentPage-1>=1?this.currentPage-1:1}`,class:`yo-pagination-btn yo-pagination-btn-pre ${this.prevBtnClassName} ${this.currentPage<=1?"disabled":""}`},[n(p,null,{default:()=>[n(f,null,null)]})]),s=n("a",{onClick:e=>{this.handleChangePage(this.currentPage+1>this.totalPage?this.totalPage:this.currentPage+1,e)},href:"",class:`yo-pagination-btn yo-pagination-btn-next ${this.nextBtnClassName} ${this.currentPage>=this.totalPage?"disabled":""}`},[n(p,null,{default:()=>[n(d,null,null)]})]),o=n("div",{class:"yo-total"},[g("共 "),n("span",{class:"yo-total-num"},[this.total]),g(" 条")]),l=n("div",{class:"yo-jumper"},[g("前往"),n("input",{value:this.currentPage,onBlur:e=>{this.handleJumperChange(e)},type:"number",class:"yo-input"},null),g("页")]),u=()=>{if(!this.total)return"";const e=[],r=this.pagers.map(i=>n("a",{href:`${this.pathPrefixComputed}${i}`,class:`yo-pagination-btn ${this.currentPage===i?"active":""}`,onClick:c=>{this.handleChangePage(i,c)}},[i]));return this.isShowPrevMore&&e.push(n("div",{onClick:()=>{this.handleShowMoreClick(-1)},class:"yo-pagination-btn yo-pagination-btn-more"},[g("···")])),r&&r.length&&e.push(...r),this.isShowNextMore&&e.push(n("div",{onClick:()=>{this.handleShowMoreClick(1)},class:"yo-pagination-btn yo-pagination-btn-more"},[g("···")])),this.totalPage>1&&e.push(n("a",{onClick:i=>{this.handleChangePage(this.totalPage,i)},href:`${this.pathPrefixComputed}1`,class:`yo-pagination-btn ${this.currentPage===this.totalPage?"active":""}`},[this.totalPage])),n(P,null,[n("a",{onClick:i=>{this.handleChangePage(1,i)},href:`${this.pathPrefixComputed}1`,class:`yo-pagination-btn ${this.currentPage===1?"active":""}`},[g("1")]),e])};t.set("prev",a),t.set("next",s),t.set("total",o),t.set("jumper",l),t.set("pager",u());const h=this.layoutComputed.map(e=>t.get(e));return n("div",{class:`yo-pagination ${this.background?"yo-pagination-background":""} ${this.small?"yo-pagination-small":""}`},[h])}});const N=y(C,[["__scopeId","data-v-677af4d2"]]);export{N as _};
