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.
Files changed (38) hide show
  1. package/es/color-picker/src/color-picker.js +5 -4
  2. package/es/icon/style.css +1 -1
  3. package/es/pager/src/pager.js +66 -28
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/color-picker/src/color-picker.js +5 -4
  9. package/lib/color-picker/src/color-picker.min.js +1 -1
  10. package/lib/icon/style/style.css +1 -1
  11. package/lib/icon/style/style.min.css +1 -1
  12. package/lib/index.umd.js +12904 -12856
  13. package/lib/index.umd.min.js +1 -1
  14. package/lib/pager/src/pager.js +77 -33
  15. package/lib/pager/src/pager.min.js +1 -1
  16. package/lib/style.css +1 -1
  17. package/lib/style.min.css +1 -1
  18. package/lib/ui/index.js +1 -1
  19. package/lib/ui/index.min.js +1 -1
  20. package/lib/ui/src/log.js +1 -1
  21. package/lib/ui/src/log.min.js +1 -1
  22. package/package.json +2 -2
  23. package/packages/color-picker/src/color-picker.ts +5 -4
  24. package/packages/pager/src/pager.ts +67 -30
  25. package/types/components/grid.d.ts +26 -2
  26. package/types/components/pager.d.ts +19 -1
  27. /package/es/icon/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
  28. /package/es/icon/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
  29. /package/es/icon/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
  30. /package/es/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
  31. /package/es/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
  32. /package/es/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
  33. /package/lib/icon/style/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
  34. /package/lib/icon/style/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
  35. /package/lib/icon/style/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
  36. /package/lib/{iconfont.1753519976040.ttf → iconfont.1753674723968.ttf} +0 -0
  37. /package/lib/{iconfont.1753519976040.woff → iconfont.1753674723968.woff} +0 -0
  38. /package/lib/{iconfont.1753519976040.woff2 → iconfont.1753674723968.woff2} +0 -0
@@ -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 _input = _interopRequireDefault(require("../../input/src/input"));
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
- let pagerMethods = {};
154
- let pagerPrivateMethods = {};
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 jumpPageEvent = (evnt, currentPage) => {
161
+ const handleJumpPageEvent = (evnt, currentPage) => {
159
162
  emit('update:currentPage', currentPage);
160
163
  if (evnt && currentPage !== props.currentPage) {
161
- pagerMethods.dispatchEvent('page-change', {
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 changeCurrentPage = (currentPage, evnt) => {
171
+ const handleChangeCurrentPage = (currentPage, evnt) => {
169
172
  emit('update:currentPage', currentPage);
170
173
  if (evnt && currentPage !== props.currentPage) {
171
- pagerMethods.dispatchEvent('page-change', {
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
- changeCurrentPage(current, $event);
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
- changeCurrentPage(1, evnt);
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
- changeCurrentPage(pageCount, evnt);
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
- changeCurrentPage(Math.min(pageCount, Math.max(currentPage - 1, 1)), evnt);
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
- changeCurrentPage(Math.min(pageCount, currentPage + 1), evnt);
226
+ handleChangeCurrentPage(Math.min(pageCount, currentPage + 1), evnt);
224
227
  }
225
228
  };
226
229
  const handlePrevJump = evnt => {
227
230
  const numList = computeNumList.value;
228
- changeCurrentPage(Math.max(props.currentPage - numList.length, 1), evnt);
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
- changeCurrentPage(Math.min(props.currentPage + numList.length, pageCount), evnt);
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
- pagerMethods.dispatchEvent('page-change', {
248
- type: 'size',
249
- pageSize,
250
- currentPage
251
- }, params.$event);
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 => jumpPageEvent(evnt, 1)
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 => jumpPageEvent(evnt, number)
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 => jumpPageEvent(evnt, pageCount)
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)(_input.default, {
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 dispatchEvent = (type, params, evnt) => {
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
- jumpPage(currentPage) {
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
- changeCurrentPage(current);
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()}});