vxe-pc-ui 4.4.10 → 4.4.12

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 (50) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/list/src/list.js +2 -1
  3. package/es/number-input/src/number-input.js +31 -17
  4. package/es/pager/src/pager.js +32 -20
  5. package/es/select/src/select.js +24 -10
  6. package/es/style.css +1 -1
  7. package/es/style.min.css +1 -1
  8. package/es/ui/index.js +9 -6
  9. package/es/ui/src/log.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 +140 -48
  13. package/lib/index.umd.min.js +1 -1
  14. package/lib/list/src/list.js +2 -1
  15. package/lib/list/src/list.min.js +1 -1
  16. package/lib/number-input/src/number-input.js +33 -19
  17. package/lib/number-input/src/number-input.min.js +1 -1
  18. package/lib/pager/src/pager.js +66 -13
  19. package/lib/pager/src/pager.min.js +1 -1
  20. package/lib/select/src/select.js +29 -8
  21. package/lib/select/src/select.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/style.min.css +1 -1
  24. package/lib/ui/index.js +9 -6
  25. package/lib/ui/index.min.js +1 -1
  26. package/lib/ui/src/log.js +1 -1
  27. package/lib/ui/src/log.min.js +1 -1
  28. package/package.json +1 -1
  29. package/packages/list/src/list.ts +2 -1
  30. package/packages/number-input/src/number-input.ts +31 -17
  31. package/packages/pager/src/pager.ts +32 -20
  32. package/packages/select/src/select.ts +24 -10
  33. package/packages/ui/index.ts +8 -5
  34. package/types/components/list.d.ts +30 -0
  35. package/types/components/number-input.d.ts +3 -0
  36. package/types/components/pager.d.ts +23 -0
  37. package/types/components/select.d.ts +68 -3
  38. package/types/components/table.d.ts +8 -0
  39. /package/es/icon/{iconfont.1741767880820.ttf → iconfont.1741852097093.ttf} +0 -0
  40. /package/es/icon/{iconfont.1741767880820.woff → iconfont.1741852097093.woff} +0 -0
  41. /package/es/icon/{iconfont.1741767880820.woff2 → iconfont.1741852097093.woff2} +0 -0
  42. /package/es/{iconfont.1741767880820.ttf → iconfont.1741852097093.ttf} +0 -0
  43. /package/es/{iconfont.1741767880820.woff → iconfont.1741852097093.woff} +0 -0
  44. /package/es/{iconfont.1741767880820.woff2 → iconfont.1741852097093.woff2} +0 -0
  45. /package/lib/icon/style/{iconfont.1741767880820.ttf → iconfont.1741852097093.ttf} +0 -0
  46. /package/lib/icon/style/{iconfont.1741767880820.woff → iconfont.1741852097093.woff} +0 -0
  47. /package/lib/icon/style/{iconfont.1741767880820.woff2 → iconfont.1741852097093.woff2} +0 -0
  48. /package/lib/{iconfont.1741767880820.ttf → iconfont.1741852097093.ttf} +0 -0
  49. /package/lib/{iconfont.1741767880820.woff → iconfont.1741852097093.woff} +0 -0
  50. /package/lib/{iconfont.1741767880820.woff2 → iconfont.1741852097093.woff2} +0 -0
@@ -27,6 +27,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
27
27
  default: () => (0, _ui.getConfig)().list.autoResize
28
28
  },
29
29
  syncResize: [Boolean, String, Number],
30
+ virtualYConfig: Object,
30
31
  scrollY: Object
31
32
  },
32
33
  emits: ['scroll'],
@@ -76,7 +77,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
76
77
  getRefMaps: () => refMaps
77
78
  };
78
79
  const computeSYOpts = (0, _vue.computed)(() => {
79
- return Object.assign({}, (0, _ui.getConfig)().list.scrollY, props.scrollY);
80
+ return Object.assign({}, (0, _ui.getConfig)().list.virtualYConfig || (0, _ui.getConfig)().list.scrollY, props.virtualYConfig || props.scrollY);
80
81
  });
