vxe-table 4.5.0-beta.11 → 4.5.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/README.zh-TW.md +1 -1
  4. package/es/footer/src/footer.js +5 -1
  5. package/es/form/src/form.js +27 -5
  6. package/es/icon/style.css +1 -1
  7. package/es/input/src/input.js +4 -1
  8. package/es/locale/lang/en-US.js +4 -0
  9. package/es/locale/lang/es-ES.js +5 -0
  10. package/es/locale/lang/ja-JP.js +5 -0
  11. package/es/locale/lang/zh-CN.js +5 -0
  12. package/es/locale/lang/zh-TC.js +5 -0
  13. package/es/menu/src/hooks.js +3 -3
  14. package/es/select/src/select.js +4 -1
  15. package/es/style.css +1 -1
  16. package/es/style.min.css +1 -1
  17. package/es/table/src/body.js +7 -3
  18. package/es/table/src/table.js +30 -7
  19. package/es/table/style.css +14 -3
  20. package/es/textarea/src/textarea.js +4 -1
  21. package/es/tools/log.js +1 -1
  22. package/es/tooltip/style.css +0 -6
  23. package/es/v-x-e-table/index.js +4 -1
  24. package/es/v-x-e-table/src/conf.js +4 -1
  25. package/es/v-x-e-table/src/menus.js +48 -2
  26. package/es/v-x-e-table/src/store.js +4 -1
  27. package/es/v-x-e-table/src/validators.js +5 -0
  28. package/es/validator/src/hook.js +100 -22
  29. package/es/vxe-table/style.css +14 -3
  30. package/es/vxe-tooltip/style.css +0 -6
  31. package/lib/footer/src/footer.js +6 -1
  32. package/lib/footer/src/footer.min.js +1 -1
  33. package/lib/form/src/form.js +24 -4
  34. package/lib/form/src/form.min.js +1 -1
  35. package/lib/icon/style/style.css +1 -1
  36. package/lib/icon/style/style.min.css +1 -1
  37. package/lib/index.umd.js +271 -48
  38. package/lib/index.umd.min.js +1 -1
  39. package/lib/input/src/input.js +6 -1
  40. package/lib/input/src/input.min.js +1 -1
  41. package/lib/locale/lang/en-US.js +4 -0
  42. package/lib/locale/lang/en-US.min.js +1 -1
  43. package/lib/locale/lang/en-US.umd.js +4 -0
  44. package/lib/locale/lang/es-ES.js +5 -0
  45. package/lib/locale/lang/es-ES.min.js +1 -1
  46. package/lib/locale/lang/es-ES.umd.js +5 -0
  47. package/lib/locale/lang/ja-JP.js +5 -0
  48. package/lib/locale/lang/ja-JP.min.js +1 -1
  49. package/lib/locale/lang/ja-JP.umd.js +5 -0
  50. package/lib/locale/lang/zh-CN.js +5 -0
  51. package/lib/locale/lang/zh-CN.min.js +1 -1
  52. package/lib/locale/lang/zh-CN.umd.js +5 -0
  53. package/lib/locale/lang/zh-HK.min.js +1 -1
  54. package/lib/locale/lang/zh-HK.umd.js +5 -0
  55. package/lib/locale/lang/zh-MO.min.js +1 -1
  56. package/lib/locale/lang/zh-MO.umd.js +5 -0
  57. package/lib/locale/lang/zh-TC.js +5 -0
  58. package/lib/locale/lang/zh-TC.min.js +1 -1
  59. package/lib/locale/lang/zh-TC.umd.js +5 -0
  60. package/lib/locale/lang/zh-TW.min.js +1 -1
  61. package/lib/locale/lang/zh-TW.umd.js +5 -0
  62. package/lib/menu/src/hooks.js +3 -3
  63. package/lib/menu/src/hooks.min.js +1 -1
  64. package/lib/select/src/select.js +6 -1
  65. package/lib/select/src/select.min.js +1 -1
  66. package/lib/style.css +1 -1
  67. package/lib/style.min.css +1 -1
  68. package/lib/table/src/body.js +8 -2
  69. package/lib/table/src/body.min.js +1 -1
  70. package/lib/table/src/table.js +38 -9
  71. package/lib/table/src/table.min.js +1 -1
  72. package/lib/table/style/style.css +14 -3
  73. package/lib/table/style/style.min.css +1 -1
  74. package/lib/textarea/src/textarea.js +6 -1
  75. package/lib/textarea/src/textarea.min.js +1 -1
  76. package/lib/tools/log.js +1 -1
  77. package/lib/tools/log.min.js +1 -1
  78. package/lib/tooltip/style/style.css +0 -6
  79. package/lib/tooltip/style/style.min.css +1 -1
  80. package/lib/v-x-e-table/index.js +14 -1
  81. package/lib/v-x-e-table/index.min.js +1 -1
  82. package/lib/v-x-e-table/src/conf.js +4 -1
  83. package/lib/v-x-e-table/src/conf.min.js +1 -1
  84. package/lib/v-x-e-table/src/menus.js +48 -2
  85. package/lib/v-x-e-table/src/menus.min.js +1 -1
  86. package/lib/v-x-e-table/src/store.js +4 -1
  87. package/lib/v-x-e-table/src/store.min.js +1 -1
  88. package/lib/v-x-e-table/src/validators.js +15 -0
  89. package/lib/v-x-e-table/src/validators.min.js +1 -0
  90. package/lib/validator/src/hook.js +94 -20
  91. package/lib/validator/src/hook.min.js +1 -1
  92. package/lib/vxe-table/style/style.css +14 -3
  93. package/lib/vxe-table/style/style.min.css +1 -1
  94. package/lib/vxe-tooltip/style/style.css +0 -6
  95. package/lib/vxe-tooltip/style/style.min.css +1 -1
  96. package/package.json +2 -2
  97. package/packages/footer/src/footer.ts +5 -1
  98. package/packages/form/src/form.ts +24 -5
  99. package/packages/input/src/input.ts +4 -1
  100. package/packages/locale/lang/en-US.ts +4 -0
  101. package/packages/locale/lang/es-ES.ts +5 -0
  102. package/packages/locale/lang/ja-JP.ts +5 -0
  103. package/packages/locale/lang/zh-CN.ts +5 -0
  104. package/packages/locale/lang/zh-TC.ts +5 -0
  105. package/packages/menu/src/hooks.ts +3 -3
  106. package/packages/select/src/select.ts +4 -1
  107. package/packages/table/src/body.ts +7 -3
  108. package/packages/table/src/table.ts +34 -7
  109. package/packages/textarea/src/textarea.ts +4 -1
  110. package/packages/v-x-e-table/index.ts +3 -0
  111. package/packages/v-x-e-table/src/conf.ts +4 -1
  112. package/packages/v-x-e-table/src/menus.ts +52 -2
  113. package/packages/v-x-e-table/src/store.ts +3 -1
  114. package/packages/v-x-e-table/src/validators.ts +9 -0
  115. package/packages/validator/src/hook.ts +117 -36
  116. package/styles/cssvar.scss +1 -2
  117. package/styles/table.scss +27 -6
  118. package/styles/tooltip.scss +0 -8
  119. package/styles/variable.scss +1 -2
  120. package/types/form.d.ts +9 -12
  121. package/types/table.d.ts +20 -1
  122. package/types/v-x-e-table/index.d.ts +8 -1
  123. package/types/v-x-e-table/menus.d.ts +19 -7
  124. package/types/v-x-e-table/validators.d.ts +30 -0
  125. package/types/validator.d.ts +14 -1
  126. /package/es/icon/style/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
  127. /package/es/icon/style/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
  128. /package/es/icon/style/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
  129. /package/es/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
  130. /package/es/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
  131. /package/es/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
  132. /package/lib/icon/style/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
  133. /package/lib/icon/style/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
  134. /package/lib/icon/style/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
  135. /package/lib/{iconfont.1689813279210.ttf → iconfont.1690032028705.ttf} +0 -0
  136. /package/lib/{iconfont.1689813279210.woff → iconfont.1690032028705.woff} +0 -0
  137. /package/lib/{iconfont.1689813279210.woff2 → iconfont.1690032028705.woff2} +0 -0
