vxe-table 4.6.10 → 4.6.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.
Files changed (62) hide show
  1. package/es/all.js +3 -1
  2. package/es/icon/style.css +1 -1
  3. package/es/input/src/input.js +1 -0
  4. package/es/pulldown/src/pulldown.js +4 -4
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/table/src/body.js +3 -1
  8. package/es/table/src/table.js +9 -6
  9. package/es/tools/dom.js +2 -4
  10. package/es/tools/log.js +1 -1
  11. package/es/v-x-e-table/index.js +1 -1
  12. package/es/v-x-e-table/src/conf.js +1 -0
  13. package/es/v-x-e-table/src/config.js +3 -1
  14. package/lib/all.js +3 -1
  15. package/lib/all.min.js +1 -1
  16. package/lib/icon/style/style.css +1 -1
  17. package/lib/icon/style/style.min.css +1 -1
  18. package/lib/index.umd.js +30 -19
  19. package/lib/index.umd.min.js +1 -1
  20. package/lib/input/src/input.js +1 -0
  21. package/lib/input/src/input.min.js +1 -1
  22. package/lib/pulldown/src/pulldown.js +4 -4
  23. package/lib/pulldown/src/pulldown.min.js +1 -1
  24. package/lib/style.css +1 -1
  25. package/lib/style.min.css +1 -1
  26. package/lib/table/src/body.js +5 -1
  27. package/lib/table/src/body.min.js +1 -1
  28. package/lib/table/src/table.js +9 -6
  29. package/lib/table/src/table.min.js +1 -1
  30. package/lib/tools/dom.js +2 -4
  31. package/lib/tools/dom.min.js +1 -1
  32. package/lib/tools/log.js +1 -1
  33. package/lib/tools/log.min.js +1 -1
  34. package/lib/v-x-e-table/index.js +1 -1
  35. package/lib/v-x-e-table/index.min.js +1 -1
  36. package/lib/v-x-e-table/src/conf.js +1 -0
  37. package/lib/v-x-e-table/src/conf.min.js +1 -1
  38. package/lib/v-x-e-table/src/config.js +3 -1
  39. package/lib/v-x-e-table/src/config.min.js +1 -1
  40. package/package.json +1 -1
  41. package/packages/all.ts +3 -1
  42. package/packages/input/src/input.ts +1 -0
  43. package/packages/pulldown/src/pulldown.ts +4 -4
  44. package/packages/table/src/body.ts +3 -1
  45. package/packages/table/src/table.ts +9 -6
  46. package/packages/tools/dom.ts +2 -4
  47. package/packages/v-x-e-table/src/conf.ts +1 -0
  48. package/packages/v-x-e-table/src/config.ts +3 -1
  49. package/styles/theme/dark.scss +3 -3
  50. package/types/table.d.ts +4 -0
  51. /package/es/icon/style/{iconfont.1715213602135.ttf → iconfont.1715243392733.ttf} +0 -0
  52. /package/es/icon/style/{iconfont.1715213602135.woff → iconfont.1715243392733.woff} +0 -0
  53. /package/es/icon/style/{iconfont.1715213602135.woff2 → iconfont.1715243392733.woff2} +0 -0
  54. /package/es/{iconfont.1715213602135.ttf → iconfont.1715243392733.ttf} +0 -0
  55. /package/es/{iconfont.1715213602135.woff → iconfont.1715243392733.woff} +0 -0
  56. /package/es/{iconfont.1715213602135.woff2 → iconfont.1715243392733.woff2} +0 -0
  57. /package/lib/icon/style/{iconfont.1715213602135.ttf → iconfont.1715243392733.ttf} +0 -0
  58. /package/lib/icon/style/{iconfont.1715213602135.woff → iconfont.1715243392733.woff} +0 -0
  59. /package/lib/icon/style/{iconfont.1715213602135.woff2 → iconfont.1715243392733.woff2} +0 -0
  60. /package/lib/{iconfont.1715213602135.ttf → iconfont.1715243392733.ttf} +0 -0
  61. /package/lib/{iconfont.1715213602135.woff → iconfont.1715243392733.woff} +0 -0
  62. /package/lib/{iconfont.1715213602135.woff2 → iconfont.1715243392733.woff2} +0 -0
@@ -117,6 +117,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
117
117
  row,
118
118
  column
119
119
  } = params;
120
+ const {
121
+ afterFullData
122
+ } = tableInternalData;
120
123
  const {
121
124
  treeConfig
122
125
  } = tableProps;