81
82
  const computeStyles = (0, _vue.computed)(() => {
82
83
  const {
@@ -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"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],scrollY:Object},emits:["scroll"],setup(u,e){const{slots:n,emit:r}=e;var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(u)["computeSize"],d=(0,_vue.reactive)({scrollYLoad:!1,bodyHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,items:[]}),s={resizeObserver:void 0,fullData:[],lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0}},v=(0,_vue.ref)(),g=(0,_vue.ref)(),h=(0,_vue.ref)(),l={refElem:v},f={xID:t,props:u,context:e,reactData:d,internalData:s,getRefMaps:()=>l},o=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.scrollY,u.scrollY)),_=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=u,{customHeight:l,customMaxHeight:r}=d,a={};return e?a.height=l+"px":t&&(a.height="auto",a.maxHeight=r+"px"),a}),i=(e,t,l)=>{r(e,(0,_ui.createEvent)(l,{$list:f},t))},a=e=>{var t=d["parentHeight"],e=u[e];let l=0;return l=e?"100%"===e||"auto"===e?t:(l=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,l)):l},x=()=>{var e=d["scrollYLoad"],{scrollYStore:t,fullData:l}=s;d.bodyHeight=e?l.length*t.rowHeight:0,d.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},m=()=>{var e=d["scrollYLoad"],{fullData:t,scrollYStore:l}=s;return d.items=e?t.slice(l.startIndex,l.endIndex):t.slice(0),(0,_vue.nextTick)()},p=()=>{m(),x()},S=()=>(0,_vue.nextTick)().then(()=>{var e=d["scrollYLoad"],t=s["scrollYStore"],l=h.value,r=o.value;let a=0,i;(i=l?(i=r.sItem?l.querySelector(r.sItem):i)||l.children[0]:i)&&(a=i.offsetHeight),a=Math.max(12,a),t.rowHeight=a,(e?(l=g.value,e=Math.max(8,Math.ceil(l.clientHeight/a)),l=r.oSize?_xeUtils.default.toNumber(r.oSize):_dom.browse.edge?10:0,t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+l,t.endIndex),p):x)()}),b=()=>{var e=g.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},H=(e,t)=>{var l=g.value;return _xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t)&&(l.scrollTop=t),d.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},z=()=>{const{lastScrollLeft:e,lastScrollTop:t}=s;return b().then(()=>{if(e||t)return s.lastScrollLeft=0,s.lastScrollTop=0,H(e,t)})},T=()=>{var e=v.value;if(e){var t=e.parentElement;if(d.parentHeight=t?t.clientHeight:0,d.customHeight=a("height"),d.customMaxHeight=a("maxHeight"),e.clientWidth&&e.clientHeight)return S()}return(0,_vue.nextTick)()},I=e=>{var t=s["scrollYStore"],{startIndex:l,endIndex:r,visibleSize:a,offsetSize:i,rowHeight:o}=t,e=e.target.scrollTop,e=Math.floor(e/o),o=Math.max(0,e-1-i),i=e+a+i;!(e<=l||r-a-1<=e)||l===o&&r===i||(t.startIndex=o,t.endIndex=i,p())},Y=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,r=t!==s.lastScrollLeft,a=l!==s.lastScrollTop;s.lastScrollTop=l,s.lastScrollLeft=t,d.scrollYLoad&&I(e),i("scroll",{scrollLeft:t,scrollTop:l,isX:r,isY:a},e)},L=e=>{var t=s["scrollYStore"],l=o.value,e=e||[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),s.fullData=e,d.scrollYLoad=!!l.enabled&&-1<l.gt&&(0===l.gt||l.gt<=e.length),m(),S().then(()=>{z()})};t={dispatchEvent:i,loadData:L,reloadData(e){return b(),L(e)},recalculate:T,scrollTo:H,refreshScroll:z,clearScroll:b};Object.assign(f,t);const M=(0,_vue.ref)(0);(0,_vue.watch)(()=>u.data?u.data.length:-1,()=>{M.value++}),(0,_vue.watch)(()=>u.data,()=>{M.value++}),(0,_vue.watch)(M,()=>{L(u.data||[])}),(0,_vue.watch)(()=>u.height,()=>{T()}),(0,_vue.watch)(()=>u.maxHeight,()=>{T()}),(0,_vue.watch)(()=>u.syncResize,e=>{e&&(T(),(0,_vue.nextTick)(()=>setTimeout(()=>T())))}),(0,_vue.onActivated)(()=>{T().then(()=>z())}),(0,_vue.nextTick)(()=>{L(u.data||[])}),(0,_vue.onMounted)(()=>{var e,t;T(),u.autoResize&&(e=v.value,(t=_ui.globalResize.create(()=>T())).observe(e),e&&t.observe(e.parentElement),s.resizeObserver=t),_ui.globalEvents.on(f,"resize",T)}),(0,_vue.onUnmounted)(()=>{var e=s["resizeObserver"];e&&e.disconnect(),_ui.globalEvents.off(f,"resize")});return f.renderVN=()=>{var{className:e,loading:t}=u,{bodyHeight:l,topSpaceHeight:r,items:a}=d,i=n.default,o=c.value,s=_.value;return(0,_vue.h)("div",{ref:v,class:["vxe-list",e?_xeUtils.default.isFunction(e)?e({$list:f}):e:"",{["size--"+o]:o,"is--loading":t}]},[(0,_vue.h)("div",{ref:g,class:"vxe-list--virtual-wrapper",style:s,onScroll:Y},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:h,class:"vxe-list--body",style:{marginTop:r?r+"px":""}},i?i({items:a,$list:f}):[])]),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:t})])},f},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"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().list.size||(0,_ui.getConfig)().size},autoResize:{type:Boolean,default:()=>(0,_ui.getConfig)().list.autoResize},syncResize:[Boolean,String,Number],virtualYConfig:Object,scrollY:Object},emits:["scroll"],setup(u,e){const{slots:n,emit:r}=e;var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(u)["computeSize"],d=(0,_vue.reactive)({scrollYLoad:!1,bodyHeight:0,customHeight:0,customMaxHeight:0,parentHeight:0,topSpaceHeight:0,items:[]}),s={resizeObserver:void 0,fullData:[],lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0}},v=(0,_vue.ref)(),g=(0,_vue.ref)(),h=(0,_vue.ref)(),l={refElem:v},f={xID:t,props:u,context:e,reactData:d,internalData:s,getRefMaps:()=>l},o=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().list.virtualYConfig||(0,_ui.getConfig)().list.scrollY,u.virtualYConfig||u.scrollY)),_=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=u,{customHeight:l,customMaxHeight:r}=d,i={};return e?i.height=l+"px":t&&(i.height="auto",i.maxHeight=r+"px"),i}),a=(e,t,l)=>{r(e,(0,_ui.createEvent)(l,{$list:f},t))},i=e=>{var t=d["parentHeight"],e=u[e];let l=0;return l=e?"100%"===e||"auto"===e?t:(l=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,l)):l},x=()=>{var e=d["scrollYLoad"],{scrollYStore:t,fullData:l}=s;d.bodyHeight=e?l.length*t.rowHeight:0,d.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},m=()=>{var e=d["scrollYLoad"],{fullData:t,scrollYStore:l}=s;return d.items=e?t.slice(l.startIndex,l.endIndex):t.slice(0),(0,_vue.nextTick)()},p=()=>{m(),x()},S=()=>(0,_vue.nextTick)().then(()=>{var e=d["scrollYLoad"],t=s["scrollYStore"],l=h.value,r=o.value;let i=0,a;(a=l?(a=r.sItem?l.querySelector(r.sItem):a)||l.children[0]:a)&&(i=a.offsetHeight),i=Math.max(12,i),t.rowHeight=i,(e?(l=g.value,e=Math.max(8,Math.ceil(l.clientHeight/i)),l=r.oSize?_xeUtils.default.toNumber(r.oSize):_dom.browse.edge?10:0,t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex+e+l,t.endIndex),p):x)()}),b=()=>{var e=g.value;return e&&(e.scrollTop=0),(0,_vue.nextTick)()},H=(e,t)=>{var l=g.value;return _xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t)&&(l.scrollTop=t),d.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},z=()=>{const{lastScrollLeft:e,lastScrollTop:t}=s;return b().then(()=>{if(e||t)return s.lastScrollLeft=0,s.lastScrollTop=0,H(e,t)})},T=()=>{var e=v.value;if(e){var t=e.parentElement;if(d.parentHeight=t?t.clientHeight:0,d.customHeight=i("height"),d.customMaxHeight=i("maxHeight"),e.clientWidth&&e.clientHeight)return S()}return(0,_vue.nextTick)()},Y=e=>{var t=s["scrollYStore"],{startIndex:l,endIndex:r,visibleSize:i,offsetSize:a,rowHeight:o}=t,e=e.target.scrollTop,e=Math.floor(e/o),o=Math.max(0,e-1-a),a=e+i+a;!(e<=l||r-i-1<=e)||l===o&&r===a||(t.startIndex=o,t.endIndex=a,p())},I=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,r=t!==s.lastScrollLeft,i=l!==s.lastScrollTop;s.lastScrollTop=l,s.lastScrollLeft=t,d.scrollYLoad&&Y(e),a("scroll",{scrollLeft:t,scrollTop:l,isX:r,isY:i},e)},L=e=>{var t=s["scrollYStore"],l=o.value,e=e||[];return Object.assign(t,{startIndex:0,endIndex:1,visibleSize:0}),s.fullData=e,d.scrollYLoad=!!l.enabled&&-1<l.gt&&(0===l.gt||l.gt<=e.length),m(),S().then(()=>{z()})};t={dispatchEvent:a,loadData:L,reloadData(e){return b(),L(e)},recalculate:T,scrollTo:H,refreshScroll:z,clearScroll:b};Object.assign(f,t);const M=(0,_vue.ref)(0);(0,_vue.watch)(()=>u.data?u.data.length:-1,()=>{M.value++}),(0,_vue.watch)(()=>u.data,()=>{M.value++}),(0,_vue.watch)(M,()=>{L(u.data||[])}),(0,_vue.watch)(()=>u.height,()=>{T()}),(0,_vue.watch)(()=>u.maxHeight,()=>{T()}),(0,_vue.watch)(()=>u.syncResize,e=>{e&&(T(),(0,_vue.nextTick)(()=>setTimeout(()=>T())))}),(0,_vue.onActivated)(()=>{T().then(()=>z())}),(0,_vue.nextTick)(()=>{L(u.data||[])}),(0,_vue.onMounted)(()=>{var e,t;T(),u.autoResize&&(e=v.value,(t=_ui.globalResize.create(()=>T())).observe(e),e&&t.observe(e.parentElement),s.resizeObserver=t),_ui.globalEvents.on(f,"resize",T)}),(0,_vue.onUnmounted)(()=>{var e=s["resizeObserver"];e&&e.disconnect(),_ui.globalEvents.off(f,"resize")});return f.renderVN=()=>{var{className:e,loading:t}=u,{bodyHeight:l,topSpaceHeight:r,items:i}=d,a=n.default,o=c.value,s=_.value;return(0,_vue.h)("div",{ref:v,class:["vxe-list",e?_xeUtils.default.isFunction(e)?e({$list:f}):e:"",{["size--"+o]:o,"is--loading":t}]},[(0,_vue.h)("div",{ref:g,class:"vxe-list--virtual-wrapper",style:s,onScroll:I},[(0,_vue.h)("div",{class:"vxe-list--y-space",style:{height:l?l+"px":""}}),(0,_vue.h)("div",{ref:h,class:"vxe-list--body",style:{marginTop:r?r+"px":""}},a?a({items:i,$list:f}):[])]),(0,_vue.h)(_loading.default,{class:"vxe-list--loading",modelValue:t})])},f},render(){return this.renderVN()}});
@@ -53,7 +53,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
53
53
  type: String,