@@ -62,7 +62,8 @@ var _default = (0, _vue.defineComponent)({
62
62
  refTableBody = _a.refTableBody,
63
63
  refTableFooter = _a.refTableFooter,
64
64
  refTableLeftBody = _a.refTableLeftBody,
65
- refTableRightBody = _a.refTableRightBody;
65
+ refTableRightBody = _a.refTableRightBody,
66
+ refValidTooltip = _a.refValidTooltip;
66
67
  var _b = $xetable.getComputeMaps(),
67
68
  computeEditOpts = _b.computeEditOpts,
68
69
  computeMouseOpts = _b.computeMouseOpts,
@@ -161,6 +162,7 @@ var _default = (0, _vue.defineComponent)({
161
162
  var renderColumn = function (seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
162
163
  var _a;
163
164
  var columnKey = tableProps.columnKey,
165
+ height = tableProps.height,
164
166
  allColumnOverflow = tableProps.showOverflow,
165
167
  allCellClassName = tableProps.cellClassName,
166
168
  cellStyle = tableProps.cellStyle,
@@ -214,7 +216,7 @@ var _default = (0, _vue.defineComponent)({
214
216
  var tdOns = {};
215
217
  var cellAlign = align || allAlign;
216
218
  var errorValidItem = validErrorMaps["".concat(rowid, ":").concat(column.id)];
217
- var showValidTip = editRules && validOpts.showMessage;
219
+ var showValidTip = editRules && validOpts.showMessage && (validOpts.message === 'default' ? height || tableData.length > 1 : validOpts.message === 'inline');
218
220
  var attrs = {
219
221
  colid: column.id
220
222
  };
@@ -588,6 +590,7 @@ var _default = (0, _vue.defineComponent)({
588
590
  var tableFooter = refTableFooter.value;
589
591
  var leftBody = refTableLeftBody.value;
590
592
  var rightBody = refTableRightBody.value;
593
+ var validTip = refValidTooltip.value;
591
594
  var scrollBodyElem = refElem.value;
592
595
  var headerElem = tableHeader ? tableHeader.$el : null;
593
596
  var footerElem = tableFooter ? tableFooter.$el : null;
@@ -638,6 +641,9 @@ var _default = (0, _vue.defineComponent)({
638
641
  if (scrollYLoad && isRollY) {
639
642
  $xetable.triggerScrollYEvent(evnt);
640
643
  }
644
+ if (isRollX && validTip && validTip.reactData.visible) {
645
+ validTip.updatePlacement();
646
+ }
641
647
  $xetable.dispatchEvent('scroll', {
642
648
  type: renderType,
643
649
  fixed: fixedType,
@@ -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"),_vn=require("../../tools/vn");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,t){if(t||2===arguments.length)for(var o,r=0,a=l.length;r<a;r++)!o&&r in l||((o=o||Array.prototype.slice.call(l,0,r))[r]=l[r]);return e.concat(o||Array.prototype.slice.call(l))},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(g){function c(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function u(e,l){var t=1;if(e){var o=e[d.value.children];if(ae.isTreeExpandByRow(e))for(var r=0;r<o.length;r++)t+=u(o[r],l)}return t}function re(e){var l=e.row,t=e.column,o=ne.treeConfig,r=d.value,a=t.slots,t=t.treeNode,l=se.fullAllDataRowIdData[(0,_util.getRowid)(ae,l)],n=0,i=0,s=[];return l&&(n=l.level,i=l._index,s=l.items),a&&a.line?ae.callSlot(a.line,e):o&&t&&r.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:"".concat((l=e,a=s,o=1,(t=i)&&(o=u(a[t-1],l)),ie.rowHeight*o-(t?1:12-c())),"px"),left:"".concat(n*r.indent+(n?2-c():0)+16,"px")}})])]:[]}function _(e,l,t,o){(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o)},300))}function o(e){var l=g.fixedType,t=ne.highlightHoverRow,o=ie.scrollXLoad,r=ie.scrollYLoad,a=se.elemStore,n=se.lastScrollTop,i=se.lastScrollLeft,s=pe.value,c=U.value,u=w.value,d=B.value,p=b.value,v=T.value,f=S.value,c=c?c.$el:null,d=d?d.$el:null,u=u.$el,p=p?p.$el:null,v=v?v.$el:null,h=(h=a["main-body-ySpace"])?h.value:null,a=(a=a["main-body-xSpace"])?a.value:null,h=(r&&h?h:u).clientHeight,a=(o&&a?a:u).clientWidth,f=f.scrollTop,x=u.scrollLeft,i=x!==i,n=f!==n;se.lastScrollTop=f,se.lastScrollLeft=x,se.lastScrollTime=Date.now(),(s.isHover||t)&&ae.clearHoverRow(),p&&"left"===l?(f=p.scrollTop,_(0,f,u,v)):v&&"right"===l?(f=v.scrollTop,_(0,f,u,p)):(i&&(c&&(c.scrollLeft=u.scrollLeft),d)&&(d.scrollLeft=u.scrollLeft),(p||v)&&(ae.checkScrolling(),n)&&_(0,f,p,v)),o&&i&&ae.triggerScrollXEvent(e),r&&n&&ae.triggerScrollYEvent(e),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:f,scrollLeft:x,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:h,bodyWidth:a,isX:i,isY:n},e)}function k(e){var l=e.deltaY,t=e.deltaX,o=ne.highlightHoverRow,r=ie.scrollYLoad,a=se.lastScrollTop,n=se.lastScrollLeft,i=pe.value,s=w.value,c=S.value,s=s.$el,u=l<0;(u?c.scrollTop<=0:c.scrollTop>=c.scrollHeight-c.clientHeight)||(c=c.scrollTop+l,t=(s=s.scrollLeft+t)!==n,(n=c!==a)&&(e.preventDefault(),se.lastScrollTop=c,se.lastScrollLeft=s,se.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),p(e,u,l,t,n),r)&&ae.triggerScrollYEvent(e))}var r,m,ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=ae.xID,ne=ae.props,q=ae.context,ie=ae.reactData,se=ae.internalData,e=ae.getRefMaps(),U=e.refTableHeader,w=e.refTableBody,B=e.refTableFooter,b=e.refTableLeftBody,T=e.refTableRightBody,e=ae.getComputeMaps(),ce=e.computeEditOpts,X=e.computeMouseOpts,ue=e.computeSYOpts,Y=e.computeEmptyOpts,W=e.computeKeyboardOpts,fe=e.computeTooltipOpts,t=e.computeRadioOpts,N=e.computeExpandOpts,d=e.computeTreeOpts,de=e.computeCheckboxOpts,he=e.computeValidOpts,pe=e.computeRowOpts,xe=e.computeColumnOpts,S=(0,_vue.ref)(),C=(0,_vue.ref)(),L=(0,_vue.ref)(),E=(0,_vue.ref)(),R=(0,_vue.ref)(),H=(0,_vue.ref)(),O=(0,_vue.ref)(),ve=function(){var e=ne.delayHover,l=se.lastScrollTime;return se._isResize||l&&Date.now()<l+e},j=function(e,l,t,q,o,r,a,n,i,s,U,A){var c,B=ne.columnKey,u=ne.showOverflow,X=ne.cellClassName,d=ne.cellStyle,p=ne.align,v=ne.spanMethod,Y=ne.mouseConfig,f=ne.editConfig,h=ne.editRules,W=ne.tooltipConfig,N=ie.tableData,x=ie.overflowX,j=ie.scrollYLoad,V=ie.currentColumn,g=ie.mergeList,_=ie.editStore,F=ie.isAllOverflow,P=ie.validErrorMaps,K=se.afterFullData,m=he.value,z=de.value,y=ce.value,w=fe.value,b=pe.value,T=ue.value,G=xe.value,J=i.type,Q=i.cellRender,S=i.editRender,C=i.align,L=i.showOverflow,Z=i.className,ee=i.treeNode,_=_.actived,T=T.rHeight,b=b.height,E=S||Q,E=E?_vXETable.VXETable.renderer.get(E.name):null,le=E?E.cellClassName:"",E=E?E.cellStyle:"",R=w.showAll,w=ae.getColumnIndex(i),te=ae.getVTColumnIndex(i),oe=(0,_utils.isEnableConf)(S),x=t?i.fixed!==t:i.fixed&&x,L=_xeUtils.default.isUndefined(L)||_xeUtils.default.isNull(L)?u:L,H="ellipsis"===L,O="title"===L,M=!0===L||"tooltip"===L,L=O||M||H,D={},C=C||p,p=P["".concat(l,":").concat(i.id)],P=h&&m.showMessage,h={colid:i.id},I={$table:ae,$grid:ae.xegrid,seq:e,rowid:l,row:o,rowIndex:r,$rowIndex:a,_rowIndex:n,column:i,columnIndex:w,$columnIndex:s,_columnIndex:te,fixed:t,type:renderType,isHidden:x,level:q,visibleData:K,data:N,items:A};if(j&&!L&&(H=L=!0),(O||M||R||W)&&(D.onMouseenter=function(e){ve()||(O?(0,_dom.updateCellTitle)(e.currentTarget,i):(M||R)&&ae.triggerBodyTooltipEvent(e,I),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},I),e))}),(M||R||W)&&(D.onMouseleave=function(e){ve()||((M||R)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},I),e))}),(z.range||Y)&&(D.onMousedown=function(e){ae.triggerCellMousedownEvent(e,I)}),D.onClick=function(e){ae.triggerCellClickEvent(e,I)},D.onDblclick=function(e){ae.triggerCellDblclickEvent(e,I)},g.length){m=(0,_util.mergeBodyMethod)(g,n,te);if(m){var $=m.rowspan,k=m.colspan;if(!$||!k)return null;1<$&&(h.rowspan=$),1<k&&(h.colspan=k)}}else if(v){e=v(I)||{},l=e.rowspan,$=void 0===l?1:l,r=e.colspan,k=void 0===r?1:r;if(!$||!k)return null;1<$&&(h.rowspan=$),1<k&&(h.colspan=k)}!(x=x&&g&&(1<h.colspan||1<h.rowspan)?!1:x)&&f&&(S||Q)&&(y.showStatus||y.showUpdateStatus)&&(c=ae.isUpdateByRow(o,i.field));a=[];return x&&u&&F?a.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":M,"c--ellipsis":H}],style:{maxHeight:L&&(T||b)?"".concat(T||b,"px"):""}})):(a.push.apply(a,__spreadArray(__spreadArray([],re(I),!1),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":M,"c--ellipsis":H}],style:{maxHeight:L&&(T||b)?"".concat(T||b,"px"):""},title:O?ae.getCellLabel(o,i):null},i.renderCell(I))],!1)),P&&p&&a.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:p.rule&&p.rule.maxWidth?{width:"".concat(p.rule.maxWidth,"px")}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},p.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",i.id,((w={})["col--".concat(C)]=C,w["col--".concat(J)]=J,w["col--last"]=s===U.length-1,w["col--tree-node"]=ee,w["col--edit"]=oe,w["col--ellipsis"]=L,w["fixed--hidden"]=x,w["col--dirty"]=c,w["col--actived"]=f&&oe&&_.row===o&&(_.column===i||"row"===y.mode),w["col--valid-error"]=!!p,w["col--current"]=V===i,w),(0,_dom.getPropClass)(le,I),(0,_dom.getPropClass)(Z,I),(0,_dom.getPropClass)(X,I)],key:B||G.useKey?i.id:s},h),{style:Object.assign({height:L&&(T||b)?"".concat(T||b,"px"):""},_xeUtils.default.isFunction(E)?E(I):E,_xeUtils.default.isFunction(d)?d(I):d)}),D),a)},A=function(v,f,h){var x=ne.stripe,g=ne.rowKey,_=ne.highlightHoverRow,m=ne.rowClassName,y=ne.rowStyle,w=ne.showOverflow,b=ne.editConfig,T=ne.treeConfig,S=ie.hasFixedColumn,C=ie.treeExpandedMaps,L=ie.scrollYLoad,E=ie.rowExpandedMaps,R=ie.expandColumn,H=ie.selectRadioRow,O=se.fullAllDataRowIdData,M=de.value,D=t.value,I=d.value,$=ce.value,k=pe.value,q=I.transform,U=[];return f.forEach(function(t,o){var e,l={},r=ae.getRowIndex(t),a=((k.isHover||_)&&(l.onMouseenter=function(e){ve()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},l.onMouseleave=function(){ve()||ae.clearHoverRow()}),(0,_util.getRowid)(ae,t)),n=O[a],i=0,s=-1,c=0,n=(n&&(i=n.level,s=n.seq,c=n._index),{$table:ae,seq:s,rowid:a,fixed:v,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:o,_rowIndex:c}),u=R&&!!E[a],d=!1,p=!1;b&&(p=ae.isInsertByRow(t)),!T||L||q||(d=(e=t[I.children])&&e.length&&!!C[a]),U.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",T?"row--level-".concat(i):"",{"row--stripe":x&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":d,"row--new":p&&($.showStatus||$.showInsertStatus),"row--radio":D.highlight&&ae.eqRow(H,t),"row--checked":M.highlight&&ae.isCheckedByCheckboxRow(t)},(0,_dom.getPropClass)(m,n)],rowid:a,style:y?_xeUtils.default.isFunction(y)?y(n):y:null,key:g||k.useKey||T?a:o},l),h.map(function(e,l){return j(s,a,v,i,t,r,o,c,e,l,h,f)}))),u&&(e={},(d=N.value.height)&&(e.height="".concat(d,"px")),T&&(e.paddingLeft="".concat(i*I.indent+30,"px")),p=R.showOverflow,n=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?w:p,u={$table:ae,seq:s,column:R,fixed:v,type:renderType,level:i,row:t,rowIndex:r,$rowIndex:o,_rowIndex:c},U.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_".concat(a),style:y?_xeUtils.default.isFunction(y)?y(u):y:null},l),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":v&&!S,"col--ellipsis":n},colspan:h.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":d},style:e},[R.renderData(u)])])]))),!T||L||q||(p=t[I.children])&&p.length&&C[a]&&U.push.apply(U,A(v,p,h))}),U},M=0,D=0,I=0,$=!1,p=function(r,a,e,n,i){function s(){var e,l,t,o;I<M&&(e=g.fixedType,D=Math.max(5,Math.floor(1.5*D)),M<(I+=D)&&(D-=I-M),o=f.scrollTop,l=f.clientHeight,t=f.scrollHeight,o=o+D*(a?-1:1),f.scrollTop=o,p&&(p.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(s,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:f.scrollTop,scrollLeft:f.scrollLeft,scrollHeight:f.scrollHeight,scrollWidth:f.scrollWidth,bodyHeight:h,bodyWidth:x,isX:n,isY:i},r))}var l=se.elemStore,t=ie.scrollXLoad,o=ie.scrollYLoad,c=w.value,u=b.value,d=T.value,p=u?u.$el:null,v=d?d.$el:null,f=c.$el,u=l["main-body-ySpace"],d=u?u.value:null,c=l["main-body-xSpace"],u=c?c.value:null,h=(o&&d?d:f).clientHeight,x=(t&&u?u:f).clientWidth,l=$===a?Math.max(0,M-I):0;$=a,M=Math.abs(a?e-l:e+l),I=D=0,clearTimeout(m);s()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=g.fixedType,l=se.elemStore,e="".concat(e||"main","-body-"),t=S.value;l["".concat(e,"wrapper")]=S,l["".concat(e,"table")]=C,l["".concat(e,"colgroup")]=L,l["".concat(e,"list")]=E,l["".concat(e,"xSpace")]=R,l["".concat(e,"ySpace")]=H,l["".concat(e,"emptyBlock")]=O,t.onscroll=o,t._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=S.value;clearTimeout(m),e._onscroll=null,e.onscroll=null}),(0,_vue.onUnmounted)(function(){var e=g.fixedType,l=se.elemStore,e="".concat(e||"main","-body-");l["".concat(e,"wrapper")]=null,l["".concat(e,"table")]=null,l["".concat(e,"colgroup")]=null,l["".concat(e,"list")]=null,l["".concat(e,"xSpace")]=null,l["".concat(e,"ySpace")]=null,l["".concat(e,"emptyBlock")]=null});return function(){var e=g.fixedColumn,l=g.fixedType,t=g.tableColumn,o=ne.keyboardConfig,r=ne.showOverflow,a=ne.spanMethod,n=ne.mouseConfig,i=ie.tableData,s=ie.mergeList,c=ie.scrollYLoad,u=ie.isAllOverflow,d=se.visibleColumn,p=q.slots,v=ue.value,f=Y.value,h=W.value,x=X.value;return l&&(t=ie.expandColumn||!(c||r&&u)||s.length||a||o&&h.isMerge?d:e),u=p.empty?ae.callSlot(p.empty,{$table:ae,$grid:ae.xegrid}):(r=(c=f.name?_vXETable.VXETable.renderer.get(f.name):null)?c.renderEmpty:null)?(0,_vn.getSlotVNs)(r(f,{$table:ae})):ne.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:S,class:["vxe-table--body-wrapper",l?"fixed-".concat(l,"--wrapper"):"body--wrapper"],xid:y},"wheel"===v.mode?{onWheel:k}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:H,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:E},A(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){ae.triggerCellExtendMousedownEvent(e,{$table:ae,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:O},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},u)])])}}});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"),_vn=require("../../tools/vn");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 a in l=arguments[t])Object.prototype.hasOwnProperty.call(l,a)&&(e[a]=l[a]);return e}).apply(this,arguments)},__spreadArray=function(e,l,t){if(t||2===arguments.length)for(var o,a=0,r=l.length;a<r;a++)!o&&a in l||((o=o||Array.prototype.slice.call(l,0,a))[a]=l[a]);return e.concat(o||Array.prototype.slice.call(l))},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(m){function c(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function u(e,l){var t=1;if(e){var o=e[d.value.children];if(ne.isTreeExpandByRow(e))for(var a=0;a<o.length;a++)t+=u(o[a],l)}return t}function re(e){var l=e.row,t=e.column,o=ie.treeConfig,a=d.value,r=t.slots,t=t.treeNode,l=ce.fullAllDataRowIdData[(0,_util.getRowid)(ne,l)],n=0,i=0,s=[];return l&&(n=l.level,i=l._index,s=l.items),r&&r.line?ne.callSlot(r.line,e):o&&t&&a.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:"".concat((l=e,r=s,o=1,(t=i)&&(o=u(r[t-1],l)),se.rowHeight*o-(t?1:12-c())),"px"),left:"".concat(n*a.indent+(n?2-c():0)+16,"px")}})])]:[]}function _(e,l,t,o){(t||o)&&(t&&((0,_util.removeScrollListener)(t),t.scrollTop=l),o&&((0,_util.removeScrollListener)(o),o.scrollTop=l),clearTimeout(a),a=setTimeout(function(){(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o)},300))}function o(e){var l=m.fixedType,t=ie.highlightHoverRow,o=se.scrollXLoad,a=se.scrollYLoad,r=ce.elemStore,n=ce.lastScrollTop,i=ce.lastScrollLeft,s=ve.value,c=U.value,u=w.value,d=B.value,p=b.value,v=T.value,f=X.value,h=S.value,c=c?c.$el:null,d=d?d.$el:null,u=u.$el,p=p?p.$el:null,v=v?v.$el:null,x=(x=r["main-body-ySpace"])?x.value:null,r=(r=r["main-body-xSpace"])?r.value:null,x=(a&&x?x:u).clientHeight,r=(o&&r?r:u).clientWidth,h=h.scrollTop,g=u.scrollLeft,i=g!==i,n=h!==n;ce.lastScrollTop=h,ce.lastScrollLeft=g,ce.lastScrollTime=Date.now(),(s.isHover||t)&&ne.clearHoverRow(),p&&"left"===l?(h=p.scrollTop,_(0,h,u,v)):v&&"right"===l?(h=v.scrollTop,_(0,h,u,p)):(i&&(c&&(c.scrollLeft=u.scrollLeft),d)&&(d.scrollLeft=u.scrollLeft),(p||v)&&(ne.checkScrolling(),n)&&_(0,h,p,v)),o&&i&&ne.triggerScrollXEvent(e),a&&n&&ne.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),ne.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:h,scrollLeft:g,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:x,bodyWidth:r,isX:i,isY:n},e)}function k(e){var l=e.deltaY,t=e.deltaX,o=ie.highlightHoverRow,a=se.scrollYLoad,r=ce.lastScrollTop,n=ce.lastScrollLeft,i=ve.value,s=w.value,c=S.value,s=s.$el,u=l<0;(u?c.scrollTop<=0:c.scrollTop>=c.scrollHeight-c.clientHeight)||(c=c.scrollTop+l,t=(s=s.scrollLeft+t)!==n,(n=c!==r)&&(e.preventDefault(),ce.lastScrollTop=c,ce.lastScrollLeft=s,ce.lastScrollTime=Date.now(),(i.isHover||o)&&ne.clearHoverRow(),p(e,u,l,t,n),a)&&ne.triggerScrollYEvent(e))}var a,g,ne=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=ne.xID,ie=ne.props,q=ne.context,se=ne.reactData,ce=ne.internalData,e=ne.getRefMaps(),U=e.refTableHeader,w=e.refTableBody,B=e.refTableFooter,b=e.refTableLeftBody,T=e.refTableRightBody,X=e.refValidTooltip,e=ne.getComputeMaps(),ue=e.computeEditOpts,Y=e.computeMouseOpts,de=e.computeSYOpts,W=e.computeEmptyOpts,N=e.computeKeyboardOpts,he=e.computeTooltipOpts,t=e.computeRadioOpts,V=e.computeExpandOpts,d=e.computeTreeOpts,pe=e.computeCheckboxOpts,xe=e.computeValidOpts,ve=e.computeRowOpts,ge=e.computeColumnOpts,S=(0,_vue.ref)(),C=(0,_vue.ref)(),L=(0,_vue.ref)(),E=(0,_vue.ref)(),R=(0,_vue.ref)(),H=(0,_vue.ref)(),O=(0,_vue.ref)(),fe=function(){var e=ie.delayHover,l=ce.lastScrollTime;return ce._isResize||l&&Date.now()<l+e},j=function(e,l,t,q,o,a,r,n,i,s,U,A){var c,B=ie.columnKey,u=ie.height,d=ie.showOverflow,X=ie.cellClassName,p=ie.cellStyle,v=ie.align,f=ie.spanMethod,Y=ie.mouseConfig,h=ie.editConfig,x=ie.editRules,W=ie.tooltipConfig,N=se.tableData,g=se.overflowX,V=se.scrollYLoad,j=se.currentColumn,m=se.mergeList,_=se.editStore,F=se.isAllOverflow,P=se.validErrorMaps,K=ce.afterFullData,y=xe.value,z=pe.value,w=ue.value,G=he.value,b=ve.value,T=de.value,J=ge.value,Q=i.type,Z=i.cellRender,S=i.editRender,C=i.align,L=i.showOverflow,ee=i.className,le=i.treeNode,_=_.actived,T=T.rHeight,b=b.height,E=S||Z,E=E?_vXETable.VXETable.renderer.get(E.name):null,te=E?E.cellClassName:"",E=E?E.cellStyle:"",R=G.showAll,G=ne.getColumnIndex(i),oe=ne.getVTColumnIndex(i),ae=(0,_utils.isEnableConf)(S),g=t?i.fixed!==t:i.fixed&&g,L=_xeUtils.default.isUndefined(L)||_xeUtils.default.isNull(L)?d:L,H="ellipsis"===L,O="title"===L,M=!0===L||"tooltip"===L,L=O||M||H,D={},C=C||v,v=P["".concat(l,":").concat(i.id)],P=x&&y.showMessage&&("default"===y.message?u||1<N.length:"inline"===y.message),x={colid:i.id},I={$table:ne,$grid:ne.xegrid,seq:e,rowid:l,row:o,rowIndex:a,$rowIndex:r,_rowIndex:n,column:i,columnIndex:G,$columnIndex:s,_columnIndex:oe,fixed:t,type:renderType,isHidden:g,level:q,visibleData:K,data:N,items:A};if(V&&!L&&(H=L=!0),(O||M||R||W)&&(D.onMouseenter=function(e){fe()||(O?(0,_dom.updateCellTitle)(e.currentTarget,i):(M||R)&&ne.triggerBodyTooltipEvent(e,I),ne.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},I),e))}),(M||R||W)&&(D.onMouseleave=function(e){fe()||((M||R)&&ne.handleTargetLeaveEvent(e),ne.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},I),e))}),(z.range||Y)&&(D.onMousedown=function(e){ne.triggerCellMousedownEvent(e,I)}),D.onClick=function(e){ne.triggerCellClickEvent(e,I)},D.onDblclick=function(e){ne.triggerCellDblclickEvent(e,I)},m.length){u=(0,_util.mergeBodyMethod)(m,n,oe);if(u){var $=u.rowspan,k=u.colspan;if(!$||!k)return null;1<$&&(x.rowspan=$),1<k&&(x.colspan=k)}}else if(f){y=f(I)||{},e=y.rowspan,$=void 0===e?1:e,l=y.colspan,k=void 0===l?1:l;if(!$||!k)return null;1<$&&(x.rowspan=$),1<k&&(x.colspan=k)}!(g=g&&m&&(1<x.colspan||1<x.rowspan)?!1:g)&&h&&(S||Z)&&(w.showStatus||w.showUpdateStatus)&&(c=ne.isUpdateByRow(o,i.field));a=[];return g&&d&&F?a.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":M,"c--ellipsis":H}],style:{maxHeight:L&&(T||b)?"".concat(T||b,"px"):""}})):(a.push.apply(a,__spreadArray(__spreadArray([],re(I),!1),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":M,"c--ellipsis":H}],style:{maxHeight:L&&(T||b)?"".concat(T||b,"px"):""},title:O?ne.getCellLabel(o,i):null},i.renderCell(I))],!1)),P&&v&&a.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:v.rule&&v.rule.maxWidth?{width:"".concat(v.rule.maxWidth,"px")}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},v.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",i.id,((r={})["col--".concat(C)]=C,r["col--".concat(Q)]=Q,r["col--last"]=s===U.length-1,r["col--tree-node"]=le,r["col--edit"]=ae,r["col--ellipsis"]=L,r["fixed--hidden"]=g,r["col--dirty"]=c,r["col--actived"]=h&&ae&&_.row===o&&(_.column===i||"row"===w.mode),r["col--valid-error"]=!!v,r["col--current"]=j===i,r),(0,_dom.getPropClass)(te,I),(0,_dom.getPropClass)(ee,I),(0,_dom.getPropClass)(X,I)],key:B||J.useKey?i.id:s},x),{style:Object.assign({height:L&&(T||b)?"".concat(T||b,"px"):""},_xeUtils.default.isFunction(E)?E(I):E,_xeUtils.default.isFunction(p)?p(I):p)}),D),a)},A=function(v,f,h){var x=ie.stripe,g=ie.rowKey,m=ie.highlightHoverRow,_=ie.rowClassName,y=ie.rowStyle,w=ie.showOverflow,b=ie.editConfig,T=ie.treeConfig,S=se.hasFixedColumn,C=se.treeExpandedMaps,L=se.scrollYLoad,E=se.rowExpandedMaps,R=se.expandColumn,H=se.selectRadioRow,O=ce.fullAllDataRowIdData,M=pe.value,D=t.value,I=d.value,$=ue.value,k=ve.value,q=I.transform,U=[];return f.forEach(function(t,o){var e,l={},a=ne.getRowIndex(t),r=((k.isHover||m)&&(l.onMouseenter=function(e){fe()||ne.triggerHoverEvent(e,{row:t,rowIndex:a})},l.onMouseleave=function(){fe()||ne.clearHoverRow()}),(0,_util.getRowid)(ne,t)),n=O[r],i=0,s=-1,c=0,n=(n&&(i=n.level,s=n.seq,c=n._index),{$table:ne,seq:s,rowid:r,fixed:v,type:renderType,level:i,row:t,rowIndex:a,$rowIndex:o,_rowIndex:c}),u=R&&!!E[r],d=!1,p=!1;b&&(p=ne.isInsertByRow(t)),!T||L||q||(d=(e=t[I.children])&&e.length&&!!C[r]),U.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",T?"row--level-".concat(i):"",{"row--stripe":x&&(ne.getVTRowIndex(t)+1)%2==0,"is--new":p,"is--expand-row":u,"is--expand-tree":d,"row--new":p&&($.showStatus||$.showInsertStatus),"row--radio":D.highlight&&ne.eqRow(H,t),"row--checked":M.highlight&&ne.isCheckedByCheckboxRow(t)},(0,_dom.getPropClass)(_,n)],rowid:r,style:y?_xeUtils.default.isFunction(y)?y(n):y:null,key:g||k.useKey||T?r:o},l),h.map(function(e,l){return j(s,r,v,i,t,a,o,c,e,l,h,f)}))),u&&(e={},(d=V.value.height)&&(e.height="".concat(d,"px")),T&&(e.paddingLeft="".concat(i*I.indent+30,"px")),p=R.showOverflow,n=_xeUtils.default.isUndefined(p)||_xeUtils.default.isNull(p)?w:p,u={$table:ne,seq:s,column:R,fixed:v,type:renderType,level:i,row:t,rowIndex:a,$rowIndex:o,_rowIndex:c},U.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_".concat(r),style:y?_xeUtils.default.isFunction(y)?y(u):y:null},l),[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":v&&!S,"col--ellipsis":n},colspan:h.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":d},style:e},[R.renderData(u)])])]))),!T||L||q||(p=t[I.children])&&p.length&&C[r]&&U.push.apply(U,A(v,p,h))}),U},M=0,D=0,I=0,$=!1,p=function(a,r,e,n,i){function s(){var e,l,t,o;I<M&&(e=m.fixedType,D=Math.max(5,Math.floor(1.5*D)),M<(I+=D)&&(D-=I-M),o=f.scrollTop,l=f.clientHeight,t=f.scrollHeight,o=o+D*(r?-1:1),f.scrollTop=o,p&&(p.scrollTop=o),v&&(v.scrollTop=o),(r?o<t-l:0<=o)&&(g=setTimeout(s,10)),ne.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:f.scrollTop,scrollLeft:f.scrollLeft,scrollHeight:f.scrollHeight,scrollWidth:f.scrollWidth,bodyHeight:h,bodyWidth:x,isX:n,isY:i},a))}var l=ce.elemStore,t=se.scrollXLoad,o=se.scrollYLoad,c=w.value,u=b.value,d=T.value,p=u?u.$el:null,v=d?d.$el:null,f=c.$el,u=l["main-body-ySpace"],d=u?u.value:null,c=l["main-body-xSpace"],u=c?c.value:null,h=(o&&d?d:f).clientHeight,x=(t&&u?u:f).clientWidth,l=$===r?Math.max(0,M-I):0;$=r,M=Math.abs(r?e-l:e+l),I=D=0,clearTimeout(g);s()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=m.fixedType,l=ce.elemStore,e="".concat(e||"main","-body-"),t=S.value;l["".concat(e,"wrapper")]=S,l["".concat(e,"table")]=C,l["".concat(e,"colgroup")]=L,l["".concat(e,"list")]=E,l["".concat(e,"xSpace")]=R,l["".concat(e,"ySpace")]=H,l["".concat(e,"emptyBlock")]=O,t.onscroll=o,t._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=S.value;clearTimeout(g),e._onscroll=null,e.onscroll=null}),(0,_vue.onUnmounted)(function(){var e=m.fixedType,l=ce.elemStore,e="".concat(e||"main","-body-");l["".concat(e,"wrapper")]=null,l["".concat(e,"table")]=null,l["".concat(e,"colgroup")]=null,l["".concat(e,"list")]=null,l["".concat(e,"xSpace")]=null,l["".concat(e,"ySpace")]=null,l["".concat(e,"emptyBlock")]=null});return function(){var e=m.fixedColumn,l=m.fixedType,t=m.tableColumn,o=ie.keyboardConfig,a=ie.showOverflow,r=ie.spanMethod,n=ie.mouseConfig,i=se.tableData,s=se.mergeList,c=se.scrollYLoad,u=se.isAllOverflow,d=ce.visibleColumn,p=q.slots,v=de.value,f=W.value,h=N.value,x=Y.value;return l&&(t=se.expandColumn||!(c||a&&u)||s.length||r||o&&h.isMerge?d:e),u=p.empty?ne.callSlot(p.empty,{$table:ne,$grid:ne.xegrid}):(a=(c=f.name?_vXETable.VXETable.renderer.get(f.name):null)?c.renderEmpty:null)?(0,_vn.getSlotVNs)(a(f,{$table:ne})):ie.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:S,class:["vxe-table--body-wrapper",l?"fixed-".concat(l,"--wrapper"):"body--wrapper"],xid:y},"wheel"===v.mode?{onWheel:k}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:R,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:H,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:C,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:L},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:E},A(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){ne.triggerCellExtendMousedownEvent(e,{$table:ne,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:O},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},u)])])}}});exports.default=_default;
@@ -323,6 +323,7 @@ var _default = (0, _vue.defineComponent)({
323
323
  var refElem = (0, _vue.ref)();
324
324
  var refTooltip = (0, _vue.ref)();
325
325
  var refCommTooltip = (0, _vue.ref)();
326
+ var refValidTooltip = (0, _vue.ref)();
326
327
  var refTableFilter = (0, _vue.ref)();
327
328
  var refTableMenu = (0, _vue.ref)();
328
329
  var refTableHeader = (0, _vue.ref)();
@@ -389,6 +390,12 @@ var _default = (0, _vue.defineComponent)({
389
390
  var tooltipOpts = computeTooltipOpts.value;
390
391
  return __assign(__assign({}, tooltipOpts), tooltipStore.currOpts);
391
392
  });
393
+ var computeValidTipOpts = (0, _vue.computed)(function () {
394
+ var tooltipOpts = computeTooltipOpts.value;
395
+ return Object.assign({
396
+ isArrow: false
397
+ }, tooltipOpts);
398
+ });
392
399
  var computeEditOpts = (0, _vue.computed)(function () {
393
400
  return Object.assign({}, _conf.default.table.editConfig, props.editConfig);
394
401
  });
@@ -535,6 +542,7 @@ var _default = (0, _vue.defineComponent)({
535
542
  var refMaps = {
536
543
  refElem: refElem,
537
544
  refTooltip: refTooltip,
545
+ refValidTooltip: refValidTooltip,
538
546
  refTableFilter: refTableFilter,
539
547
  refTableMenu: refTableMenu,
540
548
  refTableHeader: refTableHeader,
@@ -4537,15 +4545,15 @@ var _default = (0, _vue.defineComponent)({
4537
4545
  * 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
4538
4546
  * 如果单元格配置了校验规则,则会进行校验
4539
4547
  */
4540
- updateStatus: function (scope, cellValue) {
4548
+ updateStatus: function (slotParams, cellValue) {
4541
4549
  var customVal = !_xeUtils.default.isUndefined(cellValue);
4542
4550
  return (0, _vue.nextTick)().then(function () {
4543
4551
  var editRules = props.editRules;
4544
4552
  var validStore = reactData.validStore;
4545
4553
  var tableBody = refTableBody.value;
4546
- if (scope && tableBody && editRules) {
4547
- var row_1 = scope.row,
4548
- column_3 = scope.column;
4554
+ if (slotParams && tableBody && editRules) {
4555
+ var row_1 = slotParams.row,
4556
+ column_3 = slotParams.column;
4549
4557
  var type = 'change';
4550
4558
  if ($xetable.hasCellRules) {
4551
4559
  if ($xetable.hasCellRules(type, row_1, column_3)) {
@@ -4686,10 +4694,13 @@ var _default = (0, _vue.defineComponent)({
4686
4694
  var editStore = reactData.editStore,
4687
4695
  ctxMenuStore = reactData.ctxMenuStore,
4688
4696
  filterStore = reactData.filterStore;
4689
- var mouseConfig = props.mouseConfig;
4697
+ var mouseConfig = props.mouseConfig,
4698
+ editRules = props.editRules;
4690
4699
  var el = refElem.value;
4691
4700
  var editOpts = computeEditOpts.value;
4701
+ var validOpts = computeValidOpts.value;
4692
4702
  var actived = editStore.actived;
4703
+ var $validTooltip = refValidTooltip.value;
4693
4704
  var tableFilter = refTableFilter.value;
4694
4705
  var tableMenu = refTableMenu.value;
4695
4706
  if (tableFilter) {
@@ -4709,7 +4720,9 @@ var _default = (0, _vue.defineComponent)({
4709
4720
  // 如果是激活状态,点击了单元格之外
4710
4721
  var cell = actived.args.cell;
4711
4722
  if (!cell || !(0, _dom.getEventTargetNode)(evnt, cell).flag) {
4712
- if (!internalData._lastCallTime || internalData._lastCallTime + 50 < Date.now()) {
4723
+ if ($validTooltip && (0, _dom.getEventTargetNode)(evnt, $validTooltip.$el).flag) {
4724
+ // 如果是激活状态,且点击了校验提示框
4725
+ } else if (!internalData._lastCallTime || internalData._lastCallTime + 50 < Date.now()) {
4713
4726
  // 如果是激活状态,点击了单元格之外
4714
4727
  if (!(0, _dom.getEventTargetNode)(evnt, document.body, 'vxe-table--ignore-clear').flag) {
4715
4728
  // 如果手动调用了激活单元格,避免触发源被移除后导致重复关闭
@@ -4770,8 +4783,13 @@ var _default = (0, _vue.defineComponent)({
4770
4783
  $xetable.closeMenu();
4771
4784
  }
4772
4785
  }
4786
+ var isActivated = (0, _dom.getEventTargetNode)(evnt, $xegrid ? $xegrid.getRefMaps().refElem.value : el).flag;
4787
+ // 如果存在校验,点击了表格之外则清除
4788
+ if (!isActivated && editRules && validOpts.autoClear) {
4789
+ reactData.validErrorMaps = {};
4790
+ }
4773
4791
  // 最后激活的表格
4774
- internalData.isActivated = (0, _dom.getEventTargetNode)(evnt, $xegrid ? $xegrid.getRefMaps().refElem.value : el).flag;
4792
+ internalData.isActivated = isActivated;
4775
4793
  };
4776
4794
  /**
4777
4795
  * 窗口失焦事件处理
@@ -6951,13 +6969,15 @@ var _default = (0, _vue.defineComponent)({
6951
6969
  var loading = props.loading,
6952
6970
  stripe = props.stripe,
6953
6971
  showHeader = props.showHeader,
6972
+ height = props.height,
6954
6973
  treeConfig = props.treeConfig,
6955
6974
  mouseConfig = props.mouseConfig,
6956
6975
  showFooter = props.showFooter,
6957
6976
  highlightCell = props.highlightCell,
6958
6977
  highlightHoverRow = props.highlightHoverRow,
6959
6978
  highlightHoverColumn = props.highlightHoverColumn,
6960
- editConfig = props.editConfig;
6979
+ editConfig = props.editConfig,
6980
+ editRules = props.editRules;
6961
6981
  var isGroup = reactData.isGroup,
6962
6982
  overflowX = reactData.overflowX,
6963
6983
  overflowY = reactData.overflowY,
@@ -6975,17 +6995,19 @@ var _default = (0, _vue.defineComponent)({
6975
6995
  rightList = columnStore.rightList;
6976
6996
  var loadingSlot = slots.loading;
6977
6997
  var tipConfig = computeTipConfig.value;
6998
+ var validOpts = computeValidOpts.value;
6978
6999
  var treeOpts = computeTreeOpts.value;
6979
7000
  var rowOpts = computeRowOpts.value;
6980
7001
  var columnOpts = computeColumnOpts.value;
6981
7002
  var vSize = computeSize.value;
6982
7003
  var tableBorder = computeTableBorder.value;
6983
7004
  var mouseOpts = computeMouseOpts.value;
7005
+ var validTipOpts = computeValidTipOpts.value;
6984
7006
  var loadingOpts = computeLoadingOpts.value;
6985
7007
  var isMenu = computeIsMenu.value;
6986
7008
  return (0, _vue.h)('div', {
6987
7009
  ref: refElem,
6988
- class: ['vxe-table', 'vxe-table--render-default', "tid_".concat(xID), "border--".concat(tableBorder), (_a = {}, _a["size--".concat(vSize)] = vSize, _a['vxe-editable'] = !!editConfig, _a['cell--highlight'] = highlightCell, _a['cell--selected'] = mouseConfig && mouseOpts.selected, _a['cell--area'] = mouseConfig && mouseOpts.area, _a['row--highlight'] = rowOpts.isHover || highlightHoverRow, _a['column--highlight'] = columnOpts.isHover || highlightHoverColumn, _a['is--header'] = showHeader, _a['is--footer'] = showFooter, _a['is--group'] = isGroup, _a['is--tree-line'] = treeConfig && treeOpts.line, _a['is--fixed-left'] = leftList.length, _a['is--fixed-right'] = rightList.length, _a['is--animat'] = !!props.animat, _a['is--round'] = props.round, _a['is--stripe'] = !treeConfig && stripe, _a['is--loading'] = loading, _a['is--empty'] = !loading && !tableData.length, _a['is--scroll-y'] = overflowY, _a['is--scroll-x'] = overflowX, _a['is--virtual-x'] = scrollXLoad, _a['is--virtual-y'] = scrollYLoad, _a)],
7010
+ class: ['vxe-table', 'vxe-table--render-default', "tid_".concat(xID), "border--".concat(tableBorder), (_a = {}, _a["size--".concat(vSize)] = vSize, _a["vaild-msg--".concat(validOpts.msgMode)] = !!editRules, _a['vxe-editable'] = !!editConfig, _a['cell--highlight'] = highlightCell, _a['cell--selected'] = mouseConfig && mouseOpts.selected, _a['cell--area'] = mouseConfig && mouseOpts.area, _a['row--highlight'] = rowOpts.isHover || highlightHoverRow, _a['column--highlight'] = columnOpts.isHover || highlightHoverColumn, _a['is--header'] = showHeader, _a['is--footer'] = showFooter, _a['is--group'] = isGroup, _a['is--tree-line'] = treeConfig && treeOpts.line, _a['is--fixed-left'] = leftList.length, _a['is--fixed-right'] = rightList.length, _a['is--animat'] = !!props.animat, _a['is--round'] = props.round, _a['is--stripe'] = !treeConfig && stripe, _a['is--loading'] = loading, _a['is--empty'] = !loading && !tableData.length, _a['is--scroll-y'] = overflowY, _a['is--scroll-x'] = overflowX, _a['is--virtual-x'] = scrollXLoad, _a['is--virtual-y'] = scrollYLoad, _a)],
6989
7011
  onKeydown: keydownEvent
6990
7012
  }, [
6991
7013
  /**
@@ -7109,6 +7131,13 @@ var _default = (0, _vue.defineComponent)({
7109
7131
  isArrow: false,
7110
7132
  enterable: false
7111
7133
  }) : (0, _vue.createCommentVNode)(),
7134
+ /**
7135
+ * 校验提示
7136
+ */
7137
+ hasUseTooltip && props.editRules && validOpts.showMessage && (validOpts.message === 'default' ? !height : validOpts.message === 'tooltip') ? (0, _vue.h)((0, _vue.resolveComponent)('vxe-tooltip'), __assign({
7138
+ ref: refValidTooltip,
7139
+ class: 'vxe-table--valid-error'
7140
+ }, validOpts.message === 'tooltip' || tableData.length === 1 ? validTipOpts : {})) : (0, _vue.createCommentVNode)(),
7112
7141
  /**
7113
7142
  * 工具提示
7114
7143
  */