vxe-table 3.7.7-beta.3 → 3.7.7-beta.4

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 (69) hide show
  1. package/README.md +1 -1
  2. package/helper/vetur/attributes.json +0 -4
  3. package/helper/vetur/tags.json +1 -2
  4. package/lib/edit/src/mixin.js +24 -5
  5. package/lib/edit/src/mixin.min.js +1 -1
  6. package/lib/grid/src/grid.js +21 -61
  7. package/lib/grid/src/grid.min.js +1 -1
  8. package/lib/grid/style/style.css +0 -18
  9. package/lib/grid/style/style.min.css +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.css +1 -1
  13. package/lib/index.umd.js +496 -310
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/pulldown/src/pulldown.js +19 -6
  16. package/lib/pulldown/src/pulldown.min.js +1 -1
  17. package/lib/pulldown/style/style.css +2 -2
  18. package/lib/pulldown/style/style.min.css +1 -1
  19. package/lib/select/src/select.js +69 -48
  20. package/lib/select/src/select.min.js +1 -1
  21. package/lib/select/style/style.css +23 -6
  22. package/lib/select/style/style.min.css +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/style.min.css +1 -1
  25. package/lib/table/src/body.js +19 -14
  26. package/lib/table/src/body.min.js +1 -1
  27. package/lib/table/src/methods.js +217 -130
  28. package/lib/table/src/methods.min.js +1 -1
  29. package/lib/table/src/table.js +10 -8
  30. package/lib/table/src/table.min.js +1 -1
  31. package/lib/table/style/style.css +72 -23
  32. package/lib/table/style/style.min.css +1 -1
  33. package/lib/textarea/src/textarea.js +1 -1
  34. package/lib/textarea/src/textarea.min.js +1 -1
  35. package/lib/tools/log.js +1 -1
  36. package/lib/tools/log.min.js +1 -1
  37. package/lib/tooltip/src/tooltip.js +1 -1
  38. package/lib/tooltip/src/tooltip.min.js +1 -1
  39. package/lib/v-x-e-table/index.js +1 -1
  40. package/lib/v-x-e-table/index.min.js +1 -1
  41. package/lib/v-x-e-table/src/conf.js +1 -1
  42. package/lib/v-x-e-table/src/conf.min.js +1 -1
  43. package/lib/validator/src/mixin.js +111 -33
  44. package/lib/validator/src/mixin.min.js +1 -1
  45. package/package.json +1 -1
  46. package/packages/edit/src/mixin.js +24 -5
  47. package/packages/grid/src/grid.js +16 -45
  48. package/packages/pulldown/src/pulldown.js +18 -6
  49. package/packages/select/src/select.js +33 -12
  50. package/packages/table/src/body.js +20 -15
  51. package/packages/table/src/methods.js +106 -23
  52. package/packages/table/src/table.js +10 -7
  53. package/packages/textarea/src/textarea.js +1 -1
  54. package/packages/tooltip/src/tooltip.js +1 -1
  55. package/packages/v-x-e-table/src/conf.js +1 -1
  56. package/packages/validator/src/mixin.js +105 -35
  57. package/styles/grid.scss +0 -20
  58. package/styles/pulldown.scss +2 -2
  59. package/styles/select.scss +23 -6
  60. package/styles/table.scss +95 -23
  61. package/types/grid.d.ts +1 -1
  62. package/types/table.d.ts +22 -0
  63. package/types/v-x-e-table/renderer.d.ts +1 -1
  64. /package/lib/icon/style/{iconfont.1701045072322.ttf → iconfont.1703431233417.ttf} +0 -0
  65. /package/lib/icon/style/{iconfont.1701045072322.woff → iconfont.1703431233417.woff} +0 -0
  66. /package/lib/icon/style/{iconfont.1701045072322.woff2 → iconfont.1703431233417.woff2} +0 -0
  67. /package/lib/{iconfont.1701045072322.ttf → iconfont.1703431233417.ttf} +0 -0
  68. /package/lib/{iconfont.1701045072322.woff → iconfont.1703431233417.woff} +0 -0
  69. /package/lib/{iconfont.1701045072322.woff2 → iconfont.1703431233417.woff2} +0 -0
@@ -69,7 +69,8 @@ var _default2 = {
69
69
  },
70
70
  render: function render(h) {
71
71
  var _ref, _ref2;
72
- var $scopedSlots = this.$scopedSlots,
72
+ var _e = this._e,
73
+ $scopedSlots = this.$scopedSlots,
73
74
  inited = this.inited,
74
75
  className = this.className,
75
76
  popupClassName = this.popupClassName,
@@ -83,7 +84,9 @@ var _default2 = {
83
84
  panelStyle = this.panelStyle,
84
85
  panelPlacement = this.panelPlacement;
85
86
  var defaultSlot = $scopedSlots.default;
86
- var downSlot = $scopedSlots.dropdown;
87
+ var headerSlot = $scopedSlots.header;
88
+ var footerSlot = $scopedSlots.footer;
89
+ var dropdownSlot = $scopedSlots.dropdown;
87
90
  return h('div', {
88
91
  class: ['vxe-pulldown', className ? _xeUtils.default.isFunction(className) ? className({
89
92
  $pulldown: this
@@ -102,11 +105,21 @@ var _default2 = {
102
105
  placement: panelPlacement
103
106
  },
104
107
  style: panelStyle
105
- }, downSlot ? [h('div', {
106
- class: 'vxe-pulldown--wrapper'
107
- }, !inited || destroyOnClose && !visiblePanel && !animatVisible ? [] : downSlot.call(this, {
108
+ }, [h('div', {
109
+ class: 'vxe-pulldown--panel-wrapper'
110
+ }, !inited || destroyOnClose && !visiblePanel && !animatVisible ? [] : [headerSlot ? h('div', {
111
+ class: 'vxe-pulldown--panel-header'
112
+ }, headerSlot.call(this, {
113
+ $pulldown: this
114
+ })) : _e(), h('div', {
115
+ class: 'vxe-pulldown--panel-body'
116
+ }, dropdownSlot ? dropdownSlot.call(this, {
117
+ $pulldown: this
118
+ }, h) : []), footerSlot ? h('div', {
119
+ class: 'vxe-pulldown--panel-footer'
120
+ }, footerSlot.call(this, {
108
121
  $pulldown: this
109
- }, h))] : [])]);
122
+ })) : _e()])])]);
110
123
  },