54
54
  default: () => (0, _ui.getConfig)().numberInput.size || (0, _ui.getConfig)().size
55
55
  },
56
- multiple: Boolean,
57
56
  // number、integer、float
58
57
  min: {
59
58
  type: [String, Number],
@@ -90,6 +89,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
90
89
  type: Boolean,
91
90
  default: () => (0, _ui.getConfig)().numberInput.autoFill
92
91
  },
92
+ editable: {
93
+ type: Boolean,
94
+ default: true
95
+ },
93
96
  prefixIcon: String,
94
97
  suffixIcon: String,
95
98
  // 已废弃
@@ -199,10 +202,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
199
202
  });
200
203
  const computeInputReadonly = (0, _vue.computed)(() => {
201
204
  const {
202
- multiple
205
+ editable
203
206
  } = props;
204
207
  const formReadonly = computeFormReadonly.value;
205
- return formReadonly || multiple;
208
+ return formReadonly || !editable;
206
209
  });
207
210
  const computeInpPlaceholder = (0, _vue.computed)(() => {
208
211
  const {
@@ -383,13 +386,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
383
386
  }
384
387
  };
385
388
  const focusEvent = evnt => {
386
- const {
387
- inputValue
388
- } = reactData;
389
- reactData.inputValue = (0, _utils.eqEmptyValue)(inputValue) ? '' : `${_xeUtils.default.toNumber(inputValue)}`;
390
- reactData.isFocus = true;
391
- reactData.isActivated = true;
392
- triggerEvent(evnt);
389
+ const inputReadonly = computeInputReadonly.value;
390
+ if (!inputReadonly) {
391
+ const {
392
+ inputValue
393
+ } = reactData;
394
+ reactData.inputValue = (0, _utils.eqEmptyValue)(inputValue) ? '' : `${_xeUtils.default.toNumber(inputValue)}`;
395
+ reactData.isFocus = true;
396
+ reactData.isActivated = true;
397
+ triggerEvent(evnt);
398
+ }
393
399
  };
394
400
  const clickPrefixEvent = evnt => {
395
401
  const isDisabled = computeIsDisabled.value;
@@ -619,6 +625,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
619
625
  exponential,
620
626
  controls
621
627
  } = props;
628
+ const inputReadonly = computeInputReadonly.value;
622
629
  const isCtrlKey = evnt.ctrlKey;
623
630
  const isShiftKey = evnt.shiftKey;
624
631
  const isAltKey = evnt.altKey;
@@ -632,7 +639,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
632
639
  if (isEsc) {
633
640
  afterCheckValue();
634
641
  } else if (isUpArrow || isDwArrow) {
635
- if (controls) {
642
+ if (controls && !inputReadonly) {
636
643
  numberKeydownEvent(evnt);
637
644
  }
638
645
  }
@@ -676,7 +683,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
676
683
  }
677
684
  };
