vxe-table 4.3.0-beta.6 → 4.3.0
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/README.en.md +3 -3
- package/README.md +3 -3
- package/README.zh-TW.md +3 -3
- package/es/checkbox/src/checkbox.js +20 -7
- package/es/checkbox/src/group.js +14 -2
- package/es/checkbox/style.css +1 -1
- package/es/export/style.css +1 -13
- package/es/filter/style.css +1 -13
- package/es/form/src/form.js +1 -1
- package/es/grid/style.css +1 -1
- package/es/icon/index.js +8 -4
- package/es/icon/src/icon.js +23 -0
- package/es/icon/style.css +98 -525
- package/es/input/style.css +1 -1
- package/es/list/src/list.js +1 -1
- package/es/loading/src/loading.js +33 -23
- package/es/locale/lang/en-US.js +1 -1
- package/es/locale/lang/ja-JP.js +1 -1
- package/es/locale/lang/zh-CN.js +1 -1
- package/es/locale/lang/zh-TC.js +1 -1
- package/es/modal/src/modal.js +17 -7
- package/es/modal/style.css +14 -13
- package/es/pager/style.css +1 -1
- package/es/radio/style.css +1 -1
- package/es/select/src/select.js +25 -3
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +17 -10
- package/es/table/src/props.js +2 -0
- package/es/table/src/table.js +8 -1
- package/es/table/style.css +4 -2
- package/es/toolbar/style.css +2 -10
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/es/v-x-e-table/style.css +99 -526
- package/es/vxe-checkbox/style.css +1 -1
- package/es/vxe-grid/style.css +1 -1
- package/es/vxe-icon/style.css +98 -525
- package/es/vxe-input/style.css +1 -1
- package/es/vxe-modal/style.css +14 -13
- package/es/vxe-module-export/style.css +1 -13
- package/es/vxe-module-filter/style.css +1 -13
- package/es/vxe-pager/style.css +1 -1
- package/es/vxe-radio/style.css +1 -1
- package/es/vxe-table/style.css +4 -2
- package/es/vxe-toolbar/style.css +2 -10
- package/helper/vetur/attributes.json +17 -5
- package/helper/vetur/tags.json +10 -2
- package/lib/checkbox/src/checkbox.js +23 -7
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +21 -1
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/checkbox/style/style.css +1 -1
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/export/style/style.css +1 -13
- package/lib/export/style/style.min.css +1 -1
- package/lib/filter/style/style.css +1 -13
- package/lib/filter/style/style.min.css +1 -1
- package/lib/form/src/form.js +1 -1
- package/lib/form/src/form.min.js +1 -1
- package/lib/grid/style/style.css +1 -1
- package/lib/grid/style/style.min.css +1 -1
- package/lib/icon/index.js +15 -4
- package/lib/icon/index.min.js +1 -1
- package/lib/icon/src/icon.js +35 -0
- package/lib/icon/src/icon.min.js +1 -0
- package/lib/icon/style/style.css +98 -525
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +201 -53
- package/lib/index.umd.min.js +1 -1
- package/lib/input/style/style.css +1 -1
- package/lib/input/style/style.min.css +1 -1
- package/lib/list/src/list.js +1 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/loading/src/loading.js +28 -18
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/locale/lang/en-US.js +1 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +1 -1
- package/lib/locale/lang/ja-JP.js +1 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +1 -1
- package/lib/locale/lang/zh-CN.js +1 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +1 -1
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +1 -1
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +1 -1
- package/lib/locale/lang/zh-TC.js +1 -1
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +1 -1
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +1 -1
- package/lib/modal/src/modal.js +20 -7
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +14 -13
- package/lib/modal/style/style.min.css +1 -1
- package/lib/pager/style/style.css +1 -1
- package/lib/pager/style/style.min.css +1 -1
- package/lib/radio/style/style.css +1 -1
- package/lib/radio/style/style.min.css +1 -1
- package/lib/select/src/select.js +37 -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 +16 -7
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/props.js +2 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +8 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +4 -2
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/style/style.css +2 -10
- package/lib/toolbar/style/style.min.css +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/lib/v-x-e-table/style/style.css +99 -526
- package/lib/v-x-e-table/style/style.min.css +1 -1
- package/lib/vxe-checkbox/style/style.css +1 -1
- package/lib/vxe-checkbox/style/style.min.css +1 -1
- package/lib/vxe-grid/style/style.css +1 -1
- package/lib/vxe-grid/style/style.min.css +1 -1
- package/lib/vxe-icon/style/style.css +98 -525
- package/lib/vxe-icon/style/style.min.css +1 -1
- package/lib/vxe-input/style/style.css +1 -1
- package/lib/vxe-input/style/style.min.css +1 -1
- package/lib/vxe-modal/style/style.css +14 -13
- package/lib/vxe-modal/style/style.min.css +1 -1
- package/lib/vxe-module-export/style/style.css +1 -13
- package/lib/vxe-module-export/style/style.min.css +1 -1
- package/lib/vxe-module-filter/style/style.css +1 -13
- package/lib/vxe-module-filter/style/style.min.css +1 -1
- package/lib/vxe-pager/style/style.css +1 -1
- package/lib/vxe-pager/style/style.min.css +1 -1
- package/lib/vxe-radio/style/style.css +1 -1
- package/lib/vxe-radio/style/style.min.css +1 -1
- package/lib/vxe-table/style/style.css +4 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-toolbar/style/style.css +2 -10
- package/lib/vxe-toolbar/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/checkbox/src/checkbox.ts +20 -7
- package/packages/checkbox/src/group.ts +18 -3
- package/packages/form/src/form.ts +1 -1
- package/packages/icon/index.ts +11 -4
- package/packages/icon/src/icon.ts +25 -0
- package/packages/list/src/list.ts +1 -1
- package/packages/loading/src/loading.ts +34 -22
- package/packages/locale/lang/en-US.ts +1 -1
- package/packages/locale/lang/ja-JP.ts +1 -1
- package/packages/locale/lang/zh-CN.ts +1 -1
- package/packages/locale/lang/zh-TC.ts +1 -1
- package/packages/modal/src/modal.ts +21 -7
- package/packages/select/src/select.ts +27 -3
- package/packages/table/src/body.ts +15 -8
- package/packages/table/src/props.ts +2 -0
- package/packages/table/src/table.ts +9 -1
- package/styles/base/checked.scss +2 -2
- package/styles/export.scss +0 -29
- package/styles/filter.scss +0 -29
- package/styles/icon.scss +126 -29
- package/styles/input.scss +1 -1
- package/styles/loading.scss +1 -1
- package/styles/modal.scss +19 -16
- package/styles/table.scss +3 -0
- package/styles/toolbar.scss +0 -20
- package/styles/variable.scss +2 -1
- package/types/checkbox-group.d.ts +8 -1
- package/types/icon.d.ts +46 -1
- package/types/modal.d.ts +1 -0
- package/types/select.d.ts +2 -0
- package/types/table.d.ts +9 -0
- package/types/v-x-e-table/index.d.ts +1 -1
|
@@ -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 _default2=(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],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(h,e){function m(e,t){return e&&(_xeUtils.default.isString(e)&&(e=L[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]}function v(t){var e=k.fullOptionList,n=k.fullGroupList,i=Y.value,o=$.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=k.remoteValueList,n=F.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=F.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function u(){var e=h.filterable,t=h.filterMethod,n=k.fullOptionList,i=k.fullGroupList,o=k.searchValue,l=Y.value,u=B.value,r=F.value;return l?k.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):k.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){X(e)||(e[o]=getOptUniqueId())}var e=k.fullOptionList,n=k.fullGroupList,i=z.value,o=Z();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),u()}function x(e){var t=$.value;e&&(k.currentOption=e,k.currentValue=e[t])}function p(i,o){return(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=K.value,t=w.value.querySelector("[optid='".concat(X(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(){return(0,_vue.nextTick)().then(function(){var e=h.transfer,t=h.placement,n=k.panelIndex,i=A.value,o=w.value;if(o&&i){var l=i.offsetHeight,u=i.offsetWidth,r=o.offsetHeight,a=o.offsetWidth,s={zIndex:n},c=(0,_dom.getAbsolutePos)(i),f=c.boundingTop,o=c.boundingLeft,n=c.visibleHeight,i=c.visibleWidth,c="bottom";return e?(e=f+l,"top"===t?(c="top",e=f-r):t||(n<e+r+5&&(c="top",e=f-r),e<5&&(c="bottom",e=f+l)),i<(o=o)+a+5&&(o-=o+a+5-i),o<5&&(o=5),Object.assign(s,{left:"".concat(o,"px"),top:"".concat(e,"px"),minWidth:"".concat(u,"px")})):"top"===t?(c="top",s.bottom="".concat(l,"px")):t||n<f+l+r&&5<f-l-r&&(c="top",s.bottom="".concat(l,"px")),k.panelStyle=s,k.panelPlacement=c,(0,_vue.nextTick)()}})}function f(e,t){te(t,null),Q()}function g(e,t,n){var i=h.modelValue,o=h.multiple,l=k.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}),ee(e,o)):(k.remoteValueList=[{key:t,result:n}],ee(e,t),Q())}function t(e){var t=h.disabled,n=k.visiblePanel;t||n&&(n=w.value,((0,_dom.getEventTargetNode)(e,n).flag?i:Q)())}function r(e){var t,n=h.disabled,i=k.visiblePanel;n||(t=A.value,n=w.value,k.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!k.isActivated&&Q())}function a(e){var t,n,i,o,l,u,r=h.clearable,a=h.disabled,s=k.visiblePanel,c=k.currentValue,f=k.currentOption;a||(u=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.TAB),t=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER),n=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE),i=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_UP),o=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_DOWN),l=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.DELETE),a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),u&&(k.isActivated=!1),s?n||u?Q():t?(e.preventDefault(),e.stopPropagation(),g(e,c,f)):i||o?(e.preventDefault(),f=(u=function(e,t){var n,i,o,l,u=k.visibleOptionList,r=k.visibleGroupList,a=Y.value,s=$.value,c=z.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(m=p[_]),h=d||m.disabled;if(n||h||(n=m),l&&b&&!h&&(o=m,!t))return{offsetOption:o};if(e===m[s]){if(l=m,t)return{offsetOption:i}}else b&&!h&&(i=m)}}else for(_=0;_<u.length;_++){var m,h=(m=u[_]).disabled;if(n||h||(n=m),l&&!h&&(o=m,!t))return{offsetOption:o};if(e===m[s]){if(l=m,t)return{offsetOption:i}}else h||(i=m)}return{firstOption:n}}(c,i)).firstOption,(u=u.offsetOption)||v(c)||(u=f),x(u),p(u,o)):a&&e.preventDefault():(i||o||t||a)&&k.isActivated&&(e.preventDefault(),J()),k.isActivated&&l&&r&&te(e,null))}function s(){Q()}function c(){h.filterable&&(0,_vue.nextTick)(function(){var e=C.value;e&&e.focus()})}function d(){h.disabled||(k.isActivated=!0)}function _(){k.isActivated=!1}function b(e){k.searchValue=e}function E(){k.isActivated=!0}function O(e){e=e.$event,(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())}function V(e){e.$event.preventDefault(),(k.visiblePanel?Q:J)()}var T,L=e.slots,y=e.emit,S=(0,_vue.inject)("$xeform",null),P=(0,_vue.inject)("$xeformiteminfo",null),G=_xeUtils.default.uniqueId(),N=(0,_size.useSize)(h),k=(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}),A=(0,_vue.ref)(),I=(0,_vue.ref)(),C=(0,_vue.ref)(),K=(0,_vue.ref)(),w=(0,_vue.ref)(),U={refElem:A},q={xID:G,props:h,context:e,reactData:k,getRefMaps:function(){return U}},D={},R=(0,_vue.computed)(function(){return h.optionProps||{}}),j=(0,_vue.computed)(function(){return h.optionGroupProps||{}}),F=(0,_vue.computed)(function(){return R.value.label||"label"}),$=(0,_vue.computed)(function(){return R.value.value||"value"}),B=(0,_vue.computed)(function(){return j.value.label||"label"}),z=(0,_vue.computed)(function(){return j.value.options||"options"}),M=(0,_vue.computed)(function(){return Object.assign({},_conf.default.select.optionConfig,h.optionConfig)}),Y=(0,_vue.computed)(function(){return k.fullGroupList.some(function(e){return e.options&&e.options.length})}),H=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(h.multiCharOverflow)}),W=(0,_vue.computed)(function(){var e=h.modelValue,t=h.multiple,n=h.remote,i=H.value;if(e&&t){t=_xeUtils.default.isArray(e)?e:[e];return n?t.map(o).join(", "):t.map(function(e){e=l(e);return 0<i&&e.length>i?"".concat(e.substring(0,i),"..."):e}).join(", ")}return(n?o:l)(e)}),Z=function(){return M.value.keyField||h.optionId||"_X_OPTION_KEY"},X=function(e){e=e[Z()];return e?encodeURIComponent(e):""},J=function(){var e=h.loading,t=h.disabled,n=h.filterable;e||t||(clearTimeout(T),k.inited||(k.inited=!0),k.isActivated=!0,k.animatVisible=!0,n&&u(),setTimeout(function(){var e=h.modelValue,t=h.multiple,e=v(t&&e?e[0]:e);k.visiblePanel=!0,e&&(x(e),p(e)),c()},10),k.panelIndex<(0,_utils.getLastZIndex)()&&(k.panelIndex=(0,_utils.nextZIndex)()),i())},Q=function(){k.searchValue="",k.searchLoading=!1,k.visiblePanel=!1,T=window.setTimeout(function(){k.animatVisible=!1},350)},ee=function(e,t){t!==h.modelValue&&(y("update:modelValue",t),D.dispatchEvent("change",{value:t},e),S&&P&&S.triggerItemEvent(e,P.itemConfig.field,t))},te=function(e,t){k.remoteValueList=[],ee(e,t),D.dispatchEvent("clear",{value:t},e)},ne=_xeUtils.default.debounce(function(){var e=h.remote,t=h.remoteMethod,n=k.searchValue;e&&t?(k.searchLoading=!0,Promise.resolve(t({searchValue:n})).then(function(){return(0,_vue.nextTick)()}).catch(function(){return(0,_vue.nextTick)()}).finally(function(){k.searchLoading=!1,u()})):u()},350,{trailing:!0}),ie=function(e,a){var s=h.optionKey,c=h.modelValue,f=h.multiple,v=k.currentValue,t=M.value,p=F.value,d=$.value,_=Y.value,b=t.useKey;return e.map(function(t,e){var n=t.slots,i=t.className,o=!_||isOptionVisible(t),l=a&&a.disabled||t.disabled,u=t[d],r=X(t),n=n?n.default:null;return o?(0,_vue.h)("div",{key:b||s?r:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:t,$select:q}):i:"",{"is--disabled":l,"is--selected":f?c&&-1<c.indexOf(u):c===u,"is--hover":v===u}],optid:r,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){l||g(e,u,t)},onMouseenter:function(){l||x(t)}},n?m(n,{option:t,$select:q}):(0,_utils.formatText)((0,_utils.getFuncText)(t[p]))):null})},oe=function(){var u=h.optionKey,e=k.visibleGroupList,t=M.value,r=B.value,a=z.value,s=t.useKey;return e.map(function(e,t){var n=e.slots,i=e.className,o=X(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:q}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?m(n,{option:e,$select:q}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ie(e[a]||[],e))])})},D={dispatchEvent:function(e,t,n){y(e,Object.assign({$select:q,$event:n},t))},isPanelVisible:function(){return k.visiblePanel},togglePanel:function(){return(k.visiblePanel?Q:J)(),(0,_vue.nextTick)()},hidePanel:function(){return k.visiblePanel&&Q(),(0,_vue.nextTick)()},showPanel:function(){return k.visiblePanel||J(),(0,_vue.nextTick)()},refreshOption:u,focus:function(){var e=I.value;return k.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return I.value.blur(),(k.isActivated=!1,_vue.nextTick)()}};Object.assign(q,D),(0,_vue.watch)(function(){return k.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(k.fullOptionList=[],k.fullGroupList=e):(k.fullGroupList=[],k.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return h.options},function(e){k.fullGroupList=[],k.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return h.optionGroups},function(e){k.fullOptionList=[],k.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=h.options,t=h.optionGroups;t?k.fullGroupList=t:e&&(k.fullOptionList=e),n()}),_event.GlobalEvent.on(q,"mousewheel",t),_event.GlobalEvent.on(q,"mousedown",r),_event.GlobalEvent.on(q,"keydown",a),_event.GlobalEvent.on(q,"blur",s)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(q,"mousewheel"),_event.GlobalEvent.off(q,"mousedown"),_event.GlobalEvent.off(q,"keydown"),_event.GlobalEvent.off(q,"blur")});return q.renderVN=function(){var e=h.className,t=h.transfer,n=h.disabled,i=h.loading,o=h.filterable,l=k.inited,u=k.isActivated,r=k.visiblePanel,a=N.value,s=W.value,c=L.prefix;return(0,_vue.h)("div",{ref:A,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:q}):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"},L.default?L.default({}):[]),(0,_vue.h)(_input.default,{ref:I,clearable:h.clearable,placeholder:h.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:h.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:r?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:s,onClear:f,onClick:V,onFocus:d,onBlur:_,onSuffixClick:V},c?{prefix:function(){return c({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!l},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-select--panel",((s={})["size--".concat(a)]=a,s["is--transfer"]=t,s["animat--leave"]=!i&&k.animatVisible,s["animat--enter"]=!i&&r,s)],placement:k.panelPlacement,style:k.panelStyle},l?[o?(0,_vue.h)("div",{class:"vxe-select-filter--wrapper"},[(0,_vue.h)(_input.default,{ref:C,class:"vxe-select-filter--input",modelValue:k.searchValue,clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH,"onUpdate:modelValue":b,onFocus:E,onKeydown:O,onChange:ne,onSearch:ne})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{ref:K,class:"vxe-select-option--wrapper"},function(){var e=k.visibleGroupList,t=k.visibleOptionList,n=k.searchLoading,i=Y.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"},h.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",q),q},render:function(){return this.renderVN()}});exports.default=_default2;
|
|
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 _default2=(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=L[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]}function v(t){var e=k.fullOptionList,n=k.fullGroupList,i=H.value,o=$.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=k.remoteValueList,n=F.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=F.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function u(){var e=x.filterable,t=x.filterMethod,n=k.fullOptionList,i=k.fullGroupList,o=k.searchValue,l=H.value,u=B.value,r=F.value;return l?k.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):k.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){J(e)||(e[o]=getOptUniqueId())}var e=k.fullOptionList,n=k.fullGroupList,i=z.value,o=X();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=$.value;e&&(k.currentOption=e,k.currentValue=e[t])}function p(i,o){return(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=K.value,t=U.value.querySelector("[optid='".concat(J(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(){return(0,_vue.nextTick)().then(function(){var e=x.transfer,t=x.placement,n=k.panelIndex,i=A.value,o=U.value;if(o&&i){var l=i.offsetHeight,u=i.offsetWidth,r=o.offsetHeight,a=o.offsetWidth,s={zIndex:n},c=(0,_dom.getAbsolutePos)(i),f=c.boundingTop,o=c.boundingLeft,n=c.visibleHeight,i=c.visibleWidth,c="bottom";return e?(e=f+l,"top"===t?(c="top",e=f-r):t||(n<e+r+5&&(c="top",e=f-r),e<5&&(c="bottom",e=f+l)),i<(o=o)+a+5&&(o-=o+a+5-i),o<5&&(o=5),Object.assign(s,{left:"".concat(o,"px"),top:"".concat(e,"px"),minWidth:"".concat(u,"px")})):"top"===t?(c="top",s.bottom="".concat(l,"px")):t||n<f+l+r&&5<f-l-r&&(c="top",s.bottom="".concat(l,"px")),k.panelStyle=s,k.panelPlacement=c,(0,_vue.nextTick)()}})}function f(e,t){ne(t,null),ee()}function O(e,t,n){var i=x.modelValue,o=x.multiple,l=k.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}),te(e,o)):(k.remoteValueList=[{key:t,result:n}],te(e,t),ee())}function t(e){var t=x.disabled,n=k.visiblePanel;t||n&&(n=U.value,((0,_dom.getEventTargetNode)(e,n).flag?i:ee)())}function r(e){var t,n=x.disabled,i=k.visiblePanel;n||(t=A.value,n=U.value,k.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!k.isActivated&&ee())}function a(e){var t,n,i,o,l,u,r=x.clearable,a=x.disabled,s=k.visiblePanel,c=k.currentValue,f=k.currentOption;a||(u=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.TAB),t=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER),n=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE),i=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_UP),o=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_DOWN),l=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.DELETE),a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),u&&(k.isActivated=!1),s?n||u?ee():t?(e.preventDefault(),e.stopPropagation(),O(e,c,f)):i||o?(e.preventDefault(),f=(u=function(e,t){var n,i,o,l,u=k.visibleOptionList,r=k.visibleGroupList,a=H.value,s=$.value,c=z.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,i)).firstOption,(u=u.offsetOption)||v(c)||(u=f),E(u),p(u,o)):a&&e.preventDefault():(i||o||t||a)&&k.isActivated&&(e.preventDefault(),Q()),k.isActivated&&l&&r&&ne(e,null))}function s(){ee()}function c(){x.filterable&&(0,_vue.nextTick)(function(){var e=C.value;e&&e.focus()})}function d(){x.disabled||(k.isActivated=!0)}function _(){k.isActivated=!1}function b(e){k.searchValue=e}function m(){k.isActivated=!0}function h(e){e=e.$event,(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())}function V(e){e.$event.preventDefault(),(k.visiblePanel?ee:Q)()}var T,L=e.slots,y=e.emit,S=(0,_vue.inject)("$xeform",null),P=(0,_vue.inject)("$xeformiteminfo",null),N=_xeUtils.default.uniqueId(),G=(0,_size.useSize)(x),k=(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}),A=(0,_vue.ref)(),I=(0,_vue.ref)(),C=(0,_vue.ref)(),K=(0,_vue.ref)(),U=(0,_vue.ref)(),w={refElem:A},q={xID:N,props:x,context:e,reactData:k,getRefMaps:function(){return w}},D={},R=(0,_vue.computed)(function(){return x.optionProps||{}}),j=(0,_vue.computed)(function(){return x.optionGroupProps||{}}),F=(0,_vue.computed)(function(){return R.value.label||"label"}),$=(0,_vue.computed)(function(){return R.value.value||"value"}),B=(0,_vue.computed)(function(){return j.value.label||"label"}),z=(0,_vue.computed)(function(){return j.value.options||"options"}),M=(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)}),Y=(0,_vue.computed)(function(){return Object.assign({},_conf.default.select.optionConfig,x.optionConfig)}),H=(0,_vue.computed)(function(){return k.fullGroupList.some(function(e){return e.options&&e.options.length})}),W=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(x.multiCharOverflow)}),Z=(0,_vue.computed)(function(){var e=x.modelValue,t=x.multiple,n=x.remote,i=W.value;if(e&&t){t=_xeUtils.default.isArray(e)?e:[e];return n?t.map(o).join(", "):t.map(function(e){e=l(e);return 0<i&&e.length>i?"".concat(e.substring(0,i),"..."):e}).join(", ")}return(n?o:l)(e)}),X=function(){return Y.value.keyField||x.optionId||"_X_OPTION_KEY"},J=function(e){e=e[X()];return e?encodeURIComponent(e):""},Q=function(){var e=x.loading,t=x.disabled,n=x.filterable;e||t||(clearTimeout(T),k.inited||(k.inited=!0),k.isActivated=!0,k.animatVisible=!0,n&&u(),setTimeout(function(){var e=x.modelValue,t=x.multiple,e=v(t&&e?e[0]:e);k.visiblePanel=!0,e&&(E(e),p(e)),c()},10),k.panelIndex<(0,_utils.getLastZIndex)()&&(k.panelIndex=(0,_utils.nextZIndex)()),i())},ee=function(){k.searchValue="",k.searchLoading=!1,k.visiblePanel=!1,T=window.setTimeout(function(){k.animatVisible=!1},350)},te=function(e,t){t!==x.modelValue&&(y("update:modelValue",t),D.dispatchEvent("change",{value:t},e),S&&P&&S.triggerItemEvent(e,P.itemConfig.field,t))},ne=function(e,t){k.remoteValueList=[],te(e,t),D.dispatchEvent("clear",{value:t},e)},ie=_xeUtils.default.debounce(function(){var e=x.remote,t=x.remoteMethod,n=k.searchValue;e&&t?(k.searchLoading=!0,Promise.resolve(t({searchValue:n})).then(function(){return(0,_vue.nextTick)()}).catch(function(){return(0,_vue.nextTick)()}).finally(function(){k.searchLoading=!1,u()})):u()},350,{trailing:!0}),oe=function(e,c){var f=x.optionKey,v=x.modelValue,p=x.multiple,d=k.currentValue,t=Y.value,_=F.value,b=$.value,m=H.value,h=t.useKey;return e.map(function(t,e){var n,i=t.slots,o=t.className,l=t[b],u=p?v&&-1<v.indexOf(l):v===l,r=!m||isOptionVisible(t),a=(s=u,n=c,!!t.disabled||(!(!n||!n.disabled)||!(!M.value||s))),s=J(t),i=i?i.default:null;return r?(0,_vue.h)("div",{key:h||f?s:e,class:["vxe-select-option",o?_xeUtils.default.isFunction(o)?o({option:t,$select:q}):o:"",{"is--disabled":a,"is--selected":u,"is--hover":d===l}],optid:s,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){a||O(e,l,t)},onMouseenter:function(){a||E(t)}},i?g(i,{option:t,$select:q}):(0,_utils.formatText)((0,_utils.getFuncText)(t[_]))):null})},le=function(){var u=x.optionKey,e=k.visibleGroupList,t=Y.value,r=B.value,a=z.value,s=t.useKey;return e.map(function(e,t){var n=e.slots,i=e.className,o=J(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:q}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?g(n,{option:e,$select:q}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},oe(e[a]||[],e))])})},D={dispatchEvent:function(e,t,n){y(e,Object.assign({$select:q,$event:n},t))},isPanelVisible:function(){return k.visiblePanel},togglePanel:function(){return(k.visiblePanel?ee:Q)(),(0,_vue.nextTick)()},hidePanel:function(){return k.visiblePanel&&ee(),(0,_vue.nextTick)()},showPanel:function(){return k.visiblePanel||Q(),(0,_vue.nextTick)()},refreshOption:u,focus:function(){var e=I.value;return k.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return I.value.blur(),(k.isActivated=!1,_vue.nextTick)()}};Object.assign(q,D),(0,_vue.watch)(function(){return k.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(k.fullOptionList=[],k.fullGroupList=e):(k.fullGroupList=[],k.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return x.options},function(e){k.fullGroupList=[],k.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return x.optionGroups},function(e){k.fullOptionList=[],k.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=x.options,t=x.optionGroups;t?k.fullGroupList=t:e&&(k.fullOptionList=e),n()}),_event.GlobalEvent.on(q,"mousewheel",t),_event.GlobalEvent.on(q,"mousedown",r),_event.GlobalEvent.on(q,"keydown",a),_event.GlobalEvent.on(q,"blur",s)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(q,"mousewheel"),_event.GlobalEvent.off(q,"mousedown"),_event.GlobalEvent.off(q,"keydown"),_event.GlobalEvent.off(q,"blur")});return q.renderVN=function(){var e=x.className,t=x.transfer,n=x.disabled,i=x.loading,o=x.filterable,l=k.inited,u=k.isActivated,r=k.visiblePanel,a=G.value,s=Z.value,c=L.prefix;return(0,_vue.h)("div",{ref:A,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:q}):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"},L.default?L.default({}):[]),(0,_vue.h)(_input.default,{ref:I,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:f,onClick:V,onFocus:d,onBlur:_,onSuffixClick:V},c?{prefix:function(){return c({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!l},[(0,_vue.h)("div",{ref:U,class:["vxe-table--ignore-clear vxe-select--panel",((s={})["size--".concat(a)]=a,s["is--transfer"]=t,s["animat--leave"]=!i&&k.animatVisible,s["animat--enter"]=!i&&r,s)],placement:k.panelPlacement,style:k.panelStyle},l?[o?(0,_vue.h)("div",{class:"vxe-select-filter--wrapper"},[(0,_vue.h)(_input.default,{ref:C,class:"vxe-select-filter--input",modelValue:k.searchValue,clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH,"onUpdate:modelValue":b,onFocus:m,onKeydown:h,onChange:ie,onSearch:ie})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{ref:K,class:"vxe-select-option--wrapper"},function(){var e=k.visibleGroupList,t=k.visibleOptionList,n=k.searchLoading,i=H.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 le()}else if(t.length)return oe(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},x.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",q),q},render:function(){return this.renderVN()}});exports.default=_default2;
|