vxe-pc-ui 4.7.28 → 4.7.30
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/color-picker/src/color-picker.js +5 -4
- package/es/icon/style.css +1 -1
- package/es/pager/src/pager.js +66 -28
- 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/color-picker/src/color-picker.js +5 -4
- package/lib/color-picker/src/color-picker.min.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 +12904 -12856
- package/lib/index.umd.min.js +1 -1
- package/lib/pager/src/pager.js +77 -33
- 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 +2 -2
- package/packages/color-picker/src/color-picker.ts +5 -4
- package/packages/pager/src/pager.ts +67 -30
- package/types/components/grid.d.ts +26 -2
- package/types/components/pager.d.ts +19 -1
- /package/es/icon/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
- /package/es/icon/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
- /package/es/icon/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
- /package/es/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
- /package/es/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
- /package/es/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
- /package/lib/icon/style/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
- /package/lib/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
- /package/lib/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
- /package/lib/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
package/lib/pager/src/pager.js
CHANGED
|
@@ -10,7 +10,7 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
10
10
|
var _ui = require("../../ui");
|
|
11
11
|
var _log = require("../../ui/src/log");
|
|
12
12
|
var _select = _interopRequireDefault(require("../../select/src/select"));
|
|
13
|
-
var
|
|
13
|
+
var _numberInput = _interopRequireDefault(require("../../number-input/src/number-input"));
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
16
16
|
name: 'VxePager',
|
|
@@ -150,25 +150,28 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
150
150
|
context,
|
|
151
151
|
getRefMaps: () => refMaps
|
|
152
152
|
};
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
154
|
+
emit(type, (0, _ui.createEvent)(evnt, {
|
|
155
|
+
$pager: $xePager
|
|
156
|
+
}, params));
|
|
157
|
+
};
|
|
155
158
|
const getPageCount = (total, size) => {
|
|
156
159
|
return Math.max(Math.ceil(total / size), 1);
|
|
157
160
|
};
|
|
158
|
-
const
|
|
161
|
+
const handleJumpPageEvent = (evnt, currentPage) => {
|
|
159
162
|
emit('update:currentPage', currentPage);
|
|
160
163
|
if (evnt && currentPage !== props.currentPage) {
|
|
161
|
-
|
|
164
|
+
dispatchEvent('page-change', {
|
|
162
165
|
type: 'current',
|
|
163
166
|
pageSize: props.pageSize,
|
|
164
167
|
currentPage
|
|
165
168
|
}, evnt);
|
|
166
169
|
}
|
|
167
170
|
};
|
|
168
|
-
const
|
|
171
|
+
const handleChangeCurrentPage = (currentPage, evnt) => {
|
|
169
172
|
emit('update:currentPage', currentPage);
|
|
170
173
|
if (evnt && currentPage !== props.currentPage) {
|
|
171
|
-
|
|
174
|
+
dispatchEvent('page-change', {
|
|
172
175
|
type: 'current',
|
|
173
176
|
pageSize: props.pageSize,
|
|
174
177
|
currentPage
|
|
@@ -186,14 +189,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
186
189
|
const currPage = _xeUtils.default.toValueString(current);
|
|
187
190
|
inputElem.value = currPage;
|
|
188
191
|
reactData.inpCurrPage = currPage;
|
|
189
|
-
|
|
192
|
+
handleChangeCurrentPage(current, $event);
|
|
190
193
|
};
|
|
191
194
|
const handleHomePage = evnt => {
|
|
192
195
|
const {
|
|
193
196
|
currentPage
|
|
194
197
|
} = props;
|
|
195
198
|
if (currentPage > 1) {
|
|
196
|
-
|
|
199
|
+
handleChangeCurrentPage(1, evnt);
|
|
197
200
|
}
|
|
198
201
|
};
|
|
199
202
|
const handleEndPage = evnt => {
|
|
@@ -202,7 +205,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
202
205
|
} = props;
|
|
203
206
|
const pageCount = computePageCount.value;
|
|
204
207
|
if (currentPage < pageCount) {
|
|
205
|
-
|
|
208
|
+
handleChangeCurrentPage(pageCount, evnt);
|
|
206
209
|
}
|
|
207
210
|
};
|
|
208
211
|
const handlePrevPage = evnt => {
|
|
@@ -211,7 +214,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
211
214
|
} = props;
|
|
212
215
|
const pageCount = computePageCount.value;
|
|
213
216
|
if (currentPage > 1) {
|
|
214
|
-
|
|
217
|
+
handleChangeCurrentPage(Math.min(pageCount, Math.max(currentPage - 1, 1)), evnt);
|
|
215
218
|
}
|
|
216
219
|
};
|
|
217
220
|
const handleNextPage = evnt => {
|
|
@@ -220,21 +223,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
220
223
|
} = props;
|
|
221
224
|
const pageCount = computePageCount.value;
|
|
222
225
|
if (currentPage < pageCount) {
|
|
223
|
-
|
|
226
|
+
handleChangeCurrentPage(Math.min(pageCount, currentPage + 1), evnt);
|
|
224
227
|
}
|
|
225
228
|
};
|
|
226
229
|
const handlePrevJump = evnt => {
|
|
227
230
|
const numList = computeNumList.value;
|
|
228
|
-
|
|
231
|
+
handleChangeCurrentPage(Math.max(props.currentPage - numList.length, 1), evnt);
|
|
229
232
|
};
|
|
230
233
|
const handleNextJump = evnt => {
|
|
231
234
|
const pageCount = computePageCount.value;
|
|
232
235
|
const numList = computeNumList.value;
|
|
233
|
-
|
|
236
|
+
handleChangeCurrentPage(Math.min(props.currentPage + numList.length, pageCount), evnt);
|
|
234
237
|
};
|
|
235
238
|
const pageSizeEvent = params => {
|
|
236
239
|
const {
|
|
237
|
-
value
|
|
240
|
+
value,
|
|
241
|
+
$event
|
|
238
242
|
} = params;
|
|
239
243
|
const pageSize = _xeUtils.default.toNumber(value);
|
|
240
244
|
const pageCount = getPageCount(props.total, pageSize);
|
|
@@ -244,11 +248,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
244
248
|
emit('update:currentPage', pageCount);
|
|
245
249
|
}
|
|
246
250
|
emit('update:pageSize', pageSize);
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
251
|
+
if ($event) {
|
|
252
|
+
dispatchEvent('page-change', {
|
|
253
|
+
type: 'size',
|
|
254
|
+
pageSize,
|
|
255
|
+
currentPage
|
|
256
|
+
}, $event);
|
|
257
|
+
}
|
|
252
258
|
};
|
|
253
259
|
const jumpKeydownEvent = params => {
|
|
254
260
|
const {
|
|
@@ -473,7 +479,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
473
479
|
nums.push((0, _vue.h)('button', {
|
|
474
480
|
class: 'vxe-pager--num-btn',
|
|
475
481
|
type: 'button',
|
|
476
|
-
onClick: evnt =>
|
|
482
|
+
onClick: evnt => handleJumpPageEvent(evnt, 1)
|
|
477
483
|
}, '1'), renderPrevJump('span'));
|
|
478
484
|
}
|
|
479
485
|
numList.forEach((item, index) => {
|
|
@@ -486,7 +492,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
486
492
|
'is--active': currentPage === number
|
|
487
493
|
}],
|
|
488
494
|
type: 'button',
|
|
489
|
-
onClick: evnt =>
|
|
495
|
+
onClick: evnt => handleJumpPageEvent(evnt, number)
|
|
490
496
|
}, `${number}`));
|
|
491
497
|
}
|
|
492
498
|
});
|
|
@@ -495,7 +501,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
495
501
|
nums.push(renderNextJump('button'), (0, _vue.h)('button', {
|
|
496
502
|
class: 'vxe-pager--num-btn',
|
|
497
503
|
type: 'button',
|
|
498
|
-
onClick: evnt =>
|
|
504
|
+
onClick: evnt => handleJumpPageEvent(evnt, pageCount)
|
|
499
505
|
}, pageCount));
|
|
500
506
|
}
|
|
501
507
|
if (numberSlot) {
|
|
@@ -574,7 +580,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
574
580
|
class: 'vxe-pager--jump'
|
|
575
581
|
}, [isFull ? (0, _vue.h)('span', {
|
|
576
582
|
class: 'vxe-pager--goto-text'
|
|
577
|
-
}, (0, _ui.getI18n)('vxe.pager.goto')) : null, (0, _vue.h)(
|
|
583
|
+
}, (0, _ui.getI18n)('vxe.pager.goto')) : null, (0, _vue.h)(_numberInput.default, {
|
|
578
584
|
class: 'vxe-pager--goto',
|
|
579
585
|
modelValue: reactData.inpCurrPage,
|
|
580
586
|
placeholder: (0, _ui.getI18n)('vxe.pager.gotoTitle'),
|
|
@@ -642,45 +648,83 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
642
648
|
class: 'vxe-pager--total'
|
|
643
649
|
}, (0, _ui.getI18n)('vxe.pager.total', [total]));
|
|
644
650
|
};
|
|
645
|
-
const
|
|
646
|
-
emit(type, (0, _ui.createEvent)(evnt, {
|
|
647
|
-
$pager: $xePager
|
|
648
|
-
}, params));
|
|
649
|
-
};
|
|
650
|
-
pagerMethods = {
|
|
651
|
+
const pagerMethods = {
|
|
651
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
|
+
},
|
|
652
665
|
homePage() {
|
|
653
666
|
handleHomePage();
|
|
654
667
|
return (0, _vue.nextTick)();
|
|
655
668
|
},
|
|
669
|
+
homePageByEvent(evnt) {
|
|
670
|
+
handleHomePage(evnt);
|
|
671
|
+
},
|
|
656
672
|
endPage() {
|
|
657
673
|
handleEndPage();
|
|
658
674
|
return (0, _vue.nextTick)();
|
|
659
675
|
},
|
|
676
|
+
endPageByEvent(evnt) {
|
|
677
|
+
handleEndPage(evnt);
|
|
678
|
+
},
|
|
660
679
|
prevPage() {
|
|
661
680
|
handlePrevPage();
|
|
662
681
|
return (0, _vue.nextTick)();
|
|
663
682
|
},
|
|
683
|
+
prevPageByEvent(evnt) {
|
|
684
|
+
handlePrevPage(evnt);
|
|
685
|
+
},
|
|
664
686
|
nextPage() {
|
|
665
687
|
handleNextPage();
|
|
666
688
|
return (0, _vue.nextTick)();
|
|
667
689
|
},
|
|
690
|
+
nextPageByEvent(evnt) {
|
|
691
|
+
handleNextPage(evnt);
|
|
692
|
+
},
|
|
668
693
|
prevJump() {
|
|
669
694
|
handlePrevJump();
|
|
670
695
|
return (0, _vue.nextTick)();
|
|
671
696
|
},
|
|
697
|
+
prevJumpByEvent(evnt) {
|
|
698
|
+
handlePrevJump(evnt);
|
|
699
|
+
},
|
|
672
700
|
nextJump() {
|
|
673
701
|
handleNextJump();
|
|
674
702
|
return (0, _vue.nextTick)();
|
|
675
703
|
},
|
|
676
|
-
|
|
704
|
+
nextJumpByEvent(evnt) {
|
|
705
|
+
handleNextJump(evnt);
|
|
706
|
+
},
|
|
707
|
+
setCurrentPage(currentPage) {
|
|
677
708
|
const current = _xeUtils.default.toNumber(currentPage) || 1;
|
|
678
709
|
reactData.inpCurrPage = current;
|
|
679
|
-
|
|
710
|
+
handleChangeCurrentPage(current);
|
|
680
711
|
return (0, _vue.nextTick)();
|
|
712
|
+
},
|
|
713
|
+
setCurrentPageByEvent(evnt, currentPage) {
|
|
714
|
+
const current = _xeUtils.default.toNumber(currentPage) || 1;
|
|
715
|
+
reactData.inpCurrPage = current;
|
|
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);
|
|
681
725
|
}
|
|
682
726
|
};
|
|
683
|
-
pagerPrivateMethods = {
|
|
727
|
+
const pagerPrivateMethods = {
|
|
684
728
|
handlePrevPage,
|
|
685
729
|
handleNextPage,
|
|
686
730
|
handlePrevJump,
|
|
@@ -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")),_input=_interopRequireDefault(require("../../input/src/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},x=(0,_vue.computed)(()=>s(_.total,_.pageSize)),P=(0,_vue.computed)(()=>{var e=_["pagerCount"],a=e<x.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};let o={};const s=(e,a)=>Math.max(Math.ceil(e/a),1),b=(e,a)=>{u("update:currentPage",a),e&&a!==_.currentPage&&o.dispatchEvent("page-change",{type:"current",pageSize:_.pageSize,currentPage:a},e)},c=(e,a)=>{u("update:currentPage",e),a&&e!==_.currentPage&&o.dispatchEvent("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=x.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=x.value;a<t&&c(t,e)},E=e=>{var a=_["currentPage"],t=x.value;1<a&&c(Math.min(t,Math.max(a-1,1)),e)},y=e=>{var a=_["currentPage"],t=x.value;a<t&&c(Math.min(t,a+1),e)},S=e=>{var a=P.value;c(Math.max(_.currentPage-a.length,1),e)},k=e=>{var a=x.value,t=P.value;c(Math.min(_.currentPage+t.length,a),e)},z=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.dispatchEvent("page-change",{type:"size",pageSize:a,currentPage:r},e.$event)},N=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=x.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]})])},M=()=>{var{currentPage:e,total:a}=_,t=m.prevPage||m["prev-page"],r=x.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]})])},I=e=>{var{currentPage:a,total:t}=_,r=m.prevJump||m["prev-jump"],u=x.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=x.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=x.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=x.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=x.value;var g=P.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"),I("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)},G=()=>$(!0),U=()=>{var{total:e,currentPage:a,pageSize:t,pageSizePlacement:r,transfer:u}=_,n=m.sizes,p=l.value,g=x.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:z})},A=e=>{var a=_["total"],t=n["inpCurrPage"],r=e?m.fullJump||m["full-jump"]:m.jump,u=x.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)(_input.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])},V=()=>A(!0),q=()=>{var{currentPage:e,total:a}=_,t=m.pageCount||m["page-count"],r=x.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)])},O=()=>{var{currentPage:e,total:a}=_,t=m.total,r=x.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]))};o={dispatchEvent:(e,a,t)=>{u(e,(0,_ui.createEvent)(t,{$pager:h},a))},homePage(){return f(),(0,_vue.nextTick)()},endPage(){return C(),(0,_vue.nextTick)()},prevPage(){return E(),(0,_vue.nextTick)()},nextPage(){return y(),(0,_vue.nextTick)()},prevJump(){return S(),(0,_vue.nextTick)()},nextJump(){return k(),(0,_vue.nextTick)()},jumpPage(e){e=_xeUtils.default.toNumber(e)||1;return n.inpCurrPage=e,c(e),(0,_vue.nextTick)()}},a={handlePrevPage:E,handleNextPage:y,handlePrevJump:S,handleNextJump:k},Object.assign(h,o,a),(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=x.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=I;break;case"PrevPage":a=M;break;case"Number":a=$;break;case"JumpNumber":a=G;break;case"NextPage":a=T;break;case"NextJump":a=R;break;case"End":a=j;break;case"Sizes":a=U;break;case"FullJump":a=V;break;case"Jump":a=A;break;case"PageCount":a=q;break;case"Total":a=O}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()}});
|