vxe-table 3.4.14 → 3.4.15

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.
@@ -520,23 +520,20 @@ function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
520
520
  (0, _util.restoreScrollListener)(elem2); // 检查滚动条是的同步
521
521
 
522
522
  var targetTop = bodyElem.scrollTop;
523
- var targetLeft = bodyElem.scrollLeft;
524
523
 
525
524
  if (fixedType === 'left') {
526
525
  if (leftElem) {
527
526
  targetTop = leftElem.scrollTop;
528
- targetLeft = leftElem.scrollLeft;
529
527
  }
530
528
  } else if (fixedType === 'right') {
531
529
  if (rightElem) {
532
530
  targetTop = rightElem.scrollTop;
533
- targetLeft = rightElem.scrollLeft;
534
531
  }
535
532
  }
536
533
 
537
- (0, _dom.setScrollLeftAndTop)(bodyElem, targetLeft, targetTop);
538
- (0, _dom.setScrollLeftAndTop)(leftElem, targetLeft, targetTop);
539
- (0, _dom.setScrollLeftAndTop)(rightElem, targetLeft, targetTop);
534
+ (0, _dom.setScrollTop)(bodyElem, targetTop);
535
+ (0, _dom.setScrollTop)(leftElem, targetTop);
536
+ (0, _dom.setScrollTop)(rightElem, targetTop);
540
537
  }, 300);
541
538
  }
542
539
  }
