vxe-pc-ui 4.4.10 → 4.4.11

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 (33) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/pager/src/pager.js +32 -20
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/ui/index.js +1 -1
  6. package/es/ui/src/log.js +1 -1
  7. package/lib/icon/style/style.css +1 -1
  8. package/lib/icon/style/style.min.css +1 -1
  9. package/lib/index.umd.js +68 -15
  10. package/lib/index.umd.min.js +1 -1
  11. package/lib/pager/src/pager.js +66 -13
  12. package/lib/pager/src/pager.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/style.min.css +1 -1
  15. package/lib/ui/index.js +1 -1
  16. package/lib/ui/index.min.js +1 -1
  17. package/lib/ui/src/log.js +1 -1
  18. package/lib/ui/src/log.min.js +1 -1
  19. package/package.json +1 -1
  20. package/packages/pager/src/pager.ts +32 -20
  21. package/types/components/pager.d.ts +23 -0
  22. /package/es/icon/{iconfont.1741767880820.ttf → iconfont.1741830156438.ttf} +0 -0
  23. /package/es/icon/{iconfont.1741767880820.woff → iconfont.1741830156438.woff} +0 -0
  24. /package/es/icon/{iconfont.1741767880820.woff2 → iconfont.1741830156438.woff2} +0 -0
  25. /package/es/{iconfont.1741767880820.ttf → iconfont.1741830156438.ttf} +0 -0
  26. /package/es/{iconfont.1741767880820.woff → iconfont.1741830156438.woff} +0 -0
  27. /package/es/{iconfont.1741767880820.woff2 → iconfont.1741830156438.woff2} +0 -0
  28. /package/lib/icon/style/{iconfont.1741767880820.ttf → iconfont.1741830156438.ttf} +0 -0
  29. /package/lib/icon/style/{iconfont.1741767880820.woff → iconfont.1741830156438.woff} +0 -0
  30. /package/lib/icon/style/{iconfont.1741767880820.woff2 → iconfont.1741830156438.woff2} +0 -0
  31. /package/lib/{iconfont.1741767880820.ttf → iconfont.1741830156438.ttf} +0 -0
  32. /package/lib/{iconfont.1741767880820.woff → iconfont.1741830156438.woff} +0 -0
  33. /package/lib/{iconfont.1741767880820.woff2 → iconfont.1741830156438.woff2} +0 -0
@@ -266,14 +266,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
266
266
  // 第一页
