vxe-pc-ui 4.7.29 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/icon/style.css +1 -1
- package/es/pager/src/pager.js +36 -19
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +47 -24
- package/lib/index.umd.min.js +1 -1
- package/lib/pager/src/pager.js +45 -22
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/pager/src/pager.ts +38 -21
- package/types/components/grid.d.ts +22 -2
- package/types/components/pager.d.ts +13 -2
- package/types/components/table-plugins/extend-pivot-table.d.ts +5 -1
- package/types/components/table.d.ts +4 -3
- /package/es/icon/{iconfont.1753670267661.ttf → iconfont.1753775394104.ttf} +0 -0
- /package/es/icon/{iconfont.1753670267661.woff → iconfont.1753775394104.woff} +0 -0
- /package/es/icon/{iconfont.1753670267661.woff2 → iconfont.1753775394104.woff2} +0 -0
- /package/es/{iconfont.1753670267661.ttf → iconfont.1753775394104.ttf} +0 -0
- /package/es/{iconfont.1753670267661.woff → iconfont.1753775394104.woff} +0 -0
- /package/es/{iconfont.1753670267661.woff2 → iconfont.1753775394104.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1753670267661.ttf → iconfont.1753775394104.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1753670267661.woff → iconfont.1753775394104.woff} +0 -0
- /package/lib/icon/style/{iconfont.1753670267661.woff2 → iconfont.1753775394104.woff2} +0 -0
- /package/lib/{iconfont.1753670267661.ttf → iconfont.1753775394104.ttf} +0 -0
- /package/lib/{iconfont.1753670267661.woff → iconfont.1753775394104.woff} +0 -0
- /package/lib/{iconfont.1753670267661.woff2 → iconfont.1753775394104.woff2} +0 -0
package/lib/pager/src/pager.js
CHANGED
|
@@ -158,7 +158,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
158
158
|
const getPageCount = (total, size) => {
|
|
159
159
|
return Math.max(Math.ceil(total / size), 1);
|
|
160
160
|
};
|
|
161
|
-
const
|
|
161
|
+
const handleJumpPageEvent = (evnt, currentPage) => {
|
|
162
162
|
emit('update:currentPage', currentPage);
|
|
163
163
|
if (evnt && currentPage !== props.currentPage) {
|
|
164
164
|
dispatchEvent('page-change', {
|
|
@@ -168,7 +168,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
168
168
|
}, evnt);
|
|
169
169
|
}
|
|
170
170
|
};
|
|
171
|
-
const
|
|
171
|
+
const handleChangeCurrentPage = (currentPage, evnt) => {
|
|
172
172
|
emit('update:currentPage', currentPage);
|
|
173
173
|
if (evnt && currentPage !== props.currentPage) {
|
|
174
174
|
dispatchEvent('page-change', {
|
|
@@ -189,14 +189,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
189
189
|
const currPage = _xeUtils.default.toValueString(current);
|
|
190
190
|
inputElem.value = currPage;
|
|
191
191
|
reactData.inpCurrPage = currPage;
|
|
192
|
-
|
|
192
|
+
handleChangeCurrentPage(current, $event);
|
|
193
193
|
};
|
|
194
194
|
const handleHomePage = evnt => {
|
|
195
195
|
const {
|
|
196
196
|
currentPage
|
|
197
197
|
} = props;
|
|
198
198
|
if (currentPage > 1) {
|
|
199
|
-
|
|
199
|
+
handleChangeCurrentPage(1, evnt);
|
|
200
200
|
}
|
|
201
201
|
};
|
|
202
202
|
const handleEndPage = evnt => {
|
|
@@ -205,7 +205,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
205
205
|
} = props;
|
|
206
206
|
const pageCount = computePageCount.value;
|
|
207
207
|
if (currentPage < pageCount) {
|
|
208
|
-
|
|
208
|
+
handleChangeCurrentPage(pageCount, evnt);
|
|
209
209
|
}
|
|
210
210
|
};
|
|
211
211
|
const handlePrevPage = evnt => {
|
|
@@ -214,7 +214,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
214
214
|
} = props;
|
|
215
215
|
const pageCount = computePageCount.value;
|
|
216
216
|
if (currentPage > 1) {
|
|
217
|
-
|
|
217
|
+
handleChangeCurrentPage(Math.min(pageCount, Math.max(currentPage - 1, 1)), evnt);
|
|
218
218
|
}
|
|
219
219
|
};
|
|
220
220
|
const handleNextPage = evnt => {
|
|
@@ -223,21 +223,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
223
223
|
} = props;
|
|
224
224
|
const pageCount = computePageCount.value;
|
|
225
225
|
if (currentPage < pageCount) {
|
|
226
|
-
|
|
226
|
+
handleChangeCurrentPage(Math.min(pageCount, currentPage + 1), evnt);
|
|
227
227
|
}
|
|
228
228
|
};
|
|
229
229
|
const handlePrevJump = evnt => {
|
|
230
230
|
const numList = computeNumList.value;
|
|
231
|
-
|
|
231
|
+
handleChangeCurrentPage(Math.max(props.currentPage - numList.length, 1), evnt);
|
|
232
232
|
};
|
|
233
233
|
const handleNextJump = evnt => {
|
|
234
234
|
const pageCount = computePageCount.value;
|
|
235
235
|
const numList = computeNumList.value;
|
|
236
|
-
|
|
236
|
+
handleChangeCurrentPage(Math.min(props.currentPage + numList.length, pageCount), evnt);
|
|
237
237
|
};
|
|
238
238
|
const pageSizeEvent = params => {
|
|
239
239
|
const {
|
|
240
|
-
value
|
|
240
|
+
value,
|
|
241
|
+
$event
|
|
241
242
|
} = params;
|
|
242
243
|
const pageSize = _xeUtils.default.toNumber(value);
|
|
243
244
|
const pageCount = getPageCount(props.total, pageSize);
|
|
@@ -247,11 +248,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
247
248
|
emit('update:currentPage', pageCount);
|
|
248
249
|
}
|
|
249
250
|
emit('update:pageSize', pageSize);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
if ($event) {
|
|
252
|
+
dispatchEvent('page-change', {
|
|
253
|
+
type: 'size',
|
|
254
|
+
pageSize,
|
|
255
|
+
currentPage
|
|
256
|
+
}, $event);
|
|
257
|
+
}
|
|
255
258
|
};
|
|
256
259
|
const jumpKeydownEvent = params => {
|
|
257
260
|
const {
|
|
@@ -476,7 +479,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
476
479
|
nums.push((0, _vue.h)('button', {
|
|
477
480
|
class: 'vxe-pager--num-btn',
|
|
478
481
|
type: 'button',
|
|
479
|
-
onClick: evnt =>
|
|
482
|
+
onClick: evnt => handleJumpPageEvent(evnt, 1)
|
|
480
483
|
}, '1'), renderPrevJump('span'));
|
|
481
484
|
}
|
|
482
485
|
numList.forEach((item, index) => {
|
|
@@ -489,7 +492,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
489
492
|
'is--active': currentPage === number
|
|
490
493
|
}],
|
|
491
494
|
type: 'button',
|
|
492
|
-
onClick: evnt =>
|
|
495
|
+
onClick: evnt => handleJumpPageEvent(evnt, number)
|
|
493
496
|
}, `${number}`));
|
|
494
497
|
}
|
|
495
498
|
});
|
|
@@ -498,7 +501,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
498
501
|
nums.push(renderNextJump('button'), (0, _vue.h)('button', {
|
|
499
502
|
class: 'vxe-pager--num-btn',
|
|
500
503
|
type: 'button',
|
|
501
|
-
onClick: evnt =>
|
|
504
|
+
onClick: evnt => handleJumpPageEvent(evnt, pageCount)
|
|
502
505
|
}, pageCount));
|
|
503
506
|
}
|
|
504
507
|
if (numberSlot) {
|
|
@@ -647,6 +650,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
647
650
|
};
|
|
648
651
|
const pagerMethods = {
|
|
649
652
|
dispatchEvent,
|
|
653
|
+
setPageSize(num) {
|
|
654
|
+
pageSizeEvent({
|
|
655
|
+
value: num
|
|
656
|
+
});
|
|
657
|
+
return (0, _vue.nextTick)();
|
|
658
|
+
},
|
|
659
|
+
setPageSizeByEvent(evnt, num) {
|
|
660
|
+
pageSizeEvent({
|
|
661
|
+
value: num,
|
|
662
|
+
$event: evnt
|
|
663
|
+
});
|
|
664
|
+
},
|
|
650
665
|
homePage() {
|
|
651
666
|
handleHomePage();
|
|
652
667
|
return (0, _vue.nextTick)();
|
|
@@ -689,16 +704,24 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
689
704
|
nextJumpByEvent(evnt) {
|
|
690
705
|
handleNextJump(evnt);
|
|
691
706
|
},
|
|
692
|
-
|
|
707
|
+
setCurrentPage(currentPage) {
|
|
693
708
|
const current = _xeUtils.default.toNumber(currentPage) || 1;
|
|
694
709
|
reactData.inpCurrPage = current;
|
|
695
|
-
|
|
710
|
+
handleChangeCurrentPage(current);
|
|
696
711
|
return (0, _vue.nextTick)();
|
|
697
712
|
},
|
|
698
|
-
|
|
713
|
+
setCurrentPageByEvent(evnt, currentPage) {
|
|
699
714
|
const current = _xeUtils.default.toNumber(currentPage) || 1;
|
|
700
715
|
reactData.inpCurrPage = current;
|
|
701
|
-
|
|
716
|
+
handleChangeCurrentPage(current, evnt);
|
|
717
|
+
},
|
|
718
|
+
/**
|
|
719
|
+
* 已废弃,被 setCurrentPage 替换
|
|
720
|
+
* @deprecated
|
|
721
|
+
*/
|
|
722
|
+
jumpPage(currentPage) {
|
|
723
|
+
(0, _log.warnLog)('vxe.error.delFunc', ['jumpPage', 'setCurrentPage']);
|
|
724
|
+
return $xePager.setCurrentPage(currentPage);
|
|
702
725
|
}
|
|
703
726
|
};
|
|
704
727
|
const pagerPrivateMethods = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_log=require("../../ui/src/log"),_select=_interopRequireDefault(require("../../select/src/select")),_numberInput=_interopRequireDefault(require("../../number-input/src/number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePager",props:{size:{type:String,default:()=>(0,_ui.getConfig)().pager.size||(0,_ui.getConfig)().size},layouts:{type:Array,default:()=>(0,_ui.getConfig)().pager.layouts||["PrevJump","PrevPage","Jump","PageCount","NextPage","NextJump","Sizes","Total"]},currentPage:{type:Number,default:1},loading:Boolean,pageSize:{type:Number,default:()=>(0,_ui.getConfig)().pager.pageSize||10},total:{type:Number,default:0},pagerCount:{type:Number,default:()=>(0,_ui.getConfig)().pager.pagerCount||7},pageSizes:{type:Array,default:()=>(0,_ui.getConfig)().pager.pageSizes||[10,15,20,50,100]},align:{type:String,default:()=>(0,_ui.getConfig)().pager.align},border:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.border},background:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.background},perfect:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.perfect},autoHidden:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.autoHidden},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.transfer},className:[String,Function],pageSizePlacement:{type:String,default:()=>(0,_ui.getConfig)().pager.pageSizePlacement},iconPrevPage:String,iconJumpPrev:String,iconJumpNext:String,iconNextPage:String,iconJumpMore:String,iconHomePage:String,iconEndPage:String},emits:["update:pageSize","update:currentPage","page-change"],setup(_,e){const{slots:m,emit:u}=e;var a=_xeUtils.default.uniqueId();const p=(0,_ui.useSize)(_)["computeSize"],g=(0,_vue.inject)("$xeGrid",null),n=(0,_vue.reactive)({inpCurrPage:_.currentPage}),i=(0,_vue.ref)(),t={refElem:i},P=(0,_vue.computed)(()=>s(_.total,_.pageSize)),x=(0,_vue.computed)(()=>{var e=_["pagerCount"],a=e<P.value?e-2:e,t=[];for(let e=0;e<a;e++)t.push(e);return t}),d=(0,_vue.computed)(()=>Math.floor((_.pagerCount-2)/2)),l=(0,_vue.computed)(()=>_.pageSizes.map(e=>_xeUtils.default.isNumber(e)?{value:e,label:""+(0,_ui.getI18n)("vxe.pager.pagesize",[e])}:Object.assign({value:"",label:""},e))),h={xID:a,props:_,context:e,getRefMaps:()=>t},o=(e,a,t)=>{u(e,(0,_ui.createEvent)(t,{$pager:h},a))},s=(e,a)=>Math.max(Math.ceil(e/a),1),b=(e,a)=>{u("update:currentPage",a),e&&a!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:a},e)},c=(e,a)=>{u("update:currentPage",e),a&&e!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:e},a)},v=e=>{var e=e["$event"],a=e.target,t=_xeUtils.default.toInteger(a.value),r=P.value,r=t<=0?1:r<=t?r:t,t=_xeUtils.default.toValueString(r);a.value=t,n.inpCurrPage=t,c(r,e)},f=e=>{var a=_["currentPage"];1<a&&c(1,e)},C=e=>{var a=_["currentPage"],t=P.value;a<t&&c(t,e)},E=e=>{var a=_["currentPage"],t=P.value;1<a&&c(Math.min(t,Math.max(a-1,1)),e)},y=e=>{var a=_["currentPage"],t=P.value;a<t&&c(Math.min(t,a+1),e)},S=e=>{var a=x.value;c(Math.max(_.currentPage-a.length,1),e)},k=e=>{var a=P.value,t=x.value;c(Math.min(_.currentPage+t.length,a),e)},N=e=>{var a=e["value"],a=_xeUtils.default.toNumber(a),t=s(_.total,a);let r=_.currentPage;r>t&&(r=t,u("update:currentPage",t)),u("update:pageSize",a),o("page-change",{type:"size",pageSize:a,currentPage:r},e.$event)},z=e=>{var a=e["$event"];_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ENTER)?v(e):_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ARROW_UP)?(a.preventDefault(),y(a)):_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN)&&(a.preventDefault(),E(a))},J=()=>{var{currentPage:e,total:a}=_,t=m.home,r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-home-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--home-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.homePageTitle"),onClick:f},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconHomePage||(0,_ui.getIcon)().PAGER_HOME]})])},I=()=>{var{currentPage:e,total:a}=_,t=m.prevPage||m["prev-page"],r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-prev-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--prev-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevPageTitle"),onClick:E},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconPrevPage||(0,_ui.getIcon)().PAGER_PREV_PAGE]})])},M=e=>{var{currentPage:a,total:t}=_,r=m.prevJump||m["prev-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-prev"},r({$pager:h,total:t,currentPage:a,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-prev",{"is--fixed":!e,"is--disabled":a<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevJumpTitle"),onClick:S},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpPrev||(0,_ui.getIcon)().PAGER_JUMP_PREV]})])},R=e=>{var{currentPage:a,total:t}=_,r=m.nextJump||m["next-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-next"},r({$pager:h,total:t,currentPage:a,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-next",{"is--fixed":!e,"is--disabled":u<=a}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextJumpTitle"),onClick:k},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpNext||(0,_ui.getIcon)().PAGER_JUMP_NEXT]})])},T=()=>{var{currentPage:e,total:a}=_,t=m.nextPage||m["next-page"],r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-next-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--next-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextPageTitle"),onClick:y},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconNextPage||(0,_ui.getIcon)().PAGER_NEXT_PAGE]})])},j=()=>{var{currentPage:e,total:a}=_,t=m.end,r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-end-btn"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--end-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.endPageTitle"),onClick:C},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconEndPage||(0,_ui.getIcon)().PAGER_END]})])},$=e=>{const{currentPage:r,total:a,pagerCount:t}=_;var u=e?m.numberJump||m["number-jump"]:m.number;const n=[],p=P.value;var g=x.value,i=d.value,l=p>t,o=l&&r>i+1,s=l&&r<p-i;const c=[];let v=1;return l&&(v=r>=p-i?Math.max(p-g.length+1,1):Math.max(r-i,1)),e&&o&&(c.push(1),n.push((0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,1)},"1"),M("span"))),g.forEach((e,a)=>{const t=v+a;t<=p&&(c.push(t),n.push((0,_vue.h)("button",{key:t,class:["vxe-pager--num-btn",{"is--active":r===t}],type:"button",onClick:e=>b(e,t)},""+t)))}),e&&s&&(c.push(p),n.push(R("button"),(0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,p)},p))),u?(0,_vue.h)("span",{class:"vxe-pager--custom-btn-wrapper"},u({$pager:h,total:a,numList:c,currentPage:r,pageCount:p})):(0,_vue.h)("span",{class:"vxe-pager--btn-wrapper"},n)},B=()=>$(!0),U=()=>{var{total:e,currentPage:a,pageSize:t,pageSizePlacement:r,transfer:u}=_,n=m.sizes,p=l.value,g=P.value;return n?(0,_vue.h)("span",{class:"vxe-pager--custom-sizes"},n({$pager:h,total:e,currentPage:a,pageCount:g,pageSize:t,options:p})):(0,_vue.h)(_select.default,{class:"vxe-pager--sizes",modelValue:t,placement:r,transfer:u,options:p,onChange:N})},A=e=>{var a=_["total"],t=n["inpCurrPage"],r=e?m.fullJump||m["full-jump"]:m.jump,u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump"},r({$pager:h,total:a,currentPage:t,pageCount:u})):(0,_vue.h)("span",{class:"vxe-pager--jump"},[e?(0,_vue.h)("span",{class:"vxe-pager--goto-text"},(0,_ui.getI18n)("vxe.pager.goto")):null,(0,_vue.h)(_numberInput.default,{class:"vxe-pager--goto",modelValue:n.inpCurrPage,placeholder:(0,_ui.getI18n)("vxe.pager.gotoTitle"),align:"center",type:"integer",max:u,min:1,controls:!1,onKeydown:z,onBlur:v,"onUpdate:modelValue"(e){n.inpCurrPage=e}}),e?(0,_vue.h)("span",{class:"vxe-pager--classifier-text"},(0,_ui.getI18n)("vxe.pager.pageClassifier")):null])},G=()=>A(!0),V=()=>{var{currentPage:e,total:a}=_,t=m.pageCount||m["page-count"],r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-count"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--count"},[(0,_vue.h)("span",{class:"vxe-pager--separator"}),(0,_vue.h)("span",r)])},q=()=>{var{currentPage:e,total:a}=_,t=m.total,r=P.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-total"},t({$pager:h,total:a,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--total"},(0,_ui.getI18n)("vxe.pager.total",[a]))};a={dispatchEvent:o,homePage(){return f(),(0,_vue.nextTick)()},homePageByEvent(e){f(e)},endPage(){return C(),(0,_vue.nextTick)()},endPageByEvent(e){C(e)},prevPage(){return E(),(0,_vue.nextTick)()},prevPageByEvent(e){E(e)},nextPage(){return y(),(0,_vue.nextTick)()},nextPageByEvent(e){y(e)},prevJump(){return S(),(0,_vue.nextTick)()},prevJumpByEvent(e){S(e)},nextJump(){return k(),(0,_vue.nextTick)()},nextJumpByEvent(e){k(e)},jumpPage(e){e=_xeUtils.default.toNumber(e)||1;return n.inpCurrPage=e,c(e),(0,_vue.nextTick)()},jumpPageByEvent(e,a){a=_xeUtils.default.toNumber(a)||1;n.inpCurrPage=a,c(a,e)}},e={handlePrevPage:E,handleNextPage:y,handlePrevJump:S,handleNextJump:k};Object.assign(h,a,e),(0,_vue.watch)(()=>_.currentPage,e=>{n.inpCurrPage=e});return h.renderVN=()=>{var{align:e,layouts:a,className:t}=_;const r=[];var u=p.value,n=P.value;return m.left&&r.push((0,_vue.h)("span",{class:"vxe-pager--left-wrapper"},m.left({$grid:g}))),a.forEach(e=>{let a;switch(e){case"Home":a=J;break;case"PrevJump":a=M;break;case"PrevPage":a=I;break;case"Number":a=$;break;case"JumpNumber":a=B;break;case"NextPage":a=T;break;case"NextJump":a=R;break;case"End":a=j;break;case"Sizes":a=U;break;case"FullJump":a=G;break;case"Jump":a=A;break;case"PageCount":a=V;break;case"Total":a=q}a?r.push(a()):(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}),m.right&&r.push((0,_vue.h)("span",{class:"vxe-pager--right-wrapper"},m.right({$grid:g}))),(0,_vue.h)("div",{ref:i,class:["vxe-pager",t?_xeUtils.default.isFunction(t)?t({$pager:h}):t:"",{["size--"+u]:u,["align--"+e]:e,"is--border":_.border,"is--background":_.background,"is--perfect":_.perfect,"is--hidden":_.autoHidden&&1===n,"is--loading":_.loading}]},[(0,_vue.h)("div",{class:"vxe-pager--wrapper"},r)])},h},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_log=require("../../ui/src/log"),_select=_interopRequireDefault(require("../../select/src/select")),_numberInput=_interopRequireDefault(require("../../number-input/src/number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxePager",props:{size:{type:String,default:()=>(0,_ui.getConfig)().pager.size||(0,_ui.getConfig)().size},layouts:{type:Array,default:()=>(0,_ui.getConfig)().pager.layouts||["PrevJump","PrevPage","Jump","PageCount","NextPage","NextJump","Sizes","Total"]},currentPage:{type:Number,default:1},loading:Boolean,pageSize:{type:Number,default:()=>(0,_ui.getConfig)().pager.pageSize||10},total:{type:Number,default:0},pagerCount:{type:Number,default:()=>(0,_ui.getConfig)().pager.pagerCount||7},pageSizes:{type:Array,default:()=>(0,_ui.getConfig)().pager.pageSizes||[10,15,20,50,100]},align:{type:String,default:()=>(0,_ui.getConfig)().pager.align},border:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.border},background:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.background},perfect:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.perfect},autoHidden:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.autoHidden},transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().pager.transfer},className:[String,Function],pageSizePlacement:{type:String,default:()=>(0,_ui.getConfig)().pager.pageSizePlacement},iconPrevPage:String,iconJumpPrev:String,iconJumpNext:String,iconNextPage:String,iconJumpMore:String,iconHomePage:String,iconEndPage:String},emits:["update:pageSize","update:currentPage","page-change"],setup(_,e){const{slots:m,emit:u}=e;var t=_xeUtils.default.uniqueId();const g=(0,_ui.useSize)(_)["computeSize"],p=(0,_vue.inject)("$xeGrid",null),n=(0,_vue.reactive)({inpCurrPage:_.currentPage}),i=(0,_vue.ref)(),a={refElem:i},P=(0,_vue.computed)(()=>s(_.total,_.pageSize)),x=(0,_vue.computed)(()=>{var e=_["pagerCount"],t=e<P.value?e-2:e,a=[];for(let e=0;e<t;e++)a.push(e);return a}),d=(0,_vue.computed)(()=>Math.floor((_.pagerCount-2)/2)),l=(0,_vue.computed)(()=>_.pageSizes.map(e=>_xeUtils.default.isNumber(e)?{value:e,label:""+(0,_ui.getI18n)("vxe.pager.pagesize",[e])}:Object.assign({value:"",label:""},e))),h={xID:t,props:_,context:e,getRefMaps:()=>a},o=(e,t,a)=>{u(e,(0,_ui.createEvent)(a,{$pager:h},t))},s=(e,t)=>Math.max(Math.ceil(e/t),1),b=(e,t)=>{u("update:currentPage",t),e&&t!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:t},e)},c=(e,t)=>{u("update:currentPage",e),t&&e!==_.currentPage&&o("page-change",{type:"current",pageSize:_.pageSize,currentPage:e},t)},v=e=>{var e=e["$event"],t=e.target,a=_xeUtils.default.toInteger(t.value),r=P.value,r=a<=0?1:r<=a?r:a,a=_xeUtils.default.toValueString(r);t.value=a,n.inpCurrPage=a,c(r,e)},f=e=>{var t=_["currentPage"];1<t&&c(1,e)},C=e=>{var t=_["currentPage"],a=P.value;t<a&&c(a,e)},E=e=>{var t=_["currentPage"],a=P.value;1<t&&c(Math.min(a,Math.max(t-1,1)),e)},y=e=>{var t=_["currentPage"],a=P.value;t<a&&c(Math.min(a,t+1),e)},S=e=>{var t=x.value;c(Math.max(_.currentPage-t.length,1),e)},k=e=>{var t=P.value,a=x.value;c(Math.min(_.currentPage+a.length,t),e)},z=e=>{var{value:e,$event:t}=e,e=_xeUtils.default.toNumber(e),a=s(_.total,e);let r=_.currentPage;r>a&&(r=a,u("update:currentPage",a)),u("update:pageSize",e),t&&o("page-change",{type:"size",pageSize:e,currentPage:r},t)},N=e=>{var t=e["$event"];_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER)?v(e):_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP)?(t.preventDefault(),y(t)):_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN)&&(t.preventDefault(),E(t))},J=()=>{var{currentPage:e,total:t}=_,a=m.home,r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-home-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--home-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.homePageTitle"),onClick:f},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconHomePage||(0,_ui.getIcon)().PAGER_HOME]})])},I=()=>{var{currentPage:e,total:t}=_,a=m.prevPage||m["prev-page"],r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-prev-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--prev-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevPageTitle"),onClick:E},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconPrevPage||(0,_ui.getIcon)().PAGER_PREV_PAGE]})])},M=e=>{var{currentPage:t,total:a}=_,r=m.prevJump||m["prev-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-prev"},r({$pager:h,total:a,currentPage:t,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-prev",{"is--fixed":!e,"is--disabled":t<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.prevJumpTitle"),onClick:S},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpPrev||(0,_ui.getIcon)().PAGER_JUMP_PREV]})])},T=e=>{var{currentPage:t,total:a}=_,r=m.nextJump||m["next-jump"],u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-next"},r({$pager:h,total:a,currentPage:t,pageCount:u})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-next",{"is--fixed":!e,"is--disabled":u<=t}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextJumpTitle"),onClick:k},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",_.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",_.iconJumpNext||(0,_ui.getIcon)().PAGER_JUMP_NEXT]})])},R=()=>{var{currentPage:e,total:t}=_,a=m.nextPage||m["next-page"],r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-next-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--next-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextPageTitle"),onClick:y},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconNextPage||(0,_ui.getIcon)().PAGER_NEXT_PAGE]})])},j=()=>{var{currentPage:e,total:t}=_,a=m.end,r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-end-btn"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("button",{class:["vxe-pager--end-btn",{"is--disabled":r<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.endPageTitle"),onClick:C},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",_.iconEndPage||(0,_ui.getIcon)().PAGER_END]})])},$=e=>{const{currentPage:r,total:t,pagerCount:a}=_;var u=e?m.numberJump||m["number-jump"]:m.number;const n=[],g=P.value;var p=x.value,i=d.value,l=g>a,o=l&&r>i+1,s=l&&r<g-i;const c=[];let v=1;return l&&(v=r>=g-i?Math.max(g-p.length+1,1):Math.max(r-i,1)),e&&o&&(c.push(1),n.push((0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,1)},"1"),M("span"))),p.forEach((e,t)=>{const a=v+t;a<=g&&(c.push(a),n.push((0,_vue.h)("button",{key:a,class:["vxe-pager--num-btn",{"is--active":r===a}],type:"button",onClick:e=>b(e,a)},""+a)))}),e&&s&&(c.push(g),n.push(T("button"),(0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>b(e,g)},g))),u?(0,_vue.h)("span",{class:"vxe-pager--custom-btn-wrapper"},u({$pager:h,total:t,numList:c,currentPage:r,pageCount:g})):(0,_vue.h)("span",{class:"vxe-pager--btn-wrapper"},n)},A=()=>$(!0),U=()=>{var{total:e,currentPage:t,pageSize:a,pageSizePlacement:r,transfer:u}=_,n=m.sizes,g=l.value,p=P.value;return n?(0,_vue.h)("span",{class:"vxe-pager--custom-sizes"},n({$pager:h,total:e,currentPage:t,pageCount:p,pageSize:a,options:g})):(0,_vue.h)(_select.default,{class:"vxe-pager--sizes",modelValue:a,placement:r,transfer:u,options:g,onChange:z})},B=e=>{var t=_["total"],a=n["inpCurrPage"],r=e?m.fullJump||m["full-jump"]:m.jump,u=P.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-jump"},r({$pager:h,total:t,currentPage:a,pageCount:u})):(0,_vue.h)("span",{class:"vxe-pager--jump"},[e?(0,_vue.h)("span",{class:"vxe-pager--goto-text"},(0,_ui.getI18n)("vxe.pager.goto")):null,(0,_vue.h)(_numberInput.default,{class:"vxe-pager--goto",modelValue:n.inpCurrPage,placeholder:(0,_ui.getI18n)("vxe.pager.gotoTitle"),align:"center",type:"integer",max:u,min:1,controls:!1,onKeydown:N,onBlur:v,"onUpdate:modelValue"(e){n.inpCurrPage=e}}),e?(0,_vue.h)("span",{class:"vxe-pager--classifier-text"},(0,_ui.getI18n)("vxe.pager.pageClassifier")):null])},G=()=>B(!0),V=()=>{var{currentPage:e,total:t}=_,a=m.pageCount||m["page-count"],r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-count"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--count"},[(0,_vue.h)("span",{class:"vxe-pager--separator"}),(0,_vue.h)("span",r)])},q=()=>{var{currentPage:e,total:t}=_,a=m.total,r=P.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-total"},a({$pager:h,total:t,currentPage:e,pageCount:r})):(0,_vue.h)("span",{class:"vxe-pager--total"},(0,_ui.getI18n)("vxe.pager.total",[t]))};t={dispatchEvent:o,setPageSize(e){return z({value:e}),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){z({value:t,$event:e})},homePage(){return f(),(0,_vue.nextTick)()},homePageByEvent(e){f(e)},endPage(){return C(),(0,_vue.nextTick)()},endPageByEvent(e){C(e)},prevPage(){return E(),(0,_vue.nextTick)()},prevPageByEvent(e){E(e)},nextPage(){return y(),(0,_vue.nextTick)()},nextPageByEvent(e){y(e)},prevJump(){return S(),(0,_vue.nextTick)()},prevJumpByEvent(e){S(e)},nextJump(){return k(),(0,_vue.nextTick)()},nextJumpByEvent(e){k(e)},setCurrentPage(e){e=_xeUtils.default.toNumber(e)||1;return n.inpCurrPage=e,c(e),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){t=_xeUtils.default.toNumber(t)||1;n.inpCurrPage=t,c(t,e)},jumpPage(e){return(0,_log.warnLog)("vxe.error.delFunc",["jumpPage","setCurrentPage"]),h.setCurrentPage(e)}},e={handlePrevPage:E,handleNextPage:y,handlePrevJump:S,handleNextJump:k};Object.assign(h,t,e),(0,_vue.watch)(()=>_.currentPage,e=>{n.inpCurrPage=e});return h.renderVN=()=>{var{align:e,layouts:t,className:a}=_;const r=[];var u=g.value,n=P.value;return m.left&&r.push((0,_vue.h)("span",{class:"vxe-pager--left-wrapper"},m.left({$grid:p}))),t.forEach(e=>{let t;switch(e){case"Home":t=J;break;case"PrevJump":t=M;break;case"PrevPage":t=I;break;case"Number":t=$;break;case"JumpNumber":t=A;break;case"NextPage":t=R;break;case"NextJump":t=T;break;case"End":t=j;break;case"Sizes":t=U;break;case"FullJump":t=G;break;case"Jump":t=B;break;case"PageCount":t=V;break;case"Total":t=q}t?r.push(t()):(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}),m.right&&r.push((0,_vue.h)("span",{class:"vxe-pager--right-wrapper"},m.right({$grid:p}))),(0,_vue.h)("div",{ref:i,class:["vxe-pager",a?_xeUtils.default.isFunction(a)?a({$pager:h}):a:"",{["size--"+u]:u,["align--"+e]:e,"is--border":_.border,"is--background":_.background,"is--perfect":_.perfect,"is--hidden":_.autoHidden&&1===n,"is--loading":_.loading}]},[(0,_vue.h)("div",{class:"vxe-pager--wrapper"},r)])},h},render(){return this.renderVN()}});
|