678
685
  const wheelEvent = evnt => {
679
- if (props.controls) {
686
+ const inputReadonly = computeInputReadonly.value;
687
+ if (props.controls && !inputReadonly) {
680
688
  if (reactData.isActivated) {
681
689
  evnt.stopPropagation();
682
690
  evnt.preventDefault();
@@ -701,8 +709,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
701
709
  const el = refElem.value;
702
710
  const panelElem = refInputPanel.value;
703
711
  const isDisabled = computeIsDisabled.value;
712
+ const inputReadonly = computeInputReadonly.value;
704
713
  const inpImmediate = computeInpImmediate.value;
705
- if (!isDisabled && isActivated) {
714
+ if (!isDisabled && !inputReadonly && isActivated) {
706
715
  reactData.isActivated = (0, _dom.getEventTargetNode)(evnt, el).flag || (0, _dom.getEventTargetNode)(evnt, panelElem).flag;
707
716
  if (!reactData.isActivated) {
708
717
  if (!inpImmediate) {
@@ -721,7 +730,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
721
730
  clearable
722
731
  } = props;
723
732
  const isDisabled = computeIsDisabled.value;
724
- if (!isDisabled) {
733
+ const inputReadonly = computeInputReadonly.value;
734
+ if (!isDisabled && !inputReadonly) {
725
735
  const isTab = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.TAB);
726
736
  const isDel = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.DELETE);
727
737
  let isActivated = reactData.isActivated;
@@ -818,7 +828,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
818
828
  const {
819
829
  controls
820
830
  } = props;
821
- if (controls) {
831
+ const inputReadonly = computeInputReadonly.value;
832
+ if (controls && !inputReadonly) {
822
833
  return renderNumberIcon();
823
834
  }
824
835
  return (0, _vue.createCommentVNode)();
@@ -831,9 +842,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
831
842
  numberInputMethods = {
832
843
  dispatchEvent,
833
844
  focus() {
834
- const inputElem = refInputTarget.value;
835
- reactData.isActivated = true;
836
- inputElem.focus();
845
+ const inputReadonly = computeInputReadonly.value;
846
+ if (!inputReadonly) {
847
+ const inputElem = refInputTarget.value;
848
+ reactData.isActivated = true;
849
+ inputElem.focus();
850
+ }
837
851
  return (0, _vue.nextTick)();
838
852
  },
839
853
  blur() {
@@ -886,7 +900,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
886
900
  class: ['vxe-number-input', `type--${type}`, className, {
887
901
  [`size--${vSize}`]: vSize,
888
902
  [`is--${align}`]: align,
889
- 'is--controls': controls,
903
+ 'is--controls': controls && !inputReadonly,
890
904
  'is--prefix': !!prefix,
891
905
  'is--suffix': !!suffix,
892
906
  'is--disabled': isDisabled,
@@ -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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../..//ui/src/vn"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:{type:[String,Number],default:()=>(0,_ui.getConfig)().numberInput.maxLength},autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},showCurrency:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.showCurrency},currencySymbol:{type:String,default:()=>(0,_ui.getConfig)().numberInput.currencySymbol},controls:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.controls},digits:{type:[String,Number],default:null},autoFill:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.autoFill},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(h,e){const{slots:V,emit:a}=e,i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var u=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(h)["computeSize"],U=(0,_vue.reactive)({isFocus:!1,isActivated:!1,inputValue:h.modelValue}),r={},I=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),O={refElem:I,refInput:S},l={xID:u,props:h,context:e,reactData:U,internalData:r,getRefMaps:()=>O};let o={};const C=(0,_vue.computed)(()=>{var e=h["readonly"];return null===e?!!i&&i.props.readonly:e}),A=(0,_vue.computed)(()=>{var e=h["disabled"];return null===e?!!i&&i.props.disabled:e}),s=(0,_vue.computed)(()=>{var{type:e,digits:t}=h;let u=t;return null===u&&null===(u=(0,_ui.getConfig)().numberInput.digits)&&"amount"===e&&(u=2),_xeUtils.default.toInteger(u)||1}),v=(0,_vue.computed)(()=>{var e=h["type"];return"float"===e||"amount"===e}),R=(0,_vue.computed)(()=>{var e=h["type"],t=s.value,u=v.value,l=h.step;return"integer"===e?_xeUtils.default.toInteger(l)||1:u?_xeUtils.default.toNumber(l)||1/Math.pow(10,t):_xeUtils.default.toNumber(l)||1}),T=(0,_vue.computed)(()=>h.clearable),B=(0,_vue.computed)(()=>{var e=h["multiple"];return C.value||e}),D=(0,_vue.computed)(()=>{var e=h["placeholder"];return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),L=(0,_vue.computed)(()=>{var{maxLength:e,maxlength:t}=h;return _xeUtils.default.toNumber(e||t)||16}),d=(0,_vue.computed)(()=>{var e=h["immediate"];return e}),p=(0,_vue.computed)(()=>{var e=h["type"],t=U["inputValue"];return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),P=(0,_vue.computed)(()=>{var{type:t,showCurrency:u,currencySymbol:l,autoFill:a}=h,i=U["inputValue"],n=s.value;if("amount"!==t)return _xeUtils.default.toString(i);{var t=_xeUtils.default.toNumber(i);let e=_xeUtils.default.commafy(t,{digits:n});return a||([i,t]=e.split("."),t&&(n=t.replace(/0+$/,""),e=n?[i,".",n].join(""):i)),u?""+(l||(0,_ui.getI18n)("vxe.numberInput.currencySymbol")||"")+e:e}}),_=(0,_vue.computed)(()=>{var e=h["min"],t=U["inputValue"],u=p.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),c=(0,_vue.computed)(()=>{var e=h["max"],t=U["inputValue"],u=p.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),m=e=>_xeUtils.default.eqNull(e)?"":""+e,f=e=>{var{exponential:t,autoFill:u}=h,l=L.value,a=s.value;let i="";return v.value?(i=(0,_util.toFloatValueFixed)(e,a),u||(i=m(_xeUtils.default.toNumber(i)))):i=m(e),!t||e!==i&&m(e).toLowerCase()!==_xeUtils.default.toNumber(i).toExponential()?i.slice(0,l):e},b=e=>{var t=U["inputValue"];o.dispatchEvent(e.type,{value:t},e)},g=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==h.modelValue;l&&(r.isUM=!0,a("update:modelValue",e)),U.inputValue!==t&&(0,_vue.nextTick)(()=>{U.inputValue=t||""}),o.dispatchEvent("input",{value:e},u),l&&(o.dispatchEvent("change",{value:e},u),i)&&n&&i.triggerItemEvent(u,n.itemConfig.field,e)},x=(e,t)=>{var u=d.value,l=(0,_utils.eqEmptyValue)(e)?null:_xeUtils.default.toNumber(e);U.inputValue=e,u?g(l,e,t):o.dispatchEvent("input",{value:l},t)},Y=e=>{var t=e.target.value;x(t,e)},G=e=>{d.value||b(e)},W=e=>{var t=U["inputValue"];U.inputValue=(0,_utils.eqEmptyValue)(t)?"":""+_xeUtils.default.toNumber(t),U.isFocus=!0,U.isActivated=!0,b(e)},j=e=>{var t;A.value||(t=U["inputValue"],o.dispatchEvent("prefix-click",{value:t},e))},k=(e,t)=>{focus(),g(null,"",e),o.dispatchEvent("clear",{value:t},e)},z=e=>{var t;A.value||(t=U["inputValue"],o.dispatchEvent("suffix-click",{value:t},e))},t=()=>{var u=h["autoFill"],l=U["inputValue"],a=s.value,e=v.value;if(e&&l){let e="",t=null;l&&(e=(0,_util.toFloatValueFixed)(l,a),t=_xeUtils.default.toNumber(e),u||(e=""+t)),l!==t?g(t,e,{type:"init"}):U.inputValue=e}},y=e=>null===h.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(h.max),E=e=>null===h.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(h.min),N=()=>{var{type:t,min:u,max:l,exponential:a}=h,i=U["inputValue"];if(!B.value)if((0,_utils.eqEmptyValue)(i)){let e=null,t=i;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void g(e,""+(t||""),{type:"check"})}else if(i||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i));E(e)?y(e)||(e=l):e=u,a&&(t=m(i).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=f(e);g((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},$=e=>{var t=U["inputValue"],u=d.value,l=t?Number(t):null;u||g(l,m(t),e),N(),U.isFocus=!1,U.isActivated=!1,o.dispatchEvent("blur",{value:l},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,l)},X=(e,t)=>{var{min:u,max:l,type:a}=h,i=U["inputValue"],n=R.value,a="integer"===a?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i)),i=e?_xeUtils.default.add(a,n):_xeUtils.default.subtract(a,n);let r;r=E(i)?y(i)?i:l:u,x(f(r),t)},F=e=>{var t=A.value,u=C.value,l=_.value;q(),t||u||l||X(!1,e),U.isActivated=!0,o.dispatchEvent("next-number",{value:U.inputValue},e)},H=e=>{r.dnTimeout=setTimeout(()=>{F(e),H(e)},60)},K=e=>{var t=A.value,u=C.value,l=c.value;q(),t||u||l||X(!0,e),U.isActivated=!0,o.dispatchEvent("prev-number",{value:U.inputValue},e)},J=e=>{var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(t||u)&&(e.preventDefault(),(t?K:F)(e))},Q=e=>{var{exponential:t,controls:u}=h,l=e.ctrlKey,a=e.shiftKey,i=e.altKey,n=e.keyCode,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);l||a||i||!(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||(!t||69!==n)&&65<=n&&n<=90||186<=n&&n<=188||191<=n)||e.preventDefault(),r?N():(o||s)&&u&&J(e),b(e)},Z=e=>{b(e)},q=()=>{var e=r["dnTimeout"];e&&(clearTimeout(e),r.dnTimeout=void 0)},ee=e=>{r.dnTimeout=setTimeout(()=>{K(e),ee(e)},60)},te=e=>{if(q(),0===e.button){const t=(0,_dom.hasClass)(e.currentTarget,"is--prev");(t?K:F)(e),r.dnTimeout=setTimeout(()=>{(t?ee:H)(e)},500)}},ue=e=>{var t;h.controls&&U.isActivated&&(e.stopPropagation(),e.preventDefault(),0<(t=e.deltaY)?F(e):t<0&&K(e)),b(e)},le=e=>{b(e)},ae=e=>{var t=U["isActivated"],u=I.value,l=M.value,a=A.value,i=d.value;!a&&t&&(U.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,U.isActivated||(i||(a=U["inputValue"],t=a?Number(a):null,g(t,m(a),e)),N()))},ie=t=>{var u=h["clearable"];if(!A.value){var l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),a=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=U.isActivated;l&&(e&&N(),e=!1,U.isActivated=e),a&&u&&e&&k(t,null)}},ne=()=>{var e=U["isActivated"];e&&N()},re=()=>{var e,t=h["controls"];return t?(t=c.value,e=_.value,(0,_vue.h)("div",{class:"vxe-input--control-icon"},[(0,_vue.h)("div",{class:"vxe-input--number-icon"},[(0,_vue.h)("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":t}],onMousedown:te,onMouseup:q,onMouseleave:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_PREV_NUM})]),(0,_vue.h)("div",{class:["vxe-input--number-btn is--next",{"is--disabled":e}],onMousedown:te,onMouseup:q,onMouseleave:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_NEXT_NUM})])])])):(0,_vue.createCommentVNode)()};o={dispatchEvent:(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$numberInput:l},t))},focus(){var e=S.value;return U.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return S.value.blur(),(U.isActivated=!1,_vue.nextTick)()},select(){return S.value.select(),(U.isActivated=!1,_vue.nextTick)()}},Object.assign(l,o);return l.renderVN=()=>{var e,t,u,l,a,i,n,r,o,{className:s,controls:v,type:d,align:p,name:_,autocomplete:c,autoComplete:m}=h,{inputValue:f,isFocus:b,isActivated:g}=U,x=w.value,y=A.value,E=C.value,N=P.value;return E?(0,_vue.h)("div",{ref:I,class:["vxe-number-input--readonly","type--"+d,s]},N):(E=B.value,e=L.value,t=D.value,u=T.value,a=h.prefixIcon,l=(l=V.prefix)||a?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:j},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:a})])]):null,a=h.suffixIcon,i=U.inputValue,n=V.suffix,r=A.value,o=T.value,r=(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":o&&!r&&!(""===i||_xeUtils.default.eqNull(i))}]},[o?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:k},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_vue.createCommentVNode)(),re(),n||a?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:z},n?(0,_vn.getSlotVNs)(n({})):[(0,_vue.h)("i",{class:a})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{ref:I,class:["vxe-number-input","type--"+d,s,{["size--"+x]:x,["is--"+p]:p,"is--controls":v,"is--prefix":!!l,"is--suffix":!!r,"is--disabled":y,"is--active":g,"show--clear":u&&!y&&!(""===f||_xeUtils.default.eqNull(f))}],spellcheck:!1},[l||(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-number-input--wrapper"},[(0,_vue.h)("input",{ref:S,class:"vxe-number-input--inner",value:b||"amount"!==d?f:N,name:_,type:"text",placeholder:t,maxlength:e,readonly:E,disabled:y,autocomplete:m||c,onKeydown:Q,onKeyup:Z,onWheel:ue,onClick:le,onInput:Y,onChange:G,onFocus:W,onBlur:$})]),r||(0,_vue.createCommentVNode)()]))},(0,_vue.watch)(()=>h.modelValue,t=>{if(!r.isUM){var u=h["autoFill"],l=U["inputValue"],a=s.value,i=v.value;if((0,_utils.eqEmptyValue)(t))U.inputValue="";else{let e=""+t;i&&(e=(0,_util.toFloatValueFixed)(t,a),u||(e=""+_xeUtils.default.toNumber(e))),e!==l&&(U.inputValue=e)}}r.isUM=!1}),(0,_vue.watch)(()=>h.type,()=>{Object.assign(U,{inputValue:h.modelValue}),t()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(l,"mousedown",ae),_ui.globalEvents.on(l,"keydown",ie),_ui.globalEvents.on(l,"blur",ne)}),(0,_vue.onBeforeUnmount)(()=>{U.isFocus=!1,q(),N(),_ui.globalEvents.off(l,"mousedown"),_ui.globalEvents.off(l,"keydown"),_ui.globalEvents.off(l,"blur")}),t(),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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../..//ui/src/vn"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:{type:[String,Number],default:()=>(0,_ui.getConfig)().numberInput.maxLength},autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().numberInput.size||(0,_ui.getConfig)().size},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.exponential},showCurrency:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.showCurrency},currencySymbol:{type:String,default:()=>(0,_ui.getConfig)().numberInput.currencySymbol},controls:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.controls},digits:{type:[String,Number],default:null},autoFill:{type:Boolean,default:()=>(0,_ui.getConfig)().numberInput.autoFill},editable:{type:Boolean,default:!0},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(h,e){const{slots:V,emit:a}=e,i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var u=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(h)["computeSize"],U=(0,_vue.reactive)({isFocus:!1,isActivated:!1,inputValue:h.modelValue}),r={},I=(0,_vue.ref)(),S=(0,_vue.ref)(),M=(0,_vue.ref)(),O={refElem:I,refInput:S},l={xID:u,props:h,context:e,reactData:U,internalData:r,getRefMaps:()=>O};let o={};const C=(0,_vue.computed)(()=>{var e=h["readonly"];return null===e?!!i&&i.props.readonly:e}),A=(0,_vue.computed)(()=>{var e=h["disabled"];return null===e?!!i&&i.props.disabled:e}),s=(0,_vue.computed)(()=>{var{type:e,digits:t}=h;let u=t;return null===u&&null===(u=(0,_ui.getConfig)().numberInput.digits)&&"amount"===e&&(u=2),_xeUtils.default.toInteger(u)||1}),v=(0,_vue.computed)(()=>{var e=h["type"];return"float"===e||"amount"===e}),R=(0,_vue.computed)(()=>{var e=h["type"],t=s.value,u=v.value,l=h.step;return"integer"===e?_xeUtils.default.toInteger(l)||1:u?_xeUtils.default.toNumber(l)||1/Math.pow(10,t):_xeUtils.default.toNumber(l)||1}),T=(0,_vue.computed)(()=>h.clearable),B=(0,_vue.computed)(()=>{var e=h["editable"];return C.value||!e}),D=(0,_vue.computed)(()=>{var e=h["placeholder"];return(e=e||(0,_ui.getConfig)().numberInput.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseInput")}),L=(0,_vue.computed)(()=>{var{maxLength:e,maxlength:t}=h;return _xeUtils.default.toNumber(e||t)||16}),d=(0,_vue.computed)(()=>{var e=h["immediate"];return e}),p=(0,_vue.computed)(()=>{var e=h["type"],t=U["inputValue"];return"integer"===e?_xeUtils.default.toInteger((0,_util.handleNumber)(t)):_xeUtils.default.toNumber((0,_util.handleNumber)(t))}),P=(0,_vue.computed)(()=>{var{type:t,showCurrency:u,currencySymbol:l,autoFill:a}=h,i=U["inputValue"],n=s.value;if("amount"!==t)return _xeUtils.default.toString(i);{var t=_xeUtils.default.toNumber(i);let e=_xeUtils.default.commafy(t,{digits:n});return a||([i,t]=e.split("."),t&&(n=t.replace(/0+$/,""),e=n?[i,".",n].join(""):i)),u?""+(l||(0,_ui.getI18n)("vxe.numberInput.currencySymbol")||"")+e:e}}),_=(0,_vue.computed)(()=>{var e=h["min"],t=U["inputValue"],u=p.value;return!(!t&&0!==t||null===e)&&u<=_xeUtils.default.toNumber(e)}),c=(0,_vue.computed)(()=>{var e=h["max"],t=U["inputValue"],u=p.value;return!(!t&&0!==t||null===e)&&u>=_xeUtils.default.toNumber(e)}),m=e=>_xeUtils.default.eqNull(e)?"":""+e,f=e=>{var{exponential:t,autoFill:u}=h,l=L.value,a=s.value;let i="";return v.value?(i=(0,_util.toFloatValueFixed)(e,a),u||(i=m(_xeUtils.default.toNumber(i)))):i=m(e),!t||e!==i&&m(e).toLowerCase()!==_xeUtils.default.toNumber(i).toExponential()?i.slice(0,l):e},b=e=>{var t=U["inputValue"];o.dispatchEvent(e.type,{value:t},e)},g=(e,t,u)=>{var e=(0,_utils.eqEmptyValue)(e)?null:Number(e),l=e!==h.modelValue;l&&(r.isUM=!0,a("update:modelValue",e)),U.inputValue!==t&&(0,_vue.nextTick)(()=>{U.inputValue=t||""}),o.dispatchEvent("input",{value:e},u),l&&(o.dispatchEvent("change",{value:e},u),i)&&n&&i.triggerItemEvent(u,n.itemConfig.field,e)},x=(e,t)=>{var u=d.value,l=(0,_utils.eqEmptyValue)(e)?null:_xeUtils.default.toNumber(e);U.inputValue=e,u?g(l,e,t):o.dispatchEvent("input",{value:l},t)},Y=e=>{var t=e.target.value;x(t,e)},G=e=>{d.value||b(e)},W=e=>{var t;B.value||(t=U["inputValue"],U.inputValue=(0,_utils.eqEmptyValue)(t)?"":""+_xeUtils.default.toNumber(t),U.isFocus=!0,U.isActivated=!0,b(e))},j=e=>{var t;A.value||(t=U["inputValue"],o.dispatchEvent("prefix-click",{value:t},e))},k=(e,t)=>{focus(),g(null,"",e),o.dispatchEvent("clear",{value:t},e)},z=e=>{var t;A.value||(t=U["inputValue"],o.dispatchEvent("suffix-click",{value:t},e))},t=()=>{var u=h["autoFill"],l=U["inputValue"],a=s.value,e=v.value;if(e&&l){let e="",t=null;l&&(e=(0,_util.toFloatValueFixed)(l,a),t=_xeUtils.default.toNumber(e),u||(e=""+t)),l!==t?g(t,e,{type:"init"}):U.inputValue=e}},y=e=>null===h.max||_xeUtils.default.toNumber(e)<=_xeUtils.default.toNumber(h.max),E=e=>null===h.min||_xeUtils.default.toNumber(e)>=_xeUtils.default.toNumber(h.min),N=()=>{var{type:t,min:u,max:l,exponential:a}=h,i=U["inputValue"];if(!B.value)if((0,_utils.eqEmptyValue)(i)){let e=null,t=i;!u&&0!==u||(e=_xeUtils.default.toNumber(u),t=""+e),void g(e,""+(t||""),{type:"check"})}else if(i||u||l){let e="integer"===t?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i));E(e)?y(e)||(e=l):e=u,a&&(t=m(i).toLowerCase())===_xeUtils.default.toNumber(e).toExponential()&&(e=t);l=f(e);g((0,_utils.eqEmptyValue)(l)?null:Number(l),l,{type:"check"})}},$=e=>{var t=U["inputValue"],u=d.value,l=t?Number(t):null;u||g(l,m(t),e),N(),U.isFocus=!1,U.isActivated=!1,o.dispatchEvent("blur",{value:l},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,l)},X=(e,t)=>{var{min:u,max:l,type:a}=h,i=U["inputValue"],n=R.value,a="integer"===a?_xeUtils.default.toInteger((0,_util.handleNumber)(i)):_xeUtils.default.toNumber((0,_util.handleNumber)(i)),i=e?_xeUtils.default.add(a,n):_xeUtils.default.subtract(a,n);let r;r=E(i)?y(i)?i:l:u,x(f(r),t)},F=e=>{var t=A.value,u=C.value,l=_.value;q(),t||u||l||X(!1,e),U.isActivated=!0,o.dispatchEvent("next-number",{value:U.inputValue},e)},H=e=>{r.dnTimeout=setTimeout(()=>{F(e),H(e)},60)},K=e=>{var t=A.value,u=C.value,l=c.value;q(),t||u||l||X(!0,e),U.isActivated=!0,o.dispatchEvent("prev-number",{value:U.inputValue},e)},J=e=>{var t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(t||u)&&(e.preventDefault(),(t?K:F)(e))},Q=e=>{var{exponential:t,controls:u}=h,l=B.value,a=e.ctrlKey,i=e.shiftKey,n=e.altKey,r=e.keyCode,o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),v=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);a||i||n||!(_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR)||(!t||69!==r)&&65<=r&&r<=90||186<=r&&r<=188||191<=r)||e.preventDefault(),o?N():(s||v)&&u&&!l&&J(e),b(e)},Z=e=>{b(e)},q=()=>{var e=r["dnTimeout"];e&&(clearTimeout(e),r.dnTimeout=void 0)},ee=e=>{r.dnTimeout=setTimeout(()=>{K(e),ee(e)},60)},te=e=>{if(q(),0===e.button){const t=(0,_dom.hasClass)(e.currentTarget,"is--prev");(t?K:F)(e),r.dnTimeout=setTimeout(()=>{(t?ee:H)(e)},500)}},ue=e=>{var t=B.value;h.controls&&!t&&U.isActivated&&(e.stopPropagation(),e.preventDefault(),0<(t=e.deltaY)?F(e):t<0&&K(e)),b(e)},le=e=>{b(e)},ae=e=>{var t=U["isActivated"],u=I.value,l=M.value,a=A.value,i=B.value,n=d.value;a||i||!t||(U.isActivated=(0,_dom.getEventTargetNode)(e,u).flag||(0,_dom.getEventTargetNode)(e,l).flag,U.isActivated)||(n||(a=U["inputValue"],i=a?Number(a):null,g(i,m(a),e)),N())},ie=t=>{var u=h["clearable"],l=A.value,a=B.value;if(!l&&!a){l=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),a=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);let e=U.isActivated;l&&(e&&N(),e=!1,U.isActivated=e),a&&u&&e&&k(t,null)}},ne=()=>{var e=U["isActivated"];e&&N()},re=()=>{var e=h["controls"],t=B.value;return e&&!t?(e=c.value,t=_.value,(0,_vue.h)("div",{class:"vxe-input--control-icon"},[(0,_vue.h)("div",{class:"vxe-input--number-icon"},[(0,_vue.h)("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":e}],onMousedown:te,onMouseup:q,onMouseleave:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_PREV_NUM})]),(0,_vue.h)("div",{class:["vxe-input--number-btn is--next",{"is--disabled":t}],onMousedown:te,onMouseup:q,onMouseleave:q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().NUMBER_INPUT_NEXT_NUM})])])])):(0,_vue.createCommentVNode)()};o={dispatchEvent:(e,t,u)=>{a(e,(0,_ui.createEvent)(u,{$numberInput:l},t))},focus(){var e;return B.value||(e=S.value,U.isActivated=!0,e.focus()),(0,_vue.nextTick)()},blur(){return S.value.blur(),(U.isActivated=!1,_vue.nextTick)()},select(){return S.value.select(),(U.isActivated=!1,_vue.nextTick)()}},Object.assign(l,o);return l.renderVN=()=>{var e,t,u,l,a,i,n,r,o,{className:s,controls:v,type:d,align:p,name:_,autocomplete:c,autoComplete:m}=h,{inputValue:f,isFocus:b,isActivated:g}=U,x=w.value,y=A.value,E=C.value,N=P.value;return E?(0,_vue.h)("div",{ref:I,class:["vxe-number-input--readonly","type--"+d,s]},N):(E=B.value,e=L.value,t=D.value,u=T.value,a=h.prefixIcon,l=(l=V.prefix)||a?(0,_vue.h)("div",{class:"vxe-number-input--prefix",onClick:j},[(0,_vue.h)("div",{class:"vxe-number-input--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:a})])]):null,a=h.suffixIcon,i=U.inputValue,n=V.suffix,r=A.value,o=T.value,r=(0,_vue.h)("div",{class:["vxe-number-input--suffix",{"is--clear":o&&!r&&!(""===i||_xeUtils.default.eqNull(i))}]},[o?(0,_vue.h)("div",{class:"vxe-number-input--clear-icon",onClick:k},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_vue.createCommentVNode)(),re(),n||a?(0,_vue.h)("div",{class:"vxe-number-input--suffix-icon",onClick:z},n?(0,_vn.getSlotVNs)(n({})):[(0,_vue.h)("i",{class:a})]):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{ref:I,class:["vxe-number-input","type--"+d,s,{["size--"+x]:x,["is--"+p]:p,"is--controls":v&&!E,"is--prefix":!!l,"is--suffix":!!r,"is--disabled":y,"is--active":g,"show--clear":u&&!y&&!(""===f||_xeUtils.default.eqNull(f))}],spellcheck:!1},[l||(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-number-input--wrapper"},[(0,_vue.h)("input",{ref:S,class:"vxe-number-input--inner",value:b||"amount"!==d?f:N,name:_,type:"text",placeholder:t,maxlength:e,readonly:E,disabled:y,autocomplete:m||c,onKeydown:Q,onKeyup:Z,onWheel:ue,onClick:le,onInput:Y,onChange:G,onFocus:W,onBlur:$})]),r||(0,_vue.createCommentVNode)()]))},(0,_vue.watch)(()=>h.modelValue,t=>{if(!r.isUM){var u=h["autoFill"],l=U["inputValue"],a=s.value,i=v.value;if((0,_utils.eqEmptyValue)(t))U.inputValue="";else{let e=""+t;i&&(e=(0,_util.toFloatValueFixed)(t,a),u||(e=""+_xeUtils.default.toNumber(e))),e!==l&&(U.inputValue=e)}}r.isUM=!1}),(0,_vue.watch)(()=>h.type,()=>{Object.assign(U,{inputValue:h.modelValue}),t()}),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(l,"mousedown",ae),_ui.globalEvents.on(l,"keydown",ie),_ui.globalEvents.on(l,"blur",ne)}),(0,_vue.onBeforeUnmount)(()=>{U.isFocus=!1,q(),N(),_ui.globalEvents.off(l,"mousedown"),_ui.globalEvents.off(l,"keydown"),_ui.globalEvents.off(l,"blur")}),t(),l},render(){return this.renderVN()}});
@@ -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()}});
@@ -63,12 +63,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
63
63
  filterable: Boolean,
64
64
  filterMethod: Function,
65
65
  remote: Boolean,
66
+ // 已废弃,被 remote-config.queryMethod 替换
66
67
  remoteMethod: Function,
68
+ remoteConfig: Object,
67
69
  emptyText: String,
68
70
  transfer: {
69
71
  type: Boolean,
70
72
  default: null
71
73
  },
74
+ virtualYConfig: Object,
72
75
  scrollY: Object,
73
76
  // 已废弃,被 option-config.keyField 替换
74
77
  optionId: {
@@ -238,7 +241,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
238
241
  return false;
239
242
  });
240
243
  const computeSYOpts = (0, _vue.computed)(() => {
241
- return Object.assign({}, (0, _ui.getConfig)().select.scrollY, props.scrollY);
244
+ return Object.assign({}, (0, _ui.getConfig)().select.virtualYConfig || (0, _ui.getConfig)().select.scrollY, props.virtualYConfig || props.scrollY);
245
+ });
246
+ const computeRemoteOpts = (0, _vue.computed)(() => {
247
+ return Object.assign({}, (0, _ui.getConfig)().select.remoteConfig, props.remoteConfig);
242
248
  });
243
249
  const computeOptionOpts = (0, _vue.computed)(() => {
244
250
  return Object.assign({}, (0, _ui.getConfig)().select.optionConfig, props.optionConfig);
@@ -350,6 +356,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
350
356
  */
351
357
  const handleOption = () => {
352
358
  const {
359
+ modelValue,
353
360
  filterable,
354
361
  filterMethod
355
362
  } = props;
@@ -366,9 +373,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
366
373
  let avList = [];
367
374
  if (filterable && filterMethod) {
368
375
  avList = fullData.filter(option => isOptionVisible(option) && filterMethod({
376
+ $select: $xeSelect,
369
377
  group: null,
370
378
  option,
371
- searchValue: searchStr
379
+ searchValue: searchStr,
380
+ value: modelValue
372
381
  }));
373
382
  } else if (filterable) {
374
383
  avList = fullData.filter(option => isOptionVisible(option) && (!searchStr || `${option[labelField]}`.toLowerCase().indexOf(searchStr) > -1));
@@ -476,12 +485,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
476
485
  const showOptionPanel = () => {
477
486
  const {
478
487
  loading,
479
- filterable
488
+ filterable,
489
+ remote
480
490
  } = props;
481
491
  const {
492
+ fullData,
482
493
  hpTimeout
483
494
  } = internalData;
484
495
  const isDisabled = computeIsDisabled.value;
496
+ const remoteOpts = computeRemoteOpts.value;
485
497
  if (!loading && !isDisabled) {
486
498
  if (hpTimeout) {
487
499
  clearTimeout(hpTimeout);
@@ -493,8 +505,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
493
505
  reactData.isActivated = true;
494
506
  reactData.isAniVisible = true;
495
507
  if (filterable) {
496
- handleOption();
497
- updateYData();
508
+ if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
509
+ handleSearchEvent();
510
+ } else {
511
+ handleOption();
512
+ updateYData();
513
+ }
498
514
  }
499
515
  setTimeout(() => {
500
516
  reactData.visiblePanel = true;
@@ -789,16 +805,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
789
805
  };
790
806
  const handleSearchEvent = () => {
791
807
  const {
808
+ modelValue,
792
809
  remote,
793
810
  remoteMethod
794
811
  } = props;
795
812
  const {
796
813
  searchValue
797
814
  } = reactData;
798
- if (remote && remoteMethod) {
815
+ const remoteOpts = computeRemoteOpts.value;
816
+ const queryMethod = remoteOpts.queryMethod || remoteMethod;
817
+ if (remote && queryMethod && remoteOpts.enabled) {
799
818
  reactData.searchLoading = true;
800
- Promise.resolve(remoteMethod({
801
- searchValue
819
+ Promise.resolve(queryMethod({
820
+ $select: $xeSelect,
821
+ searchValue,
822
+ value: modelValue
802
823
  })).then(() => (0, _vue.nextTick)()).catch(() => (0, _vue.nextTick)()).finally(() => {
803
824
  reactData.searchLoading = false;
804
825
  handleOption();