vxe-table 4.1.9 → 4.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.zh-TW.md +0 -1
- package/es/edit/src/hook.js +17 -26
- package/es/filter/src/hook.js +1 -1
- package/es/select/src/select.js +1 -1
- package/es/table/src/body.js +9 -3
- package/es/table/src/table.js +125 -54
- package/es/table/src/util.js +1 -1
- package/es/v-x-e-table/src/conf.js +2 -1
- package/lib/edit/src/hook.js +16 -29
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/filter/src/hook.js +1 -1
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/index.umd.js +276 -119
- package/lib/index.umd.min.js +1 -1
- package/lib/select/src/select.js +1 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/table/src/body.js +12 -4
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +155 -70
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -1
- package/lib/table/src/util.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +2 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/package.json +4 -4
- package/packages/edit/src/hook.ts +17 -26
- package/packages/export/src/hook.ts +5 -8
- package/packages/filter/src/hook.ts +1 -1
- package/packages/select/src/select.ts +1 -1
- package/packages/table/src/body.ts +9 -3
- package/packages/table/src/table.ts +138 -69
- package/packages/table/src/util.ts +1 -1
- package/packages/v-x-e-table/src/conf.ts +2 -1
- package/packages/validator/src/hook.ts +1 -1
- package/types/column.d.ts +1 -0
- package/types/table.d.ts +7 -3
package/lib/select/src/select.js
CHANGED
|
@@ -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");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,className:[String,Function],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},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(b,e){function m(e,t){return e&&(_xeUtils.default.isString(e)&&(e=g[e]||null),_xeUtils.default.isFunction(e))?e(t):[]}function v(t){var e=L.fullOptionList,n=L.fullGroupList,i=q.value,o=K.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 i(e){var t=w.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function l(){var e=L.fullOptionList,t=L.fullGroupList;return q.value?L.visibleGroupList=t.filter(isOptionVisible):L.visibleOptionList=e.filter(isOptionVisible),(0,_vue.nextTick)()}function n(){function t(e){B(e)||(e[o]=getOptUniqueId())}var e=L.fullOptionList,n=L.fullGroupList,i=U.value,o=z();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),l()}function x(e){var t=K.value;e&&(L.currentValue=e[t])}function c(i,o){return(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=P.value,t=S.value.querySelector("[optid='"+B(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 o(){return(0,_vue.nextTick)().then(function(){var e=b.transfer,t=b.placement,n=L.panelIndex,i=y.value,o=S.value;if(o&&i){var l=i.offsetHeight,u=i.offsetWidth,r=o.offsetHeight,a=o.offsetWidth,s={zIndex:n},f=(0,_dom.getAbsolutePos)(i),v=f.boundingTop,o=f.boundingLeft,n=f.visibleHeight,i=f.visibleWidth,f="bottom";return e?(e=v+l,"top"===t?(f="top",e=v-r):t||(n<e+r+5&&(f="top",e=v-r),e<5&&(f="bottom",e=v+l)),i<(o=o)+a+5&&(o-=o+a+5-i),o<5&&(o=5),Object.assign(s,{left:o+"px",top:e+"px",minWidth:u+"px"})):"top"===t?(f="top",s.bottom=l+"px"):t||n<v+l+r&&5<v-l-r&&(f="top",s.bottom=l+"px"),L.panelStyle=s,L.panelPlacement=f,(0,_vue.nextTick)()}})}function f(e,t){H(t,null),F()}function h(e,t){var n,i=b.modelValue;b.multiple?(n=void 0,n=i?-1===i.indexOf(t)?i.concat([t]):i.filter(function(e){return e!==t}):[t],j(e,n)):(j(e,t),F())}function t(e){var t=b.disabled,n=L.visiblePanel;t||n&&(n=S.value,((0,_dom.getEventTargetNode)(e,n).flag?o:F)())}function u(e){var t,n=b.disabled,i=L.visiblePanel;n||(t=y.value,n=S.value,L.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!L.isActivated&&F())}function r(e){var t,n,i,o,l,u,r=b.clearable,a=b.disabled,s=L.visiblePanel,f=L.currentValue;a||(l=(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),a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),l&&(L.isActivated=!1),s?u||l?F():t?(e.preventDefault(),e.stopPropagation(),h(e,f)):n||i?(e.preventDefault(),l=(u=function(e,t){var n,i,o,l,u=L.visibleOptionList,r=L.visibleGroupList,a=q.value,s=K.value,f=U.value;if(a)for(var v=0;v<r.length;v++){var c=r[v],p=c[f],d=c.disabled;if(p)for(var _=0;_<p.length;_++){var b=isOptionVisible(x=p[_]),m=d||x.disabled;if(n||m||(n=x),l&&b&&!m&&(o=x,!t))return{offsetOption:o};if(e===x[s]){if(l=x,t)return{offsetOption:i}}else b&&!m&&(i=x)}}else for(_=0;_<u.length;_++){var x,m=(x=u[_]).disabled;if(n||m||(n=x),l&&!m&&(o=x,!t))return{offsetOption:o};if(e===x[s]){if(l=x,t)return{offsetOption:i}}else m||(i=x)}return{firstOption:n}}(f,n)).firstOption,(u=u.offsetOption)||v(f)||(u=l),x(u),c(u,i)):a&&e.preventDefault():(n||i||t||a)&&L.isActivated&&(e.preventDefault(),$()),L.isActivated&&o&&r&&H(e,null))}function a(){F()}function p(){b.disabled||(L.isActivated=!0)}function d(){L.isActivated=!1}function _(e){e.$event.preventDefault(),(L.visiblePanel?F:$)()}var s,g=e.slots,E=e.emit,O=_xeUtils.default.uniqueId(),T=(0,_size.useSize)(b),L=(0,_vue.reactive)({inited:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1}),y=(0,_vue.ref)(),V=(0,_vue.ref)(),P=(0,_vue.ref)(),S=(0,_vue.ref)(),G={refElem:y},A={xID:O,props:b,context:e,reactData:L,getRefMaps:function(){return G}},I={},N=(0,_vue.computed)(function(){return b.optionProps||{}}),k=(0,_vue.computed)(function(){return b.optionGroupProps||{}}),w=(0,_vue.computed)(function(){return N.value.label||"label"}),K=(0,_vue.computed)(function(){return N.value.value||"value"}),C=(0,_vue.computed)(function(){return k.value.label||"label"}),U=(0,_vue.computed)(function(){return k.value.options||"options"}),q=(0,_vue.computed)(function(){return L.fullGroupList.some(function(e){return e.options&&e.options.length})}),D=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(b.multiCharOverflow)}),R=(0,_vue.computed)(function(){var e=b.modelValue,t=b.multiple,n=D.value;return e&&t?(_xeUtils.default.isArray(e)?e:[e]).map(function(e){e=i(e);return 0<n&&e.length>n?e.substring(0,n)+"...":e}).join(", "):i(e)}),z=function(){return b.optionId||"_XID"},B=function(e){e=e[z()];return e?encodeURIComponent(e):""},$=function(){var e=b.loading,t=b.disabled;e||t||(clearTimeout(s),L.inited||(L.inited=!0),L.isActivated=!0,L.animatVisible=!0,setTimeout(function(){var e=b.modelValue,t=b.multiple,e=v(t&&e?e[0]:e);L.visiblePanel=!0,e&&(x(e),c(e))},10),L.panelIndex<(0,_utils.getLastZIndex)()&&(L.panelIndex=(0,_utils.nextZIndex)()),o())},F=function(){L.visiblePanel=!1,s=window.setTimeout(function(){L.animatVisible=!1},350)},j=function(e,t){t!==b.modelValue&&(E("update:modelValue",t),I.dispatchEvent("change",{value:t},e))},H=function(e,t){j(e,t),I.dispatchEvent("clear",{value:t},e)},W=function(e,a){var s=b.optionKey,f=b.modelValue,v=b.multiple,c=L.currentValue,p=w.value,d=K.value,_=q.value;return e.map(function(e,t){var n=e.slots,i=e.className,o=!_||isOptionVisible(e),l=a&&a.disabled||e.disabled,u=e[d],r=B(e),n=n?n.default:null;return o?(0,_vue.h)("div",{key:s?r:t,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:e,$select:A}):i:"",{"is--disabled":l,"is--selected":v?f&&-1<f.indexOf(u):f===u,"is--hover":c===u}],optid:r,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){l||h(e,u)},onMouseenter:function(){l||x(e)}},n?m(n,{option:e,$select:A}):(0,_utils.formatText)((0,_utils.getFuncText)(e[p]))):null})},Y=function(){var u=b.optionKey,e=L.visibleGroupList,r=C.value,a=U.value;return e.map(function(e,t){var n=e.slots,i=e.className,o=B(e),l=e.disabled,n=n?n.default:null;return(0,_vue.h)("div",{key:u?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i({option:e,$select:A}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?m(n,{option:e,$select:A}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},W(e[a]||[],e))])})},I={dispatchEvent:function(e,t,n){E(e,Object.assign({$select:A,$event:n},t))},isPanelVisible:function(){return L.visiblePanel},togglePanel:function(){return(L.visiblePanel?F:$)(),(0,_vue.nextTick)()},hidePanel:function(){return L.visiblePanel&&F(),(0,_vue.nextTick)()},showPanel:function(){return L.visiblePanel||$(),(0,_vue.nextTick)()},refreshOption:l,focus:function(){var e=V.value;return L.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return V.value.blur(),(L.isActivated=!1,_vue.nextTick)()}};Object.assign(A,I),(0,_vue.watch)(function(){return L.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(L.fullOptionList=[],L.fullGroupList=e):(L.fullGroupList=[],L.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return b.options},function(e){L.fullGroupList=[],L.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return b.optionGroups},function(e){L.fullOptionList=[],L.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=b.options,t=b.optionGroups;t?L.fullGroupList=t:e&&(L.fullOptionList=e),n()}),_event.GlobalEvent.on(A,"mousewheel",t),_event.GlobalEvent.on(A,"mousedown",u),_event.GlobalEvent.on(A,"keydown",r),_event.GlobalEvent.on(A,"blur",a)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(A,"mousewheel"),_event.GlobalEvent.off(A,"mousedown"),_event.GlobalEvent.off(A,"keydown"),_event.GlobalEvent.off(A,"blur")});return A.renderVN=function(){var e=b.className,t=b.transfer,n=b.disabled,i=b.loading,o=L.inited,l=L.isActivated,u=L.visiblePanel,r=T.value,a=R.value,s=g.prefix;return(0,_vue.h)("div",{ref:y,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:A}):e:"",((e={})["size--"+r]=r,e["is--visivle"]=u,e["is--disabled"]=n,e["is--loading"]=i,e["is--active"]=l,e)]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},g.default?g.default({}):[]),(0,_vue.h)((0,_vue.resolveComponent)("vxe-input"),{ref:V,clearable:b.clearable,placeholder:b.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:b.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:u?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:a,onClear:f,onClick:_,onFocus:p,onBlur:d,onSuffixClick:_},s?{prefix:function(){return s({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!o},[(0,_vue.h)("div",{ref:S,class:["vxe-table--ignore-clear vxe-select--panel",((a={})["size--"+r]=r,a["is--transfer"]=t,a["animat--leave"]=!i&&L.animatVisible,a["animat--enter"]=!i&&u,a)],placement:L.panelPlacement,style:L.panelStyle},o?[(0,_vue.h)("div",{ref:P,class:"vxe-select-option--wrapper"},function(){var e=L.visibleGroupList,t=L.visibleOptionList;if(q.value){if(e.length)return Y()}else if(t.length)return W(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},b.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",A),A},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");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,className:[String,Function],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},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(b,e){function m(e,t){return e&&(_xeUtils.default.isString(e)&&(e=g[e]||null),_xeUtils.default.isFunction(e))?e(t):[]}function v(t){var e=L.fullOptionList,n=L.fullGroupList,i=q.value,o=K.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 i(e){var t=w.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function l(){var e=L.fullOptionList,t=L.fullGroupList;return q.value?L.visibleGroupList=t.filter(isOptionVisible):L.visibleOptionList=e.filter(isOptionVisible),(0,_vue.nextTick)()}function n(){function t(e){B(e)||(e[o]=getOptUniqueId())}var e=L.fullOptionList,n=L.fullGroupList,i=U.value,o=z();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),l()}function x(e){var t=K.value;e&&(L.currentValue=e[t])}function c(i,o){return(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=P.value,t=S.value.querySelector("[optid='"+B(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 o(){return(0,_vue.nextTick)().then(function(){var e=b.transfer,t=b.placement,n=L.panelIndex,i=y.value,o=S.value;if(o&&i){var l=i.offsetHeight,u=i.offsetWidth,r=o.offsetHeight,a=o.offsetWidth,s={zIndex:n},f=(0,_dom.getAbsolutePos)(i),v=f.boundingTop,o=f.boundingLeft,n=f.visibleHeight,i=f.visibleWidth,f="bottom";return e?(e=v+l,"top"===t?(f="top",e=v-r):t||(n<e+r+5&&(f="top",e=v-r),e<5&&(f="bottom",e=v+l)),i<(o=o)+a+5&&(o-=o+a+5-i),o<5&&(o=5),Object.assign(s,{left:o+"px",top:e+"px",minWidth:u+"px"})):"top"===t?(f="top",s.bottom=l+"px"):t||n<v+l+r&&5<v-l-r&&(f="top",s.bottom=l+"px"),L.panelStyle=s,L.panelPlacement=f,(0,_vue.nextTick)()}})}function f(e,t){H(t,null),F()}function h(e,t){var n,i=b.modelValue;b.multiple?(n=void 0,n=i?-1===i.indexOf(t)?i.concat([t]):i.filter(function(e){return e!==t}):[t],j(e,n)):(j(e,t),F())}function t(e){var t=b.disabled,n=L.visiblePanel;t||n&&(n=S.value,((0,_dom.getEventTargetNode)(e,n).flag?o:F)())}function u(e){var t,n=b.disabled,i=L.visiblePanel;n||(t=y.value,n=S.value,L.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!L.isActivated&&F())}function r(e){var t,n,i,o,l,u,r=b.clearable,a=b.disabled,s=L.visiblePanel,f=L.currentValue;a||(l=(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),a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),l&&(L.isActivated=!1),s?u||l?F():t?(e.preventDefault(),e.stopPropagation(),h(e,f)):n||i?(e.preventDefault(),l=(u=function(e,t){var n,i,o,l,u=L.visibleOptionList,r=L.visibleGroupList,a=q.value,s=K.value,f=U.value;if(a)for(var v=0;v<r.length;v++){var c=r[v],p=c[f],d=c.disabled;if(p)for(var _=0;_<p.length;_++){var b=isOptionVisible(x=p[_]),m=d||x.disabled;if(n||m||(n=x),l&&b&&!m&&(o=x,!t))return{offsetOption:o};if(e===x[s]){if(l=x,t)return{offsetOption:i}}else b&&!m&&(i=x)}}else for(_=0;_<u.length;_++){var x,m=(x=u[_]).disabled;if(n||m||(n=x),l&&!m&&(o=x,!t))return{offsetOption:o};if(e===x[s]){if(l=x,t)return{offsetOption:i}}else m||(i=x)}return{firstOption:n}}(f,n)).firstOption,(u=u.offsetOption)||v(f)||(u=l),x(u),c(u,i)):a&&e.preventDefault():(n||i||t||a)&&L.isActivated&&(e.preventDefault(),$()),L.isActivated&&o&&r&&H(e,null))}function a(){F()}function p(){b.disabled||(L.isActivated=!0)}function d(){L.isActivated=!1}function _(e){e.$event.preventDefault(),(L.visiblePanel?F:$)()}var s,g=e.slots,E=e.emit,O=_xeUtils.default.uniqueId(),T=(0,_size.useSize)(b),L=(0,_vue.reactive)({inited:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1}),y=(0,_vue.ref)(),V=(0,_vue.ref)(),P=(0,_vue.ref)(),S=(0,_vue.ref)(),G={refElem:y},A={xID:O,props:b,context:e,reactData:L,getRefMaps:function(){return G}},I={},N=(0,_vue.computed)(function(){return b.optionProps||{}}),k=(0,_vue.computed)(function(){return b.optionGroupProps||{}}),w=(0,_vue.computed)(function(){return N.value.label||"label"}),K=(0,_vue.computed)(function(){return N.value.value||"value"}),C=(0,_vue.computed)(function(){return k.value.label||"label"}),U=(0,_vue.computed)(function(){return k.value.options||"options"}),q=(0,_vue.computed)(function(){return L.fullGroupList.some(function(e){return e.options&&e.options.length})}),D=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(b.multiCharOverflow)}),R=(0,_vue.computed)(function(){var e=b.modelValue,t=b.multiple,n=D.value;return e&&t?(_xeUtils.default.isArray(e)?e:[e]).map(function(e){e=i(e);return 0<n&&e.length>n?e.substring(0,n)+"...":e}).join(", "):i(e)}),z=function(){return b.optionId||"_X_ID"},B=function(e){e=e[z()];return e?encodeURIComponent(e):""},$=function(){var e=b.loading,t=b.disabled;e||t||(clearTimeout(s),L.inited||(L.inited=!0),L.isActivated=!0,L.animatVisible=!0,setTimeout(function(){var e=b.modelValue,t=b.multiple,e=v(t&&e?e[0]:e);L.visiblePanel=!0,e&&(x(e),c(e))},10),L.panelIndex<(0,_utils.getLastZIndex)()&&(L.panelIndex=(0,_utils.nextZIndex)()),o())},F=function(){L.visiblePanel=!1,s=window.setTimeout(function(){L.animatVisible=!1},350)},j=function(e,t){t!==b.modelValue&&(E("update:modelValue",t),I.dispatchEvent("change",{value:t},e))},H=function(e,t){j(e,t),I.dispatchEvent("clear",{value:t},e)},W=function(e,a){var s=b.optionKey,f=b.modelValue,v=b.multiple,c=L.currentValue,p=w.value,d=K.value,_=q.value;return e.map(function(e,t){var n=e.slots,i=e.className,o=!_||isOptionVisible(e),l=a&&a.disabled||e.disabled,u=e[d],r=B(e),n=n?n.default:null;return o?(0,_vue.h)("div",{key:s?r:t,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:e,$select:A}):i:"",{"is--disabled":l,"is--selected":v?f&&-1<f.indexOf(u):f===u,"is--hover":c===u}],optid:r,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){l||h(e,u)},onMouseenter:function(){l||x(e)}},n?m(n,{option:e,$select:A}):(0,_utils.formatText)((0,_utils.getFuncText)(e[p]))):null})},Y=function(){var u=b.optionKey,e=L.visibleGroupList,r=C.value,a=U.value;return e.map(function(e,t){var n=e.slots,i=e.className,o=B(e),l=e.disabled,n=n?n.default:null;return(0,_vue.h)("div",{key:u?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i({option:e,$select:A}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?m(n,{option:e,$select:A}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},W(e[a]||[],e))])})},I={dispatchEvent:function(e,t,n){E(e,Object.assign({$select:A,$event:n},t))},isPanelVisible:function(){return L.visiblePanel},togglePanel:function(){return(L.visiblePanel?F:$)(),(0,_vue.nextTick)()},hidePanel:function(){return L.visiblePanel&&F(),(0,_vue.nextTick)()},showPanel:function(){return L.visiblePanel||$(),(0,_vue.nextTick)()},refreshOption:l,focus:function(){var e=V.value;return L.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return V.value.blur(),(L.isActivated=!1,_vue.nextTick)()}};Object.assign(A,I),(0,_vue.watch)(function(){return L.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(L.fullOptionList=[],L.fullGroupList=e):(L.fullGroupList=[],L.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return b.options},function(e){L.fullGroupList=[],L.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return b.optionGroups},function(e){L.fullOptionList=[],L.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=b.options,t=b.optionGroups;t?L.fullGroupList=t:e&&(L.fullOptionList=e),n()}),_event.GlobalEvent.on(A,"mousewheel",t),_event.GlobalEvent.on(A,"mousedown",u),_event.GlobalEvent.on(A,"keydown",r),_event.GlobalEvent.on(A,"blur",a)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(A,"mousewheel"),_event.GlobalEvent.off(A,"mousedown"),_event.GlobalEvent.off(A,"keydown"),_event.GlobalEvent.off(A,"blur")});return A.renderVN=function(){var e=b.className,t=b.transfer,n=b.disabled,i=b.loading,o=L.inited,l=L.isActivated,u=L.visiblePanel,r=T.value,a=R.value,s=g.prefix;return(0,_vue.h)("div",{ref:y,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:A}):e:"",((e={})["size--"+r]=r,e["is--visivle"]=u,e["is--disabled"]=n,e["is--loading"]=i,e["is--active"]=l,e)]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},g.default?g.default({}):[]),(0,_vue.h)((0,_vue.resolveComponent)("vxe-input"),{ref:V,clearable:b.clearable,placeholder:b.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:b.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:u?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:a,onClear:f,onClick:_,onFocus:p,onBlur:d,onSuffixClick:_},s?{prefix:function(){return s({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!o},[(0,_vue.h)("div",{ref:S,class:["vxe-table--ignore-clear vxe-select--panel",((a={})["size--"+r]=r,a["is--transfer"]=t,a["animat--leave"]=!i&&L.animatVisible,a["animat--enter"]=!i&&u,a)],placement:L.panelPlacement,style:L.panelStyle},o?[(0,_vue.h)("div",{ref:P,class:"vxe-select-option--wrapper"},function(){var e=L.visibleGroupList,t=L.visibleOptionList;if(q.value){if(e.length)return Y()}else if(t.length)return W(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},b.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
|
package/lib/table/src/body.js
CHANGED
|
@@ -438,6 +438,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
438
438
|
var treeOpts = computeTreeOpts.value;
|
|
439
439
|
var editOpts = computeEditOpts.value;
|
|
440
440
|
var rowOpts = computeRowOpts.value;
|
|
441
|
+
var transform = treeOpts.transform;
|
|
441
442
|
var rows = [];
|
|
442
443
|
tableData.forEach(function (row, $rowIndex) {
|
|
443
444
|
var trOn = {};
|
|
@@ -471,8 +472,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
471
472
|
|
|
472
473
|
var rowid = (0, _util.getRowid)($xetable, row);
|
|
473
474
|
var rest = fullDataRowIdData[rowid];
|
|
474
|
-
var rowLevel =
|
|
475
|
-
var seq =
|
|
475
|
+
var rowLevel = 0;
|
|
476
|
+
var seq = -1;
|
|
477
|
+
|
|
478
|
+
if (rest) {
|
|
479
|
+
rowLevel = rest.level;
|
|
480
|
+
seq = rest.seq;
|
|
481
|
+
}
|
|
482
|
+
|
|
476
483
|
var params = {
|
|
477
484
|
$table: $xetable,
|
|
478
485
|
seq: seq,
|
|
@@ -484,7 +491,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
484
491
|
rowIndex: rowIndex,
|
|
485
492
|
$rowIndex: $rowIndex,
|
|
486
493
|
_rowIndex: _rowIndex
|
|
487
|
-
};
|
|
494
|
+
}; // 处理新增状态
|
|
495
|
+
|
|
488
496
|
var isNewRow = false;
|
|
489
497
|
|
|
490
498
|
if (editConfig) {
|
|
@@ -546,7 +554,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
546
554
|
} // 如果是树形表格
|
|
547
555
|
|
|
548
556
|
|
|
549
|
-
if (treeConfig && !scrollYLoad && treeExpandeds.length) {
|
|
557
|
+
if (treeConfig && !scrollYLoad && !transform && treeExpandeds.length) {
|
|
550
558
|
var rowChildren = row[treeOpts.children];
|
|
551
559
|
|
|
552
560
|
if (rowChildren && rowChildren.length && $xetable.findRowIndexOf(treeExpandeds, row) > -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")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function i(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function s(e,l){var t=e[u.value.children],o=1;if(re.isTreeExpandByRow(e))for(var r=0;r<t.length;r++)o+=s(t[r],l);return o}function oe(e,l,t){var o=t.column,r=ae.treeConfig,a=u.value,n=o.slots,o=o.treeNode;return n&&n.line?re.callSlot(n.line,t):r&&o&&a.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(r=l,l=(o=t).$rowIndex,t=1,l&&(t=s(r[l-1],o)),ne.rowHeight*t-(l?1:12-i())+"px"),left:e*a.indent+(e?2-i():0)+16+"px"}})])]:[]}function q(d,v,p){var f=ae.stripe,h=ae.rowKey,x=ae.highlightHoverRow,g=ae.rowClassName,_=ae.rowStyle,m=ae.showOverflow,y=ae.editConfig,w=ae.treeConfig,b=ne.hasFixedColumn,T=ne.treeExpandeds,S=ne.scrollYLoad,C=ne.editStore,L=ne.rowExpandeds,O=ne.expandColumn,R=ne.selectRow,E=ie.fullDataRowIdData,H=de.value,I=t.value,M=u.value,D=se.value,$=pe.value,k=[];return v.forEach(function(t,o){var e={},r=re.getVTRowIndex(t),a=re.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){fe()||re.triggerHoverEvent(e,{row:t,rowIndex:a})},e.onMouseleave=function(){fe()||re.clearHoverRow()});var l,n=(0,_util.getRowid)(re,t),i=E[n],s=i?i.level:0,u=i?i.seq:-1,c={$table:re,seq:u,rowid:n,fixed:d,type:renderType,level:s,row:t,rowIndex:a,$rowIndex:o,_rowIndex:r},i=!1;y&&(i=-1<re.findRowIndexOf(C.insertList,t)),k.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(re.getVTRowIndex(t)+1)%2==0,"is--new":i,"row--new":i&&(D.showStatus||D.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":H.highlight&&re.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:n,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||w?n:o},e),p.map(function(e,l){return Y(u,n,d,s,t,a,o,r,e,l,p,v)}))),O&&L.length&&-1<re.findRowIndexOf(L,t)&&(i=void 0,w&&(i={paddingLeft:s*M.indent+30+"px"}),l=O.showOverflow,c=_xeUtils.default.isUndefined(l)||_xeUtils.default.isNull(l)?m:l,l={$table:re,seq:u,column:O,fixed:d,type:renderType,level:s,row:t,rowIndex:a,$rowIndex:o,_rowIndex:r},k.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+n,style:_?_xeUtils.default.isFunction(_)?_(l):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:i},[O.renderData(l)])])]))),!w||S||!T.length||(l=t[M.children])&&l.length&&-1<re.findRowIndexOf(T,t)&&k.push.apply(k,q(d,l,p))}),k}function m(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(t)},300))}function o(e){var l=_.fixedType,t=ae.highlightHoverRow,o=ne.scrollXLoad,r=ne.scrollYLoad,a=ie.elemStore,n=ie.lastScrollTop,i=ie.lastScrollLeft,s=pe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,v=a["main-body-ySpace"],p=a["main-body-xSpace"],a=v?v.clientHeight:0,v=p?p.clientWidth:0,p=h.scrollTop,i=(h=u.scrollLeft)!==i,n=p!==n;ie.lastScrollTop=p,ie.lastScrollLeft=h,ie.lastScrollTime=Date.now(),(s.isHover||t)&&re.clearHoverRow(),d&&"left"===l?(p=d.scrollTop,m(p,u,c)):c&&"right"===l?(p=c.scrollTop,m(p,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(re.checkScrolling(),n&&m(p,d,c))),o&&i&&re.triggerScrollXEvent(e),r&&n&&re.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p,scrollLeft:h,bodyHeight:a,bodyWidth:v,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ae.highlightHoverRow,r=ne.scrollYLoad,a=ie.lastScrollTop,n=ie.lastScrollLeft,i=pe.value,s=T.value,u=I.value,c=s.$el,s=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t;((t=s<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(l=c.scrollLeft+l)!==n,(a=u!==a)&&(e.preventDefault(),ie.lastScrollTop=u,ie.lastScrollLeft=l,ie.lastScrollTime=Date.now(),(i.isHover||o)&&re.clearHoverRow(),d(e,t,s,n,a),r&&re.triggerScrollYEvent(e)))}var r,f,re=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=re.xID,ae=re.props,w=re.context,ne=re.reactData,ie=re.internalData,e=re.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=re.getComputeMaps(),se=e.computeEditOpts,R=e.computeMouseOpts,ue=e.computeSYOpts,E=e.computeEmptyOpts,H=e.computeKeyboardOpts,ce=e.computeTooltipOpts,t=e.computeRadioOpts,u=e.computeTreeOpts,de=e.computeCheckboxOpts,ve=e.computeValidOpts,pe=e.computeRowOpts,I=(0,_vue.ref)(),M=(0,_vue.ref)(),D=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),U=(0,_vue.ref)(),B=(0,_vue.ref)(),fe=function(){var e=ae.delayHover,l=ie.lastScrollTime;return ie._isResize||l&&Date.now()<l+e},Y=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ae.columnKey,f=ae.height,h=ae.showOverflow,x=ae.cellClassName,g=ae.cellStyle,_=ae.align,m=ae.spanMethod,y=ae.mouseConfig,w=ae.editConfig,b=ae.editRules,T=ae.tooltipConfig,S=ne.tableData,C=ne.overflowX,L=ne.scrollYLoad,O=ne.currentColumn,R=ne.mergeList,E=ne.editStore,H=ne.validStore,I=ne.isAllOverflow,M=ie.afterFullData,D=ve.value,$=de.value,k=se.value,q=ce.value,U=pe.value,B=ue.value,Y=s.type,A=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,V=s.className,F=s.treeNode,W=E.actived,P=B.rHeight,z=U.height,K=q.showAll,G=re.getColumnIndex(s),E=re.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),U=t?s.fixed!==t:s.fixed&&C,q=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===q,J="title"===q,Q=!0===q||"tooltip"===q,N=J||Q||C,q={},j=j||_,_=H.row===r&&H.column===s,f=b&&D.showMessage&&("default"===D.message?f||1<S.length:"inline"===D.message),D={colid:s.id},Z={$table:re,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:G,$columnIndex:u,_columnIndex:E,fixed:t,type:renderType,isHidden:U,level:o,visibleData:M,data:S,items:d};if(L&&!N&&(C=N=!0),(J||Q||K||T)&&(q.onMouseenter=function(e){fe()||(J?(0,_dom.updateCellTitle)(e.currentTarget,s):(Q||K)&&re.triggerBodyTooltipEvent(e,Z),re.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Z),e))}),(Q||K||T)&&(q.onMouseleave=function(e){fe()||((Q||K)&&re.handleTargetLeaveEvent(e),re.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Z),e))}),($.range||y)&&(q.onMousedown=function(e){re.triggerCellMousedownEvent(e,Z)}),q.onClick=function(e){re.triggerCellClickEvent(e,Z)},q.onDblclick=function(e){re.triggerCellDblclickEvent(e,Z)},R.length){var ee=(0,_util.mergeBodyMethod)(R,i,E);if(ee){var le=ee.rowspan,te=ee.colspan;if(!le||!te)return null;1<le&&(D.rowspan=le),1<te&&(D.colspan=te)}}else if(m){ee=m(Z)||{},m=ee.rowspan,le=void 0===m?1:m,ee=ee.colspan,te=void 0===ee?1:ee;if(!le||!te)return null;1<le&&(D.rowspan=le),1<te&&(D.colspan=te)}!(U=U&&R&&(1<D.colspan||1<D.rowspan)?!1:U)&&w&&(X||A)&&(k.showStatus||k.showUpdateStatus)&&(v=re.isUpdateByRow(r,s.property));A=[];return U&&h&&I?A.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(A.push.apply(A,__spreadArray(__spreadArray([],oe(o,d,Z)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:J?re.getCellLabel(r,s):null},s.renderCell(Z))])),f&&_&&A.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:H.rule&&H.rule.maxWidth?{width:H.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},H.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((H={})["col--"+j]=j,H["col--"+Y]=Y,H["col--last"]=u===c.length-1,H["col--tree-node"]=F,H["col--edit"]=B,H["col--ellipsis"]=N,H["fixed--hidden"]=U,H["col--dirty"]=v,H["col--actived"]=w&&B&&W.row===r&&(W.column===s||"row"===k.mode),H["col--valid-error"]=_,H["col--current"]=O===s,H),(0,_util.getPropClass)(V,Z),(0,_util.getPropClass)(x,Z)],key:p?s.id:u},D),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(Z):g:null)}),q),A)},h=0,x=0,A=0,X=!1,d=function(a,n,e,i,s){var l=ie.elemStore,t=T.value,o=C.value,r=L.value,u=o?o.$el:null,c=r?r.$el:null,d=t.$el,t=l["main-body-ySpace"],l=l["main-body-xSpace"],v=t?t.clientHeight:0,p=l?l.clientWidth:0,l=X===n?Math.max(0,h-A):0;X=n,h=Math.abs(n?e-l:e+l),A=x=0,clearTimeout(f),function e(){var l,t,o,r;A<h&&(l=_.fixedType,x=Math.max(5,Math.floor(1.5*x)),h<(A+=x)&&(x-=A-h),r=d.scrollTop,t=d.clientHeight,o=d.scrollHeight,r=r+x*(n?-1:1),d.scrollTop=r,u&&(u.scrollTop=r),c&&(c.scrollTop=r),(n?r<o-t:0<=r)&&(f=setTimeout(e,10)),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:d.scrollTop,scrollLeft:d.scrollLeft,bodyHeight:v,bodyWidth:p,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=ie.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I.value,l[t+"table"]=M.value,l[t+"colgroup"]=D.value,l[t+"list"]=$.value,l[t+"xSpace"]=k.value,l[t+"ySpace"]=U.value,l[t+"emptyBlock"]=B.value,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(f),e._onscroll=null,e.onscroll=null});return function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ae.keyboardConfig,r=ae.showOverflow,a=ae.spanMethod,n=ae.mouseConfig,i=ne.tableData,s=ne.mergeList,u=ne.scrollYLoad,c=ne.isAllOverflow,d=ie.visibleColumn,v=w.slots,p=ue.value,f=E.value,h=H.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?re.callSlot(v.empty,{$table:re}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:re}):ae.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},u&&"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:U,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:M,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:D},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},q(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){re.triggerCellExtendMousedownEvent(e,{$table:re,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});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")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function i(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function s(e,l){var t=e[u.value.children],o=1;if(re.isTreeExpandByRow(e))for(var r=0;r<t.length;r++)o+=s(t[r],l);return o}function oe(e,l,t){var o=t.column,r=ae.treeConfig,a=u.value,n=o.slots,o=o.treeNode;return n&&n.line?re.callSlot(n.line,t):r&&o&&a.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(r=l,l=(o=t).$rowIndex,t=1,l&&(t=s(r[l-1],o)),ne.rowHeight*t-(l?1:12-i())+"px"),left:e*a.indent+(e?2-i():0)+16+"px"}})])]:[]}function U(d,v,p){var f=ae.stripe,h=ae.rowKey,x=ae.highlightHoverRow,g=ae.rowClassName,_=ae.rowStyle,m=ae.showOverflow,y=ae.editConfig,w=ae.treeConfig,b=ne.hasFixedColumn,T=ne.treeExpandeds,S=ne.scrollYLoad,C=ne.editStore,L=ne.rowExpandeds,O=ne.expandColumn,R=ne.selectRow,E=ie.fullDataRowIdData,H=de.value,I=t.value,M=u.value,D=se.value,$=pe.value,k=M.transform,q=[];return v.forEach(function(t,o){var e={},r=re.getVTRowIndex(t),a=re.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){fe()||re.triggerHoverEvent(e,{row:t,rowIndex:a})},e.onMouseleave=function(){fe()||re.clearHoverRow()});var n=(0,_util.getRowid)(re,t),l=E[n],i=0,s=-1;l&&(i=l.level,s=l.seq);var u,c={$table:re,seq:s,rowid:n,fixed:d,type:renderType,level:i,row:t,rowIndex:a,$rowIndex:o,_rowIndex:r},l=!1;y&&(l=-1<re.findRowIndexOf(C.insertList,t)),q.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(re.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(D.showStatus||D.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":H.highlight&&re.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:n,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||w?n:o},e),p.map(function(e,l){return Y(s,n,d,i,t,a,o,r,e,l,p,v)}))),O&&L.length&&-1<re.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:i*M.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:re,seq:s,column:O,fixed:d,type:renderType,level:i,row:t,rowIndex:a,$rowIndex:o,_rowIndex:r},q.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+n,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[M.children])&&u.length&&-1<re.findRowIndexOf(T,t)&&q.push.apply(q,U(d,u,p))}),q}function m(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(t)},300))}function o(e){var l=_.fixedType,t=ae.highlightHoverRow,o=ne.scrollXLoad,r=ne.scrollYLoad,a=ie.elemStore,n=ie.lastScrollTop,i=ie.lastScrollLeft,s=pe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,v=a["main-body-ySpace"],p=a["main-body-xSpace"],a=v?v.clientHeight:0,v=p?p.clientWidth:0,p=h.scrollTop,i=(h=u.scrollLeft)!==i,n=p!==n;ie.lastScrollTop=p,ie.lastScrollLeft=h,ie.lastScrollTime=Date.now(),(s.isHover||t)&&re.clearHoverRow(),d&&"left"===l?(p=d.scrollTop,m(p,u,c)):c&&"right"===l?(p=c.scrollTop,m(p,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(re.checkScrolling(),n&&m(p,d,c))),o&&i&&re.triggerScrollXEvent(e),r&&n&&re.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p,scrollLeft:h,bodyHeight:a,bodyWidth:v,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ae.highlightHoverRow,r=ne.scrollYLoad,a=ie.lastScrollTop,n=ie.lastScrollLeft,i=pe.value,s=T.value,u=I.value,c=s.$el,s=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t;((t=s<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(l=c.scrollLeft+l)!==n,(a=u!==a)&&(e.preventDefault(),ie.lastScrollTop=u,ie.lastScrollLeft=l,ie.lastScrollTime=Date.now(),(i.isHover||o)&&re.clearHoverRow(),d(e,t,s,n,a),r&&re.triggerScrollYEvent(e)))}var r,f,re=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=re.xID,ae=re.props,w=re.context,ne=re.reactData,ie=re.internalData,e=re.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=re.getComputeMaps(),se=e.computeEditOpts,R=e.computeMouseOpts,ue=e.computeSYOpts,E=e.computeEmptyOpts,H=e.computeKeyboardOpts,ce=e.computeTooltipOpts,t=e.computeRadioOpts,u=e.computeTreeOpts,de=e.computeCheckboxOpts,ve=e.computeValidOpts,pe=e.computeRowOpts,I=(0,_vue.ref)(),M=(0,_vue.ref)(),D=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),q=(0,_vue.ref)(),B=(0,_vue.ref)(),fe=function(){var e=ae.delayHover,l=ie.lastScrollTime;return ie._isResize||l&&Date.now()<l+e},Y=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ae.columnKey,f=ae.height,h=ae.showOverflow,x=ae.cellClassName,g=ae.cellStyle,_=ae.align,m=ae.spanMethod,y=ae.mouseConfig,w=ae.editConfig,b=ae.editRules,T=ae.tooltipConfig,S=ne.tableData,C=ne.overflowX,L=ne.scrollYLoad,O=ne.currentColumn,R=ne.mergeList,E=ne.editStore,H=ne.validStore,I=ne.isAllOverflow,M=ie.afterFullData,D=ve.value,$=de.value,k=se.value,q=ce.value,U=pe.value,B=ue.value,Y=s.type,A=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,V=s.className,F=s.treeNode,W=E.actived,P=B.rHeight,z=U.height,K=q.showAll,G=re.getColumnIndex(s),E=re.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),U=t?s.fixed!==t:s.fixed&&C,q=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===q,J="title"===q,Q=!0===q||"tooltip"===q,N=J||Q||C,q={},j=j||_,_=H.row===r&&H.column===s,f=b&&D.showMessage&&("default"===D.message?f||1<S.length:"inline"===D.message),D={colid:s.id},Z={$table:re,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:G,$columnIndex:u,_columnIndex:E,fixed:t,type:renderType,isHidden:U,level:o,visibleData:M,data:S,items:d};if(L&&!N&&(C=N=!0),(J||Q||K||T)&&(q.onMouseenter=function(e){fe()||(J?(0,_dom.updateCellTitle)(e.currentTarget,s):(Q||K)&&re.triggerBodyTooltipEvent(e,Z),re.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Z),e))}),(Q||K||T)&&(q.onMouseleave=function(e){fe()||((Q||K)&&re.handleTargetLeaveEvent(e),re.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Z),e))}),($.range||y)&&(q.onMousedown=function(e){re.triggerCellMousedownEvent(e,Z)}),q.onClick=function(e){re.triggerCellClickEvent(e,Z)},q.onDblclick=function(e){re.triggerCellDblclickEvent(e,Z)},R.length){var ee=(0,_util.mergeBodyMethod)(R,i,E);if(ee){var le=ee.rowspan,te=ee.colspan;if(!le||!te)return null;1<le&&(D.rowspan=le),1<te&&(D.colspan=te)}}else if(m){ee=m(Z)||{},m=ee.rowspan,le=void 0===m?1:m,ee=ee.colspan,te=void 0===ee?1:ee;if(!le||!te)return null;1<le&&(D.rowspan=le),1<te&&(D.colspan=te)}!(U=U&&R&&(1<D.colspan||1<D.rowspan)?!1:U)&&w&&(X||A)&&(k.showStatus||k.showUpdateStatus)&&(v=re.isUpdateByRow(r,s.property));A=[];return U&&h&&I?A.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(A.push.apply(A,__spreadArray(__spreadArray([],oe(o,d,Z)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:J?re.getCellLabel(r,s):null},s.renderCell(Z))])),f&&_&&A.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:H.rule&&H.rule.maxWidth?{width:H.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},H.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((H={})["col--"+j]=j,H["col--"+Y]=Y,H["col--last"]=u===c.length-1,H["col--tree-node"]=F,H["col--edit"]=B,H["col--ellipsis"]=N,H["fixed--hidden"]=U,H["col--dirty"]=v,H["col--actived"]=w&&B&&W.row===r&&(W.column===s||"row"===k.mode),H["col--valid-error"]=_,H["col--current"]=O===s,H),(0,_util.getPropClass)(V,Z),(0,_util.getPropClass)(x,Z)],key:p?s.id:u},D),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(Z):g:null)}),q),A)},h=0,x=0,A=0,X=!1,d=function(a,n,e,i,s){var l=ie.elemStore,t=T.value,o=C.value,r=L.value,u=o?o.$el:null,c=r?r.$el:null,d=t.$el,t=l["main-body-ySpace"],l=l["main-body-xSpace"],v=t?t.clientHeight:0,p=l?l.clientWidth:0,l=X===n?Math.max(0,h-A):0;X=n,h=Math.abs(n?e-l:e+l),A=x=0,clearTimeout(f),function e(){var l,t,o,r;A<h&&(l=_.fixedType,x=Math.max(5,Math.floor(1.5*x)),h<(A+=x)&&(x-=A-h),r=d.scrollTop,t=d.clientHeight,o=d.scrollHeight,r=r+x*(n?-1:1),d.scrollTop=r,u&&(u.scrollTop=r),c&&(c.scrollTop=r),(n?r<o-t:0<=r)&&(f=setTimeout(e,10)),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:d.scrollTop,scrollLeft:d.scrollLeft,bodyHeight:v,bodyWidth:p,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=ie.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I.value,l[t+"table"]=M.value,l[t+"colgroup"]=D.value,l[t+"list"]=$.value,l[t+"xSpace"]=k.value,l[t+"ySpace"]=q.value,l[t+"emptyBlock"]=B.value,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(f),e._onscroll=null,e.onscroll=null});return function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ae.keyboardConfig,r=ae.showOverflow,a=ae.spanMethod,n=ae.mouseConfig,i=ne.tableData,s=ne.mergeList,u=ne.scrollYLoad,c=ne.isAllOverflow,d=ie.visibleColumn,v=w.slots,p=ue.value,f=E.value,h=H.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?re.callSlot(v.empty,{$table:re}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:re}):ae.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},u&&"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:q,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:M,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:D},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},U(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){re.triggerCellExtendMousedownEvent(e,{$table:re,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
|
package/lib/table/src/table.js
CHANGED
|
@@ -299,10 +299,12 @@ var _default = (0, _vue.defineComponent)({
|
|
|
299
299
|
rowExpandedReserveRowMap: {},
|
|
300
300
|
// 树结构数据,已展开保留的行
|
|
301
301
|
treeExpandedReserveRowMap: {},
|
|
302
|
-
//
|
|
302
|
+
// 列表完整数据、条件处理后
|
|
303
303
|
tableFullData: [],
|
|
304
|
-
treeFullData: [],
|
|
305
304
|
afterFullData: [],
|
|
305
|
+
// 树结构完整数据、条件处理后
|
|
306
|
+
tableFullTreeData: [],
|
|
307
|
+
afterTreeFullData: [],
|
|
306
308
|
tableSynchData: [],
|
|
307
309
|
tableSourceData: [],
|
|
308
310
|
// 收集的列配置(带分组)
|
|
@@ -1312,11 +1314,11 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1312
1314
|
var afterFullData = internalData.afterFullData,
|
|
1313
1315
|
fullDataRowIdData = internalData.fullDataRowIdData,
|
|
1314
1316
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
1315
|
-
var
|
|
1317
|
+
var afterTreeFullData = internalData.afterTreeFullData;
|
|
1316
1318
|
var treeOpts = computeTreeOpts.value;
|
|
1317
1319
|
|
|
1318
1320
|
if (treeConfig) {
|
|
1319
|
-
_xeUtils.default.eachTree(
|
|
1321
|
+
_xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path) {
|
|
1320
1322
|
var rowid = (0, _util.getRowid)($xetable, row);
|
|
1321
1323
|
var allrest = fullAllDataRowIdData[rowid];
|
|
1322
1324
|
var fullrest = fullDataRowIdData[rowid];
|
|
@@ -1326,10 +1328,12 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1326
1328
|
|
|
1327
1329
|
if (allrest) {
|
|
1328
1330
|
allrest.seq = seq;
|
|
1331
|
+
allrest._index = index;
|
|
1329
1332
|
}
|
|
1330
1333
|
|
|
1331
1334
|
if (fullrest) {
|
|
1332
1335
|
fullrest.seq = seq;
|
|
1336
|
+
fullrest._index = index;
|
|
1333
1337
|
} else {
|
|
1334
1338
|
fullAllDataRowIdData[rowid] = {
|
|
1335
1339
|
row: row,
|
|
@@ -1354,7 +1358,9 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1354
1358
|
level: 0
|
|
1355
1359
|
};
|
|
1356
1360
|
}
|
|
1357
|
-
},
|
|
1361
|
+
}, {
|
|
1362
|
+
children: treeOpts.mapChildren
|
|
1363
|
+
});
|
|
1358
1364
|
} else {
|
|
1359
1365
|
afterFullData.forEach(function (row, index) {
|
|
1360
1366
|
var rowid = (0, _util.getRowid)($xetable, row);
|
|
@@ -1364,6 +1370,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1364
1370
|
|
|
1365
1371
|
if (allrest) {
|
|
1366
1372
|
allrest.seq = seq;
|
|
1373
|
+
allrest._index = index;
|
|
1367
1374
|
}
|
|
1368
1375
|
|
|
1369
1376
|
if (fullrest) {
|
|
@@ -1403,15 +1410,20 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1403
1410
|
|
|
1404
1411
|
|
|
1405
1412
|
var updateAfterFullData = function updateAfterFullData() {
|
|
1413
|
+
var treeConfig = props.treeConfig;
|
|
1406
1414
|
var tableFullColumn = internalData.tableFullColumn,
|
|
1407
|
-
tableFullData = internalData.tableFullData
|
|
1415
|
+
tableFullData = internalData.tableFullData,
|
|
1416
|
+
tableFullTreeData = internalData.tableFullTreeData;
|
|
1408
1417
|
var filterOpts = computeFilterOpts.value;
|
|
1409
1418
|
var sortOpts = computeSortOpts.value;
|
|
1419
|
+
var treeOpts = computeTreeOpts.value;
|
|
1420
|
+
var transform = treeOpts.transform;
|
|
1410
1421
|
var allRemoteFilter = filterOpts.remote,
|
|
1411
1422
|
allFilterMethod = filterOpts.filterMethod;
|
|
1412
1423
|
var allRemoteSort = sortOpts.remote,
|
|
1413
1424
|
allSortMethod = sortOpts.sortMethod;
|
|
1414
|
-
var tableData =
|
|
1425
|
+
var tableData = [];
|
|
1426
|
+
var tableTree = []; // 处理列
|
|
1415
1427
|
|
|
1416
1428
|
if (!allRemoteFilter || !allRemoteSort) {
|
|
1417
1429
|
var filterColumns_1 = [];
|
|
@@ -1451,7 +1463,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1451
1463
|
// 支持单列、多列、组合筛选
|
|
1452
1464
|
|
|
1453
1465
|
if (!allRemoteFilter && filterColumns_1.length) {
|
|
1454
|
-
|
|
1466
|
+
var handleFilter = function handleFilter(row) {
|
|
1455
1467
|
return filterColumns_1.every(function (_a) {
|
|
1456
1468
|
var column = _a.column,
|
|
1457
1469
|
valueList = _a.valueList,
|
|
@@ -1508,32 +1520,78 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1508
1520
|
|
|
1509
1521
|
return valueList.indexOf(_xeUtils.default.get(row, column.property)) > -1;
|
|
1510
1522
|
});
|
|
1511
|
-
}
|
|
1512
|
-
|
|
1523
|
+
};
|
|
1524
|
+
|
|
1525
|
+
if (treeConfig && transform) {
|
|
1526
|
+
// 筛选虚拟树
|
|
1527
|
+
tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, __assign(__assign({}, treeOpts), {
|
|
1528
|
+
original: true
|
|
1529
|
+
}));
|
|
1530
|
+
tableData = tableTree;
|
|
1531
|
+
} else {
|
|
1532
|
+
tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter);
|
|
1533
|
+
tableTree = tableData;
|
|
1534
|
+
}
|
|
1535
|
+
} else {
|
|
1536
|
+
if (treeConfig && transform) {
|
|
1537
|
+
// 还原虚拟树
|
|
1538
|
+
tableTree = _xeUtils.default.searchTree(tableFullTreeData, function () {
|
|
1539
|
+
return true;
|
|
1540
|
+
}, __assign(__assign({}, treeOpts), {
|
|
1541
|
+
original: true
|
|
1542
|
+
}));
|
|
1543
|
+
tableData = tableTree;
|
|
1544
|
+
} else {
|
|
1545
|
+
tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
|
|
1546
|
+
tableTree = tableData;
|
|
1547
|
+
}
|
|
1548
|
+
} // 处理排序(不能用于树形结构)
|
|
1513
1549
|
// 支持单列、多列、组合排序
|
|
1514
1550
|
|
|
1515
1551
|
|
|
1516
1552
|
if (!allRemoteSort && orderColumns_1.length) {
|
|
1517
|
-
if (
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1553
|
+
if (treeConfig && transform) {
|
|
1554
|
+
// 虚拟树和列表一样,只能排序根级节点
|
|
1555
|
+
if (allSortMethod) {
|
|
1556
|
+
var sortRests = allSortMethod({
|
|
1557
|
+
data: tableTree,
|
|
1558
|
+
sortList: orderColumns_1,
|
|
1559
|
+
$table: $xetable
|
|
1560
|
+
});
|
|
1561
|
+
tableTree = _xeUtils.default.isArray(sortRests) ? sortRests : tableTree;
|
|
1562
|
+
} else {
|
|
1563
|
+
tableTree = _xeUtils.default.orderBy(tableTree, orderColumns_1.map(function (_a) {
|
|
1564
|
+
var column = _a.column,
|
|
1565
|
+
order = _a.order;
|
|
1566
|
+
return [getOrderField(column), order];
|
|
1567
|
+
}));
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
tableData = tableTree;
|
|
1524
1571
|
} else {
|
|
1525
|
-
|
|
1526
|
-
var
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1572
|
+
if (allSortMethod) {
|
|
1573
|
+
var sortRests = allSortMethod({
|
|
1574
|
+
data: tableData,
|
|
1575
|
+
sortList: orderColumns_1,
|
|
1576
|
+
$table: $xetable
|
|
1577
|
+
});
|
|
1578
|
+
tableData = _xeUtils.default.isArray(sortRests) ? sortRests : tableData;
|
|
1579
|
+
} else {
|
|
1580
|
+
tableData = _xeUtils.default.orderBy(tableData, orderColumns_1.map(function (_a) {
|
|
1581
|
+
var column = _a.column,
|
|
1582
|
+
order = _a.order;
|
|
1583
|
+
return [getOrderField(column), order];
|
|
1584
|
+
}));
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
tableTree = tableData;
|
|
1530
1588
|
}
|
|
1531
1589
|
}
|
|
1532
1590
|
}
|
|
1533
1591
|
|
|
1534
1592
|
internalData.afterFullData = tableData;
|
|
1593
|
+
internalData.afterTreeFullData = tableTree;
|
|
1535
1594
|
updateAfterDataIndex();
|
|
1536
|
-
return tableData;
|
|
1537
1595
|
};
|
|
1538
1596
|
|
|
1539
1597
|
var updateStyle = function updateStyle() {
|
|
@@ -1666,6 +1724,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
1666
1724
|
}
|
|
1667
1725
|
|
|
1668
1726
|
childWidth_1 += item.renderWidth;
|
|
1727
|
+
}, {
|
|
1728
|
+
children: 'children'
|
|
1669
1729
|
});
|
|
1670
1730
|
}
|
|
1671
1731
|
|
|
@@ -2110,7 +2170,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2110
2170
|
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
2111
2171
|
var treeOpts = computeTreeOpts.value;
|
|
2112
2172
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
2113
|
-
var
|
|
2173
|
+
var transform = treeOpts.transform,
|
|
2174
|
+
loadMethod = treeOpts.loadMethod;
|
|
2114
2175
|
var checkStrictly = checkboxOpts.checkStrictly;
|
|
2115
2176
|
var rest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
|
|
2116
2177
|
return new Promise(function (resolve) {
|
|
@@ -2142,12 +2203,24 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2142
2203
|
if (!checkStrictly && tableMethods.isCheckedByCheckboxRow(row)) {
|
|
2143
2204
|
tableMethods.setCheckboxRow(childRows, true);
|
|
2144
2205
|
}
|
|
2206
|
+
|
|
2207
|
+
(0, _vue.nextTick)().then(function () {
|
|
2208
|
+
if (transform) {
|
|
2209
|
+
return tablePrivateMethods.handleTableData();
|
|
2210
|
+
}
|
|
2211
|
+
}).then(function () {
|
|
2212
|
+
return tableMethods.recalculate();
|
|
2213
|
+
}).then(function () {
|
|
2214
|
+
return resolve();
|
|
2215
|
+
});
|
|
2216
|
+
});
|
|
2217
|
+
} else {
|
|
2218
|
+
(0, _vue.nextTick)().then(function () {
|
|
2219
|
+
return tableMethods.recalculate();
|
|
2220
|
+
}).then(function () {
|
|
2221
|
+
return resolve();
|
|
2145
2222
|
});
|
|
2146
2223
|
}
|
|
2147
|
-
|
|
2148
|
-
resolve((0, _vue.nextTick)().then(function () {
|
|
2149
|
-
return tableMethods.recalculate();
|
|
2150
|
-
}));
|
|
2151
2224
|
});
|
|
2152
2225
|
} else {
|
|
2153
2226
|
resolve();
|
|
@@ -2315,6 +2388,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2315
2388
|
(0, _utils.errLog)('vxe.error.reqProp', ['tree-config.children']);
|
|
2316
2389
|
}
|
|
2317
2390
|
|
|
2391
|
+
if (!treeOpts.mapChildren) {
|
|
2392
|
+
(0, _utils.errLog)('vxe.error.reqProp', ['tree-config.mapChildren']);
|
|
2393
|
+
}
|
|
2394
|
+
|
|
2395
|
+
if (treeOpts.children === treeOpts.mapChildren) {
|
|
2396
|
+
(0, _utils.errLog)('vxe.error.errConflicts', ['tree-config.children', 'tree-config.mapChildren']);
|
|
2397
|
+
}
|
|
2398
|
+
|
|
2318
2399
|
fullData.forEach(function (row) {
|
|
2319
2400
|
if (row[treeOpts.children] && row[treeOpts.children].length) {
|
|
2320
2401
|
(0, _utils.warnLog)('vxe.error.errConflicts', ['tree-config.transform', "row." + treeOpts.children]);
|
|
@@ -2325,7 +2406,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2325
2406
|
treeData = _xeUtils.default.toArrayTree(fullData, {
|
|
2326
2407
|
key: treeOpts.rowField,
|
|
2327
2408
|
parentKey: treeOpts.parentField,
|
|
2328
|
-
children: treeOpts.children
|
|
2409
|
+
children: treeOpts.children,
|
|
2410
|
+
mapChildren: treeOpts.mapChildren
|
|
2329
2411
|
});
|
|
2330
2412
|
fullData = treeData.slice(0);
|
|
2331
2413
|
} else {
|
|
@@ -2343,7 +2425,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2343
2425
|
reactData.scrollYLoad = sYLoad; // 全量数据
|
|
2344
2426
|
|
|
2345
2427
|
internalData.tableFullData = fullData;
|
|
2346
|
-
internalData.
|
|
2428
|
+
internalData.tableFullTreeData = treeData; // 缓存数据
|
|
2347
2429
|
|
|
2348
2430
|
tablePrivateMethods.cacheRowMap(true); // 原始数据
|
|
2349
2431
|
|
|
@@ -2675,33 +2757,6 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2675
2757
|
reactData.scrollYLoad = scrollYLoad;
|
|
2676
2758
|
return scrollYLoad;
|
|
2677
2759
|
};
|
|
2678
|
-
|
|
2679
|
-
var updateVirtualTreeData = function updateVirtualTreeData() {
|
|
2680
|
-
var oldScrollYLoad = reactData.scrollYLoad,
|
|
2681
|
-
treeExpandeds = reactData.treeExpandeds;
|
|
2682
|
-
var treeFullData = internalData.treeFullData;
|
|
2683
|
-
var treeOpts = computeTreeOpts.value;
|
|
2684
|
-
var fullData = [];
|
|
2685
|
-
var expandMaps = new Map();
|
|
2686
|
-
|
|
2687
|
-
_xeUtils.default.eachTree(treeFullData, function (row, index, items, path, parent) {
|
|
2688
|
-
if (!parent || expandMaps.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1) {
|
|
2689
|
-
expandMaps.set(row, 1);
|
|
2690
|
-
fullData.push(row);
|
|
2691
|
-
}
|
|
2692
|
-
}, treeOpts);
|
|
2693
|
-
|
|
2694
|
-
var scrollYLoad = updateScrollYStatus(fullData);
|
|
2695
|
-
internalData.tableFullData = scrollYLoad ? fullData : treeFullData;
|
|
2696
|
-
|
|
2697
|
-
if (scrollYLoad || oldScrollYLoad !== scrollYLoad) {
|
|
2698
|
-
return tablePrivateMethods.handleTableData(true).then(function () {
|
|
2699
|
-
return tableMethods.recalculate();
|
|
2700
|
-
});
|
|
2701
|
-
}
|
|
2702
|
-
|
|
2703
|
-
return (0, _vue.nextTick)();
|
|
2704
|
-
};
|
|
2705
2760
|
/**
|
|
2706
2761
|
* 展开与收起树节点
|
|
2707
2762
|
* @param rows
|
|
@@ -2792,7 +2847,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2792
2847
|
|
|
2793
2848
|
var handleVirtualTreeExpand = function handleVirtualTreeExpand(rows, expanded) {
|
|
2794
2849
|
return handleBaseTreeExpand(rows, expanded).then(function () {
|
|
2795
|
-
return
|
|
2850
|
+
return tablePrivateMethods.handleTableData();
|
|
2796
2851
|
}).then(function () {
|
|
2797
2852
|
return tableMethods.recalculate();
|
|
2798
2853
|
});
|
|
@@ -2887,7 +2942,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
2887
2942
|
},
|
|
2888
2943
|
|
|
2889
2944
|
/**
|
|
2890
|
-
* 同步 data
|
|
2945
|
+
* 同步 data 数据(即将废弃)
|
|
2891
2946
|
* 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
|
|
2892
2947
|
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
2893
2948
|
*/
|
|
@@ -3002,7 +3057,9 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3002
3057
|
fullDataRowIdData = internalData.fullDataRowIdData,
|
|
3003
3058
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
3004
3059
|
var treeOpts = computeTreeOpts.value;
|
|
3005
|
-
var
|
|
3060
|
+
var transform = treeOpts.transform,
|
|
3061
|
+
children = treeOpts.children,
|
|
3062
|
+
mapChildren = treeOpts.mapChildren;
|
|
3006
3063
|
var parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, row)];
|
|
3007
3064
|
var parentLevel = parentRest ? parentRest.level : 0;
|
|
3008
3065
|
return tableMethods.createData(childRecords).then(function (rows) {
|
|
@@ -3036,6 +3093,11 @@ var _default = (0, _vue.defineComponent)({
|
|
|
3036
3093
|
}, treeOpts);
|
|
3037
3094
|
|
|
3038
3095
|
row[children] = rows;
|
|
3096
|
+
|
|
3097
|
+
if (transform) {
|
|
3098
|
+
row[mapChildren] = rows;
|
|
3099
|
+
}
|
|
3100
|
+
|
|
3039
3101
|
return rows;
|
|
3040
3102
|
});
|
|
3041
3103
|
},
|
|
@@ -4515,7 +4577,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
4515
4577
|
return handleAsyncTreeExpandChilds(row);
|
|
4516
4578
|
}).then(function () {
|
|
4517
4579
|
if (transform) {
|
|
4518
|
-
return
|
|
4580
|
+
return tablePrivateMethods.handleTableData();
|
|
4519
4581
|
}
|
|
4520
4582
|
}).then(function () {
|
|
4521
4583
|
return tableMethods.recalculate();
|
|
@@ -4605,19 +4667,19 @@ var _default = (0, _vue.defineComponent)({
|
|
|
4605
4667
|
*/
|
|
4606
4668
|
clearTreeExpand: function clearTreeExpand() {
|
|
4607
4669
|
var treeExpandeds = reactData.treeExpandeds;
|
|
4608
|
-
var
|
|
4670
|
+
var tableFullTreeData = internalData.tableFullTreeData;
|
|
4609
4671
|
var treeOpts = computeTreeOpts.value;
|
|
4610
4672
|
var reserve = treeOpts.reserve;
|
|
4611
4673
|
var isExists = treeExpandeds.length;
|
|
4612
4674
|
reactData.treeExpandeds = [];
|
|
4613
4675
|
|
|
4614
4676
|
if (reserve) {
|
|
4615
|
-
_xeUtils.default.eachTree(
|
|
4677
|
+
_xeUtils.default.eachTree(tableFullTreeData, function (row) {
|
|
4616
4678
|
return handleTreeExpandReserve(row, false);
|
|
4617
4679
|
}, treeOpts);
|
|
4618
4680
|
}
|
|
4619
4681
|
|
|
4620
|
-
return
|
|
4682
|
+
return tablePrivateMethods.handleTableData().then(function () {
|
|
4621
4683
|
if (isExists) {
|
|
4622
4684
|
tableMethods.recalculate();
|
|
4623
4685
|
}
|
|
@@ -5588,11 +5650,35 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5588
5650
|
return record;
|
|
5589
5651
|
},
|
|
5590
5652
|
handleTableData: function handleTableData(force) {
|
|
5653
|
+
var treeConfig = props.treeConfig;
|
|
5591
5654
|
var scrollYLoad = reactData.scrollYLoad;
|
|
5592
5655
|
var scrollYStore = internalData.scrollYStore,
|
|
5593
5656
|
fullDataRowIdData = internalData.fullDataRowIdData;
|
|
5594
|
-
var
|
|
5595
|
-
var
|
|
5657
|
+
var treeExpandeds = reactData.treeExpandeds;
|
|
5658
|
+
var treeOpts = computeTreeOpts.value;
|
|
5659
|
+
var fullList = []; // 是否进行数据处理
|
|
5660
|
+
|
|
5661
|
+
if (force) {
|
|
5662
|
+
updateAfterFullData();
|
|
5663
|
+
} // 如果为虚拟树,将树结构拍平
|
|
5664
|
+
|
|
5665
|
+
|
|
5666
|
+
if (treeConfig && treeOpts.transform) {
|
|
5667
|
+
var expandMaps_1 = new Map();
|
|
5668
|
+
|
|
5669
|
+
_xeUtils.default.eachTree(internalData.afterTreeFullData, function (row, index, items, path, parent) {
|
|
5670
|
+
if (!parent || expandMaps_1.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1) {
|
|
5671
|
+
expandMaps_1.set(row, 1);
|
|
5672
|
+
fullList.push(row);
|
|
5673
|
+
}
|
|
5674
|
+
}, {
|
|
5675
|
+
children: treeOpts.mapChildren
|
|
5676
|
+
});
|
|
5677
|
+
} else {
|
|
5678
|
+
fullList = internalData.afterFullData;
|
|
5679
|
+
}
|
|
5680
|
+
|
|
5681
|
+
var tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
|
|
5596
5682
|
tableData.forEach(function (row, $index) {
|
|
5597
5683
|
var rowid = (0, _util.getRowid)($xetable, row);
|
|
5598
5684
|
var rest = fullDataRowIdData[rowid];
|
|
@@ -5615,7 +5701,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5615
5701
|
var fullDataRowIdData = internalData.fullDataRowIdData,
|
|
5616
5702
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData,
|
|
5617
5703
|
tableFullData = internalData.tableFullData,
|
|
5618
|
-
|
|
5704
|
+
tableFullTreeData = internalData.tableFullTreeData;
|
|
5619
5705
|
var rowkey = (0, _util.getRowkey)($xetable);
|
|
5620
5706
|
var isLazy = treeConfig && treeOpts.lazy;
|
|
5621
5707
|
|
|
@@ -5660,7 +5746,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
5660
5746
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData = {};
|
|
5661
5747
|
|
|
5662
5748
|
if (treeConfig) {
|
|
5663
|
-
_xeUtils.default.eachTree(
|
|
5749
|
+
_xeUtils.default.eachTree(tableFullTreeData, handleCache, treeOpts);
|
|
5664
5750
|
} else {
|
|
5665
5751
|
tableFullData.forEach(handleCache);
|
|
5666
5752
|
}
|
|
@@ -6635,7 +6721,6 @@ var _default = (0, _vue.defineComponent)({
|
|
|
6635
6721
|
tablePrivateMethods.handleTableData();
|
|
6636
6722
|
tablePrivateMethods.updateScrollYSpace();
|
|
6637
6723
|
},
|
|
6638
|
-
updateVirtualTreeData: updateVirtualTreeData,
|
|
6639
6724
|
|
|
6640
6725
|
/**
|
|
6641
6726
|
* 处理固定列的显示状态
|
|
@@ -6812,7 +6897,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
6812
6897
|
|
|
6813
6898
|
return false;
|
|
6814
6899
|
}
|
|
6815
|
-
};
|
|
6900
|
+
}; // 检测对应模块是否安装
|
|
6816
6901
|
|
|
6817
6902
|
if (process.env.NODE_ENV === 'development') {
|
|
6818
6903
|
'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(function (name) {
|