111
124
  methods: {
112
125
  handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_utils=_interopRequireDefault(require("../../tools/utils")),_dom=_interopRequireDefault(require("../../tools/dom")),_event=require("../../tools/event"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var _default2={name:"VxePulldown",mixins:[_size.default],props:{value:Boolean,disabled:Boolean,placement:String,size:{type:String,default:function(){return _conf.default.size}},className:[String,Function],popupClassName:[String,Function],destroyOnClose:Boolean,transfer:Boolean},data:function(){return{inited:!1,panelIndex:0,panelStyle:null,panelPlacement:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1}},watch:{value:function(e){e?this.showPanel():this.hidePanel()}},created:function(){_event.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_event.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_event.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_event.GlobalEvent.off(this,"mousewheel"),_event.GlobalEvent.off(this,"mousedown"),_event.GlobalEvent.off(this,"blur")},render:function(e){var t=this.$scopedSlots,i=this.inited,n=this.className,l=this.popupClassName,a=this.vSize,s=this.destroyOnClose,o=this.transfer,r=this.isActivated,d=this.disabled,u=this.animatVisible,h=this.visiblePanel,f=this.panelStyle,c=this.panelPlacement,p=t.default,t=t.dropdown;return e("div",{class:["vxe-pulldown",n?_xeUtils.default.isFunction(n)?n({$pulldown:this}):n:"",(_defineProperty(n={},"size--".concat(a),a),_defineProperty(n,"is--visivle",h),_defineProperty(n,"is--disabled",d),_defineProperty(n,"is--active",r),n)]},[e("div",{ref:"content",class:"vxe-pulldown--content"},p?p.call(this,{$pulldown:this},e):[]),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-pulldown--panel",l?_xeUtils.default.isFunction(l)?l({$pulldown:this}):l:"",(_defineProperty(d={},"size--".concat(a),a),_defineProperty(d,"is--transfer",o),_defineProperty(d,"animat--leave",u),_defineProperty(d,"animat--enter",h),d)],attrs:{placement:c},style:f},t?[e("div",{class:"vxe-pulldown--wrapper"},!i||s&&!h&&!u?[]:t.call(this,{$pulldown:this},e))]:[])])},methods:{handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,n=this.visiblePanel;i||n&&(_dom.default.getEventTargetNode(e,t.panel).flag?this.updatePlacement():(this.hidePanel(),this.$emit("hide-panel",{$event:e})))},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,n=this.disabled,l=this.visiblePanel;n||(this.isActivated=_dom.default.getEventTargetNode(e,i).flag||_dom.default.getEventTargetNode(e,t.panel).flag,l&&!this.isActivated&&(this.hidePanel(),this.$emit("hide-panel",{$event:e})))},handleGlobalBlurEvent:function(e){this.visiblePanel&&(this.isActivated=!1,this.hidePanel(),this.$emit("hide-panel",{$event:e}))},updateZindex:function(){this.panelIndex<_utils.default.getLastZIndex()&&(this.panelIndex=_utils.default.nextZIndex())},isPanelVisible:function(){return this.visiblePanel},togglePanel:function(){return this.visiblePanel?this.hidePanel():this.showPanel()},showPanel:function(){var t=this;return this.inited||(this.inited=!0,this.transfer&&document.body.appendChild(this.$refs.panel)),new Promise(function(e){t.disabled?e(t.$nextTick()):(clearTimeout(t.hidePanelTimeout),t.isActivated=!0,t.animatVisible=!0,setTimeout(function(){t.visiblePanel=!0,t.$emit("update:input",!0),t.updatePlacement(),setTimeout(function(){e(t.updatePlacement())},40)},10),t.updateZindex())})},hidePanel:function(){var t=this;return this.visiblePanel=!1,this.$emit("update:input",!1),new Promise(function(e){t.animatVisible?t.hidePanelTimeout=setTimeout(function(){t.animatVisible=!1,e(t.$nextTick())},350):e(t.$nextTick())})},updatePlacement:function(){var f=this;return this.$nextTick().then(function(){var e,t,i,n,l,a,s,o,r=f.$refs,d=f.transfer,u=f.placement,h=f.panelIndex;return f.visiblePanel&&(n=r.panel,r=r.content,n)&&r&&(e=r.offsetHeight,t=r.offsetWidth,i=n.offsetHeight,n=n.offsetWidth,h={zIndex:h},l=(r=_dom.default.getAbsolutePos(r)).boundingTop,o=r.boundingLeft,a=r.visibleHeight,r=r.visibleWidth,s="bottom",d?(d=l+e,"top"===u?(s="top",d=l-i):u||(a<d+i+5&&(s="top",d=l-i),d<5&&(s="bottom",d=l+e)),r<(o=o)+n+5&&(o-=o+n+5-r),o<5&&(o=5),Object.assign(h,{left:"".concat(o,"px"),top:"".concat(d,"px"),minWidth:"".concat(t,"px")})):"top"===u?(s="top",h.bottom="".concat(e,"px")):u||a<l+e+i&&5<l-e-i&&(s="top",h.bottom="".concat(e,"px")),f.panelStyle=h,f.panelPlacement=s),f.$nextTick()})}}};exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_utils=_interopRequireDefault(require("../../tools/utils")),_dom=_interopRequireDefault(require("../../tools/dom")),_event=require("../../tools/event"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}var _default2={name:"VxePulldown",mixins:[_size.default],props:{value:Boolean,disabled:Boolean,placement:String,size:{type:String,default:function(){return _conf.default.size}},className:[String,Function],popupClassName:[String,Function],destroyOnClose:Boolean,transfer:Boolean},data:function(){return{inited:!1,panelIndex:0,panelStyle:null,panelPlacement:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1}},watch:{value:function(e){e?this.showPanel():this.hidePanel()}},created:function(){_event.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_event.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_event.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_event.GlobalEvent.off(this,"mousewheel"),_event.GlobalEvent.off(this,"mousedown"),_event.GlobalEvent.off(this,"blur")},render:function(e){var t=this._e,i=this.$scopedSlots,n=this.inited,l=this.className,a=this.popupClassName,s=this.vSize,o=this.destroyOnClose,d=this.transfer,r=this.isActivated,u=this.disabled,h=this.animatVisible,p=this.visiblePanel,c=this.panelStyle,f=this.panelPlacement,v=i.default,b=i.header,m=i.footer,i=i.dropdown;return e("div",{class:["vxe-pulldown",l?_xeUtils.default.isFunction(l)?l({$pulldown:this}):l:"",(_defineProperty(l={},"size--".concat(s),s),_defineProperty(l,"is--visivle",p),_defineProperty(l,"is--disabled",u),_defineProperty(l,"is--active",r),l)]},[e("div",{ref:"content",class:"vxe-pulldown--content"},v?v.call(this,{$pulldown:this},e):[]),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-pulldown--panel",a?_xeUtils.default.isFunction(a)?a({$pulldown:this}):a:"",(_defineProperty(u={},"size--".concat(s),s),_defineProperty(u,"is--transfer",d),_defineProperty(u,"animat--leave",h),_defineProperty(u,"animat--enter",p),u)],attrs:{placement:f},style:c},[e("div",{class:"vxe-pulldown--panel-wrapper"},!n||o&&!p&&!h?[]:[b?e("div",{class:"vxe-pulldown--panel-header"},b.call(this,{$pulldown:this})):t(),e("div",{class:"vxe-pulldown--panel-body"},i?i.call(this,{$pulldown:this},e):[]),m?e("div",{class:"vxe-pulldown--panel-footer"},m.call(this,{$pulldown:this})):t()])])])},methods:{handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,n=this.visiblePanel;i||n&&(_dom.default.getEventTargetNode(e,t.panel).flag?this.updatePlacement():(this.hidePanel(),this.$emit("hide-panel",{$event:e})))},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,n=this.disabled,l=this.visiblePanel;n||(this.isActivated=_dom.default.getEventTargetNode(e,i).flag||_dom.default.getEventTargetNode(e,t.panel).flag,l&&!this.isActivated&&(this.hidePanel(),this.$emit("hide-panel",{$event:e})))},handleGlobalBlurEvent:function(e){this.visiblePanel&&(this.isActivated=!1,this.hidePanel(),this.$emit("hide-panel",{$event:e}))},updateZindex:function(){this.panelIndex<_utils.default.getLastZIndex()&&(this.panelIndex=_utils.default.nextZIndex())},isPanelVisible:function(){return this.visiblePanel},togglePanel:function(){return this.visiblePanel?this.hidePanel():this.showPanel()},showPanel:function(){var t=this;return this.inited||(this.inited=!0,this.transfer&&document.body.appendChild(this.$refs.panel)),new Promise(function(e){t.disabled?e(t.$nextTick()):(clearTimeout(t.hidePanelTimeout),t.isActivated=!0,t.animatVisible=!0,setTimeout(function(){t.visiblePanel=!0,t.$emit("update:input",!0),t.updatePlacement(),setTimeout(function(){e(t.updatePlacement())},40)},10),t.updateZindex())})},hidePanel:function(){var t=this;return this.visiblePanel=!1,this.$emit("update:input",!1),new Promise(function(e){t.animatVisible?t.hidePanelTimeout=setTimeout(function(){t.animatVisible=!1,e(t.$nextTick())},350):e(t.$nextTick())})},updatePlacement:function(){var p=this;return this.$nextTick().then(function(){var e,t,i,n,l,a,s,o,d=p.$refs,r=p.transfer,u=p.placement,h=p.panelIndex;return p.visiblePanel&&(n=d.panel,d=d.content,n)&&d&&(e=d.offsetHeight,t=d.offsetWidth,i=n.offsetHeight,n=n.offsetWidth,h={zIndex:h},l=(d=_dom.default.getAbsolutePos(d)).boundingTop,o=d.boundingLeft,a=d.visibleHeight,d=d.visibleWidth,s="bottom",r?(r=l+e,"top"===u?(s="top",r=l-i):u||(a<r+i+5&&(s="top",r=l-i),r<5&&(s="bottom",r=l+e)),d<(o=o)+n+5&&(o-=o+n+5-d),o<5&&(o=5),Object.assign(h,{left:"".concat(o,"px"),top:"".concat(r,"px"),minWidth:"".concat(t,"px")})):"top"===u?(s="top",h.bottom="".concat(e,"px")):u||a<l+e+i&&5<l-e-i&&(s="top",h.bottom="".concat(e,"px")),p.panelStyle=h,p.panelPlacement=s),p.$nextTick()})}}};exports.default=_default2;
@@ -61,8 +61,8 @@
61
61
  transform: scaleY(1);
62
62
  }
63
63
 