@@ -141,13 +144,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
141
144
  if (slots && slots.line) {
142
145
  return $xetable.callSlot(slots.line, params);
143
146
  }
147
+ const isFirstRow = $xetable.eqRow(afterFullData[0], row);
144
148
  if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
145
149
  return [(0, _vue.h)('div', {
146
150
  class: 'vxe-tree--line-wrapper'
147
151
  }, [(0, _vue.h)('div', {
148
152
  class: 'vxe-tree--line',
149
153
  style: {
150
- height: `${calcTreeLine(params, items, rIndex)}px`,
154
+ height: `${isFirstRow ? 1 : calcTreeLine(params, items, rIndex)}px`,
151
155
  left: `${rLevel * treeOpts.indent + (rLevel ? 2 - getOffsetSize() : 0) + 16}px`
152
156
  }
153
157
  })])];
@@ -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}}const renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(g){const ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),{xID:w,props:se,context:y,reactData:ie,internalData:ne}=ae,{refTableHeader:_,refTableBody:b,refTableFooter:U,refTableLeftBody:T,refTableRightBody:S,refValidTooltip:B}=ae.getRefMaps(),{computeEditOpts:ue,computeMouseOpts:X,computeSYOpts:ce,computeEmptyOpts:Y,computeKeyboardOpts:N,computeTooltipOpts:he,computeRadioOpts:e,computeExpandOpts:V,computeTreeOpts:c,computeCheckboxOpts:de,computeValidOpts:xe,computeRowOpts:ve,computeColumnOpts:fe}=ae.getComputeMaps(),C=(0,_vue.ref)(),L=(0,_vue.ref)(),R=(0,_vue.ref)(),E=(0,_vue.ref)(),H=(0,_vue.ref)(),$=(0,_vue.ref)(),M=(0,_vue.ref)(),d=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},pe=()=>{var e=se["delayHover"],{lastScrollTime:l,_isResize:t}=ie;return!!(t||l&&Date.now()<l+e)},v=(e,l)=>{let t=1;if(e){var o=c.value,r=e[o.children||o.childrenField];if(r&&ae.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=v(r[e],l)}return t},me=e=>{var{row:l,column:t}=e,o=se["treeConfig"],r=c.value,{slots:t,treeNode:a}=t,s=ne["fullAllDataRowIdData"],s=s[(0,_util.getRowid)(ae,l)];let i=0,n=0,u=[];return s&&(i=s.level,n=s._index,u=s.items),t&&t.line?ae.callSlot(t.line,e):o&&a&&(r.showLine||r.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:((e,l,t)=>{let o=1;return t&&(o=v(l[t-1],e)),ie.rowHeight*o-(t?1:12-d())})(e,u,n)+"px",left:i*r.indent+(i?2-d():0)+16+"px"}})])]:[]},A=(e,l,t,o,r,a,s,i,n,u,q,U)=>{var{columnKey:B,height:c,showOverflow:d,cellClassName:X,cellStyle:v,align:p,spanMethod:h,mouseConfig:Y,editConfig:N,editRules:x,tooltipConfig:W}=se,{tableData:F,overflowX:f,scrollYLoad:V,currentColumn:A,mergeList:m,editStore:g,isAllOverflow:P,validErrorMaps:w}=ie,j=ne["afterFullData"],y=xe.value,K=de.value,_=ue.value,b=he.value,T=ve.value,S=ce.value,z=fe.value,{type:G,cellRender:J,editRender:C,align:L,showOverflow:R,className:Q,treeNode:Z,slots:ee}=n,g=g["actived"],S=S["rHeight"],T=T["height"],E=C||J,E=E?_vXETable.VXETable.renderer.get(E.name):null,le=E?E.cellClassName:"",E=E?E.cellStyle:"";const H=b.showAll;var b=ae.getColumnIndex(n),te=ae.getVTColumnIndex(n),oe=(0,_utils.isEnableConf)(C);let $=t?n.fixed!==t:n.fixed&&f;f=_xeUtils.default.isUndefined(R)||_xeUtils.default.isNull(R)?d:R;let M="ellipsis"===f;const O="title"===f,D=!0===f||"tooltip"===f;let I=O||D||M,re;R={},f=L||p,L=w[l+":"+n.id],p=x&&y.showMessage&&("default"===y.message?c||1<F.length:"inline"===y.message),w={colid:n.id};const k={$table:ae,$grid:ae.xegrid,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:i,column:n,columnIndex:b,$columnIndex:u,_columnIndex:te,fixed:t,type:renderType,isHidden:$,level:o,visibleData:j,data:F,items:U};if(V&&!I&&(M=I=!0),(O||D||H||W)&&(R.onMouseenter=e=>{pe()||(O?(0,_dom.updateCellTitle)(e.currentTarget,n):(D||H)&&ae.triggerBodyTooltipEvent(e,k),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(D||H||W)&&(R.onMouseleave=e=>{pe()||((D||H)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(K.range||Y)&&(R.onMousedown=e=>{ae.triggerCellMousedownEvent(e,k)}),R.onClick=e=>{ae.triggerCellClickEvent(e,k)},R.onDblclick=e=>{ae.triggerCellDblclickEvent(e,k)},m.length){x=(0,_util.mergeBodyMethod)(m,i,te);if(x){var{rowspan:c,colspan:e}=x;if(!c||!e)return null;1<c&&(w.rowspan=c),1<e&&(w.colspan=e)}}else if(h){var{rowspan:l=1,colspan:a=1}=h(k)||{};if(!l||!a)return null;1<l&&(w.rowspan=l),1<a&&(w.colspan=a)}!($=$&&m&&(1<w.colspan||1<w.rowspan)?!1:$)&&N&&(C||J)&&(_.showStatus||_.showUpdateStatus)&&(re=ae.isUpdateByRow(r,n.field));s=[];return $&&d&&P?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":D,"c--ellipsis":M}],style:{maxHeight:I&&(S||T)?`${S||T}px`:""}})):(s.push(...me(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":D,"c--ellipsis":M}],style:{maxHeight:I&&(S||T)?`${S||T}px`:""},title:O?ae.getCellLabel(r,n):null},n.renderCell(k))),p&&L&&(b=L.rule,t=ee?ee.valid:null,o={...k,...L},s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-hint",(0,_dom.getPropClass)(y.className,o)],style:b&&b.maxWidth?{width:b.maxWidth+"px"}:null},t?ae.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},L.content)])))),(0,_vue.h)("td",{class:["vxe-body--column",n.id,{["col--"+f]:f,["col--"+G]:G,"col--last":u===q.length-1,"col--tree-node":Z,"col--edit":oe,"col--ellipsis":I,"fixed--hidden":$,"col--dirty":re,"col--active":N&&oe&&g.row===r&&(g.column===n||"row"===_.mode),"col--valid-error":!!L,"col--current":A===n},(0,_dom.getPropClass)(le,k),(0,_dom.getPropClass)(Q,k),(0,_dom.getPropClass)(X,k)],key:B||z.useKey?n.id:u,...w,style:Object.assign({height:I&&(S||T)?`${S||T}px`:""},_xeUtils.default.isFunction(E)?E(k):E,_xeUtils.default.isFunction(v)?v(k):v),...R},s)},F=(x,f,m)=>{const{stripe:g,rowKey:w,highlightHoverRow:y,rowClassName:_,rowStyle:b,showOverflow:T,editConfig:S,treeConfig:C}=se,{hasFixedColumn:L,treeExpandedMaps:R,scrollYLoad:E,rowExpandedMaps:H,expandColumn:$,selectRadioRow:M,pendingRowMaps:O,pendingRowList:D}=ie,I=ne["fullAllDataRowIdData"],k=de.value,q=e.value,U=c.value,B=ue.value,X=ve.value,Y=U["transform"],N=U.children||U.childrenField,W=[];return f.forEach((t,o)=>{var e={};let r;r=ae.getRowIndex(t),(X.isHover||y)&&(e.onMouseenter=e=>{pe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{pe()||ae.clearHoverRow()});const a=(0,_util.getRowid)(ae,t);var l=I[a];let s=0,i=-1,n=0;l&&(s=l.level,i=l.seq,n=l._index);var u,c,l={$table:ae,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=$&&!!H[a];let v=!1,p=[],h=!1;S&&(h=ae.isInsertByRow(t)),!C||E||Y||(p=t[N],v=p&&p.length&&!!R[a]),W.push((0,_vue.h)("tr",{class:["vxe-body--row",C?"row--level-"+s:"",{"row--stripe":g&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":h,"is--expand-row":d,"is--expand-tree":v,"row--new":h&&(B.showStatus||B.showInsertStatus),"row--radio":q.highlight&&ae.eqRow(M,t),"row--checked":k.highlight&&ae.isCheckedByCheckboxRow(t),"row--pending":D.length&&!!O[a]},(0,_dom.getPropClass)(_,l)],rowid:a,style:b?_xeUtils.default.isFunction(b)?b(l):b:null,key:w||X.useKey||C?a:o,...e},m.map((e,l)=>A(i,a,x,s,t,r,o,n,e,l,m,f)))),d&&(l=V.value["height"],d={},u=(l&&(d.height=l+"px"),C&&(d.paddingLeft=s*U.indent+30+"px"),$)["showOverflow"],u=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?T:u,c={$table:ae,seq:i,column:$,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},W.push((0,_vue.h)("tr",{class:"vxe-body--expanded-row",key:"expand_"+a,style:b?_xeUtils.default.isFunction(b)?b(c):b:null,...e},[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!L,"col--ellipsis":u},colspan:m.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[$.renderData(c)])])]))),v&&W.push(...F(x,p,m))}),W};let r;const O=(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(()=>{(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o),ie.lastScrollTime=Date.now()},300))},o=e=>{var l=g["fixedType"],t=se["highlightHoverRow"],{scrollXLoad:o,scrollYLoad:r}=ie,{elemStore:a,lastScrollTop:s,lastScrollLeft:i}=ne,n=ve.value,u=_.value,c=b.value,d=U.value,v=T.value,p=S.value,h=B.value,x=C.value,u=u?u.$el:null,d=d?d.$el:null,c=c.$el,v=v?v.$el:null,p=p?p.$el:null,f=a["main-body-ySpace"],f=f?f.value:null,a=a["main-body-xSpace"],a=a?a.value:null,f=(r&&f?f:c).clientHeight,a=(o&&a?a:c).clientWidth;let m=x.scrollTop;x=c.scrollLeft,i=x!==i,s=m!==s;ne.lastScrollTop=m,ne.lastScrollLeft=x,ie.lastScrollTime=Date.now(),(n.isHover||t)&&ae.clearHoverRow(),v&&"left"===l?(m=v.scrollTop,O(0,m,c,p)):p&&"right"===l?(m=p.scrollTop,O(0,m,c,v)):(i&&(u&&(u.scrollLeft=c.scrollLeft),d)&&(d.scrollLeft=c.scrollLeft),(v||p)&&(ae.checkScrolling(),s)&&O(0,m,v,p)),o&&i&&ae.triggerScrollXEvent(e),r&&s&&ae.triggerScrollYEvent(e),i&&h&&h.reactData.visible&&h.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:m,scrollLeft:x,scrollHeight:c.scrollHeight,scrollWidth:c.scrollWidth,bodyHeight:f,bodyWidth:a,isX:i,isY:s},e)};let m,D=0,I=0,k=0,q=!1;const W=(r,a,e,s,i)=>{var l=ne["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ie,n=b.value,u=T.value,c=S.value;const d=u?u.$el:null,v=c?c.$el:null,p=n.$el;u=l["main-body-ySpace"],c=u?u.value:null,n=l["main-body-xSpace"],u=n?n.value:null;const h=(o&&c?c:p).clientHeight,x=(t&&u?u:p).clientWidth;l=q===a?Math.max(0,D-k):0;q=a,D=Math.abs(a?e-l:e+l),I=0,k=0,clearTimeout(m);const f=()=>{var e,l,t,o;k<D&&(e=g["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(k+=I)>D&&(I-=k-D),p),o=o+I*(a?-1:1),p.scrollTop=o,d&&(d.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(f,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:h,bodyWidth:x,isX:s,isY:i},r))};f()};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=g["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`,t=C.value;l[e+"wrapper"]=C,l[e+"table"]=L,l[e+"colgroup"]=R,l[e+"list"]=E,l[e+"xSpace"]=H,l[e+"ySpace"]=$,l[e+"emptyBlock"]=M,t&&(t.onscroll=o,t._onscroll=o)})}),(0,_vue.onBeforeUnmount)(()=>{var e=C.value;clearTimeout(m),e&&(e._onscroll=null,e.onscroll=null)}),(0,_vue.onUnmounted)(()=>{var e=g["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=g;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=se,{tableData:i,mergeList:n,scrollYLoad:u,isAllOverflow:c}=ie,d=ne["visibleColumn"],v=y["slots"],p=ce.value,h=Y.value,x=N.value,f=X.value;l&&(t=ie.expandColumn||!(u||r&&c)||n.length||a||o&&x.isMerge?d:e);let m;u=v?v.empty:null;return m=u?ae.callSlot(u,{$table:ae,$grid:ae.xegrid}):(c=(r=h.name?_vXETable.VXETable.renderer.get(h.name):null)?r.renderEmpty:null)?(0,_vn.getSlotVNs)(c(h,{$table:ae})):se.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",{ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:w,..."wheel"===p.mode?{onWheel:e=>{var{deltaY:l,deltaX:t}=e,o=se["highlightHoverRow"],r=ie["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ne,i=ve.value,n=b.value,u=C.value,n=n.$el,c=l<0;(c?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=u!==a)&&(e.preventDefault(),ne.lastScrollTop=u,ne.lastScrollLeft=n,ie.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),W(e,c,l,t,s),r)&&ae.triggerScrollYEvent(e))}}:{}},[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:L,class:"vxe-table--body",xid:w,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:R},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tbody",{ref:E},F(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(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:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},m)])])}}});
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}}const renderType="body",lineOffsetSizes={mini:3,small:2,medium:1};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup(g){const ae=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),{xID:w,props:se,context:y,reactData:ie,internalData:ne}=ae,{refTableHeader:_,refTableBody:b,refTableFooter:U,refTableLeftBody:T,refTableRightBody:S,refValidTooltip:B}=ae.getRefMaps(),{computeEditOpts:ue,computeMouseOpts:X,computeSYOpts:ce,computeEmptyOpts:Y,computeKeyboardOpts:N,computeTooltipOpts:he,computeRadioOpts:e,computeExpandOpts:V,computeTreeOpts:d,computeCheckboxOpts:de,computeValidOpts:xe,computeRowOpts:ve,computeColumnOpts:fe}=ae.getComputeMaps(),C=(0,_vue.ref)(),L=(0,_vue.ref)(),R=(0,_vue.ref)(),E=(0,_vue.ref)(),H=(0,_vue.ref)(),$=(0,_vue.ref)(),M=(0,_vue.ref)(),v=()=>{if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0},pe=()=>{var e=se["delayHover"],{lastScrollTime:l,_isResize:t}=ie;return!!(t||l&&Date.now()<l+e)},p=(e,l)=>{let t=1;if(e){var o=d.value,r=e[o.children||o.childrenField];if(r&&ae.isTreeExpandByRow(e))for(let e=0;e<r.length;e++)t+=p(r[e],l)}return t},me=e=>{var{row:l,column:t}=e,o=ne["afterFullData"],r=se["treeConfig"],a=d.value,{slots:t,treeNode:s}=t,i=ne["fullAllDataRowIdData"],i=i[(0,_util.getRowid)(ae,l)];let n=0,u=0,c=[];return i&&(n=i.level,u=i._index,c=i.items),t&&t.line?ae.callSlot(t.line,e):(i=ae.eqRow(o[0],l),r&&s&&(a.showLine||a.line)?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:`${i?1:((e,l,t)=>{let o=1;return t&&(o=p(l[t-1],e)),ie.rowHeight*o-(t?1:12-v())})(e,c,u)}px`,left:n*a.indent+(n?2-v():0)+16+"px"}})])]:[])},A=(e,l,t,o,r,a,s,i,n,u,q,U)=>{var{columnKey:B,height:c,showOverflow:d,cellClassName:X,cellStyle:v,align:p,spanMethod:h,mouseConfig:Y,editConfig:N,editRules:x,tooltipConfig:W}=se,{tableData:F,overflowX:f,scrollYLoad:V,currentColumn:A,mergeList:m,editStore:g,isAllOverflow:P,validErrorMaps:w}=ie,j=ne["afterFullData"],y=xe.value,K=de.value,_=ue.value,b=he.value,T=ve.value,S=ce.value,z=fe.value,{type:G,cellRender:J,editRender:C,align:L,showOverflow:R,className:Q,treeNode:Z,slots:ee}=n,g=g["actived"],S=S["rHeight"],T=T["height"],E=C||J,E=E?_vXETable.VXETable.renderer.get(E.name):null,le=E?E.cellClassName:"",E=E?E.cellStyle:"";const H=b.showAll;var b=ae.getColumnIndex(n),te=ae.getVTColumnIndex(n),oe=(0,_utils.isEnableConf)(C);let $=t?n.fixed!==t:n.fixed&&f;f=_xeUtils.default.isUndefined(R)||_xeUtils.default.isNull(R)?d:R;let M="ellipsis"===f;const O="title"===f,D=!0===f||"tooltip"===f;let I=O||D||M,re;R={},f=L||p,L=w[l+":"+n.id],p=x&&y.showMessage&&("default"===y.message?c||1<F.length:"inline"===y.message),w={colid:n.id};const k={$table:ae,$grid:ae.xegrid,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:s,_rowIndex:i,column:n,columnIndex:b,$columnIndex:u,_columnIndex:te,fixed:t,type:renderType,isHidden:$,level:o,visibleData:j,data:F,items:U};if(V&&!I&&(M=I=!0),(O||D||H||W)&&(R.onMouseenter=e=>{pe()||(O?(0,_dom.updateCellTitle)(e.currentTarget,n):(D||H)&&ae.triggerBodyTooltipEvent(e,k),ae.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},k),e))}),(D||H||W)&&(R.onMouseleave=e=>{pe()||((D||H)&&ae.handleTargetLeaveEvent(e),ae.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},k),e))}),(K.range||Y)&&(R.onMousedown=e=>{ae.triggerCellMousedownEvent(e,k)}),R.onClick=e=>{ae.triggerCellClickEvent(e,k)},R.onDblclick=e=>{ae.triggerCellDblclickEvent(e,k)},m.length){x=(0,_util.mergeBodyMethod)(m,i,te);if(x){var{rowspan:c,colspan:e}=x;if(!c||!e)return null;1<c&&(w.rowspan=c),1<e&&(w.colspan=e)}}else if(h){var{rowspan:l=1,colspan:a=1}=h(k)||{};if(!l||!a)return null;1<l&&(w.rowspan=l),1<a&&(w.colspan=a)}!($=$&&m&&(1<w.colspan||1<w.rowspan)?!1:$)&&N&&(C||J)&&(_.showStatus||_.showUpdateStatus)&&(re=ae.isUpdateByRow(r,n.field));s=[];return $&&d&&P?s.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":D,"c--ellipsis":M}],style:{maxHeight:I&&(S||T)?`${S||T}px`:""}})):(s.push(...me(k),(0,_vue.h)("div",{class:["vxe-cell",{"c--title":O,"c--tooltip":D,"c--ellipsis":M}],style:{maxHeight:I&&(S||T)?`${S||T}px`:""},title:O?ae.getCellLabel(r,n):null},n.renderCell(k))),p&&L&&(b=L.rule,t=ee?ee.valid:null,o={...k,...L},s.push((0,_vue.h)("div",{class:["vxe-cell--valid-error-hint",(0,_dom.getPropClass)(y.className,o)],style:b&&b.maxWidth?{width:b.maxWidth+"px"}:null},t?ae.callSlot(t,o):[(0,_vue.h)("span",{class:"vxe-cell--valid-error-msg"},L.content)])))),(0,_vue.h)("td",{class:["vxe-body--column",n.id,{["col--"+f]:f,["col--"+G]:G,"col--last":u===q.length-1,"col--tree-node":Z,"col--edit":oe,"col--ellipsis":I,"fixed--hidden":$,"col--dirty":re,"col--active":N&&oe&&g.row===r&&(g.column===n||"row"===_.mode),"col--valid-error":!!L,"col--current":A===n},(0,_dom.getPropClass)(le,k),(0,_dom.getPropClass)(Q,k),(0,_dom.getPropClass)(X,k)],key:B||z.useKey?n.id:u,...w,style:Object.assign({height:I&&(S||T)?`${S||T}px`:""},_xeUtils.default.isFunction(E)?E(k):E,_xeUtils.default.isFunction(v)?v(k):v),...R},s)},F=(x,f,m)=>{const{stripe:g,rowKey:w,highlightHoverRow:y,rowClassName:_,rowStyle:b,showOverflow:T,editConfig:S,treeConfig:C}=se,{hasFixedColumn:L,treeExpandedMaps:R,scrollYLoad:E,rowExpandedMaps:H,expandColumn:$,selectRadioRow:M,pendingRowMaps:O,pendingRowList:D}=ie,I=ne["fullAllDataRowIdData"],k=de.value,q=e.value,U=d.value,B=ue.value,X=ve.value,Y=U["transform"],N=U.children||U.childrenField,W=[];return f.forEach((t,o)=>{var e={};let r;r=ae.getRowIndex(t),(X.isHover||y)&&(e.onMouseenter=e=>{pe()||ae.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=()=>{pe()||ae.clearHoverRow()});const a=(0,_util.getRowid)(ae,t);var l=I[a];let s=0,i=-1,n=0;l&&(s=l.level,i=l.seq,n=l._index);var u,c,l={$table:ae,seq:i,rowid:a,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},d=$&&!!H[a];let v=!1,p=[],h=!1;S&&(h=ae.isInsertByRow(t)),!C||E||Y||(p=t[N],v=p&&p.length&&!!R[a]),W.push((0,_vue.h)("tr",{class:["vxe-body--row",C?"row--level-"+s:"",{"row--stripe":g&&(ae.getVTRowIndex(t)+1)%2==0,"is--new":h,"is--expand-row":d,"is--expand-tree":v,"row--new":h&&(B.showStatus||B.showInsertStatus),"row--radio":q.highlight&&ae.eqRow(M,t),"row--checked":k.highlight&&ae.isCheckedByCheckboxRow(t),"row--pending":D.length&&!!O[a]},(0,_dom.getPropClass)(_,l)],rowid:a,style:b?_xeUtils.default.isFunction(b)?b(l):b:null,key:w||X.useKey||C?a:o,...e},m.map((e,l)=>A(i,a,x,s,t,r,o,n,e,l,m,f)))),d&&(l=V.value["height"],d={},u=(l&&(d.height=l+"px"),C&&(d.paddingLeft=s*U.indent+30+"px"),$)["showOverflow"],u=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?T:u,c={$table:ae,seq:i,column:$,fixed:x,type:renderType,level:s,row:t,rowIndex:r,$rowIndex:o,_rowIndex:n},W.push((0,_vue.h)("tr",{class:"vxe-body--expanded-row",key:"expand_"+a,style:b?_xeUtils.default.isFunction(b)?b(c):b:null,...e},[(0,_vue.h)("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":x&&!L,"col--ellipsis":u},colspan:m.length},[(0,_vue.h)("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":l},style:d},[$.renderData(c)])])]))),v&&W.push(...F(x,p,m))}),W};let r;const O=(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(()=>{(0,_util.restoreScrollListener)(t),(0,_util.restoreScrollListener)(o),ie.lastScrollTime=Date.now()},300))},o=e=>{var l=g["fixedType"],t=se["highlightHoverRow"],{scrollXLoad:o,scrollYLoad:r}=ie,{elemStore:a,lastScrollTop:s,lastScrollLeft:i}=ne,n=ve.value,u=_.value,c=b.value,d=U.value,v=T.value,p=S.value,h=B.value,x=C.value,u=u?u.$el:null,d=d?d.$el:null,c=c.$el,v=v?v.$el:null,p=p?p.$el:null,f=a["main-body-ySpace"],f=f?f.value:null,a=a["main-body-xSpace"],a=a?a.value:null,f=(r&&f?f:c).clientHeight,a=(o&&a?a:c).clientWidth;let m=x.scrollTop;x=c.scrollLeft,i=x!==i,s=m!==s;ne.lastScrollTop=m,ne.lastScrollLeft=x,ie.lastScrollTime=Date.now(),(n.isHover||t)&&ae.clearHoverRow(),v&&"left"===l?(m=v.scrollTop,O(0,m,c,p)):p&&"right"===l?(m=p.scrollTop,O(0,m,c,v)):(i&&(u&&(u.scrollLeft=c.scrollLeft),d)&&(d.scrollLeft=c.scrollLeft),(v||p)&&(ae.checkScrolling(),s)&&O(0,m,v,p)),o&&i&&ae.triggerScrollXEvent(e),r&&s&&ae.triggerScrollYEvent(e),i&&h&&h.reactData.visible&&h.updatePlacement(),ae.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:m,scrollLeft:x,scrollHeight:c.scrollHeight,scrollWidth:c.scrollWidth,bodyHeight:f,bodyWidth:a,isX:i,isY:s},e)};let m,D=0,I=0,k=0,q=!1;const W=(r,a,e,s,i)=>{var l=ne["elemStore"],{scrollXLoad:t,scrollYLoad:o}=ie,n=b.value,u=T.value,c=S.value;const d=u?u.$el:null,v=c?c.$el:null,p=n.$el;u=l["main-body-ySpace"],c=u?u.value:null,n=l["main-body-xSpace"],u=n?n.value:null;const h=(o&&c?c:p).clientHeight,x=(t&&u?u:p).clientWidth;l=q===a?Math.max(0,D-k):0;q=a,D=Math.abs(a?e-l:e+l),I=0,k=0,clearTimeout(m);const f=()=>{var e,l,t,o;k<D&&(e=g["fixedType"],{scrollTop:o,clientHeight:l,scrollHeight:t}=(I=Math.max(5,Math.floor(1.5*I)),(k+=I)>D&&(I-=k-D),p),o=o+I*(a?-1:1),p.scrollTop=o,d&&(d.scrollTop=o),v&&(v.scrollTop=o),(a?o<t-l:0<=o)&&(m=setTimeout(f,10)),ae.dispatchEvent("scroll",{type:renderType,fixed:e,scrollTop:p.scrollTop,scrollLeft:p.scrollLeft,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:h,bodyWidth:x,isX:s,isY:i},r))};f()};(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=g["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`,t=C.value;l[e+"wrapper"]=C,l[e+"table"]=L,l[e+"colgroup"]=R,l[e+"list"]=E,l[e+"xSpace"]=H,l[e+"ySpace"]=$,l[e+"emptyBlock"]=M,t&&(t.onscroll=o,t._onscroll=o)})}),(0,_vue.onBeforeUnmount)(()=>{var e=C.value;clearTimeout(m),e&&(e._onscroll=null,e.onscroll=null)}),(0,_vue.onUnmounted)(()=>{var e=g["fixedType"],l=ne["elemStore"],e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null});return()=>{let{fixedColumn:e,fixedType:l,tableColumn:t}=g;var{keyboardConfig:o,showOverflow:r,spanMethod:a,mouseConfig:s}=se,{tableData:i,mergeList:n,scrollYLoad:u,isAllOverflow:c}=ie,d=ne["visibleColumn"],v=y["slots"],p=ce.value,h=Y.value,x=N.value,f=X.value;l&&(t=ie.expandColumn||!(u||r&&c)||n.length||a||o&&x.isMerge?d:e);let m;u=v?v.empty:null;return m=u?ae.callSlot(u,{$table:ae,$grid:ae.xegrid}):(c=(r=h.name?_vXETable.VXETable.renderer.get(h.name):null)?r.renderEmpty:null)?(0,_vn.getSlotVNs)(c(h,{$table:ae})):se.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",{ref:C,class:["vxe-table--body-wrapper",l?`fixed-${l}--wrapper`:"body--wrapper"],xid:w,..."wheel"===p.mode?{onWheel:e=>{var{deltaY:l,deltaX:t}=e,o=se["highlightHoverRow"],r=ie["scrollYLoad"],{lastScrollTop:a,lastScrollLeft:s}=ne,i=ve.value,n=b.value,u=C.value,n=n.$el,c=l<0;(c?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+l,t=(n=n.scrollLeft+t)!==s,(s=u!==a)&&(e.preventDefault(),ne.lastScrollTop=u,ne.lastScrollLeft=n,ie.lastScrollTime=Date.now(),(i.isHover||o)&&ae.clearHoverRow(),W(e,c,l,t,s),r)&&ae.triggerScrollYEvent(e))}}:{}},[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:H,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:$,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:L,class:"vxe-table--body",xid:w,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:R},t.map((e,l)=>(0,_vue.h)("col",{name:e.id,key:l}))),(0,_vue.h)("tbody",{ref:E},F(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),s&&f.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},f.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown(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:M},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},m)])])}}});
@@ -5233,6 +5233,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
5233
5233
  const el = refElem.value;
5234
5234
  const editOpts = computeEditOpts.value;
5235
5235
  const validOpts = computeValidOpts.value;
5236
+ const areaOpts = computeAreaOpts.value;
5236
5237
  const {
5237
5238
  actived
5238
5239
  } = editStore;
@@ -5321,12 +5322,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
5321
5322
  if ($xetable.clearSelected) {
5322
5323
  $xetable.clearSelected();
5323
5324
  }
5324
- if ($xetable.clearCellAreas) {
5325
- if (!(0, _dom.getEventTargetNode)(evnt, document.body, 'vxe-table--ignore-areas-clear').flag) {
5326
- tablePrivateMethods.preventEvent(evnt, 'event.clearAreas', {}, () => {
5327
- $xetable.clearCellAreas();
5328
- $xetable.clearCopyCellArea();
5329
- });
5325
+ if (areaOpts.autoClear) {
5326
+ if ($xetable.clearCellAreas) {
5327
+ if (!(0, _dom.getEventTargetNode)(evnt, document.body, 'vxe-table--ignore-areas-clear').flag) {
5328
+ tablePrivateMethods.preventEvent(evnt, 'event.clearAreas', {}, () => {
5329
+ $xetable.clearCellAreas();
5330
+ $xetable.clearCopyCellArea();
5331
+ });
5332
+ }
5330
5333
  }
5331
5334
  }
5332
5335
  }