267
267
  const renderHomePage = () => {
268
268
  const {
269
- currentPage
269
+ currentPage,
270
+ total
270
271
  } = props;
271
272
  const homeSlot = slots.home;
273
+ const pageCount = computePageCount.value;
272
274
  if (homeSlot) {
273
275
  return (0, _vue.h)('span', {
274
276
  class: 'vxe-pager--custom-home-btn'
275
277
  }, homeSlot({
276
- currentPage
278
+ $pager: $xePager,
279
+ total,
280
+ currentPage,
281
+ pageCount
277
282
  }));
278
283
  }
279
284
  return (0, _vue.h)('button', {
@@ -290,14 +295,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
290
295
  // 上一页
291
296
  const renderPrevPage = () => {
292
297
  const {
293
- currentPage
298
+ currentPage,
299
+ total
294
300
  } = props;
295
301
  const prevPageSlot = slots.prevPage || slots['prev-page'];
302
+ const pageCount = computePageCount.value;
296
303
  if (prevPageSlot) {
297
304
  return (0, _vue.h)('span', {
298
305
  class: 'vxe-pager--custom-prev-btn'
299
306
  }, prevPageSlot({
300
- currentPage
307
+ $pager: $xePager,
308
+ total,
309
+ currentPage,
310
+ pageCount
301
311
  }));
302
312
  }
303
313
  return (0, _vue.h)('button', {
@@ -314,14 +324,19 @@ var _default = exports.default = (0, _vue.defineComponent)({
314
324
  // 向上翻页
315
325
  const renderPrevJump = tagName => {
316
326
  const {
317
- currentPage
327
+ currentPage,
328
+ total
318
329
  } = props;
319
330
  const prevJumpSlot = slots.prevJump || slots['prev-jump'];
331
+ const pageCount = computePageCount.value;
320
332
  if (prevJumpSlot) {
321
333
  return (0, _vue.h)('span', {
322
334
  class: 'vxe-pager--custom-jump-prev'
323
335
  }, prevJumpSlot({
324
- currentPage
336
+ $pager: $xePager,
337
+ total,
338
+ currentPage,
339
+ pageCount
325
340
  }));
326
341
  }
327
342
  return (0, _vue.h)(tagName || 'button', {
@@ -341,7 +356,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
341
356
  // 向下翻页
342
357
  const renderNextJump = tagName => {
343
358
  const {
344
- currentPage
359
+ currentPage,
360
+ total
345
361
  } = props;
346
362
  const nextJumpSlot = slots.nextJump || slots['next-jump'];
347
363
  const pageCount = computePageCount.value;
@@ -349,7 +365,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
349
365
  return (0, _vue.h)('span', {
350
366
  class: 'vxe-pager--custom-jump-next'
351
367
  }, nextJumpSlot({
352
- currentPage
368
+ $pager: $xePager,
369
+ total,
370
+ currentPage,
371
+ pageCount
353
372
  }));
354
373
  }
355
374
  return (0, _vue.h)(tagName || 'button', {
@@ -369,7 +388,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
369
388
  // 下一页
370
389
  const renderNextPage = () => {
371
390
  const {
372
- currentPage
391
+ currentPage,
392
+ total
373
393
  } = props;
374
394
  const nextPageSlot = slots.nextPage || slots['next-page'];
375
395
  const pageCount = computePageCount.value;
@@ -377,7 +397,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
377
397
  return (0, _vue.h)('span', {
378
398
  class: 'vxe-pager--custom-next-btn'
379
399
  }, nextPageSlot({
380
- currentPage
400
+ $pager: $xePager,
401
+ total,
402
+ currentPage,
403
+ pageCount
381
404
  }));
382
405
  }
383
406
  return (0, _vue.h)('button', {
@@ -394,7 +417,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
394
417
  // 最后一页
395
418
  const renderEndPage = () => {
396
419
  const {
397
- currentPage
420
+ currentPage,
421
+ total
398
422
  } = props;
399
423
  const endSlot = slots.end;
400
424
  const pageCount = computePageCount.value;
@@ -402,6 +426,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
402
426
  return (0, _vue.h)('span', {
403
427
  class: 'vxe-pager--custom-end-btn'
404
428
  }, endSlot({
429
+ $pager: $xePager,
430
+ total,
405
431
  currentPage,
406
432
  pageCount
407
433
  }));
@@ -421,6 +447,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
421
447
  const renderNumber = showJump => {
422
448
  const {
423
449
  currentPage,
450
+ total,
424
451
  pagerCount
425
452
  } = props;
426
453
  const numberSlot = showJump ? slots.numberJump || slots['number-jump'] : slots.number;
@@ -474,6 +501,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
474
501
  return (0, _vue.h)('span', {
475
502
  class: 'vxe-pager--custom-btn-wrapper'
476
503
  }, numberSlot({
504
+ $pager: $xePager,
505
+ total,
477
506
  numList: restList,
478
507
  currentPage,
479
508
  pageCount
@@ -490,16 +519,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
490
519
  // sizes
491
520
  const renderSizes = () => {
492
521
  const {
522
+ total,
523
+ currentPage,
493
524
  pageSize,
494
525
  pageSizePlacement,
495
526
  transfer
496
527
  } = props;
497
528
  const sizesSlot = slots.sizes;
498
529
  const sizeList = computeSizeList.value;
530
+ const pageCount = computePageCount.value;
499
531
  if (sizesSlot) {
500
532
  return (0, _vue.h)('span', {
501
533
  class: 'vxe-pager--custom-sizes'
502
534
  }, sizesSlot({
535
+ $pager: $xePager,
536
+ total,
537
+ currentPage,
538
+ pageCount,
503
539
  pageSize,
504
540
  options: sizeList
505
541
  }));
@@ -515,6 +551,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
515
551
  };
516
552
  // Jump
517
553
  const renderJump = isFull => {
554
+ const {
555
+ total
556
+ } = props;
518
557
  const {
519
558
  inpCurrPage
520
559
  } = reactData;
@@ -524,6 +563,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
524
563
  return (0, _vue.h)('span', {
525
564
  class: 'vxe-pager--custom-jump'
526
565
  }, jumpSlot({
566
+ $pager: $xePager,
567
+ total,
527
568
  currentPage: inpCurrPage,
528
569
  pageCount
529
570
  }));
@@ -557,7 +598,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
557
598
  // PageCount
558
599
  const renderPageCount = () => {
559
600
  const {
560
- currentPage
601
+ currentPage,
602
+ total
561
603
  } = props;
562
604
  const pageCountSlot = slots.pageCount || slots['page-count'];
563
605
  const pageCount = computePageCount.value;
@@ -565,6 +607,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
565
607
  return (0, _vue.h)('span', {
566
608
  class: 'vxe-pager--custom-count'
567
609
  }, pageCountSlot({
610
+ $pager: $xePager,
611
+ total,
568
612
  currentPage,
569
613
  pageCount
570
614
  }));
@@ -582,12 +626,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
582
626
  total
583
627
  } = props;
584
628
  const totalSlot = slots.total;
629
+ const pageCount = computePageCount.value;
585
630
  if (totalSlot) {
586
631
  return (0, _vue.h)('span', {
587
632
  class: 'vxe-pager--custom-total'
588
633
  }, totalSlot({
634
+ $pager: $xePager,
589
635
  total,
590
- currentPage
636
+ currentPage,
637
+ pageCount
591
638
  }));
592
639
  }
593
640
  return (0, _vue.h)('span', {
@@ -624,6 +671,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
624
671
  nextJump() {
625
672
  handleNextJump();
626
673
  return (0, _vue.nextTick)();
674
+ },
675
+ jumpPage(currentPage) {
676
+ const current = _xeUtils.default.toNumber(currentPage) || 1;
677
+ reactData.inpCurrPage = current;
678
+ changeCurrentPage(current);
679
+ return (0, _vue.nextTick)();
627
680
  }
628
681
  };
629
682
  pagerPrivateMethods = {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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,_vue.defineComponent)({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(v,e){const{slots:_,emit:u}=e;var a=_xeUtils.default.uniqueId();const p=(0,_ui.useSize)(v)["computeSize"],g=(0,_vue.inject)("$xeGrid",null),n=(0,_vue.reactive)({inpCurrPage:v.currentPage}),i=(0,_vue.ref)(),t={refElem:i},m=(0,_vue.computed)(()=>c(v.total,v.pageSize)),d=(0,_vue.computed)(()=>{var e=v["pagerCount"],a=e<m.value?e-2:e,t=[];for(let e=0;e<a;e++)t.push(e);return t}),x=(0,_vue.computed)(()=>Math.floor((v.pagerCount-2)/2)),s=(0,_vue.computed)(()=>v.pageSizes.map(e=>_xeUtils.default.isNumber(e)?{value:e,label:""+(0,_ui.getI18n)("vxe.pager.pagesize",[e])}:Object.assign({value:"",label:""},e))),l={xID:a,props:v,context:e,getRefMaps:()=>t};let o={};const c=(e,a)=>Math.max(Math.ceil(e/a),1),P=(e,a)=>{u("update:currentPage",a),e&&a!==v.currentPage&&o.dispatchEvent("page-change",{type:"current",pageSize:v.pageSize,currentPage:a},e)},h=(e,a)=>{u("update:currentPage",e),a&&e!==v.currentPage&&o.dispatchEvent("page-change",{type:"current",pageSize:v.pageSize,currentPage:e},a)},b=e=>{var e=e["$event"],a=e.target,t=_xeUtils.default.toInteger(a.value),r=m.value,r=t<=0?1:r<=t?r:t,t=_xeUtils.default.toValueString(r);a.value=t,n.inpCurrPage=t,h(r,e)},r=e=>{var a=v["currentPage"];1<a&&h(1,e)},f=e=>{var a=v["currentPage"],t=m.value;a<t&&h(t,e)},E=e=>{var a=v["currentPage"],t=m.value;1<a&&h(Math.min(t,Math.max(a-1,1)),e)},C=e=>{var a=v["currentPage"],t=m.value;a<t&&h(Math.min(t,a+1),e)},y=e=>{var a=d.value;h(Math.max(v.currentPage-a.length,1),e)},S=e=>{var a=m.value,t=d.value;h(Math.min(v.currentPage+t.length,a),e)},k=e=>{var a=e["value"],a=_xeUtils.default.toNumber(a),t=c(v.total,a);let r=v.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)?b(e):_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ARROW_UP)?(a.preventDefault(),C(a)):_ui.globalEvents.hasKey(a,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN)&&(a.preventDefault(),E(a))},z=()=>{var e=v["currentPage"],a=_.home;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-home-btn"},a({currentPage:e})):(0,_vue.h)("button",{class:["vxe-pager--home-btn",{"is--disabled":e<=1}],type:"button",title:(0,_ui.getI18n)("vxe.pager.homePageTitle"),onClick:r},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",v.iconHomePage||(0,_ui.getIcon)().PAGER_HOME]})])},J=()=>{var e=v["currentPage"],a=_.prevPage||_["prev-page"];return a?(0,_vue.h)("span",{class:"vxe-pager--custom-prev-btn"},a({currentPage:e})):(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",v.iconPrevPage||(0,_ui.getIcon)().PAGER_PREV_PAGE]})])},M=e=>{var a=v["currentPage"],t=_.prevJump||_["prev-jump"];return t?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-prev"},t({currentPage:a})):(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:y},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",v.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",v.iconJumpPrev||(0,_ui.getIcon)().PAGER_JUMP_PREV]})])},I=e=>{var a=v["currentPage"],t=_.nextJump||_["next-jump"],r=m.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-jump-next"},t({currentPage:a})):(0,_vue.h)(e||"button",{class:["vxe-pager--jump-next",{"is--fixed":!e,"is--disabled":r<=a}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextJumpTitle"),onClick:S},[e?(0,_vue.h)("i",{class:["vxe-pager--jump-more-icon",v.iconJumpMore||(0,_ui.getIcon)().PAGER_JUMP_MORE]}):null,(0,_vue.h)("i",{class:["vxe-pager--jump-icon",v.iconJumpNext||(0,_ui.getIcon)().PAGER_JUMP_NEXT]})])},R=()=>{var e=v["currentPage"],a=_.nextPage||_["next-page"],t=m.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-next-btn"},a({currentPage:e})):(0,_vue.h)("button",{class:["vxe-pager--next-btn",{"is--disabled":t<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.nextPageTitle"),onClick:C},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",v.iconNextPage||(0,_ui.getIcon)().PAGER_NEXT_PAGE]})])},T=()=>{var e=v["currentPage"],a=_.end,t=m.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-end-btn"},a({currentPage:e,pageCount:t})):(0,_vue.h)("button",{class:["vxe-pager--end-btn",{"is--disabled":t<=e}],type:"button",title:(0,_ui.getI18n)("vxe.pager.endPageTitle"),onClick:f},[(0,_vue.h)("i",{class:["vxe-pager--btn-icon",v.iconEndPage||(0,_ui.getIcon)().PAGER_END]})])},j=e=>{const{currentPage:r,pagerCount:a}=v;var t=e?_.numberJump||_["number-jump"]:_.number;const u=[],n=m.value;var p=d.value,g=x.value,i=n>a,s=i&&r>g+1,l=i&&r<n-g;const o=[];let c=1;return i&&(c=r>=n-g?Math.max(n-p.length+1,1):Math.max(r-g,1)),e&&s&&(o.push(1),u.push((0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>P(e,1)},"1"),M("span"))),p.forEach((e,a)=>{const t=c+a;t<=n&&(o.push(t),u.push((0,_vue.h)("button",{key:t,class:["vxe-pager--num-btn",{"is--active":r===t}],type:"button",onClick:e=>P(e,t)},""+t)))}),e&&l&&(o.push(n),u.push(I("button"),(0,_vue.h)("button",{class:"vxe-pager--num-btn",type:"button",onClick:e=>P(e,n)},n))),t?(0,_vue.h)("span",{class:"vxe-pager--custom-btn-wrapper"},t({numList:o,currentPage:r,pageCount:n})):(0,_vue.h)("span",{class:"vxe-pager--btn-wrapper"},u)},G=()=>j(!0),O=()=>{var{pageSize:e,pageSizePlacement:a,transfer:t}=v,r=_.sizes,u=s.value;return r?(0,_vue.h)("span",{class:"vxe-pager--custom-sizes"},r({pageSize:e,options:u})):(0,_vue.h)(_select.default,{class:"vxe-pager--sizes",modelValue:e,placement:a,transfer:t,options:u,onChange:k})},A=e=>{var a=n["inpCurrPage"],t=e?_.fullJump||_["full-jump"]:_.jump,r=m.value;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-jump"},t({currentPage:a,pageCount:r})):(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:r,min:1,controls:!1,onKeydown:N,onBlur:b,"onUpdate:modelValue"(e){n.inpCurrPage=e}}),e?(0,_vue.h)("span",{class:"vxe-pager--classifier-text"},(0,_ui.getI18n)("vxe.pager.pageClassifier")):null])},U=()=>A(!0),V=()=>{var e=v["currentPage"],a=_.pageCount||_["page-count"],t=m.value;return a?(0,_vue.h)("span",{class:"vxe-pager--custom-count"},a({currentPage:e,pageCount:t})):(0,_vue.h)("span",{class:"vxe-pager--count"},[(0,_vue.h)("span",{class:"vxe-pager--separator"}),(0,_vue.h)("span",t)])},q=()=>{var{currentPage:e,total:a}=v,t=_.total;return t?(0,_vue.h)("span",{class:"vxe-pager--custom-total"},t({total:a,currentPage:e})):(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:l},a))},homePage(){return r(),(0,_vue.nextTick)()},endPage(){return f(),(0,_vue.nextTick)()},prevPage(){return E(),(0,_vue.nextTick)()},nextPage(){return C(),(0,_vue.nextTick)()},prevJump(){return y(),(0,_vue.nextTick)()},nextJump(){return S(),(0,_vue.nextTick)()}},a={handlePrevPage:E,handleNextPage:C,handlePrevJump:y,handleNextJump:S},Object.assign(l,o,a),(0,_vue.watch)(()=>v.currentPage,e=>{n.inpCurrPage=e});return l.renderVN=()=>{var{align:e,layouts:a,className:t}=v;const r=[];var u=p.value,n=m.value;return _.left&&r.push((0,_vue.h)("span",{class:"vxe-pager--left-wrapper"},_.left({$grid:g}))),a.forEach(e=>{let a;switch(e){case"Home":a=z;break;case"PrevJump":a=M;break;case"PrevPage":a=J;break;case"Number":a=j;break;case"JumpNumber":a=G;break;case"NextPage":a=R;break;case"NextJump":a=I;break;case"End":a=T;break;case"Sizes":a=O;break;case"FullJump":a=U;break;case"Jump":a=A;break;case"PageCount":a=V;break;case"Total":a=q}a?r.push(a()):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}),_.right&&r.push((0,_vue.h)("span",{class:"vxe-pager--right-wrapper"},_.right({$grid:g}))),(0,_vue.h)("div",{ref:i,class:["vxe-pager",t?_xeUtils.default.isFunction(t)?t({$pager:l}):t:"",{["size--"+u]:u,["align--"+e]:e,"is--border":v.border,"is--background":v.background,"is--perfect":v.perfect,"is--hidden":v.autoHidden&&1===n,"is--loading":v.loading}]},[(0,_vue.h)("div",{class:"vxe-pager--wrapper"},r)])},l},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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,_vue.defineComponent)({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)),d=(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}),P=(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=d.value;c(Math.max(_.currentPage-a.length,1),e)},k=e=>{var a=x.value,t=d.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.dispatchEvent("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=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=d.value,i=P.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:N})},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: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])},O=()=>A(!0),V=()=>{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)])},q=()=>{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=O;break;case"Jump":a=A;break;case"PageCount":a=V;break;case"Total":a=q}a?r.push(a()):"development"===process.env.NODE_ENV&&(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()}});