vxe-table 4.3.13 → 4.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/form/src/form-config-item.js +3 -1
- package/es/form/src/form-item.js +3 -1
- package/es/icon/style.css +1 -1
- package/es/select/src/select.js +7 -3
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +4 -3
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/lib/form/src/form-config-item.js +3 -1
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-item.js +3 -1
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +17 -10
- package/lib/index.umd.min.js +1 -1
- package/lib/select/src/select.js +5 -3
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +4 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/package.json +1 -1
- package/packages/form/src/form-config-item.ts +3 -1
- package/packages/form/src/form-item.ts +3 -1
- package/packages/select/src/select.ts +7 -3
- package/packages/table/src/body.ts +4 -3
- package/types/select.d.ts +20 -1
- package/types/v-x-e-table/renderer.d.ts +9 -3
- /package/es/icon/style/{iconfont.1683246853825.ttf → iconfont.1683440224637.ttf} +0 -0
- /package/es/icon/style/{iconfont.1683246853825.woff → iconfont.1683440224637.woff} +0 -0
- /package/es/icon/style/{iconfont.1683246853825.woff2 → iconfont.1683440224637.woff2} +0 -0
- /package/es/{iconfont.1683246853825.ttf → iconfont.1683440224637.ttf} +0 -0
- /package/es/{iconfont.1683246853825.woff → iconfont.1683440224637.woff} +0 -0
- /package/es/{iconfont.1683246853825.woff2 → iconfont.1683440224637.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1683246853825.ttf → iconfont.1683440224637.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1683246853825.woff → iconfont.1683440224637.woff} +0 -0
- /package/lib/icon/style/{iconfont.1683246853825.woff2 → iconfont.1683440224637.woff2} +0 -0
- /package/lib/{iconfont.1683246853825.ttf → iconfont.1683440224637.ttf} +0 -0
- /package/lib/{iconfont.1683246853825.woff → iconfont.1683440224637.woff} +0 -0
- /package/lib/{iconfont.1683246853825.woff2 → iconfont.1683440224637.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -74,7 +74,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
|
-
emits: ['update:modelValue', 'change', 'clear'],
|
|
77
|
+
emits: ['update:modelValue', 'change', 'clear', 'blur', 'focus'],
|
|
78
78
|
setup: function (props, context) {
|
|
79
79
|
var slots = context.slots,
|
|
80
80
|
emit = context.emit;
|
|
@@ -687,13 +687,15 @@ var _default = (0, _vue.defineComponent)({
|
|
|
687
687
|
});
|
|
688
688
|
}
|
|
689
689
|
};
|
|
690
|
-
var focusEvent = function () {
|
|
690
|
+
var focusEvent = function (evnt) {
|
|
691
691
|
if (!props.disabled) {
|
|
692
692
|
reactData.isActivated = true;
|
|
693
693
|
}
|
|
694
|
+
selectMethods.dispatchEvent('focus', {}, evnt);
|
|
694
695
|
};
|
|
695
|
-
var blurEvent = function () {
|
|
696
|
+
var blurEvent = function (evnt) {
|
|
696
697
|
reactData.isActivated = false;
|
|
698
|
+
selectMethods.dispatchEvent('blur', {}, evnt);
|
|
697
699
|
};
|
|
698
700
|
var modelSearchEvent = function (value) {
|
|
699
701
|
reactData.searchValue = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils"),_event=require("../../tools/event"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default=(0,_vue.defineComponent)({name:"VxeSelect",props:{modelValue:null,clearable:Boolean,placeholder:String,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],max:{type:[String,Number],default:null},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}}},emits:["update:modelValue","change","clear"],setup:function(x,e){function g(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]}function v(t){var e=V.fullOptionList,n=V.fullGroupList,i=k.value,o=P.value;if(i)for(var l=0;l<n.length;l++){var u=n[l];if(u.options)for(var r=0;r<u.options.length;r++){var a=u.options[r];if(t===a[o])return a}}return e.find(function(e){return t===e[o]})}function o(t){var e=V.remoteValueList,n=S.value,e=(e=e.find(function(e){return t===e.key}))?e.result:null;return _xeUtils.default.toValueString(e?e[n]:t)}function l(e){var t=S.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function u(){var e=x.filterable,t=x.filterMethod,n=V.fullOptionList,i=V.fullGroupList,o=V.searchValue,l=k.value,u=Z.value,r=S.value;return l?V.visibleGroupList=e&&t?i.filter(function(e){return isOptionVisible(e)&&t({group:e,option:null,searchValue:o})}):e?i.filter(function(e){return isOptionVisible(e)&&(!o||-1<"".concat(e[u]).indexOf(o))}):i.filter(isOptionVisible):V.visibleOptionList=e&&t?n.filter(function(e){return isOptionVisible(e)&&t({group:null,option:e,searchValue:o})}):e?n.filter(function(e){return isOptionVisible(e)&&(!o||-1<"".concat(e[r]).indexOf(o))}):n.filter(isOptionVisible),(0,_vue.nextTick)()}function n(){function t(e){A(e)||(e[o]=getOptUniqueId())}var e=V.fullOptionList,n=V.fullGroupList,i=N.value,o=ee();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),u()}function E(e){var t=P.value;e&&(V.currentOption=e,V.currentValue=e[t])}function p(i,o){(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=h.value,t=T.value.querySelector("[optid='".concat(A(i),"']")),e)&&t&&(n=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>n&&(e.scrollTop=t.offsetTop+t.offsetHeight-n):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})}function i(){(0,_vue.nextTick)().then(function(){var e,t,n,i,o,l,u,r=x.transfer,a=x.placement,s=V.panelIndex,c=_.value,f=T.value;if(f&&c)return e=c.offsetHeight,t=c.offsetWidth,n=f.offsetHeight,f=f.offsetWidth,s={zIndex:s},i=(c=(0,_dom.getAbsolutePos)(c)).boundingTop,u=c.boundingLeft,o=c.visibleHeight,c=c.visibleWidth,l="bottom",r?(r=i+e,"top"===a?(l="top",r=i-n):a||(o<r+n+5&&(l="top",r=i-n),r<5&&(l="bottom",r=i+e)),c<(u=u)+f+5&&(u-=u+f+5-c),u<5&&(u=5),Object.assign(s,{left:"".concat(u,"px"),top:"".concat(r,"px"),minWidth:"".concat(t,"px")})):"top"===a?(l="top",s.bottom="".concat(e,"px")):a||o<i+e+n&&5<i-e-n&&(l="top",s.bottom="".concat(e,"px")),V.panelStyle=s,V.panelPlacement=l,(0,_vue.nextTick)()})}function U(e,t){te(t,null),C()}function O(e,t,n){var i=x.modelValue,o=x.multiple,l=V.remoteValueList;o?(o=void 0,o=i?-1===i.indexOf(t)?i.concat([t]):i.filter(function(e){return e!==t}):[t],(i=l.find(function(e){return e.key===t}))?i.result=n:l.push({key:t,result:n}),K(e,o)):(V.remoteValueList=[{key:t,result:n}],K(e,t),C())}function w(e){var t=x.disabled,n=V.visiblePanel;t||n&&(t=T.value,((0,_dom.getEventTargetNode)(e,t).flag?i:C)())}function q(e){var t,n=x.disabled,i=V.visiblePanel;n||(n=_.value,t=T.value,V.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!V.isActivated&&C())}function D(e){var t,n,i,o,l,u,r=x.clearable,a=x.disabled,s=V.visiblePanel,c=V.currentValue,f=V.currentOption;a||(a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.TAB),t=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER),u=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE),n=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_UP),i=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_DOWN),o=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.DELETE),l=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),a&&(V.isActivated=!1),s?u||a?C():t?(e.preventDefault(),e.stopPropagation(),O(e,c,f)):n||i?(e.preventDefault(),u=(s=function(e,t){var n,i,o,l,u=V.visibleOptionList,r=V.visibleGroupList,a=k.value,s=P.value,c=N.value;if(a)for(var f=0;f<r.length;f++){var v=r[f],p=v[c],d=v.disabled;if(p)for(var _=0;_<p.length;_++){var b=isOptionVisible(h=p[_]),m=d||h.disabled;if(n||m||(n=h),l&&b&&!m&&(o=h,!t))return{offsetOption:o};if(e===h[s]){if(l=h,t)return{offsetOption:i}}else b&&!m&&(i=h)}}else for(_=0;_<u.length;_++){var h,m=(h=u[_]).disabled;if(n||m||(n=h),l&&!m&&(o=h,!t))return{offsetOption:o};if(e===h[s]){if(l=h,t)return{offsetOption:i}}else m||(i=h)}return{firstOption:n}}(c,n)).firstOption,(a=s.offsetOption)||v(c)||(a=u),E(a),p(a,i)):l&&e.preventDefault():(n||i||t||l)&&V.isActivated&&(e.preventDefault(),I()),V.isActivated&&o&&r&&te(e,null))}function R(){C()}function F(){x.disabled||(V.isActivated=!0)}function $(){V.isActivated=!1}function j(e){V.searchValue=e}function B(){V.isActivated=!0}function z(e){e=e.$event,(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())}function f(e){e.$event.preventDefault(),(V.visiblePanel?C:I)()}var r,d=e.slots,a=e.emit,s=(0,_vue.inject)("$xeform",null),c=(0,_vue.inject)("$xeformiteminfo",null),M=_xeUtils.default.uniqueId(),Y=(0,_size.useSize)(x),V=(0,_vue.reactive)({inited:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}),_=(0,_vue.ref)(),b=(0,_vue.ref)(),m=(0,_vue.ref)(),h=(0,_vue.ref)(),T=(0,_vue.ref)(),H={refElem:_},L={xID:M,props:x,context:e,reactData:V,getRefMaps:function(){return H}},y={},t=(0,_vue.computed)(function(){return x.optionProps||{}}),W=(0,_vue.computed)(function(){return x.optionGroupProps||{}}),S=(0,_vue.computed)(function(){return t.value.label||"label"}),P=(0,_vue.computed)(function(){return t.value.value||"value"}),Z=(0,_vue.computed)(function(){return W.value.label||"label"}),N=(0,_vue.computed)(function(){return W.value.options||"options"}),X=(0,_vue.computed)(function(){var e=x.modelValue,t=x.multiple,n=x.max;return!(!t||!n)&&(e?e.length:0)>=_xeUtils.default.toNumber(n)}),G=(0,_vue.computed)(function(){return Object.assign({},_conf.default.select.optionConfig,x.optionConfig)}),k=(0,_vue.computed)(function(){return V.fullGroupList.some(function(e){return e.options&&e.options.length})}),J=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(x.multiCharOverflow)}),Q=(0,_vue.computed)(function(){var e=x.modelValue,t=x.multiple,n=x.remote,i=J.value;return e&&t?(t=_xeUtils.default.isArray(e)?e:[e],(n?t.map(o):t.map(function(e){e=l(e);return 0<i&&e.length>i?"".concat(e.substring(0,i),"..."):e})).join(", ")):(n?o:l)(e)}),ee=function(){return G.value.keyField||x.optionId||"_X_OPTION_KEY"},A=function(e){e=e[ee()];return e?encodeURIComponent(e):""},I=function(){var e=x.loading,t=x.disabled,n=x.filterable;e||t||(clearTimeout(r),V.inited||(V.inited=!0),V.isActivated=!0,V.animatVisible=!0,n&&u(),setTimeout(function(){var e=x.modelValue,t=x.multiple,t=v(t&&e?e[0]:e);V.visiblePanel=!0,t&&(E(t),p(t)),x.filterable&&(0,_vue.nextTick)(function(){var e=m.value;e&&e.focus()})},10),V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)()),i())},C=function(){V.searchValue="",V.searchLoading=!1,V.visiblePanel=!1,r=window.setTimeout(function(){V.animatVisible=!1},350)},K=function(e,t){t!==x.modelValue&&(a("update:modelValue",t),y.dispatchEvent("change",{value:t},e),s)&&c&&s.triggerItemEvent(e,c.itemConfig.field,t)},te=function(e,t){V.remoteValueList=[],K(e,t),y.dispatchEvent("clear",{value:t},e)},ne=_xeUtils.default.debounce(function(){var e=x.remote,t=x.remoteMethod,n=V.searchValue;e&&t?(V.searchLoading=!0,Promise.resolve(t({searchValue:n})).then(function(){return(0,_vue.nextTick)()}).catch(function(){return(0,_vue.nextTick)()}).finally(function(){V.searchLoading=!1,u()})):u()},350,{trailing:!0}),ie=function(e,c){var f=x.optionKey,v=x.modelValue,p=x.multiple,d=V.currentValue,t=G.value,_=S.value,b=P.value,m=k.value,h=t.useKey;return e.map(function(t,e){var n=t.slots,i=t.className,o=t[b],l=p?v&&-1<v.indexOf(o):v===o,u=!m||isOptionVisible(t),r=(s=l,a=c,!!t.disabled||!(!a||!a.disabled)||!(!X.value||s)),a=A(t),s=n?n.default:null;return u?(0,_vue.h)("div",{key:h||f?a:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:t,$select:L}):i:"",{"is--disabled":r,"is--selected":l,"is--hover":d===o}],optid:a,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){r||O(e,o,t)},onMouseenter:function(){r||E(t)}},s?g(s,{option:t,$select:L}):(0,_utils.formatText)((0,_utils.getFuncText)(t[_]))):null})},oe=function(){var u=x.optionKey,e=V.visibleGroupList,t=G.value,r=Z.value,a=N.value,s=t.useKey;return e.map(function(e,t){var n=e.slots,i=e.className,o=A(e),l=e.disabled,n=n?n.default:null;return(0,_vue.h)("div",{key:s||u?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i({option:e,$select:L}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?g(n,{option:e,$select:L}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ie(e[a]||[],e))])})},y={dispatchEvent:function(e,t,n){a(e,Object.assign({$select:L,$event:n},t))},isPanelVisible:function(){return V.visiblePanel},togglePanel:function(){return(V.visiblePanel?C:I)(),(0,_vue.nextTick)()},hidePanel:function(){return V.visiblePanel&&C(),(0,_vue.nextTick)()},showPanel:function(){return V.visiblePanel||I(),(0,_vue.nextTick)()},refreshOption:u,focus:function(){var e=b.value;return V.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return b.value.blur(),(V.isActivated=!1,_vue.nextTick)()}};Object.assign(L,y),(0,_vue.watch)(function(){return V.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(V.fullOptionList=[],V.fullGroupList=e):(V.fullGroupList=[],V.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return x.options},function(e){V.fullGroupList=[],V.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return x.optionGroups},function(e){V.fullOptionList=[],V.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=x.options,t=x.optionGroups;t?V.fullGroupList=t:e&&(V.fullOptionList=e),n()}),_event.GlobalEvent.on(L,"mousewheel",w),_event.GlobalEvent.on(L,"mousedown",q),_event.GlobalEvent.on(L,"keydown",D),_event.GlobalEvent.on(L,"blur",R)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(L,"mousewheel"),_event.GlobalEvent.off(L,"mousedown"),_event.GlobalEvent.off(L,"keydown"),_event.GlobalEvent.off(L,"blur")});return L.renderVN=function(){var e=x.className,t=x.transfer,n=x.disabled,i=x.loading,o=x.filterable,l=V.inited,u=V.isActivated,r=V.visiblePanel,a=Y.value,s=Q.value,c=d.prefix;return(0,_vue.h)("div",{ref:_,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:L}):e:"",((e={})["size--".concat(a)]=a,e["is--visivle"]=r,e["is--disabled"]=n,e["is--filter"]=o,e["is--loading"]=i,e["is--active"]=u,e)]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},d.default?d.default({}):[]),(0,_vue.h)(_input.default,{ref:b,clearable:x.clearable,placeholder:x.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:x.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:r?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:s,onClear:U,onClick:f,onFocus:F,onBlur:$,onSuffixClick:f},c?{prefix:function(){return c({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!l},[(0,_vue.h)("div",{ref:T,class:["vxe-table--ignore-clear vxe-select--panel",((u={})["size--".concat(a)]=a,u["is--transfer"]=t,u["animat--leave"]=!i&&V.animatVisible,u["animat--enter"]=!i&&r,u)],placement:V.panelPlacement,style:V.panelStyle},l?[o?(0,_vue.h)("div",{class:"vxe-select-filter--wrapper"},[(0,_vue.h)(_input.default,{ref:m,class:"vxe-select-filter--input",modelValue:V.searchValue,clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH,"onUpdate:modelValue":j,onFocus:B,onKeydown:z,onChange:ne,onSearch:ne})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{ref:h,class:"vxe-select-option--wrapper"},function(){var e=V.visibleGroupList,t=V.visibleOptionList,n=V.searchLoading,i=k.value;if(n)return[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(e.length)return oe()}else if(t.length)return ie(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},x.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",L),L},render:function(){return this.renderVN()}});exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils"),_event=require("../../tools/event"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default=(0,_vue.defineComponent)({name:"VxeSelect",props:{modelValue:null,clearable:Boolean,placeholder:String,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],max:{type:[String,Number],default:null},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}}},emits:["update:modelValue","change","clear","blur","focus"],setup:function(x,e){function g(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]}function v(t){var e=V.fullOptionList,n=V.fullGroupList,i=k.value,o=P.value;if(i)for(var l=0;l<n.length;l++){var u=n[l];if(u.options)for(var r=0;r<u.options.length;r++){var a=u.options[r];if(t===a[o])return a}}return e.find(function(e){return t===e[o]})}function o(t){var e=V.remoteValueList,n=S.value,e=(e=e.find(function(e){return t===e.key}))?e.result:null;return _xeUtils.default.toValueString(e?e[n]:t)}function l(e){var t=S.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function u(){var e=x.filterable,t=x.filterMethod,n=V.fullOptionList,i=V.fullGroupList,o=V.searchValue,l=k.value,u=Z.value,r=S.value;return l?V.visibleGroupList=e&&t?i.filter(function(e){return isOptionVisible(e)&&t({group:e,option:null,searchValue:o})}):e?i.filter(function(e){return isOptionVisible(e)&&(!o||-1<"".concat(e[u]).indexOf(o))}):i.filter(isOptionVisible):V.visibleOptionList=e&&t?n.filter(function(e){return isOptionVisible(e)&&t({group:null,option:e,searchValue:o})}):e?n.filter(function(e){return isOptionVisible(e)&&(!o||-1<"".concat(e[r]).indexOf(o))}):n.filter(isOptionVisible),(0,_vue.nextTick)()}function n(){function t(e){A(e)||(e[o]=getOptUniqueId())}var e=V.fullOptionList,n=V.fullGroupList,i=N.value,o=ee();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),u()}function E(e){var t=P.value;e&&(V.currentOption=e,V.currentValue=e[t])}function p(i,o){(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=h.value,t=T.value.querySelector("[optid='".concat(A(i),"']")),e)&&t&&(n=e.offsetHeight,o?t.offsetTop+t.offsetHeight-e.scrollTop>n&&(e.scrollTop=t.offsetTop+t.offsetHeight-n):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})}function i(){(0,_vue.nextTick)().then(function(){var e,t,n,i,o,l,u,r=x.transfer,a=x.placement,s=V.panelIndex,c=_.value,f=T.value;if(f&&c)return e=c.offsetHeight,t=c.offsetWidth,n=f.offsetHeight,f=f.offsetWidth,s={zIndex:s},i=(c=(0,_dom.getAbsolutePos)(c)).boundingTop,u=c.boundingLeft,o=c.visibleHeight,c=c.visibleWidth,l="bottom",r?(r=i+e,"top"===a?(l="top",r=i-n):a||(o<r+n+5&&(l="top",r=i-n),r<5&&(l="bottom",r=i+e)),c<(u=u)+f+5&&(u-=u+f+5-c),u<5&&(u=5),Object.assign(s,{left:"".concat(u,"px"),top:"".concat(r,"px"),minWidth:"".concat(t,"px")})):"top"===a?(l="top",s.bottom="".concat(e,"px")):a||o<i+e+n&&5<i-e-n&&(l="top",s.bottom="".concat(e,"px")),V.panelStyle=s,V.panelPlacement=l,(0,_vue.nextTick)()})}function U(e,t){te(t,null),C()}function O(e,t,n){var i=x.modelValue,o=x.multiple,l=V.remoteValueList;o?(o=void 0,o=i?-1===i.indexOf(t)?i.concat([t]):i.filter(function(e){return e!==t}):[t],(i=l.find(function(e){return e.key===t}))?i.result=n:l.push({key:t,result:n}),K(e,o)):(V.remoteValueList=[{key:t,result:n}],K(e,t),C())}function w(e){var t=x.disabled,n=V.visiblePanel;t||n&&(t=T.value,((0,_dom.getEventTargetNode)(e,t).flag?i:C)())}function q(e){var t,n=x.disabled,i=V.visiblePanel;n||(n=_.value,t=T.value,V.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!V.isActivated&&C())}function D(e){var t,n,i,o,l,u,r=x.clearable,a=x.disabled,s=V.visiblePanel,c=V.currentValue,f=V.currentOption;a||(a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.TAB),t=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER),u=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE),n=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_UP),i=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_DOWN),o=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.DELETE),l=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),a&&(V.isActivated=!1),s?u||a?C():t?(e.preventDefault(),e.stopPropagation(),O(e,c,f)):n||i?(e.preventDefault(),u=(s=function(e,t){var n,i,o,l,u=V.visibleOptionList,r=V.visibleGroupList,a=k.value,s=P.value,c=N.value;if(a)for(var f=0;f<r.length;f++){var v=r[f],p=v[c],d=v.disabled;if(p)for(var _=0;_<p.length;_++){var b=isOptionVisible(h=p[_]),m=d||h.disabled;if(n||m||(n=h),l&&b&&!m&&(o=h,!t))return{offsetOption:o};if(e===h[s]){if(l=h,t)return{offsetOption:i}}else b&&!m&&(i=h)}}else for(_=0;_<u.length;_++){var h,m=(h=u[_]).disabled;if(n||m||(n=h),l&&!m&&(o=h,!t))return{offsetOption:o};if(e===h[s]){if(l=h,t)return{offsetOption:i}}else m||(i=h)}return{firstOption:n}}(c,n)).firstOption,(a=s.offsetOption)||v(c)||(a=u),E(a),p(a,i)):l&&e.preventDefault():(n||i||t||l)&&V.isActivated&&(e.preventDefault(),I()),V.isActivated&&o&&r&&te(e,null))}function R(){C()}function F(e){x.disabled||(V.isActivated=!0),y.dispatchEvent("focus",{},e)}function $(e){V.isActivated=!1,y.dispatchEvent("blur",{},e)}function j(e){V.searchValue=e}function B(){V.isActivated=!0}function z(e){e=e.$event,(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())}function f(e){e.$event.preventDefault(),(V.visiblePanel?C:I)()}var r,d=e.slots,a=e.emit,s=(0,_vue.inject)("$xeform",null),c=(0,_vue.inject)("$xeformiteminfo",null),M=_xeUtils.default.uniqueId(),Y=(0,_size.useSize)(x),V=(0,_vue.reactive)({inited:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}),_=(0,_vue.ref)(),b=(0,_vue.ref)(),m=(0,_vue.ref)(),h=(0,_vue.ref)(),T=(0,_vue.ref)(),H={refElem:_},L={xID:M,props:x,context:e,reactData:V,getRefMaps:function(){return H}},y={},t=(0,_vue.computed)(function(){return x.optionProps||{}}),W=(0,_vue.computed)(function(){return x.optionGroupProps||{}}),S=(0,_vue.computed)(function(){return t.value.label||"label"}),P=(0,_vue.computed)(function(){return t.value.value||"value"}),Z=(0,_vue.computed)(function(){return W.value.label||"label"}),N=(0,_vue.computed)(function(){return W.value.options||"options"}),X=(0,_vue.computed)(function(){var e=x.modelValue,t=x.multiple,n=x.max;return!(!t||!n)&&(e?e.length:0)>=_xeUtils.default.toNumber(n)}),G=(0,_vue.computed)(function(){return Object.assign({},_conf.default.select.optionConfig,x.optionConfig)}),k=(0,_vue.computed)(function(){return V.fullGroupList.some(function(e){return e.options&&e.options.length})}),J=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(x.multiCharOverflow)}),Q=(0,_vue.computed)(function(){var e=x.modelValue,t=x.multiple,n=x.remote,i=J.value;return e&&t?(t=_xeUtils.default.isArray(e)?e:[e],(n?t.map(o):t.map(function(e){e=l(e);return 0<i&&e.length>i?"".concat(e.substring(0,i),"..."):e})).join(", ")):(n?o:l)(e)}),ee=function(){return G.value.keyField||x.optionId||"_X_OPTION_KEY"},A=function(e){e=e[ee()];return e?encodeURIComponent(e):""},I=function(){var e=x.loading,t=x.disabled,n=x.filterable;e||t||(clearTimeout(r),V.inited||(V.inited=!0),V.isActivated=!0,V.animatVisible=!0,n&&u(),setTimeout(function(){var e=x.modelValue,t=x.multiple,t=v(t&&e?e[0]:e);V.visiblePanel=!0,t&&(E(t),p(t)),x.filterable&&(0,_vue.nextTick)(function(){var e=m.value;e&&e.focus()})},10),V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)()),i())},C=function(){V.searchValue="",V.searchLoading=!1,V.visiblePanel=!1,r=window.setTimeout(function(){V.animatVisible=!1},350)},K=function(e,t){t!==x.modelValue&&(a("update:modelValue",t),y.dispatchEvent("change",{value:t},e),s)&&c&&s.triggerItemEvent(e,c.itemConfig.field,t)},te=function(e,t){V.remoteValueList=[],K(e,t),y.dispatchEvent("clear",{value:t},e)},ne=_xeUtils.default.debounce(function(){var e=x.remote,t=x.remoteMethod,n=V.searchValue;e&&t?(V.searchLoading=!0,Promise.resolve(t({searchValue:n})).then(function(){return(0,_vue.nextTick)()}).catch(function(){return(0,_vue.nextTick)()}).finally(function(){V.searchLoading=!1,u()})):u()},350,{trailing:!0}),ie=function(e,c){var f=x.optionKey,v=x.modelValue,p=x.multiple,d=V.currentValue,t=G.value,_=S.value,b=P.value,m=k.value,h=t.useKey;return e.map(function(t,e){var n=t.slots,i=t.className,o=t[b],l=p?v&&-1<v.indexOf(o):v===o,u=!m||isOptionVisible(t),r=(s=l,a=c,!!t.disabled||!(!a||!a.disabled)||!(!X.value||s)),a=A(t),s=n?n.default:null;return u?(0,_vue.h)("div",{key:h||f?a:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:t,$select:L}):i:"",{"is--disabled":r,"is--selected":l,"is--hover":d===o}],optid:a,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){r||O(e,o,t)},onMouseenter:function(){r||E(t)}},s?g(s,{option:t,$select:L}):(0,_utils.formatText)((0,_utils.getFuncText)(t[_]))):null})},oe=function(){var u=x.optionKey,e=V.visibleGroupList,t=G.value,r=Z.value,a=N.value,s=t.useKey;return e.map(function(e,t){var n=e.slots,i=e.className,o=A(e),l=e.disabled,n=n?n.default:null;return(0,_vue.h)("div",{key:s||u?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i({option:e,$select:L}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?g(n,{option:e,$select:L}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ie(e[a]||[],e))])})},y={dispatchEvent:function(e,t,n){a(e,Object.assign({$select:L,$event:n},t))},isPanelVisible:function(){return V.visiblePanel},togglePanel:function(){return(V.visiblePanel?C:I)(),(0,_vue.nextTick)()},hidePanel:function(){return V.visiblePanel&&C(),(0,_vue.nextTick)()},showPanel:function(){return V.visiblePanel||I(),(0,_vue.nextTick)()},refreshOption:u,focus:function(){var e=b.value;return V.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return b.value.blur(),(V.isActivated=!1,_vue.nextTick)()}};Object.assign(L,y),(0,_vue.watch)(function(){return V.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(V.fullOptionList=[],V.fullGroupList=e):(V.fullGroupList=[],V.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return x.options},function(e){V.fullGroupList=[],V.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return x.optionGroups},function(e){V.fullOptionList=[],V.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=x.options,t=x.optionGroups;t?V.fullGroupList=t:e&&(V.fullOptionList=e),n()}),_event.GlobalEvent.on(L,"mousewheel",w),_event.GlobalEvent.on(L,"mousedown",q),_event.GlobalEvent.on(L,"keydown",D),_event.GlobalEvent.on(L,"blur",R)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(L,"mousewheel"),_event.GlobalEvent.off(L,"mousedown"),_event.GlobalEvent.off(L,"keydown"),_event.GlobalEvent.off(L,"blur")});return L.renderVN=function(){var e=x.className,t=x.transfer,n=x.disabled,i=x.loading,o=x.filterable,l=V.inited,u=V.isActivated,r=V.visiblePanel,a=Y.value,s=Q.value,c=d.prefix;return(0,_vue.h)("div",{ref:_,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:L}):e:"",((e={})["size--".concat(a)]=a,e["is--visivle"]=r,e["is--disabled"]=n,e["is--filter"]=o,e["is--loading"]=i,e["is--active"]=u,e)]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},d.default?d.default({}):[]),(0,_vue.h)(_input.default,{ref:b,clearable:x.clearable,placeholder:x.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:x.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:r?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:s,onClear:U,onClick:f,onFocus:F,onBlur:$,onSuffixClick:f},c?{prefix:function(){return c({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!l},[(0,_vue.h)("div",{ref:T,class:["vxe-table--ignore-clear vxe-select--panel",((u={})["size--".concat(a)]=a,u["is--transfer"]=t,u["animat--leave"]=!i&&V.animatVisible,u["animat--enter"]=!i&&r,u)],placement:V.panelPlacement,style:V.panelStyle},l?[o?(0,_vue.h)("div",{class:"vxe-select-filter--wrapper"},[(0,_vue.h)(_input.default,{ref:m,class:"vxe-select-filter--input",modelValue:V.searchValue,clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH,"onUpdate:modelValue":j,onFocus:B,onKeydown:z,onChange:ne,onSearch:ne})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{ref:h,class:"vxe-select-option--wrapper"},function(){var e=V.visibleGroupList,t=V.visibleOptionList,n=V.searchLoading,i=k.value;if(n)return[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(e.length)return oe()}else if(t.length)return ie(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},x.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",L),L},render:function(){return this.renderVN()}});exports.default=_default;
|