@@ -917,8 +914,8 @@ var _default = {
917
914
  rowOpts = $xetable.rowOpts;
918
915
  var tableBody = $refs.tableBody;
919
916
  var bodyElem = tableBody.$el;
920
- var deltaTop = _dom.browse.firefox ? deltaY * 40 : deltaY;
921
- var deltaLeft = _dom.browse.firefox ? deltaX * 40 : deltaX;
917
+ var deltaTop = deltaY;
918
+ var deltaLeft = deltaX;
922
919
  var isTopWheel = deltaTop < 0; // 如果滚动位置已经是顶部或底部,则不需要触发
923
920
 
924
921
  if (isTopWheel ? scrollBodyElem.scrollTop <= 0 : scrollBodyElem.scrollTop >= scrollBodyElem.scrollHeight - scrollBodyElem.clientHeight) {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,l,t){return l in e?Object.defineProperty(e,l,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[l]=t,e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,l){if(e){if("string"==typeof e)return _arrayLikeToArray(e,l);var t=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(t="Object"===t&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,l):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,l){(null==l||l>e.length)&&(l=e.length);for(var t=0,o=new Array(l);t<l;t++)o[t]=e[t];return o}var scrollProcessTimeout,renderType="body";function isOperateMouse(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,o){var r=o.row,i=o.column,n=t.treeOpts,s=t.treeConfig,a=t.fullAllDataRowIdData,c=i.slots,d=i.treeNode,u=a[_tools.UtilTools.getRowid(t,r)],i=0,a=0,r=[];return u&&(i=u.level,a=u._index,r=u.items),c&&c.line?t.callSlot(c.line,o,e):s&&d&&n.line?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:"".concat((0,_util.calcTreeLine)(o,r,a),"px"),left:"".concat(i*n.indent+(i?2-(0,_util.getOffsetSize)(t):0)+16,"px")}})])]:[]}function renderColumn(e,l,t,o,r,i,n,s,a,c,d,u,p,f,h){var y,v=t.$listeners,g=t.afterFullData,m=t.tableData,w=t.height,x=t.columnKey,b=t.overflowX,T=t.sYOpts,_=t.scrollXLoad,S=t.scrollYLoad,L=t.highlightCurrentRow,O=t.showOverflow,$=t.isAllOverflow,C=t.align,I=t.currentColumn,k=t.cellClassName,H=t.cellStyle,A=t.mergeList,E=t.spanMethod,R=t.radioOpts,Y=t.checkboxOpts,B=t.expandOpts,D=t.treeOpts,P=t.tooltipOpts,M=t.mouseConfig,U=t.editConfig,W=t.editOpts,q=t.editRules,X=t.validOpts,j=t.editStore,N=t.validStore,z=t.tooltipConfig,F=t.rowOpts,V=u.type,K=u.cellRender,G=u.editRender,J=u.align,Q=u.showOverflow,Z=u.className,ee=u.treeNode,le=j.actived,te=T.rHeight,oe=F.height,re=P.showAll||P.enabled,ie=t.getColumnIndex(u),ne=t.getVTColumnIndex(u),j=(0,_tools.isEnableConf)(G),T=i?u.fixed!==i:u.fixed&&b,P=_xeUtils.default.isUndefined(Q)||_xeUtils.default.isNull(Q)?O:Q,b="ellipsis"===P,se="title"===P,ae=!0===P||"tooltip"===P,Q=se||ae||b,P={},J=J||C,C=N.row===s&&N.column===u,q=q&&X.showMessage&&("default"===X.message?w||1<m.length:"inline"===X.message),w={colid:u.id},ce=v["cell-mouseenter"],de=v["cell-mouseleave"],X=G&&U&&"dblclick"===W.trigger,ue={$table:t,seq:o,rowid:r,row:s,rowIndex:a,$rowIndex:c,_rowIndex:d,column:u,columnIndex:ie,$columnIndex:p,_columnIndex:ne,fixed:i,type:renderType,isHidden:T,level:n,visibleData:g,data:m,items:h};if(!_&&!S||Q||(b=Q=!0),(se||ae||re||ce||z)&&(P.mouseenter=function(e){isOperateMouse(t)||(se?_tools.DomTools.updateCellTitle(e.currentTarget,u):(ae||re)&&t.triggerBodyTooltipEvent(e,ue),ce&&t.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ue),e))}),(ae||re||de||z)&&(P.mouseleave=function(e){isOperateMouse(t)||((ae||re)&&t.handleTargetLeaveEvent(e),de&&t.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ue),e))}),(Y.range||M)&&(P.mousedown=function(e){t.triggerCellMousedownEvent(e,ue)}),(F.isCurrent||L||v["cell-click"]||G&&U||"row"===B.trigger||"cell"===B.trigger||"row"===R.trigger||"radio"===u.type&&"cell"===R.trigger||"row"===Y.trigger||"checkbox"===u.type&&"cell"===Y.trigger||"row"===D.trigger||u.treeNode&&"cell"===D.trigger)&&(P.click=function(e){t.triggerCellClickEvent(e,ue)}),(X||v["cell-dblclick"])&&(P.dblclick=function(e){t.triggerCellDblclickEvent(e,ue)}),A.length){d=(0,_util.mergeBodyMethod)(A,d,ne);if(d){var ne=d.rowspan,pe=d.colspan;if(!ne||!pe)return null;1<ne&&(w.rowspan=ne),1<pe&&(w.colspan=pe)}}else if(E){pe=E(ue)||{},E=pe.rowspan,E=void 0===E?1:E,pe=pe.colspan,pe=void 0===pe?1:pe;if(!E||!pe)return null;1<E&&(w.rowspan=E),1<pe&&(w.colspan=pe)}!(T=T&&A&&(1<w.colspan||1<w.rowspan)?!1:T)&&U&&(G||K)&&(W.showStatus||W.showUpdateStatus)&&(y=t.isUpdateByRow(s,u.property));K=[];return T&&O&&$?K.push(e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""}})):(K.push.apply(K,_toConsumableArray(renderLine(e,l,t,ue)).concat([e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""},attrs:{title:se?t.getCellLabel(s,u):null}},u.renderCell(e,ue))])),q&&C&&K.push(e("div",{class:"vxe-cell--valid",style:N.rule&&N.rule.maxWidth?{width:"".concat(N.rule.maxWidth,"px")}:null},[e("span",{class:"vxe-cell--valid-msg"},N.content)]))),e("td",{class:["vxe-body--column",u.id,(_defineProperty(e={},"col--".concat(J),J),_defineProperty(e,"col--".concat(V),V),_defineProperty(e,"col--last",p===f.length-1),_defineProperty(e,"col--tree-node",ee),_defineProperty(e,"col--edit",j),_defineProperty(e,"col--ellipsis",Q),_defineProperty(e,"fixed--hidden",T),_defineProperty(e,"col--dirty",y),_defineProperty(e,"col--actived",U&&j&&le.row===s&&(le.column===u||"row"===W.mode)),_defineProperty(e,"col--valid-error",C),_defineProperty(e,"col--current",I===u),e),_tools.UtilTools.getClass(Z,ue),_tools.UtilTools.getClass(k,ue)],key:x?u.id:p,attrs:w,style:Object.assign({height:Q&&(te||oe)?"".concat(te||oe,"px"):""},H?_xeUtils.default.isFunction(H)?H(ue):H:null),on:P},K)}function renderRows(p,f,h,y,v,g){var m=h.stripe,w=h.rowKey,x=h.highlightHoverRow,b=h.rowClassName,T=h.rowStyle,_=h.editConfig,S=h.showOverflow,L=h.treeConfig,O=h.treeOpts,$=h.editOpts,C=h.treeExpandeds,I=h.scrollYLoad,k=h.editStore,H=h.rowExpandeds,A=h.radioOpts,E=h.checkboxOpts,R=h.expandColumn,Y=h.hasFixedColumn,B=h.fullAllDataRowIdData,D=h.rowOpts,P=[];return v.forEach(function(t,o){var e={},r=h.getVTRowIndex(t),i=h.getRowIndex(t);(D.isHover||x)&&(e.mouseenter=function(e){isOperateMouse(h)||h.triggerHoverEvent(e,{row:t,rowIndex:i})},e.mouseleave=function(){isOperateMouse(h)||h.clearHoverRow()});var l,n,s=_tools.UtilTools.getRowid(h,t),a=B[s],c=a?a.level:0,d=a?a.seq:-1,u={$table:h,seq:d,rowid:s,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},a=!1;_&&(a=-1<k.insertList.indexOf(t)),P.push(p("tr",{class:["vxe-body--row",{"row--stripe":m&&(h.getVTRowIndex(t)+1)%2==0,"is--new":a,"row--new":a&&($.showStatus||$.showInsertStatus),"row--radio":A.highlight&&h.selectRow===t,"row--checked":E.highlight&&h.isCheckedByCheckboxRow(t)},b?_xeUtils.default.isFunction(b)?b(u):b:""],attrs:{rowid:s},style:T?_xeUtils.default.isFunction(T)?T(u):T:null,key:w||L?s:o,on:e},g.map(function(e,l){return renderColumn(p,f,h,d,s,y,c,t,i,o,r,e,l,g,v)}))),R&&H.length&&-1<H.indexOf(t)&&(L&&(l={paddingLeft:"".concat(c*O.indent+30,"px")}),n=R.showOverflow,u=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?S:n,n={$table:h,seq:d,column:R,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},P.push(p("tr",{class:"vxe-body--expanded-row",key:"expand_".concat(s),style:T?_xeUtils.default.isFunction(T)?T(n):T:null,on:e},[p("td",{class:["vxe-body--expanded-column",{"fixed--hidden":y&&!Y,"col--ellipsis":u}],attrs:{colspan:g.length}},[p("div",{class:"vxe-body--expanded-cell",style:l},[R.renderData(p,n)])])]))),!L||I||O.transform||!C.length||(n=t[O.children])&&n.length&&-1<C.indexOf(t)&&P.push.apply(P,_toConsumableArray(renderRows(p,f,h,y,n,g)))}),P}function syncBodyScroll(i,n,e,s,a){(s||a)&&(s&&((0,_util.removeScrollListener)(s),s.scrollTop=e),a&&((0,_util.removeScrollListener)(a),a.scrollTop=e),clearTimeout(scrollProcessTimeout),scrollProcessTimeout=setTimeout(function(){var e=i.$refs,l=e.tableBody,t=e.leftBody,o=e.rightBody,r=l.$el,e=t?t.$el:null,l=o?o.$el:null;(0,_util.restoreScrollListener)(s),(0,_util.restoreScrollListener)(a);t=r.scrollTop,o=r.scrollLeft;"left"===n?e&&(t=e.scrollTop,o=e.scrollLeft):"right"===n&&l&&(t=l.scrollTop,o=l.scrollLeft),(0,_dom.setScrollLeftAndTop)(r,o,t),(0,_dom.setScrollLeftAndTop)(e,o,t),(0,_dom.setScrollLeftAndTop)(l,o,t)},300))}var _default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data:function(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted:function(){var e=this.$parent,l=this.$el,t=this.$refs,o=this.fixedType,e=e.elemStore,o="".concat(o||"main","-body-");e["".concat(o,"wrapper")]=l,e["".concat(o,"table")]=t.table,e["".concat(o,"colgroup")]=t.colgroup,e["".concat(o,"list")]=t.tbody,e["".concat(o,"xSpace")]=t.xSpace,e["".concat(o,"ySpace")]=t.ySpace,e["".concat(o,"emptyBlock")]=t.emptyBlock,this.$el.onscroll=this.scrollEvent,this.$el._onscroll=this.scrollEvent},beforeDestroy:function(){clearTimeout(this.wheelTime),this.$el._onscroll=null,this.$el.onscroll=null},destroyed:function(){var e=this.$parent,l=this.fixedType,e=e.elemStore,l="".concat(l||"main","-body-");e["".concat(l,"wrapper")]=null,e["".concat(l,"table")]=null,e["".concat(l,"colgroup")]=null,e["".concat(l,"list")]=null,e["".concat(l,"xSpace")]=null,e["".concat(l,"ySpace")]=null,e["".concat(l,"emptyBlock")]=null},render:function(t){var e=this._e,l=this.$parent,o=this.fixedColumn,r=this.fixedType,i=l.$scopedSlots,n=l.tId,s=l.tableData,a=l.tableColumn,c=l.visibleColumn,d=l.showOverflow,u=l.keyboardConfig,p=l.keyboardOpts,f=l.mergeList,h=l.spanMethod,y=l.scrollXLoad,v=l.scrollYLoad,g=l.isAllOverflow,m=l.emptyOpts,w=l.mouseConfig,x=l.mouseOpts,b=l.sYOpts;return r&&(a=!(y||v||d&&g)||f.length||h||u&&p.isMerge?c:o),m=i.empty?i.empty.call(this,{$table:l},t):(i=(i=m.name?_vXETable.default.renderer.get(m.name):null)?i.renderEmpty:null)?i.call(this,t,m,{$table:l}):l.emptyText||_conf.default.i18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",r?"fixed-".concat(r,"--wrapper"):"body--wrapper"],attrs:{xid:n},on:v&&"wheel"===b.mode?{wheel:this.wheelEvent}:{}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:n,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},a.map(function(e,l){return t("col",{attrs:{name:e.id},key:l})})),t("tbody",{ref:"tbody"},renderRows(t,this,l,r,s,a))]),t("div",{class:"vxe-table--checkbox-range"}),w&&x.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},x.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown:function(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:r,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,r?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},m)])])},methods:{scrollEvent:function(e){var l=this.$el,t=this.$parent,o=this.fixedType,r=t.$refs,i=t.elemStore,n=t.highlightHoverRow,s=t.scrollXLoad,a=t.scrollYLoad,c=t.lastScrollTop,d=t.lastScrollLeft,u=t.rowOpts,p=r.tableHeader,f=r.tableBody,h=r.leftBody,y=r.rightBody,v=r.tableFooter,g=r.validTip,m=p?p.$el:null,r=v?v.$el:null,p=f.$el,v=h?h.$el:null,f=y?y.$el:null,h=i["main-body-ySpace"],y=i["main-body-xSpace"],i=(a&&h?h:p).clientHeight,h=(s&&y?y:p).clientWidth,y=l.scrollTop,l=p.scrollLeft,d=l!==d,c=y!==c;t.lastScrollTop=y,t.lastScrollLeft=l,t.lastScrollTime=Date.now(),(u.isHover||n)&&t.clearHoverRow(),v&&"left"===o?syncBodyScroll(t,o,y=v.scrollTop,p,f):f&&"right"===o?syncBodyScroll(t,o,y=f.scrollTop,p,v):(d&&(m&&(m.scrollLeft=p.scrollLeft),r&&(r.scrollLeft=p.scrollLeft)),(v||f)&&(t.checkScrolling(),c&&syncBodyScroll(t,o,y,v,f))),s&&d&&t.triggerScrollXEvent(e),a&&c&&t.triggerScrollYEvent(e),d&&g&&g.visible&&g.updatePlacement(),t.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:y,scrollLeft:l,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:i,bodyWidth:h,isX:d,isY:c},e)},handleWheel:function(s,a,e,c,d){var u=this,p=this.$parent,l=p.$refs,t=p.elemStore,o=p.scrollYLoad,r=p.scrollXLoad,i=l.tableBody,n=l.leftBody,l=l.rightBody,f=i.$el,h=n?n.$el:null,y=l?l.$el:null,n=this.isPrevWheelTop===a?Math.max(0,this.wheelYSize-this.wheelYTotal):0,l=t["main-body-ySpace"],t=t["main-body-xSpace"],v=(o&&l?l:f).clientHeight,g=(r&&t?t:f).clientWidth;this.isPrevWheelTop=a,this.wheelYSize=Math.abs(a?e-n:e+n),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),function e(){var l,t,o=u.fixedType,r=u.wheelYTotal,i=u.wheelYSize,n=u.wheelYInterval;r<i&&(i<(r+=n=Math.max(5,Math.floor(1.5*n)))&&(n-=r-i),t=f.scrollTop,l=f.clientHeight,i=f.scrollHeight,f.scrollTop=t=t+n*(a?-1:1),h&&(h.scrollTop=t),y&&(y.scrollTop=t),(a?t<i-l:0<=t)&&(u.wheelTime=setTimeout(e,10)),u.wheelYTotal=r,u.wheelYInterval=n,p.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:f.scrollTop,scrollLeft:f.scrollLeft,scrollHeight:f.scrollHeight,scrollWidth:f.scrollWidth,bodyHeight:v,bodyWidth:g,isX:c,isY:d},s))}()},wheelEvent:function(e){var l=e.deltaY,t=e.deltaX,o=this.$el,r=this.$parent,i=r.$refs,n=r.highlightHoverRow,s=r.scrollYLoad,a=r.lastScrollTop,c=r.lastScrollLeft,d=r.rowOpts,u=i.tableBody.$el,i=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t,t=i<0;(t?o.scrollTop<=0:o.scrollTop>=o.scrollHeight-o.clientHeight)||(o=o.scrollTop+i,c=(l=u.scrollLeft+l)!==c,(a=o!==a)&&(e.preventDefault(),r.lastScrollTop=o,r.lastScrollLeft=l,r.lastScrollTime=Date.now(),(d.isHover||n)&&r.clearHoverRow(),this.handleWheel(e,t,i,c,a),s&&r.triggerScrollYEvent(e)))}}};exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=_interopRequireDefault(require("../../v-x-e-table")),_tools=require("../../tools"),_util=require("./util"),_dom=require("../../tools/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,l,t){return l in e?Object.defineProperty(e,l,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[l]=t,e}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,l){if(e){if("string"==typeof e)return _arrayLikeToArray(e,l);var t=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(t="Object"===t&&e.constructor?e.constructor.name:t)||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,l):void 0}}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,l){(null==l||l>e.length)&&(l=e.length);for(var t=0,o=new Array(l);t<l;t++)o[t]=e[t];return o}var scrollProcessTimeout,renderType="body";function isOperateMouse(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,o){var r=o.row,i=o.column,n=t.treeOpts,s=t.treeConfig,a=t.fullAllDataRowIdData,c=i.slots,d=i.treeNode,u=a[_tools.UtilTools.getRowid(t,r)],i=0,a=0,r=[];return u&&(i=u.level,a=u._index,r=u.items),c&&c.line?t.callSlot(c.line,o,e):s&&d&&n.line?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:"".concat((0,_util.calcTreeLine)(o,r,a),"px"),left:"".concat(i*n.indent+(i?2-(0,_util.getOffsetSize)(t):0)+16,"px")}})])]:[]}function renderColumn(e,l,t,o,r,i,n,s,a,c,d,u,p,h,f){var y,v=t.$listeners,g=t.afterFullData,m=t.tableData,w=t.height,x=t.columnKey,b=t.overflowX,T=t.sYOpts,_=t.scrollXLoad,S=t.scrollYLoad,O=t.highlightCurrentRow,$=t.showOverflow,C=t.isAllOverflow,L=t.align,I=t.currentColumn,k=t.cellClassName,H=t.cellStyle,E=t.mergeList,R=t.spanMethod,A=t.radioOpts,Y=t.checkboxOpts,B=t.expandOpts,D=t.treeOpts,P=t.tooltipOpts,M=t.mouseConfig,U=t.editConfig,W=t.editOpts,q=t.editRules,X=t.validOpts,j=t.editStore,N=t.validStore,z=t.tooltipConfig,F=t.rowOpts,V=u.type,K=u.cellRender,G=u.editRender,J=u.align,Q=u.showOverflow,Z=u.className,ee=u.treeNode,le=j.actived,te=T.rHeight,oe=F.height,re=P.showAll||P.enabled,ie=t.getColumnIndex(u),ne=t.getVTColumnIndex(u),j=(0,_tools.isEnableConf)(G),T=i?u.fixed!==i:u.fixed&&b,P=_xeUtils.default.isUndefined(Q)||_xeUtils.default.isNull(Q)?$:Q,b="ellipsis"===P,se="title"===P,ae=!0===P||"tooltip"===P,Q=se||ae||b,P={},J=J||L,L=N.row===s&&N.column===u,q=q&&X.showMessage&&("default"===X.message?w||1<m.length:"inline"===X.message),w={colid:u.id},ce=v["cell-mouseenter"],de=v["cell-mouseleave"],X=G&&U&&"dblclick"===W.trigger,ue={$table:t,seq:o,rowid:r,row:s,rowIndex:a,$rowIndex:c,_rowIndex:d,column:u,columnIndex:ie,$columnIndex:p,_columnIndex:ne,fixed:i,type:renderType,isHidden:T,level:n,visibleData:g,data:m,items:f};if(!_&&!S||Q||(b=Q=!0),(se||ae||re||ce||z)&&(P.mouseenter=function(e){isOperateMouse(t)||(se?_tools.DomTools.updateCellTitle(e.currentTarget,u):(ae||re)&&t.triggerBodyTooltipEvent(e,ue),ce&&t.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},ue),e))}),(ae||re||de||z)&&(P.mouseleave=function(e){isOperateMouse(t)||((ae||re)&&t.handleTargetLeaveEvent(e),de&&t.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ue),e))}),(Y.range||M)&&(P.mousedown=function(e){t.triggerCellMousedownEvent(e,ue)}),(F.isCurrent||O||v["cell-click"]||G&&U||"row"===B.trigger||"cell"===B.trigger||"row"===A.trigger||"radio"===u.type&&"cell"===A.trigger||"row"===Y.trigger||"checkbox"===u.type&&"cell"===Y.trigger||"row"===D.trigger||u.treeNode&&"cell"===D.trigger)&&(P.click=function(e){t.triggerCellClickEvent(e,ue)}),(X||v["cell-dblclick"])&&(P.dblclick=function(e){t.triggerCellDblclickEvent(e,ue)}),E.length){d=(0,_util.mergeBodyMethod)(E,d,ne);if(d){var ne=d.rowspan,pe=d.colspan;if(!ne||!pe)return null;1<ne&&(w.rowspan=ne),1<pe&&(w.colspan=pe)}}else if(R){pe=R(ue)||{},R=pe.rowspan,R=void 0===R?1:R,pe=pe.colspan,pe=void 0===pe?1:pe;if(!R||!pe)return null;1<R&&(w.rowspan=R),1<pe&&(w.colspan=pe)}!(T=T&&E&&(1<w.colspan||1<w.rowspan)?!1:T)&&U&&(G||K)&&(W.showStatus||W.showUpdateStatus)&&(y=t.isUpdateByRow(s,u.property));K=[];return T&&$&&C?K.push(e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""}})):(K.push.apply(K,_toConsumableArray(renderLine(e,l,t,ue)).concat([e("div",{class:["vxe-cell",{"c--title":se,"c--tooltip":ae,"c--ellipsis":b}],style:{maxHeight:Q&&(te||oe)?"".concat(te||oe,"px"):""},attrs:{title:se?t.getCellLabel(s,u):null}},u.renderCell(e,ue))])),q&&L&&K.push(e("div",{class:"vxe-cell--valid",style:N.rule&&N.rule.maxWidth?{width:"".concat(N.rule.maxWidth,"px")}:null},[e("span",{class:"vxe-cell--valid-msg"},N.content)]))),e("td",{class:["vxe-body--column",u.id,(_defineProperty(e={},"col--".concat(J),J),_defineProperty(e,"col--".concat(V),V),_defineProperty(e,"col--last",p===h.length-1),_defineProperty(e,"col--tree-node",ee),_defineProperty(e,"col--edit",j),_defineProperty(e,"col--ellipsis",Q),_defineProperty(e,"fixed--hidden",T),_defineProperty(e,"col--dirty",y),_defineProperty(e,"col--actived",U&&j&&le.row===s&&(le.column===u||"row"===W.mode)),_defineProperty(e,"col--valid-error",L),_defineProperty(e,"col--current",I===u),e),_tools.UtilTools.getClass(Z,ue),_tools.UtilTools.getClass(k,ue)],key:x?u.id:p,attrs:w,style:Object.assign({height:Q&&(te||oe)?"".concat(te||oe,"px"):""},H?_xeUtils.default.isFunction(H)?H(ue):H:null),on:P},K)}function renderRows(p,h,f,y,v,g){var m=f.stripe,w=f.rowKey,x=f.highlightHoverRow,b=f.rowClassName,T=f.rowStyle,_=f.editConfig,S=f.showOverflow,O=f.treeConfig,$=f.treeOpts,C=f.editOpts,L=f.treeExpandeds,I=f.scrollYLoad,k=f.editStore,H=f.rowExpandeds,E=f.radioOpts,R=f.checkboxOpts,A=f.expandColumn,Y=f.hasFixedColumn,B=f.fullAllDataRowIdData,D=f.rowOpts,P=[];return v.forEach(function(t,o){var e={},r=f.getVTRowIndex(t),i=f.getRowIndex(t);(D.isHover||x)&&(e.mouseenter=function(e){isOperateMouse(f)||f.triggerHoverEvent(e,{row:t,rowIndex:i})},e.mouseleave=function(){isOperateMouse(f)||f.clearHoverRow()});var l,n,s=_tools.UtilTools.getRowid(f,t),a=B[s],c=a?a.level:0,d=a?a.seq:-1,u={$table:f,seq:d,rowid:s,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},a=!1;_&&(a=-1<k.insertList.indexOf(t)),P.push(p("tr",{class:["vxe-body--row",{"row--stripe":m&&(f.getVTRowIndex(t)+1)%2==0,"is--new":a,"row--new":a&&(C.showStatus||C.showInsertStatus),"row--radio":E.highlight&&f.selectRow===t,"row--checked":R.highlight&&f.isCheckedByCheckboxRow(t)},b?_xeUtils.default.isFunction(b)?b(u):b:""],attrs:{rowid:s},style:T?_xeUtils.default.isFunction(T)?T(u):T:null,key:w||O?s:o,on:e},g.map(function(e,l){return renderColumn(p,h,f,d,s,y,c,t,i,o,r,e,l,g,v)}))),A&&H.length&&-1<H.indexOf(t)&&(O&&(l={paddingLeft:"".concat(c*$.indent+30,"px")}),n=A.showOverflow,u=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?S:n,n={$table:f,seq:d,column:A,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},P.push(p("tr",{class:"vxe-body--expanded-row",key:"expand_".concat(s),style:T?_xeUtils.default.isFunction(T)?T(n):T:null,on:e},[p("td",{class:["vxe-body--expanded-column",{"fixed--hidden":y&&!Y,"col--ellipsis":u}],attrs:{colspan:g.length}},[p("div",{class:"vxe-body--expanded-cell",style:l},[A.renderData(p,n)])])]))),!O||I||$.transform||!L.length||(n=t[$.children])&&n.length&&-1<L.indexOf(t)&&P.push.apply(P,_toConsumableArray(renderRows(p,h,f,y,n,g)))}),P}function syncBodyScroll(r,i,e,n,s){(n||s)&&(n&&((0,_util.removeScrollListener)(n),n.scrollTop=e),s&&((0,_util.removeScrollListener)(s),s.scrollTop=e),clearTimeout(scrollProcessTimeout),scrollProcessTimeout=setTimeout(function(){var e=r.$refs,l=e.tableBody,t=e.leftBody,o=e.rightBody,e=l.$el,l=t?t.$el:null,t=o?o.$el:null;(0,_util.restoreScrollListener)(n),(0,_util.restoreScrollListener)(s);o=e.scrollTop;"left"===i?l&&(o=l.scrollTop):"right"===i&&t&&(o=t.scrollTop),(0,_dom.setScrollTop)(e,o),(0,_dom.setScrollTop)(l,o),(0,_dom.setScrollTop)(t,o)},300))}var _default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data:function(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted:function(){var e=this.$parent,l=this.$el,t=this.$refs,o=this.fixedType,e=e.elemStore,o="".concat(o||"main","-body-");e["".concat(o,"wrapper")]=l,e["".concat(o,"table")]=t.table,e["".concat(o,"colgroup")]=t.colgroup,e["".concat(o,"list")]=t.tbody,e["".concat(o,"xSpace")]=t.xSpace,e["".concat(o,"ySpace")]=t.ySpace,e["".concat(o,"emptyBlock")]=t.emptyBlock,this.$el.onscroll=this.scrollEvent,this.$el._onscroll=this.scrollEvent},beforeDestroy:function(){clearTimeout(this.wheelTime),this.$el._onscroll=null,this.$el.onscroll=null},destroyed:function(){var e=this.$parent,l=this.fixedType,e=e.elemStore,l="".concat(l||"main","-body-");e["".concat(l,"wrapper")]=null,e["".concat(l,"table")]=null,e["".concat(l,"colgroup")]=null,e["".concat(l,"list")]=null,e["".concat(l,"xSpace")]=null,e["".concat(l,"ySpace")]=null,e["".concat(l,"emptyBlock")]=null},render:function(t){var e=this._e,l=this.$parent,o=this.fixedColumn,r=this.fixedType,i=l.$scopedSlots,n=l.tId,s=l.tableData,a=l.tableColumn,c=l.visibleColumn,d=l.showOverflow,u=l.keyboardConfig,p=l.keyboardOpts,h=l.mergeList,f=l.spanMethod,y=l.scrollXLoad,v=l.scrollYLoad,g=l.isAllOverflow,m=l.emptyOpts,w=l.mouseConfig,x=l.mouseOpts,b=l.sYOpts;return r&&(a=!(y||v||d&&g)||h.length||f||u&&p.isMerge?c:o),m=i.empty?i.empty.call(this,{$table:l},t):(i=(i=m.name?_vXETable.default.renderer.get(m.name):null)?i.renderEmpty:null)?i.call(this,t,m,{$table:l}):l.emptyText||_conf.default.i18n("vxe.table.emptyText"),t("div",{class:["vxe-table--body-wrapper",r?"fixed-".concat(r,"--wrapper"):"body--wrapper"],attrs:{xid:n},on:v&&"wheel"===b.mode?{wheel:this.wheelEvent}:{}},[r?e():t("div",{class:"vxe-body--x-space",ref:"xSpace"}),t("div",{class:"vxe-body--y-space",ref:"ySpace"}),t("table",{class:"vxe-table--body",attrs:{xid:n,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},a.map(function(e,l){return t("col",{attrs:{name:e.id},key:l})})),t("tbody",{ref:"tbody"},renderRows(t,this,l,r,s,a))]),t("div",{class:"vxe-table--checkbox-range"}),w&&x.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},x.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown:function(e){l.triggerCellExtendMousedownEvent(e,{$table:l,fixed:r,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"})]):null,r?null:t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},m)])])},methods:{scrollEvent:function(e){var l=this.$el,t=this.$parent,o=this.fixedType,r=t.$refs,i=t.elemStore,n=t.highlightHoverRow,s=t.scrollXLoad,a=t.scrollYLoad,c=t.lastScrollTop,d=t.lastScrollLeft,u=t.rowOpts,p=r.tableHeader,h=r.tableBody,f=r.leftBody,y=r.rightBody,v=r.tableFooter,g=r.validTip,m=p?p.$el:null,r=v?v.$el:null,p=h.$el,v=f?f.$el:null,h=y?y.$el:null,f=i["main-body-ySpace"],y=i["main-body-xSpace"],i=(a&&f?f:p).clientHeight,f=(s&&y?y:p).clientWidth,y=l.scrollTop,l=p.scrollLeft,d=l!==d,c=y!==c;t.lastScrollTop=y,t.lastScrollLeft=l,t.lastScrollTime=Date.now(),(u.isHover||n)&&t.clearHoverRow(),v&&"left"===o?syncBodyScroll(t,o,y=v.scrollTop,p,h):h&&"right"===o?syncBodyScroll(t,o,y=h.scrollTop,p,v):(d&&(m&&(m.scrollLeft=p.scrollLeft),r&&(r.scrollLeft=p.scrollLeft)),(v||h)&&(t.checkScrolling(),c&&syncBodyScroll(t,o,y,v,h))),s&&d&&t.triggerScrollXEvent(e),a&&c&&t.triggerScrollYEvent(e),d&&g&&g.visible&&g.updatePlacement(),t.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:y,scrollLeft:l,scrollHeight:p.scrollHeight,scrollWidth:p.scrollWidth,bodyHeight:i,bodyWidth:f,isX:d,isY:c},e)},handleWheel:function(s,a,e,c,d){var u=this,p=this.$parent,l=p.$refs,t=p.elemStore,o=p.scrollYLoad,r=p.scrollXLoad,i=l.tableBody,n=l.leftBody,l=l.rightBody,h=i.$el,f=n?n.$el:null,y=l?l.$el:null,n=this.isPrevWheelTop===a?Math.max(0,this.wheelYSize-this.wheelYTotal):0,l=t["main-body-ySpace"],t=t["main-body-xSpace"],v=(o&&l?l:h).clientHeight,g=(r&&t?t:h).clientWidth;this.isPrevWheelTop=a,this.wheelYSize=Math.abs(a?e-n:e+n),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),function e(){var l,t,o=u.fixedType,r=u.wheelYTotal,i=u.wheelYSize,n=u.wheelYInterval;r<i&&(i<(r+=n=Math.max(5,Math.floor(1.5*n)))&&(n-=r-i),t=h.scrollTop,l=h.clientHeight,i=h.scrollHeight,h.scrollTop=t=t+n*(a?-1:1),f&&(f.scrollTop=t),y&&(y.scrollTop=t),(a?t<i-l:0<=t)&&(u.wheelTime=setTimeout(e,10)),u.wheelYTotal=r,u.wheelYInterval=n,p.emitEvent("scroll",{type:renderType,fixed:o,scrollTop:h.scrollTop,scrollLeft:h.scrollLeft,scrollHeight:h.scrollHeight,scrollWidth:h.scrollWidth,bodyHeight:v,bodyWidth:g,isX:c,isY:d},s))}()},wheelEvent:function(e){var l=e.deltaY,t=e.deltaX,o=this.$el,r=this.$parent,i=r.$refs,n=r.highlightHoverRow,s=r.scrollYLoad,a=r.lastScrollTop,c=r.lastScrollLeft,d=r.rowOpts,u=i.tableBody.$el,i=l,l=i<0;(l?o.scrollTop<=0:o.scrollTop>=o.scrollHeight-o.clientHeight)||(o=o.scrollTop+i,c=(t=u.scrollLeft+t)!==c,(a=o!==a)&&(e.preventDefault(),r.lastScrollTop=o,r.lastScrollLeft=t,r.lastScrollTime=Date.now(),(d.isHover||n)&&r.clearHoverRow(),this.handleWheel(e,l,i,c,a),s&&r.triggerScrollYEvent(e)))}}};exports.default=_default;
@@ -3521,22 +3521,35 @@ var Methods = {
3521
3521
  }, tooltipOpts.leaveDelay);
3522
3522
  return false;
3523
3523
  },
3524
- handleTargetEnterEvent: function handleTargetEnterEvent() {
3524
+ handleTargetEnterEvent: function handleTargetEnterEvent(isClear) {
3525
+ var $tooltip = this.$refs.tooltip;
3525
3526
  clearTimeout(this.tooltipTimeout);
3526
3527
  this.tooltipActive = true;
3527
- this.closeTooltip();
3528
+
3529
+ if (isClear) {
3530
+ this.closeTooltip();
3531
+ } else {
3532
+ if ($tooltip) {
3533
+ $tooltip.setActived(true);
3534
+ }
3535
+ }
3528
3536
  },
3529
3537
  handleTargetLeaveEvent: function handleTargetLeaveEvent() {
3530
3538
  var _this30 = this;
3531
3539
 
3532
3540
  var tooltipOpts = this.tooltipOpts;
3541
+ var $tooltip = this.$refs.tooltip;
3533
3542
  this.tooltipActive = false;
3534
3543
 
3544
+ if ($tooltip) {
3545
+ $tooltip.setActived(false);
3546
+ }
3547
+
3535
3548
  if (tooltipOpts.enterable) {
3536
3549
  this.tooltipTimeout = setTimeout(function () {
3537
- var tooltip = _this30.$refs.tooltip;
3550
+ $tooltip = _this30.$refs.tooltip;
3538
3551
 
3539
- if (tooltip && !tooltip.isHover) {
3552
+ if ($tooltip && !$tooltip.isActived()) {
3540
3553
  _this30.closeTooltip();
3541
3554
  }
3542
3555
  }, tooltipOpts.leaveDelay);
@@ -3551,15 +3564,15 @@ var Methods = {
3551
3564
  if (titleHelp.content || titleHelp.message) {
3552
3565
  var $refs = this.$refs,
3553
3566
  tooltipStore = this.tooltipStore;
3554
- var tooltip = $refs.tooltip;
3567
+ var $tooltip = $refs.tooltip;
3555
3568
 
3556
3569
  var content = _tools.UtilTools.getFuncText(titleHelp.content || titleHelp.message);
3557
3570
 
3558
- this.handleTargetEnterEvent();
3571
+ this.handleTargetEnterEvent(true);
3559
3572
  tooltipStore.visible = true;
3560
3573
 
3561
- if (tooltip) {
3562
- tooltip.open(evnt.currentTarget, content);
3574
+ if ($tooltip) {
3575
+ $tooltip.open(evnt.currentTarget, content);
3563
3576
  }
3564
3577
  }
3565
3578
  },
@@ -3571,7 +3584,7 @@ var Methods = {
3571
3584
  var tooltipStore = this.tooltipStore;
3572
3585
  var column = params.column;
3573
3586
  var titleElem = evnt.currentTarget;
3574
- this.handleTargetEnterEvent();
3587
+ this.handleTargetEnterEvent(tooltipStore.column !== column || tooltipStore.row);
3575
3588
 
3576
3589
  if (tooltipStore.column !== column || !tooltipStore.visible) {
3577
3590
  this.handleTooltip(evnt, titleElem, titleElem, null, params);
@@ -3590,7 +3603,7 @@ var Methods = {
3590
3603
  var row = params.row,
3591
3604
  column = params.column;
3592
3605
  var cell = evnt.currentTarget;
3593
- this.handleTargetEnterEvent();
3606
+ this.handleTargetEnterEvent(tooltipStore.column !== column || tooltipStore.row !== row);
3594
3607
 
3595
3608
  if ((0, _utils.isEnableConf)(editConfig)) {
3596
3609
  if (editOpts.mode === 'row' && actived.row === row || actived.row === row && actived.column === column) {
@@ -3623,7 +3636,7 @@ var Methods = {
3623
3636
  var column = params.column;
3624
3637
  var tooltipStore = this.tooltipStore;
3625
3638
  var cell = evnt.currentTarget;
3626
- this.handleTargetEnterEvent();
3639
+ this.handleTargetEnterEvent(true);
3627
3640
 
3628
3641
  if (tooltipStore.column !== column || !tooltipStore.visible) {
3629
3642
  this.handleTooltip(evnt, cell, cell.querySelector('.vxe-cell--item') || cell.children[0], null, params);