64
- .vxe-pulldown--wrapper {
65
- background-color: #fff;
64
+ .vxe-pulldown--panel-wrapper {
65
+ background-color: var(--vxe-pulldown-panel-background-color);
66
66
  }
67
67
 
68
68
  .vxe-pulldown,
@@ -1 +1 @@
1
- .vxe-pulldown{position:relative;display:inline-block;color:#606266;text-align:left}.vxe-pulldown--panel{display:none;position:absolute;left:0;padding:4px 0;color:#606266;text-align:left}.vxe-pulldown--panel:not(.is--transfer){min-width:100%}.vxe-pulldown--panel.is--transfer{position:fixed}.vxe-pulldown--panel.animat--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-pulldown--panel.animat--leave[placement=top]{transform-origin:center bottom}.vxe-pulldown--panel.animat--enter{opacity:1;transform:scaleY(1)}.vxe-pulldown--wrapper{background-color:#fff}.vxe-pulldown,.vxe-pulldown--panel{font-size:14px}.vxe-pulldown--panel.size--medium,.vxe-pulldown.size--medium{font-size:14px}.vxe-pulldown--panel.size--small,.vxe-pulldown.size--small{font-size:13px}.vxe-pulldown--panel.size--mini,.vxe-pulldown.size--mini{font-size:12px}
1
+ .vxe-pulldown{position:relative;display:inline-block;color:#606266;text-align:left}.vxe-pulldown--panel{display:none;position:absolute;left:0;padding:4px 0;color:#606266;text-align:left}.vxe-pulldown--panel:not(.is--transfer){min-width:100%}.vxe-pulldown--panel.is--transfer{position:fixed}.vxe-pulldown--panel.animat--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-pulldown--panel.animat--leave[placement=top]{transform-origin:center bottom}.vxe-pulldown--panel.animat--enter{opacity:1;transform:scaleY(1)}.vxe-pulldown--panel-wrapper{background-color:var(--vxe-pulldown-panel-background-color)}.vxe-pulldown,.vxe-pulldown--panel{font-size:14px}.vxe-pulldown--panel.size--medium,.vxe-pulldown.size--medium{font-size:14px}.vxe-pulldown--panel.size--small,.vxe-pulldown.size--small{font-size:13px}.vxe-pulldown--panel.size--mini,.vxe-pulldown.size--mini{font-size:12px}
@@ -163,7 +163,8 @@ function checkOptionDisabled(_vm, isSelected, option, group) {
163
163
  return false;
164
164
  }
165
165
  function renderOption(h, _vm, list, group) {
166
- var isGroup = _vm.isGroup,
166
+ var $scopedSlots = _vm.$scopedSlots,
167
+ isGroup = _vm.isGroup,
167
168
  labelField = _vm.labelField,
168
169
  valueField = _vm.valueField,
169
170
  optionKey = _vm.optionKey,
@@ -172,6 +173,7 @@ function renderOption(h, _vm, list, group) {
172
173
  currentValue = _vm.currentValue,
173
174
  optionOpts = _vm.optionOpts;
174
175
  var useKey = optionOpts.useKey;
176
+ var optionSlot = $scopedSlots.option;
175
177
  return list.map(function (option, cIndex) {
176
178
  var slots = option.slots;
177
179
  var optionValue = option[valueField];
@@ -180,6 +182,11 @@ function renderOption(h, _vm, list, group) {
180
182
  var isDisabled = checkOptionDisabled(_vm, isSelected, option, group);
181
183
  var optid = getOptid(_vm, option);
182
184
  var defaultSlot = slots ? slots.default : null;
185
+ var optParams = {
186
+ option: option,
187
+ group: null,
188
+ $select: _vm
189
+ };
183
190
  return isVisible ? h('div', {
184
191
  key: useKey || optionKey ? optid : cIndex,
185
192
  class: ['vxe-select-option', option.className, {
@@ -203,24 +210,28 @@ function renderOption(h, _vm, list, group) {
203
210
  }
204
211
  }
205
212
  }
206
- }, defaultSlot ? _vm.callSlot(defaultSlot, {
207
- option: option,
208
- $select: _vm
209
- }, h) : _utils.default.formatText((0, _utils.getFuncText)(option[labelField]))) : null;
213
+ }, optionSlot ? _vm.callSlot(optionSlot, optParams, h) : defaultSlot ? _vm.callSlot(defaultSlot, optParams, h) : _utils.default.formatText((0, _utils.getFuncText)(option[labelField]))) : null;
210
214
  });
211
215
  }
212
216
  function renderOptgroup(h, _vm) {
213
- var optionKey = _vm.optionKey,
217
+ var $scopedSlots = _vm.$scopedSlots,
218
+ optionKey = _vm.optionKey,
214
219
  visibleGroupList = _vm.visibleGroupList,
215
220
  groupLabelField = _vm.groupLabelField,
216
221
  groupOptionsField = _vm.groupOptionsField,
217
222
  optionOpts = _vm.optionOpts;
218
223
  var useKey = optionOpts.useKey;
224
+ var optionSlot = $scopedSlots.option;
219
225
  return visibleGroupList.map(function (group, gIndex) {
220
226
  var slots = group.slots;
221
227
  var optid = getOptid(_vm, group);
222
228
  var isGroupDisabled = group.disabled;
223
229
  var defaultSlot = slots ? slots.default : null;
230
+ var optParams = {
231
+ option: group,
232
+ group: group,
233
+ $select: _vm
234
+ };
224
235
  return h('div', {
225
236
  key: useKey || optionKey ? optid : gIndex,
226
237
  class: ['vxe-optgroup', group.className, {
@@ -231,10 +242,7 @@ function renderOptgroup(h, _vm) {
231
242
  }
232
243
  }, [h('div', {
233
244
  class: 'vxe-optgroup--title'
234
- }, defaultSlot ? _vm.callSlot(defaultSlot, {
235
- option: group,
236
- $select: _vm
237
- }, h) : (0, _utils.getFuncText)(group[groupLabelField])), h('div', {
245
+ }, optionSlot ? _vm.callSlot(optionSlot, optParams, h) : defaultSlot ? _vm.callSlot(defaultSlot, optParams, h) : (0, _utils.getFuncText)(group[groupLabelField])), h('div', {
238
246
  class: 'vxe-optgroup--wrapper'
239
247
  }, renderOption(h, _vm, group[groupOptionsField], group))]);
240
248
  });
@@ -478,7 +486,9 @@ var _default2 = {
478
486
  _event.GlobalEvent.off(this, 'blur');
479
487
  },
480
488
  render: function render(h) {
481
- var _ref, _ref2;
489
+ var _ref,
490
+ _this2 = this,
491
+ _ref2;
482
492
  var _e = this._e,
483
493
  $scopedSlots = this.$scopedSlots,
484
494
  vSize = this.vSize,
@@ -490,7 +500,10 @@ var _default2 = {
490
500
  disabled = this.disabled,
491
501
  visiblePanel = this.visiblePanel,
492
502
  filterable = this.filterable;
503
+ var defaultSlot = $scopedSlots.default;
493
504
  var prefixSlot = $scopedSlots.prefix;
505
+ var headerSlot = $scopedSlots.header;
506
+ var footerSlot = $scopedSlots.footer;
494
507
  return h('div', {
495
508
  class: ['vxe-select', className ? _xeUtils.default.isFunction(className) ? className({
496
509
  $select: this
@@ -498,7 +511,7 @@ var _default2 = {
498
511
  }, [h('div', {
499
512
  class: 'vxe-select-slots',
500
513
  ref: 'hideOption'
501
- }, this.$slots.default), h('vxe-input', {
514
+ }, defaultSlot ? defaultSlot.call(this, {}) : []), h('vxe-input', {
502
515
  ref: 'input',
503
516
  props: {
504
517
  clearable: this.clearable,
@@ -519,7 +532,7 @@ var _default2 = {
519
532
  },
520
533
  scopedSlots: prefixSlot ? {
521
534
  prefix: function prefix() {
522
- return prefixSlot({});
535
+ return prefixSlot.call(_this2, {});
523
536
  }
524
537
  } : {}
525
538
  }), h('div', {
@@ -532,10 +545,10 @@ var _default2 = {
532
545
  },
533
546
  style: this.panelStyle
534
547
  }, inited ? [filterable ? h('div', {
535
- class: 'vxe-select-filter--wrapper'
548
+ class: 'vxe-select--panel-search'
536
549
  }, [h('vxe-input', {
537
550
  ref: 'inpSearch',
538
- class: 'vxe-select-filter--input',
551
+ class: 'vxe-select-search--input',
539
552
  props: {
540
553
  value: this.searchValue,
541
554
  type: 'text',
@@ -551,9 +564,17 @@ var _default2 = {
551
564
  search: this.triggerSearchEvent
552
565
  }
553
566
  })]) : _e(), h('div', {
567
+ class: 'vxe-select--panel-wrapper'
568
+ }, [headerSlot ? h('div', {
569
+ class: 'vxe-select--panel-header'
570
+ }, headerSlot.call(this, {})) : _e(), h('div', {
571
+ class: 'vxe-select--panel-body'
572
+ }, [h('div', {
554
573
  ref: 'optWrapper',
555
574
  class: 'vxe-select-option--wrapper'
556
- }, renderOpts(h, this))] : null)]);
575
+ }, renderOpts(h, this))]), footerSlot ? h('div', {
576
+ class: 'vxe-select--panel-footer'
577
+ }, footerSlot.call(this, {})) : _e()])] : [])]);
557
578
  },
558
579
  methods: {
559
580
  callSlot: function callSlot(slotFunc, params, h) {
@@ -569,13 +590,13 @@ var _default2 = {
569
590
  return [];
570
591
  },
571
592
  cacheItemMap: function cacheItemMap() {
572
- var _this2 = this;
593
+ var _this3 = this;
573
594
  var fullOptionList = this.fullOptionList,
574
595
  fullGroupList = this.fullGroupList,
575
596
  groupOptionsField = this.groupOptionsField;
576
597
  var optkey = getOptkey(this);
577
598
  var handleOptis = function handleOptis(item) {
578
- if (!getOptid(_this2, item)) {
599
+ if (!getOptid(_this3, item)) {
579
600
  item[optkey] = getOptUniqueId();
580
601
  }
581
602
  };
@@ -645,12 +666,12 @@ var _default2 = {
645
666
  }
646
667
  },
647
668
  scrollToOption: function scrollToOption(option, isAlignBottom) {
648
- var _this3 = this;
669
+ var _this4 = this;
649
670
  return this.$nextTick().then(function () {
650
671
  if (option) {
651
- var $refs = _this3.$refs;
672
+ var $refs = _this4.$refs;
652
673
  var optWrapperElem = $refs.optWrapper;
653
- var optElem = $refs.panel.querySelector("[optid='".concat(getOptid(_this3, option), "']"));
674
+ var optElem = $refs.panel.querySelector("[optid='".concat(getOptid(_this4, option), "']"));
654
675
  if (optWrapperElem && optElem) {
655
676
  var wrapperHeight = optWrapperElem.offsetHeight;
656
677
  var offsetPadding = 5;
@@ -820,11 +841,11 @@ var _default2 = {
820
841
  }
821
842
  },
822
843
  handleFocusSearch: function handleFocusSearch() {
823
- var _this4 = this;
844
+ var _this5 = this;
824
845
  if (this.filterable) {
825
846
  this.$nextTick(function () {
826
- if (_this4.$refs.inpSearch) {
827
- _this4.$refs.inpSearch.focus();
847
+ if (_this5.$refs.inpSearch) {
848
+ _this5.$refs.inpSearch.focus();
828
849
  }
829
850
  });
830
851
  }
@@ -858,7 +879,7 @@ var _default2 = {
858
879
  }
859
880
  },
860
881
  triggerSearchEvent: _xeUtils.default.debounce(function () {
861
- var _this5 = this;
882
+ var _this6 = this;
862
883
  var remote = this.remote,
863
884
  remoteMethod = this.remoteMethod,
864
885
  searchValue = this.searchValue;
@@ -867,12 +888,12 @@ var _default2 = {
867
888
  Promise.resolve(remoteMethod({
868
889
  searchValue: searchValue
869
890
  })).then(function () {
870
- return _this5.$nextTick();
891
+ return _this6.$nextTick();
871
892
  }).catch(function () {
872
- return _this5.$nextTick();
893
+ return _this6.$nextTick();
873
894
  }).finally(function () {
874
- _this5.searchLoading = false;
875
- _this5.refreshOption();
895
+ _this6.searchLoading = false;
896
+ _this6.refreshOption();
876
897
  });
877
898
  } else {
878
899
  this.refreshOption();
@@ -913,7 +934,7 @@ var _default2 = {
913
934
  }
914
935
  },
915
936
  showOptionPanel: function showOptionPanel() {
916
- var _this6 = this;
937
+ var _this7 = this;
917
938
  var loading = this.loading,
918
939
  disabled = this.disabled,
919
940
  filterable = this.filterable;
@@ -932,37 +953,37 @@ var _default2 = {
932
953
  this.refreshOption();
933
954
  }
934
955
  setTimeout(function () {
935
- var value = _this6.value,
936
- multiple = _this6.multiple;
937
- var currOption = findOption(_this6, multiple && value ? value[0] : value);
938
- _this6.visiblePanel = true;
956
+ var value = _this7.value,
957
+ multiple = _this7.multiple;
958
+ var currOption = findOption(_this7, multiple && value ? value[0] : value);
959
+ _this7.visiblePanel = true;
939
960
  if (currOption) {
940
- _this6.setCurrentOption(currOption);
941
- _this6.scrollToOption(currOption);
961
+ _this7.setCurrentOption(currOption);
962
+ _this7.scrollToOption(currOption);
942
963
  }
943
- _this6.handleFocusSearch();
964
+ _this7.handleFocusSearch();
944
965
  }, 10);
945
966
  this.updateZindex();
946
967
  this.updatePlacement();
947
968
  }
948
969
  },
949
970
  hideOptionPanel: function hideOptionPanel() {
950
- var _this7 = this;
971
+ var _this8 = this;
951
972
  this.searchValue = '';
952
973
  this.searchLoading = false;
953
974
  this.visiblePanel = false;
954
975
  this.hidePanelTimeout = setTimeout(function () {
955
- _this7.animatVisible = false;
956
- _this7.searchValue = '';
976
+ _this8.animatVisible = false;
977
+ _this8.searchValue = '';
957
978
  }, 350);
958
979
  },
959
980
  updatePlacement: function updatePlacement() {
960
- var _this8 = this;
981
+ var _this9 = this;
961
982
  return this.$nextTick().then(function () {
962
- var $refs = _this8.$refs,
963
- transfer = _this8.transfer,
964
- placement = _this8.placement,
965
- panelIndex = _this8.panelIndex;
983
+ var $refs = _this9.$refs,
984
+ transfer = _this9.transfer,
985
+ placement = _this9.placement,
986
+ panelIndex = _this9.panelIndex;
966
987
  var targetElem = $refs.input.$el;
967
988
  var panelElem = $refs.panel;
968
989
  if (panelElem && targetElem) {
@@ -1026,9 +1047,9 @@ var _default2 = {
1026
1047
  }
1027
1048
  }
1028
1049
  }
1029
- _this8.panelStyle = panelStyle;
1030
- _this8.panelPlacement = panelPlacement;
1031
- return _this8.$nextTick();
1050
+ _this9.panelStyle = panelStyle;
1051
+ _this9.panelPlacement = panelPlacement;
1052
+ return _this9.$nextTick();
1032
1053
  }
1033
1054
  });
1034
1055
  },
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.renderOptgroup=renderOptgroup,exports.renderOption=renderOption;var _xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_utils=_interopRequireWildcard(require("../../tools/utils")),_dom=_interopRequireDefault(require("../../tools/dom")),_event=require("../../tools/event"),_vn=require("../../tools/vn");function _getRequireWildcardCache(e){var t,i;return"function"!=typeof WeakMap?null:(t=new WeakMap,i=new WeakMap,(_getRequireWildcardCache=function(e){return e?i:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var i,n,o={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&((n=l?Object.getOwnPropertyDescriptor(e,i):null)&&(n.get||n.set)?Object.defineProperty(o,i,n):o[i]=e[i]);return o.default=e,t&&t.set(e,o),o}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function getOptkey(e){return e.optionOpts.keyField||e.optionId||"_X_OPTION_KEY"}function getOptid(e,t){t=t[getOptkey(e)];return t?encodeURIComponent(t):""}function findOffsetOption(e,t,i){var n,o,l,s,r=e.isGroup,a=e.visibleOptionList,u=e.visibleGroupList,c=e.valueField,f=e.groupOptionsField;if(r)for(var p=0;p<u.length;p++){var h=u[p],d=h[f],v=h.disabled;if(d)for(var b=0;b<d.length;b++){var O=d[b],g=isOptionVisible(O),m=v||O.disabled;if(n||m||(n=O),s&&g&&!m&&(l=O,!i))return{offsetOption:l};if(t===O[c]){if(s=O,i)return{offsetOption:o}}else g&&!m&&(o=O)}}else for(var x=0;x<a.length;x++){var _=a[x],y=_.disabled;if(n||y||(n=_),s&&!y&&(l=_,!i))return{offsetOption:l};if(t===_[c]){if(s=_,i)return{offsetOption:o}}else y||(o=_)}return{firstOption:n}}function findOption(e,t){var i=e.isGroup,n=e.fullOptionList,o=e.fullGroupList,l=e.valueField;if(i)for(var s=0;s<o.length;s++){var r=o[s];if(r.options)for(var a=0;a<r.options.length;a++){var u=r.options[a];if(t===u[l])return u}}return n.find(function(e){return t===e[l]})}function getRemoteSelectLabel(e,t){var i=e.remoteValueList.find(function(e){return t===e.key}),i=i?i.result:null;return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function getSelectLabel(e,t){var i=findOption(e,t);return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function checkOptionDisabled(e,t,i,n){return!!i.disabled||!(!n||!n.disabled)||!(!e.isMaximize||t)}function renderOption(a,u,e,c){var f=u.isGroup,p=u.labelField,h=u.valueField,d=u.optionKey,v=u.value,b=u.multiple,O=u.currentValue,g=u.optionOpts.useKey;return e.map(function(t,e){var i=t.slots,n=t[h],o=b?v&&-1<v.indexOf(n):v===n,l=!f||isOptionVisible(t),s=checkOptionDisabled(u,o,t,c),r=getOptid(u,t),i=i?i.default:null;return l?a("div",{key:g||d?r:e,class:["vxe-select-option",t.className,{"is--disabled":s,"is--selected":o,"is--hover":O===n}],attrs:{optid:r},on:{mousedown:u.mousedownOptionEvent,click:function(e){s||u.changeOptionEvent(e,n,t)},mouseenter:function(){s||u.setCurrentOption(t)}}},i?u.callSlot(i,{option:t,$select:u},a):_utils.default.formatText((0,_utils.getFuncText)(t[p]))):null})}function renderOptgroup(l,s){var r=s.optionKey,e=s.visibleGroupList,a=s.groupLabelField,u=s.groupOptionsField,c=s.optionOpts.useKey;return e.map(function(e,t){var i=e.slots,n=getOptid(s,e),o=e.disabled,i=i?i.default:null;return l("div",{key:c||r?n:t,class:["vxe-optgroup",e.className,{"is--disabled":o}],attrs:{optid:n}},[l("div",{class:"vxe-optgroup--title"},i?s.callSlot(i,{option:e,$select:s},l):(0,_utils.getFuncText)(e[a])),l("div",{class:"vxe-optgroup--wrapper"},renderOption(l,s,e[u],e))])})}function renderOpts(e,t){var i=t.isGroup,n=t.visibleGroupList,o=t.visibleOptionList;if(t.searchLoading)return[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(n.length)return renderOptgroup(e,t)}else if(o.length)return renderOption(e,t,o);return[e("div",{class:"vxe-select--empty-placeholder"},t.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}var _default2={name:"VxeSelect",mixins:[_size.default],props:{value:null,clearable:Boolean,placeholder:{type:String,default:function(){return _xeUtils.default.eqNull(_conf.default.select.placeholder)?_conf.default.i18n("vxe.base.pleaseSelect"):_conf.default.select.placeholder}},loading:Boolean,disabled:Boolean,multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return _conf.default.select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:[String,Number],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,optionId:{type:String,default:function(){return _conf.default.select.optionId}},optionKey:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.select.transfer}}},components:{VxeInput:_input.default},inject:{$xeform:{default:null},$xeformiteminfo:{default:null}},provide:function(){return{$xeselect:this}},data:function(){return{inited:!1,collectOption:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:null,panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}},computed:{propsOpts:function(){return this.optionProps||{}},groupPropsOpts:function(){return this.optionGroupProps||{}},labelField:function(){return this.propsOpts.label||"label"},valueField:function(){return this.propsOpts.value||"value"},groupLabelField:function(){return this.groupPropsOpts.label||"label"},groupOptionsField:function(){return this.groupPropsOpts.options||"options"},optionOpts:function(){return Object.assign({},_conf.default.select.optionConfig,this.optionConfig)},isGroup:function(){return this.fullGroupList.some(function(e){return e.options&&e.options.length})},multiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},selectLabel:function(){var t=this,e=this.value,i=this.multiple,n=this.remote,o=this.multiMaxCharNum;return e&&i?(i=_xeUtils.default.isArray(e)?e:[e],(n?i.map(function(e){return getRemoteSelectLabel(t,e)}):i.map(function(e){e=getSelectLabel(t,e);return 0<o&&e.length>o?"".concat(e.substring(0,o),"..."):e})).join(", ")):(n?getRemoteSelectLabel:getSelectLabel)(this,e)},isMaximize:function(){var e=this.value,t=this.multiple,i=this.max;return!(!t||!i)&&(e?e.length:0)>=_xeUtils.default.toNumber(i)}},watch:{collectOption:function(e){e.some(function(e){return e.options&&e.options.length})?(this.fullOptionList=[],this.fullGroupList=e):(this.fullGroupList=[],this.fullOptionList=e),this.cacheItemMap()},options:function(e){this.fullGroupList=[],this.fullOptionList=e,this.cacheItemMap()},optionGroups:function(e){this.fullOptionList=[],this.fullGroupList=e,this.cacheItemMap()}},created:function(){var e=this.options,t=this.optionGroups;t?this.fullGroupList=t:e&&(this.fullOptionList=e),this.cacheItemMap(),_event.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_event.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_event.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_event.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_event.GlobalEvent.off(this,"mousewheel"),_event.GlobalEvent.off(this,"mousedown"),_event.GlobalEvent.off(this,"keydown"),_event.GlobalEvent.off(this,"blur")},render:function(e){var t=this._e,i=this.$scopedSlots,n=this.vSize,o=this.className,l=this.popupClassName,s=this.inited,r=this.isActivated,a=this.loading,u=this.disabled,c=this.visiblePanel,f=this.filterable,p=i.prefix;return e("div",{class:["vxe-select",o?_xeUtils.default.isFunction(o)?o({$select:this}):o:"",(_defineProperty(i={},"size--".concat(n),n),_defineProperty(i,"is--visivle",c),_defineProperty(i,"is--disabled",u),_defineProperty(i,"is--filter",f),_defineProperty(i,"is--loading",a),_defineProperty(i,"is--active",r),i)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},this.$slots.default),e("vxe-input",{ref:"input",props:{clearable:this.clearable,placeholder:this.placeholder,readonly:!0,disabled:u,type:"text",prefixIcon:this.prefixIcon,suffixIcon:a?_conf.default.icon.SELECT_LOADED:c?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,value:this.selectLabel},on:{clear:this.clearEvent,click:this.togglePanelEvent,focus:this.focusEvent,blur:this.blurEvent,"suffix-click":this.togglePanelEvent},scopedSlots:p?{prefix:function(){return p({})}}:{}}),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:this}):l:"",(_defineProperty(o={},"size--".concat(n),n),_defineProperty(o,"is--transfer",this.transfer),_defineProperty(o,"animat--leave",!a&&this.animatVisible),_defineProperty(o,"animat--enter",!a&&c),o)],attrs:{placement:this.panelPlacement},style:this.panelStyle},s?[f?e("div",{class:"vxe-select-filter--wrapper"},[e("vxe-input",{ref:"inpSearch",class:"vxe-select-filter--input",props:{value:this.searchValue,type:"text",clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH},on:{modelValue:this.modelSearchEvent,focus:this.focusSearchEvent,keydown:this.keydownSearchEvent,change:this.triggerSearchEvent,search:this.triggerSearchEvent}})]):t(),e("div",{ref:"optWrapper",class:"vxe-select-option--wrapper"},renderOpts(e,this))]:null)])},methods:{callSlot:function(e,t,i){if(e){var n=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,i))}return[]},cacheItemMap:function(){function t(e){getOptid(i,e)||(e[l]=getOptUniqueId())}var i=this,e=this.fullOptionList,n=this.fullGroupList,o=this.groupOptionsField,l=getOptkey(this);n.length?n.forEach(function(e){t(e),e[o]&&e[o].forEach(t)}):e.length&&e.forEach(t),this.refreshOption()},refreshOption:function(){var e=this.isGroup,t=this.fullOptionList,i=this.fullGroupList,n=this.filterable,o=this.filterMethod,l=this.searchValue,s=this.labelField,r=this.groupLabelField;return e?this.visibleGroupList=n&&o?i.filter(function(e){return isOptionVisible(e)&&o({group:e,option:null,searchValue:l})}):n?i.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[r]).indexOf(l))}):i.filter(isOptionVisible):this.visibleOptionList=n&&o?t.filter(function(e){return isOptionVisible(e)&&o({group:null,option:e,searchValue:l})}):n?t.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[s]).indexOf(l))}):t.filter(isOptionVisible),this.$nextTick()},setCurrentOption:function(e){e&&(this.currentOption=e,this.currentValue=e[this.valueField])},scrollToOption:function(n,o){var l=this;return this.$nextTick().then(function(){var e,t,i;n&&(e=(t=l.$refs).optWrapper,t=t.panel.querySelector("[optid='".concat(getOptid(l,n),"']")),e)&&t&&(i=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>i&&(e.scrollTop=t.offsetTop+t.offsetHeight-i):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel()},clearValueEvent:function(e,t){this.remoteValueList=[],this.changeEvent(e,t),this.$emit("clear",{value:t,$event:e})},changeEvent:function(e,t){t!==this.value&&(this.$emit("input",t),this.$emit("change",{value:t,$event:e}),this.$xeform)&&this.$xeformiteminfo&&this.$xeform.triggerItemEvent(e,this.$xeformiteminfo.itemConfig.field,t)},mousedownOptionEvent:function(e){0===e.button&&e.stopPropagation()},changeOptionEvent:function(e,t,i){var n=this.value,o=this.multiple,l=this.remoteValueList;o?(o=n?-1===n.indexOf(t)?n.concat([t]):n.filter(function(e){return e!==t}):[t],(n=l.find(function(e){return e.key===t}))?n.result=i:l.push({key:t,result:i}),this.changeEvent(e,o)):(this.remoteValueList=[{key:t,result:i}],this.changeEvent(e,t),this.hideOptionPanel())},handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,n=this.visiblePanel;i||n&&(_dom.default.getEventTargetNode(e,t.panel).flag?this.updatePlacement():this.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,n=this.disabled,o=this.visiblePanel;n||(this.isActivated=_dom.default.getEventTargetNode(e,i).flag||_dom.default.getEventTargetNode(e,t.panel).flag,o&&!this.isActivated&&this.hideOptionPanel())},handleGlobalKeydownEvent:function(e){var t,i,n,o,l,s,r,a=this.visiblePanel,u=this.currentValue,c=this.currentOption,f=this.clearable;this.disabled||(t=13===(r=e.keyCode),s=27===r,i=38===r,n=40===r,o=46===r,l=32===r,(r=9===r)&&(this.isActivated=!1),a?s||r?this.hideOptionPanel():t?(e.preventDefault(),e.stopPropagation(),this.changeOptionEvent(e,u,c)):i||n?(e.preventDefault(),s=(a=findOffsetOption(this,u,i)).firstOption,(r=a.offsetOption)||findOption(this,u)||(r=s),this.setCurrentOption(r),this.scrollToOption(r,n)):l&&e.preventDefault():(i||n||t||l)&&this.isActivated&&(e.preventDefault(),this.showOptionPanel()),this.isActivated&&o&&f&&this.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},updateZindex:function(){this.panelIndex<_utils.default.getLastZIndex()&&(this.panelIndex=_utils.default.nextZIndex())},handleFocusSearch:function(){var e=this;this.filterable&&this.$nextTick(function(){e.$refs.inpSearch&&e.$refs.inpSearch.focus()})},focusEvent:function(e){this.disabled||(this.isActivated=!0),this.$emit("focus",{$event:e})},blurEvent:function(e){this.isActivated=!1,this.$emit("blur",{$event:e})},modelSearchEvent:function(e){this.searchValue=e},focusSearchEvent:function(){this.isActivated=!0},keydownSearchEvent:function(e){e=e.$event;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())},triggerSearchEvent:_xeUtils.default.debounce(function(){var e=this,t=this.remote,i=this.remoteMethod,n=this.searchValue;t&&i?(this.searchLoading=!0,Promise.resolve(i({searchValue:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){e.searchLoading=!1,e.refreshOption()})):this.refreshOption()},350,{trailing:!0}),isPanelVisible:function(){return this.visiblePanel},togglePanel:function(){this.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){this.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){this.visiblePanel||this.showOptionPanel(),this.$nextTick()},togglePanelEvent:function(e){e.$event.preventDefault(),this.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},showOptionPanel:function(){var i=this,e=this.loading,t=this.disabled,n=this.filterable;e||t||(this.searchList=this.option,clearTimeout(this.hidePanelTimeout),this.inited||(this.inited=!0,this.transfer&&document.body.appendChild(this.$refs.panel)),this.isActivated=!0,this.animatVisible=!0,n&&this.refreshOption(),setTimeout(function(){var e=i.value,t=i.multiple,t=findOption(i,t&&e?e[0]:e);i.visiblePanel=!0,t&&(i.setCurrentOption(t),i.scrollToOption(t)),i.handleFocusSearch()},10),this.updateZindex(),this.updatePlacement())},hideOptionPanel:function(){var e=this;this.searchValue="",this.searchLoading=!1,this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1,e.searchValue=""},350)},updatePlacement:function(){var p=this;return this.$nextTick().then(function(){var e,t,i,n,o,l,s,r=p.$refs,a=p.transfer,u=p.placement,c=p.panelIndex,f=r.input.$el,r=r.panel;if(r&&f)return e=f.offsetHeight,t=f.offsetWidth,i=r.offsetHeight,r=r.offsetWidth,c={zIndex:c},n=(f=_dom.default.getAbsolutePos(f)).boundingTop,s=f.boundingLeft,o=f.visibleHeight,f=f.visibleWidth,l="bottom",a?(a=n+e,"top"===u?(l="top",a=n-i):u||(o<a+i+5&&(l="top",a=n-i),a<5&&(l="bottom",a=n+e)),f<(s=s)+r+5&&(s-=s+r+5-f),s<5&&(s=5),Object.assign(c,{left:"".concat(s,"px"),top:"".concat(a,"px"),minWidth:"".concat(t,"px")})):"top"===u?(l="top",c.bottom="".concat(e,"px")):u||o<n+e+i&&5<n-e-i&&(l="top",c.bottom="".concat(e,"px")),p.panelStyle=c,p.panelPlacement=l,p.$nextTick()})},focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.hideOptionPanel(),this.$refs.input.blur(),this.$nextTick()}}};exports.default=_default2;
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.renderOptgroup=renderOptgroup,exports.renderOption=renderOption;var _xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=_interopRequireDefault(require("../../mixins/size")),_utils=_interopRequireWildcard(require("../../tools/utils")),_dom=_interopRequireDefault(require("../../tools/dom")),_event=require("../../tools/event"),_vn=require("../../tools/vn");function _getRequireWildcardCache(e){var t,i;return"function"!=typeof WeakMap?null:(t=new WeakMap,i=new WeakMap,(_getRequireWildcardCache=function(e){return e?i:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var i,n,o={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&((n=l?Object.getOwnPropertyDescriptor(e,i):null)&&(n.get||n.set)?Object.defineProperty(o,i,n):o[i]=e[i]);return o.default=e,t&&t.set(e,o),o}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function getOptkey(e){return e.optionOpts.keyField||e.optionId||"_X_OPTION_KEY"}function getOptid(e,t){t=t[getOptkey(e)];return t?encodeURIComponent(t):""}function findOffsetOption(e,t,i){var n,o,l,s,r=e.isGroup,a=e.visibleOptionList,u=e.visibleGroupList,c=e.valueField,p=e.groupOptionsField;if(r)for(var f=0;f<u.length;f++){var h=u[f],d=h[p],v=h.disabled;if(d)for(var b=0;b<d.length;b++){var g=d[b],O=isOptionVisible(g),m=v||g.disabled;if(n||m||(n=g),s&&O&&!m&&(l=g,!i))return{offsetOption:l};if(t===g[c]){if(s=g,i)return{offsetOption:o}}else O&&!m&&(o=g)}}else for(var x=0;x<a.length;x++){var _=a[x],y=_.disabled;if(n||y||(n=_),s&&!y&&(l=_,!i))return{offsetOption:l};if(t===_[c]){if(s=_,i)return{offsetOption:o}}else y||(o=_)}return{firstOption:n}}function findOption(e,t){var i=e.isGroup,n=e.fullOptionList,o=e.fullGroupList,l=e.valueField;if(i)for(var s=0;s<o.length;s++){var r=o[s];if(r.options)for(var a=0;a<r.options.length;a++){var u=r.options[a];if(t===u[l])return u}}return n.find(function(e){return t===e[l]})}function getRemoteSelectLabel(e,t){var i=e.remoteValueList.find(function(e){return t===e.key}),i=i?i.result:null;return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function getSelectLabel(e,t){var i=findOption(e,t);return _xeUtils.default.toValueString(i?i[e.labelField]:t)}function checkOptionDisabled(e,t,i,n){return!!i.disabled||!(!n||!n.disabled)||!(!e.isMaximize||t)}function renderOption(u,c,e,p){var t=c.$scopedSlots,f=c.isGroup,h=c.labelField,d=c.valueField,v=c.optionKey,b=c.value,g=c.multiple,O=c.currentValue,m=c.optionOpts.useKey,x=t.option;return e.map(function(t,e){var i=t.slots,n=t[d],o=g?b&&-1<b.indexOf(n):b===n,l=!f||isOptionVisible(t),s=checkOptionDisabled(c,o,t,p),r=getOptid(c,t),i=i?i.default:null,a={option:t,group:null,$select:c};return l?u("div",{key:m||v?r:e,class:["vxe-select-option",t.className,{"is--disabled":s,"is--selected":o,"is--hover":O===n}],attrs:{optid:r},on:{mousedown:c.mousedownOptionEvent,click:function(e){s||c.changeOptionEvent(e,n,t)},mouseenter:function(){s||c.setCurrentOption(t)}}},x?c.callSlot(x,a,u):i?c.callSlot(i,a,u):_utils.default.formatText((0,_utils.getFuncText)(t[h]))):null})}function renderOptgroup(s,r){var e=r.$scopedSlots,a=r.optionKey,t=r.visibleGroupList,u=r.groupLabelField,c=r.groupOptionsField,p=r.optionOpts.useKey,f=e.option;return t.map(function(e,t){var i=e.slots,n=getOptid(r,e),o=e.disabled,i=i?i.default:null,l={option:e,group:e,$select:r};return s("div",{key:p||a?n:t,class:["vxe-optgroup",e.className,{"is--disabled":o}],attrs:{optid:n}},[s("div",{class:"vxe-optgroup--title"},f?r.callSlot(f,l,s):i?r.callSlot(i,l,s):(0,_utils.getFuncText)(e[u])),s("div",{class:"vxe-optgroup--wrapper"},renderOption(s,r,e[c],e))])})}function renderOpts(e,t){var i=t.isGroup,n=t.visibleGroupList,o=t.visibleOptionList;if(t.searchLoading)return[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(n.length)return renderOptgroup(e,t)}else if(o.length)return renderOption(e,t,o);return[e("div",{class:"vxe-select--empty-placeholder"},t.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}var _default2={name:"VxeSelect",mixins:[_size.default],props:{value:null,clearable:Boolean,placeholder:{type:String,default:function(){return _xeUtils.default.eqNull(_conf.default.select.placeholder)?_conf.default.i18n("vxe.base.pleaseSelect"):_conf.default.select.placeholder}},loading:Boolean,disabled:Boolean,multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return _conf.default.select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:[String,Number],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,optionId:{type:String,default:function(){return _conf.default.select.optionId}},optionKey:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.select.transfer}}},components:{VxeInput:_input.default},inject:{$xeform:{default:null},$xeformiteminfo:{default:null}},provide:function(){return{$xeselect:this}},data:function(){return{inited:!1,collectOption:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:null,panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}},computed:{propsOpts:function(){return this.optionProps||{}},groupPropsOpts:function(){return this.optionGroupProps||{}},labelField:function(){return this.propsOpts.label||"label"},valueField:function(){return this.propsOpts.value||"value"},groupLabelField:function(){return this.groupPropsOpts.label||"label"},groupOptionsField:function(){return this.groupPropsOpts.options||"options"},optionOpts:function(){return Object.assign({},_conf.default.select.optionConfig,this.optionConfig)},isGroup:function(){return this.fullGroupList.some(function(e){return e.options&&e.options.length})},multiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},selectLabel:function(){var t=this,e=this.value,i=this.multiple,n=this.remote,o=this.multiMaxCharNum;return e&&i?(i=_xeUtils.default.isArray(e)?e:[e],(n?i.map(function(e){return getRemoteSelectLabel(t,e)}):i.map(function(e){e=getSelectLabel(t,e);return 0<o&&e.length>o?"".concat(e.substring(0,o),"..."):e})).join(", ")):(n?getRemoteSelectLabel:getSelectLabel)(this,e)},isMaximize:function(){var e=this.value,t=this.multiple,i=this.max;return!(!t||!i)&&(e?e.length:0)>=_xeUtils.default.toNumber(i)}},watch:{collectOption:function(e){e.some(function(e){return e.options&&e.options.length})?(this.fullOptionList=[],this.fullGroupList=e):(this.fullGroupList=[],this.fullOptionList=e),this.cacheItemMap()},options:function(e){this.fullGroupList=[],this.fullOptionList=e,this.cacheItemMap()},optionGroups:function(e){this.fullOptionList=[],this.fullGroupList=e,this.cacheItemMap()}},created:function(){var e=this.options,t=this.optionGroups;t?this.fullGroupList=t:e&&(this.fullOptionList=e),this.cacheItemMap(),_event.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_event.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_event.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_event.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){_event.GlobalEvent.off(this,"mousewheel"),_event.GlobalEvent.off(this,"mousedown"),_event.GlobalEvent.off(this,"keydown"),_event.GlobalEvent.off(this,"blur")},render:function(e){var t=this,i=this._e,n=this.$scopedSlots,o=this.vSize,l=this.className,s=this.popupClassName,r=this.inited,a=this.isActivated,u=this.loading,c=this.disabled,p=this.visiblePanel,f=this.filterable,h=n.default,d=n.prefix,v=n.header,n=n.footer;return e("div",{class:["vxe-select",l?_xeUtils.default.isFunction(l)?l({$select:this}):l:"",(_defineProperty(l={},"size--".concat(o),o),_defineProperty(l,"is--visivle",p),_defineProperty(l,"is--disabled",c),_defineProperty(l,"is--filter",f),_defineProperty(l,"is--loading",u),_defineProperty(l,"is--active",a),l)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},h?h.call(this,{}):[]),e("vxe-input",{ref:"input",props:{clearable:this.clearable,placeholder:this.placeholder,readonly:!0,disabled:c,type:"text",prefixIcon:this.prefixIcon,suffixIcon:u?_conf.default.icon.SELECT_LOADED:p?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,value:this.selectLabel},on:{clear:this.clearEvent,click:this.togglePanelEvent,focus:this.focusEvent,blur:this.blurEvent,"suffix-click":this.togglePanelEvent},scopedSlots:d?{prefix:function(){return d.call(t,{})}}:{}}),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-select--panel",s?_xeUtils.default.isFunction(s)?s({$select:this}):s:"",(_defineProperty(a={},"size--".concat(o),o),_defineProperty(a,"is--transfer",this.transfer),_defineProperty(a,"animat--leave",!u&&this.animatVisible),_defineProperty(a,"animat--enter",!u&&p),a)],attrs:{placement:this.panelPlacement},style:this.panelStyle},r?[f?e("div",{class:"vxe-select--panel-search"},[e("vxe-input",{ref:"inpSearch",class:"vxe-select-search--input",props:{value:this.searchValue,type:"text",clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH},on:{modelValue:this.modelSearchEvent,focus:this.focusSearchEvent,keydown:this.keydownSearchEvent,change:this.triggerSearchEvent,search:this.triggerSearchEvent}})]):i(),e("div",{class:"vxe-select--panel-wrapper"},[v?e("div",{class:"vxe-select--panel-header"},v.call(this,{})):i(),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"optWrapper",class:"vxe-select-option--wrapper"},renderOpts(e,this))]),n?e("div",{class:"vxe-select--panel-footer"},n.call(this,{})):i()])]:[])])},methods:{callSlot:function(e,t,i){if(e){var n=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,i))}return[]},cacheItemMap:function(){function t(e){getOptid(i,e)||(e[l]=getOptUniqueId())}var i=this,e=this.fullOptionList,n=this.fullGroupList,o=this.groupOptionsField,l=getOptkey(this);n.length?n.forEach(function(e){t(e),e[o]&&e[o].forEach(t)}):e.length&&e.forEach(t),this.refreshOption()},refreshOption:function(){var e=this.isGroup,t=this.fullOptionList,i=this.fullGroupList,n=this.filterable,o=this.filterMethod,l=this.searchValue,s=this.labelField,r=this.groupLabelField;return e?this.visibleGroupList=n&&o?i.filter(function(e){return isOptionVisible(e)&&o({group:e,option:null,searchValue:l})}):n?i.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[r]).indexOf(l))}):i.filter(isOptionVisible):this.visibleOptionList=n&&o?t.filter(function(e){return isOptionVisible(e)&&o({group:null,option:e,searchValue:l})}):n?t.filter(function(e){return isOptionVisible(e)&&(!l||-1<"".concat(e[s]).indexOf(l))}):t.filter(isOptionVisible),this.$nextTick()},setCurrentOption:function(e){e&&(this.currentOption=e,this.currentValue=e[this.valueField])},scrollToOption:function(n,o){var l=this;return this.$nextTick().then(function(){var e,t,i;n&&(e=(t=l.$refs).optWrapper,t=t.panel.querySelector("[optid='".concat(getOptid(l,n),"']")),e)&&t&&(i=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>i&&(e.scrollTop=t.offsetTop+t.offsetHeight-i):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel()},clearValueEvent:function(e,t){this.remoteValueList=[],this.changeEvent(e,t),this.$emit("clear",{value:t,$event:e})},changeEvent:function(e,t){t!==this.value&&(this.$emit("input",t),this.$emit("change",{value:t,$event:e}),this.$xeform)&&this.$xeformiteminfo&&this.$xeform.triggerItemEvent(e,this.$xeformiteminfo.itemConfig.field,t)},mousedownOptionEvent:function(e){0===e.button&&e.stopPropagation()},changeOptionEvent:function(e,t,i){var n=this.value,o=this.multiple,l=this.remoteValueList;o?(o=n?-1===n.indexOf(t)?n.concat([t]):n.filter(function(e){return e!==t}):[t],(n=l.find(function(e){return e.key===t}))?n.result=i:l.push({key:t,result:i}),this.changeEvent(e,o)):(this.remoteValueList=[{key:t,result:i}],this.changeEvent(e,t),this.hideOptionPanel())},handleGlobalMousewheelEvent:function(e){var t=this.$refs,i=this.disabled,n=this.visiblePanel;i||n&&(_dom.default.getEventTargetNode(e,t.panel).flag?this.updatePlacement():this.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t=this.$refs,i=this.$el,n=this.disabled,o=this.visiblePanel;n||(this.isActivated=_dom.default.getEventTargetNode(e,i).flag||_dom.default.getEventTargetNode(e,t.panel).flag,o&&!this.isActivated&&this.hideOptionPanel())},handleGlobalKeydownEvent:function(e){var t,i,n,o,l,s,r,a=this.visiblePanel,u=this.currentValue,c=this.currentOption,p=this.clearable;this.disabled||(t=13===(r=e.keyCode),s=27===r,i=38===r,n=40===r,o=46===r,l=32===r,(r=9===r)&&(this.isActivated=!1),a?s||r?this.hideOptionPanel():t?(e.preventDefault(),e.stopPropagation(),this.changeOptionEvent(e,u,c)):i||n?(e.preventDefault(),s=(a=findOffsetOption(this,u,i)).firstOption,(r=a.offsetOption)||findOption(this,u)||(r=s),this.setCurrentOption(r),this.scrollToOption(r,n)):l&&e.preventDefault():(i||n||t||l)&&this.isActivated&&(e.preventDefault(),this.showOptionPanel()),this.isActivated&&o&&p&&this.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},updateZindex:function(){this.panelIndex<_utils.default.getLastZIndex()&&(this.panelIndex=_utils.default.nextZIndex())},handleFocusSearch:function(){var e=this;this.filterable&&this.$nextTick(function(){e.$refs.inpSearch&&e.$refs.inpSearch.focus()})},focusEvent:function(e){this.disabled||(this.isActivated=!0),this.$emit("focus",{$event:e})},blurEvent:function(e){this.isActivated=!1,this.$emit("blur",{$event:e})},modelSearchEvent:function(e){this.searchValue=e},focusSearchEvent:function(){this.isActivated=!0},keydownSearchEvent:function(e){e=e.$event;(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())},triggerSearchEvent:_xeUtils.default.debounce(function(){var e=this,t=this.remote,i=this.remoteMethod,n=this.searchValue;t&&i?(this.searchLoading=!0,Promise.resolve(i({searchValue:n})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){e.searchLoading=!1,e.refreshOption()})):this.refreshOption()},350,{trailing:!0}),isPanelVisible:function(){return this.visiblePanel},togglePanel:function(){this.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){this.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){this.visiblePanel||this.showOptionPanel(),this.$nextTick()},togglePanelEvent:function(e){e.$event.preventDefault(),this.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},showOptionPanel:function(){var i=this,e=this.loading,t=this.disabled,n=this.filterable;e||t||(this.searchList=this.option,clearTimeout(this.hidePanelTimeout),this.inited||(this.inited=!0,this.transfer&&document.body.appendChild(this.$refs.panel)),this.isActivated=!0,this.animatVisible=!0,n&&this.refreshOption(),setTimeout(function(){var e=i.value,t=i.multiple,t=findOption(i,t&&e?e[0]:e);i.visiblePanel=!0,t&&(i.setCurrentOption(t),i.scrollToOption(t)),i.handleFocusSearch()},10),this.updateZindex(),this.updatePlacement())},hideOptionPanel:function(){var e=this;this.searchValue="",this.searchLoading=!1,this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1,e.searchValue=""},350)},updatePlacement:function(){var f=this;return this.$nextTick().then(function(){var e,t,i,n,o,l,s,r=f.$refs,a=f.transfer,u=f.placement,c=f.panelIndex,p=r.input.$el,r=r.panel;if(r&&p)return e=p.offsetHeight,t=p.offsetWidth,i=r.offsetHeight,r=r.offsetWidth,c={zIndex:c},n=(p=_dom.default.getAbsolutePos(p)).boundingTop,s=p.boundingLeft,o=p.visibleHeight,p=p.visibleWidth,l="bottom",a?(a=n+e,"top"===u?(l="top",a=n-i):u||(o<a+i+5&&(l="top",a=n-i),a<5&&(l="bottom",a=n+e)),p<(s=s)+r+5&&(s-=s+r+5-p),s<5&&(s=5),Object.assign(c,{left:"".concat(s,"px"),top:"".concat(a,"px"),minWidth:"".concat(t,"px")})):"top"===u?(l="top",c.bottom="".concat(e,"px")):u||o<n+e+i&&5<n-e-i&&(l="top",c.bottom="".concat(e,"px")),f.panelStyle=c,f.panelPlacement=l,f.$nextTick()})},focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.hideOptionPanel(),this.$refs.input.blur(),this.$nextTick()}}};exports.default=_default2;
@@ -85,23 +85,40 @@
85
85
  transform: scaleY(1);
86
86
  }
87
87
 
88
- .vxe-select-filter--wrapper {
88
+ .vxe-select--panel-search {
89
89
  display: block;
90
90
  }
91
- .vxe-select-filter--wrapper .vxe-select-filter--input {
91
+ .vxe-select--panel-search .vxe-select-search--input {
92
92
  width: 100%;
93
93
  }
94
94
 
95
+ .vxe-select--panel-wrapper {
96
+ position: relative;
97
+ border-radius: 4px;
98
+ border: 1px solid #DADCE0;
99
+ box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
100
+ background-color: #fff;
101
+ }
102
+
103
+ .vxe-select--panel-header {
104
+ border-bottom: 1px solid #DADCE0;
105
+ }
106
+
107
+ .vxe-select--panel-footer {
108
+ border-top: 1px solid #DADCE0;
109
+ }
110
+
111
+ .vxe-select--panel-header,
112
+ .vxe-select--panel-footer {
113
+ padding: 4px 0;
114
+ }
115
+
95
116
  .vxe-select-option--wrapper {
96
117
  position: relative;
97
118
  overflow-x: hidden;
98
119
  overflow-y: auto;
99
120
  padding: 4px 0;
100
121
  max-height: 200px;
101
- border-radius: 4px;
102
- border: 1px solid #DADCE0;
103
- box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
104
- background-color: #fff;
105
122
  }
106
123
 
107
124
  .vxe-optgroup .vxe-optgroup--title {
@@ -1 +1 @@
1
- .vxe-select{position:relative;display:inline-block;width:180px;color:#606266;text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input .vxe-input--inner{border:1px solid #409eff}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:#606266;text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.animat--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.vxe-select--panel.animat--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.animat--enter{opacity:1;transform:scaleY(1)}.vxe-select-filter--wrapper{display:block}.vxe-select-filter--wrapper .vxe-select-filter--input{width:100%}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto;padding:4px 0;max-height:200px;border-radius:4px;border:1px solid #dadce0;box-shadow:0 0 6px 2px rgba(0,0,0,.1);background-color:#fff}.vxe-optgroup .vxe-optgroup--title{padding:0 6px;color:#909399;font-size:12px}.vxe-optgroup--wrapper .vxe-select-option{padding:0 20px}.vxe-select-option{padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option.is--selected{font-weight:700;color:#409eff}.vxe-select-option:not(.is--disabled){cursor:pointer}.vxe-select-option:not(.is--disabled).is--hover{background-color:#f5f7fa}.vxe-select-option.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:#c0c4cc}.vxe-select,.vxe-select--panel{font-size:14px}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:14px}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:13px}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:12px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select-option{height:30px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:30px}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select-option{height:28px}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:28px}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select-option{height:26px}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:26px}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select-option{height:24px}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:24px}
1
+ .vxe-select{position:relative;display:inline-block;width:180px;color:#606266;text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input .vxe-input--inner{border:1px solid #409eff}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:#606266;text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.animat--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden;transform-style:preserve-3d}.vxe-select--panel.animat--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.animat--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel-search{display:block}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:4px;border:1px solid #dadce0;box-shadow:0 0 6px 2px rgba(0,0,0,.1);background-color:#fff}.vxe-select--panel-header{border-bottom:1px solid #dadce0}.vxe-select--panel-footer{border-top:1px solid #dadce0}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto;padding:4px 0;max-height:200px}.vxe-optgroup .vxe-optgroup--title{padding:0 6px;color:#909399;font-size:12px}.vxe-optgroup--wrapper .vxe-select-option{padding:0 20px}.vxe-select-option{padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option.is--selected{font-weight:700;color:#409eff}.vxe-select-option:not(.is--disabled){cursor:pointer}.vxe-select-option:not(.is--disabled).is--hover{background-color:#f5f7fa}.vxe-select-option.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:#c0c4cc}.vxe-select,.vxe-select--panel{font-size:14px}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:14px}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:13px}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:12px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select-option{height:30px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:30px}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select-option{height:28px}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:28px}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select-option{height:26px}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:26px}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select-option{height:24px}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:24px}