vxe-table 3.4.7-beta.1 → 3.4.9

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.
@@ -39,13 +39,28 @@ function isOperateMouse($xetable) {
39
39
  return $xetable._isResize || $xetable.lastScrollTime && Date.now() < $xetable.lastScrollTime + $xetable.delayHover;
40
40
  }
41
41
 
42
- function renderLine(h, _vm, $xetable, rowLevel, items, params) {
43
- var column = params.column;
42
+ function renderLine(h, _vm, $xetable, params) {
43
+ var row = params.row,
44
+ column = params.column;
44
45
  var treeOpts = $xetable.treeOpts,
45
- treeConfig = $xetable.treeConfig;
46
+ treeConfig = $xetable.treeConfig,
47
+ fullAllDataRowIdData = $xetable.fullAllDataRowIdData;
46
48
  var slots = column.slots,
47
49
  treeNode = column.treeNode;
48
50
 
51
+ var rowid = _tools.UtilTools.getRowid($xetable, row);
52
+
53
+ var rest = fullAllDataRowIdData[rowid];
54
+ var rLevel = 0;
55
+ var rIndex = 0;
56
+ var items = [];
57
+
58
+ if (rest) {
59
+ rLevel = rest.level;
60
+ rIndex = rest._index;
61
+ items = rest.items;
62
+ }
63
+
49
64
  if (slots && slots.line) {
50
65
  return $xetable.callSlot(slots.line, params, h);
51
66
  }
@@ -56,8 +71,8 @@ function renderLine(h, _vm, $xetable, rowLevel, items, params) {
56
71
  }, [h('div', {
57
72
  class: 'vxe-tree--line',
58
73
  style: {
59
- height: "".concat((0, _util.calcTreeLine)(params, items), "px"),
60
- left: "".concat(rowLevel * treeOpts.indent + (rowLevel ? 2 - (0, _util.getOffsetSize)($xetable) : 0) + 16, "px")
74
+ height: "".concat((0, _util.calcTreeLine)(params, items, rIndex), "px"),
75
+ left: "".concat(rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xetable) : 0) + 16, "px")
61
76
  }
62
77
  })])];
63
78
  }
@@ -292,7 +307,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
292
307
  }));
293
308
  } else {
294
309
  // 渲染单元格
295
- tdVNs.push.apply(tdVNs, _toConsumableArray(renderLine(h, _vm, $xetable, rowLevel, items, params)).concat([h('div', {
310
+ tdVNs.push.apply(tdVNs, _toConsumableArray(renderLine(h, _vm, $xetable, params)).concat([h('div', {
296
311
  class: ['vxe-cell', {
297
312
  'c--title': showTitle,
298
313
  'c--tooltip': showTooltip,
@@ -348,7 +363,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
348
363
  checkboxOpts = $xetable.checkboxOpts,
349
364
  expandColumn = $xetable.expandColumn,
350
365
  hasFixedColumn = $xetable.hasFixedColumn,
351
- fullDataRowIdData = $xetable.fullDataRowIdData,
366
+ fullAllDataRowIdData = $xetable.fullAllDataRowIdData,
352
367
  rowOpts = $xetable.rowOpts;
353
368
  var rows = [];
354
369
  tableData.forEach(function (row, $rowIndex) {
@@ -383,7 +398,7 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
383
398
 
384
399
  var rowid = _tools.UtilTools.getRowid($xetable, row);
385
400
 
386
- var rest = fullDataRowIdData[rowid];
401
+ var rest = fullAllDataRowIdData[rowid];
387
402
  var rowLevel = rest ? rest.level : 0;
388
403
  var seq = rest ? rest.seq : -1;
389
404
  var params = {
@@ -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,r,i){var n=i.column,s=t.treeOpts,a=t.treeConfig,c=n.slots,n=n.treeNode;return c&&c.line?t.callSlot(c.line,i,e):a&&n&&s.line?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:"".concat((0,_util.calcTreeLine)(i,r),"px"),left:"".concat(o*s.indent+(o?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,x=t.height,w=t.columnKey,b=t.overflowX,T=t.sYOpts,_=t.scrollXLoad,S=t.scrollYLoad,O=t.highlightCurrentRow,C=t.showOverflow,L=t.isAllOverflow,$=t.align,I=t.currentColumn,k=t.cellClassName,E=t.cellStyle,H=t.mergeList,R=t.spanMethod,Y=t.radioOpts,A=t.checkboxOpts,P=t.expandOpts,B=t.treeOpts,D=t.tooltipOpts,M=t.mouseConfig,U=t.editConfig,q=t.editOpts,W=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=D.showAll||D.enabled,ie=t.getColumnIndex(u),ne=t.getVTColumnIndex(u),j=(0,_tools.isEnableConf)(G),T=i?u.fixed!==i:u.fixed&&b,D=_xeUtils.default.isUndefined(Q)||_xeUtils.default.isNull(Q)?C:Q,b="ellipsis"===D,se="title"===D,ae=!0===D||"tooltip"===D,Q=se||ae||b,D={},J=J||$,$=N.row===s&&N.column===u,W=W&&X.showMessage&&("default"===X.message?x||1<m.length:"inline"===X.message),x={colid:u.id},ce=v["cell-mouseenter"],de=v["cell-mouseleave"],X=G&&U&&"dblclick"===q.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)&&(D.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)&&(D.mouseleave=function(e){isOperateMouse(t)||((ae||re)&&t.handleTargetLeaveEvent(e),de&&t.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},ue),e))}),(A.range||M)&&(D.mousedown=function(e){t.triggerCellMousedownEvent(e,ue)}),(F.isCurrent||O||v["cell-click"]||G&&U||"row"===P.trigger||"cell"===P.trigger||"row"===Y.trigger||"radio"===u.type&&"cell"===Y.trigger||"row"===A.trigger||"checkbox"===u.type&&"cell"===A.trigger||"row"===B.trigger||u.treeNode&&"cell"===B.trigger)&&(D.click=function(e){t.triggerCellClickEvent(e,ue)}),(X||v["cell-dblclick"])&&(D.dblclick=function(e){t.triggerCellDblclickEvent(e,ue)}),H.length){d=(0,_util.mergeBodyMethod)(H,d,ne);if(d){var ne=d.rowspan,pe=d.colspan;if(!ne||!pe)return null;1<ne&&(x.rowspan=ne),1<pe&&(x.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&&(x.rowspan=R),1<pe&&(x.colspan=pe)}!(T=T&&H&&(1<x.colspan||1<x.rowspan)?!1:T)&&U&&(G||K)&&(q.showStatus||q.showUpdateStatus)&&(y=t.isUpdateByRow(s,u.property));K=[];return T&&C&&L?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,n,h,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))])),W&&$&&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"===q.mode)),_defineProperty(e,"col--valid-error",$),_defineProperty(e,"col--current",I===u),e),_tools.UtilTools.getClass(Z,ue),_tools.UtilTools.getClass(k,ue)],key:w?u.id:p,attrs:x,style:Object.assign({height:Q&&(te||oe)?"".concat(te||oe,"px"):""},E?_xeUtils.default.isFunction(E)?E(ue):E:null),on:D},K)}function renderRows(p,f,h,y,v,g){var m=h.stripe,x=h.rowKey,w=h.highlightHoverRow,b=h.rowClassName,T=h.rowStyle,_=h.editConfig,S=h.showOverflow,O=h.treeConfig,C=h.treeOpts,L=h.editOpts,$=h.treeExpandeds,I=h.scrollYLoad,k=h.editStore,E=h.rowExpandeds,H=h.radioOpts,R=h.checkboxOpts,Y=h.expandColumn,A=h.hasFixedColumn,P=h.fullDataRowIdData,B=h.rowOpts,D=[];return v.forEach(function(t,o){var e={},r=h.getVTRowIndex(t),i=h.getRowIndex(t);(B.isHover||w)&&(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=P[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)),D.push(p("tr",{class:["vxe-body--row",{"row--stripe":m&&(h.getVTRowIndex(t)+1)%2==0,"is--new":a,"row--new":a&&(L.showStatus||L.showInsertStatus),"row--radio":H.highlight&&h.selectRow===t,"row--checked":R.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:x||O?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)}))),Y&&E.length&&-1<E.indexOf(t)&&(O&&(l={paddingLeft:"".concat(c*C.indent+30,"px")}),n=Y.showOverflow,u=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?S:n,n={$table:h,seq:d,column:Y,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},D.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&&!A,"col--ellipsis":u}],attrs:{colspan:g.length}},[p("div",{class:"vxe-body--expanded-cell",style:l},[Y.renderData(p,n)])])]))),!O||I||C.transform||!$.length||(n=t[C.children])&&n.length&&-1<$.indexOf(t)&&D.push.apply(D,_toConsumableArray(renderRows(p,f,h,y,n,g)))}),D}function syncBodyScroll(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(scrollProcessTimeout),scrollProcessTimeout=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(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},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,x=l.mouseConfig,w=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"}),x&&w.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},w.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=h?h.clientHeight:0,h=y?y.clientWidth:0,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(y=v.scrollTop,p,f):f&&"right"===o?syncBodyScroll(y=f.scrollTop,p,v):(d&&(m&&(m.scrollLeft=p.scrollLeft),r&&(r.scrollLeft=p.scrollLeft)),(v||f)&&(t.checkScrolling(),c&&syncBodyScroll(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,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=l.tableBody,r=l.leftBody,l=l.rightBody,f=o.$el,h=r?r.$el:null,y=l?l.$el:null,r=this.isPrevWheelTop===a?Math.max(0,this.wheelYSize-this.wheelYTotal):0,l=t["main-body-ySpace"],t=t["main-body-xSpace"],v=l?l.clientHeight:0,g=t?t.clientWidth:0;this.isPrevWheelTop=a,this.wheelYSize=Math.abs(a?e-r:e+r),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,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,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,O=t.highlightCurrentRow,C=t.showOverflow,L=t.isAllOverflow,$=t.align,I=t.currentColumn,k=t.cellClassName,E=t.cellStyle,R=t.mergeList,A=t.spanMethod,H=t.radioOpts,Y=t.checkboxOpts,D=t.expandOpts,P=t.treeOpts,B=t.tooltipOpts,M=t.mouseConfig,U=t.editConfig,q=t.editOpts,W=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=B.showAll||B.enabled,ie=t.getColumnIndex(u),ne=t.getVTColumnIndex(u),j=(0,_tools.isEnableConf)(G),T=i?u.fixed!==i:u.fixed&&b,B=_xeUtils.default.isUndefined(Q)||_xeUtils.default.isNull(Q)?C:Q,b="ellipsis"===B,se="title"===B,ae=!0===B||"tooltip"===B,Q=se||ae||b,B={},J=J||$,$=N.row===s&&N.column===u,W=W&&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"===q.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)&&(B.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)&&(B.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)&&(B.mousedown=function(e){t.triggerCellMousedownEvent(e,ue)}),(F.isCurrent||O||v["cell-click"]||G&&U||"row"===D.trigger||"cell"===D.trigger||"row"===H.trigger||"radio"===u.type&&"cell"===H.trigger||"row"===Y.trigger||"checkbox"===u.type&&"cell"===Y.trigger||"row"===P.trigger||u.treeNode&&"cell"===P.trigger)&&(B.click=function(e){t.triggerCellClickEvent(e,ue)}),(X||v["cell-dblclick"])&&(B.dblclick=function(e){t.triggerCellDblclickEvent(e,ue)}),R.length){d=(0,_util.mergeBodyMethod)(R,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(A){pe=A(ue)||{},A=pe.rowspan,A=void 0===A?1:A,pe=pe.colspan,pe=void 0===pe?1:pe;if(!A||!pe)return null;1<A&&(w.rowspan=A),1<pe&&(w.colspan=pe)}!(T=T&&R&&(1<w.colspan||1<w.rowspan)?!1:T)&&U&&(G||K)&&(q.showStatus||q.showUpdateStatus)&&(y=t.isUpdateByRow(s,u.property));K=[];return T&&C&&L?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))])),W&&$&&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"===q.mode)),_defineProperty(e,"col--valid-error",$),_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"):""},E?_xeUtils.default.isFunction(E)?E(ue):E:null),on:B},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,O=h.treeConfig,C=h.treeOpts,L=h.editOpts,$=h.treeExpandeds,I=h.scrollYLoad,k=h.editStore,E=h.rowExpandeds,R=h.radioOpts,A=h.checkboxOpts,H=h.expandColumn,Y=h.hasFixedColumn,D=h.fullAllDataRowIdData,P=h.rowOpts,B=[];return v.forEach(function(t,o){var e={},r=h.getVTRowIndex(t),i=h.getRowIndex(t);(P.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=D[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)),B.push(p("tr",{class:["vxe-body--row",{"row--stripe":m&&(h.getVTRowIndex(t)+1)%2==0,"is--new":a,"row--new":a&&(L.showStatus||L.showInsertStatus),"row--radio":R.highlight&&h.selectRow===t,"row--checked":A.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||O?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)}))),H&&E.length&&-1<E.indexOf(t)&&(O&&(l={paddingLeft:"".concat(c*C.indent+30,"px")}),n=H.showOverflow,u=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?S:n,n={$table:h,seq:d,column:H,fixed:y,type:renderType,level:c,row:t,rowIndex:i,$rowIndex:o},B.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},[H.renderData(p,n)])])]))),!O||I||C.transform||!$.length||(n=t[C.children])&&n.length&&-1<$.indexOf(t)&&B.push.apply(B,_toConsumableArray(renderRows(p,f,h,y,n,g)))}),B}function syncBodyScroll(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(scrollProcessTimeout),scrollProcessTimeout=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(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},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=h?h.clientHeight:0,h=y?y.clientWidth:0,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(y=v.scrollTop,p,f):f&&"right"===o?syncBodyScroll(y=f.scrollTop,p,v):(d&&(m&&(m.scrollLeft=p.scrollLeft),r&&(r.scrollLeft=p.scrollLeft)),(v||f)&&(t.checkScrolling(),c&&syncBodyScroll(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,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=l.tableBody,r=l.leftBody,l=l.rightBody,f=o.$el,h=r?r.$el:null,y=l?l.$el:null,r=this.isPrevWheelTop===a?Math.max(0,this.wheelYSize-this.wheelYTotal):0,l=t["main-body-ySpace"],t=t["main-body-xSpace"],v=l?l.clientHeight:0,g=t?t.clientWidth:0;this.isPrevWheelTop=a,this.wheelYSize=Math.abs(a?e-r:e+r),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,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;
@@ -416,7 +416,7 @@ var Methods = {
416
416
  },
417
417
 
418
418
  /**
419
- * 同步 data 数据
419
+ * 同步 data 数据(即将废弃)
420
420
  * 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
421
421
  * 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
422
422
  */
@@ -441,32 +441,17 @@ var Methods = {
441
441
  handleTableData: function handleTableData(force) {
442
442
  var _this2 = this;
443
443
 
444
- var treeConfig = this.treeConfig,
445
- scrollYLoad = this.scrollYLoad,
444
+ var scrollYLoad = this.scrollYLoad,
446
445
  scrollYStore = this.scrollYStore,
447
446
  fullDataRowIdData = this.fullDataRowIdData,
448
- treeExpandeds = this.treeExpandeds,
449
- treeOpts = this.treeOpts;
450
- var fullList = []; // 是否进行数据处理
447
+ afterFullData = this.afterFullData;
448
+ var fullList = afterFullData; // 是否进行数据处理
451
449
 
452
450
  if (force) {
453
- this.updateAfterFullData();
454
- } // 如果为虚拟树,将树结构拍平
455
-
451
+ // 更新数据,处理筛选和排序
452
+ this.updateAfterFullData(); // 如果为虚拟树,将树结构拍平
456
453
 
457
- if (treeConfig && treeOpts.transform) {
458
- var expandMaps = new Map();
459
-
460
- _xeUtils.default.eachTree(this.afterTreeFullData, function (row, index, items, path, parent) {
461
- if (!parent || expandMaps.has(parent) && treeExpandeds.indexOf(parent) > -1) {
462
- expandMaps.set(row, 1);
463
- fullList.push(row);
464
- }
465
- }, {
466
- children: treeOpts.mapChildren
467
- });
468
- } else {
469
- fullList = this.afterFullData;
454
+ fullList = this.handleVirtualTreeToList();
470
455
  }
471
456
 
472
457
  var tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
@@ -861,7 +846,9 @@ var Methods = {
861
846
  fullDataRowMap = this.fullDataRowMap,
862
847
  fullAllDataRowMap = this.fullAllDataRowMap,
863
848
  fullAllDataRowIdData = this.fullAllDataRowIdData;
864
- var children = treeOpts.children;
849
+ var transform = treeOpts.transform,
850
+ children = treeOpts.children,
851
+ mapChildren = treeOpts.mapChildren;
865
852
  var rest = fullAllDataRowIdData[getRowid(this, row)];
866
853
  var parentLevel = rest ? rest.level : 0;
867
854
  return this.createData(childRecords).then(function (rows) {
@@ -897,6 +884,11 @@ var Methods = {
897
884
  }, treeOpts);
898
885
 
899
886
  row[children] = rows;
887
+
888
+ if (transform) {
889
+ row[mapChildren] = rows;
890
+ }
891
+
900
892
  return rows;
901
893
  });
902
894
  },
@@ -1549,6 +1541,38 @@ var Methods = {
1549
1541
  return rowList;
1550
1542
  },
1551
1543
 
1544
+ /**
1545
+ * 如果为虚拟树,将树结构拍平
1546
+ * @returns
1547
+ */
1548
+ handleVirtualTreeToList: function handleVirtualTreeToList() {
1549
+ var treeOpts = this.treeOpts,
1550
+ treeConfig = this.treeConfig,
1551
+ treeExpandeds = this.treeExpandeds,
1552
+ afterTreeFullData = this.afterTreeFullData,
1553
+ afterFullData = this.afterFullData;
1554
+
1555
+ if (treeConfig && treeOpts.transform) {
1556
+ var fullData = [];
1557
+ var expandMaps = new Map();
1558
+
1559
+ _xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path, parent) {
1560
+ if (!parent || expandMaps.has(parent) && treeExpandeds.indexOf(parent) > -1) {
1561
+ expandMaps.set(row, 1);
1562
+ fullData.push(row);
1563
+ }
1564
+ }, {
1565
+ children: treeOpts.mapChildren
1566
+ });
1567
+
1568
+ this.afterFullData = fullData;
1569
+ this.updateScrollYStatus(fullData);
1570
+ return fullData;
1571
+ }
1572
+
1573
+ return afterFullData;
1574
+ },
1575
+
1552
1576
  /**
1553
1577
  * 获取处理后全量的表格数据
1554
1578
  * 如果存在筛选条件,继续处理
@@ -1673,58 +1697,91 @@ var Methods = {
1673
1697
  };
1674
1698
 
1675
1699
  if (treeConfig && transform) {
1700
+ // 筛选虚拟树
1676
1701
  tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, _objectSpread(_objectSpread({}, treeOpts), {}, {
1677
1702
  original: true
1678
1703
  }));
1704
+ tableData = tableTree;
1679
1705
  } else {
1680
1706
  tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter);
1681
1707
  tableTree = tableData;
1682
1708
  }
1683
1709
  } else {
1684
- tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
1685
- tableTree = tableData;
1710
+ if (treeConfig && transform) {
1711
+ // 还原虚拟树
1712
+ tableTree = _xeUtils.default.searchTree(tableFullTreeData, function () {
1713
+ return true;
1714
+ }, _objectSpread(_objectSpread({}, treeOpts), {}, {
1715
+ original: true
1716
+ }));
1717
+ tableData = tableTree;
1718
+ } else {
1719
+ tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
1720
+ tableTree = tableData;
1721
+ }
1686
1722
  }
1687
1723
 
1688
1724
  var firstOrderColumn = orderColumns[0];
1689
1725
 
1690
1726
  if (!allRemoteSort && firstOrderColumn) {
1691
- if (allSortMethod) {
1692
- var sortRests = allSortMethod({
1693
- data: tableData,
1694
- column: firstOrderColumn.column,
1695
- property: firstOrderColumn.property,
1696
- order: firstOrderColumn.order,
1697
- sortList: orderColumns,
1698
- $table: this
1699
- });
1700
- tableData = _xeUtils.default.isArray(sortRests) ? sortRests : tableData;
1701
- } else {
1702
- // 兼容 v4
1703
- if (sortMultiple) {
1704
- tableData = _xeUtils.default.orderBy(tableData, orderColumns.map(function (_ref2) {
1727
+ if (treeConfig && transform) {
1728
+ // 虚拟树和列表一样,只能排序根级节点
1729
+ if (allSortMethod) {
1730
+ var sortRests = allSortMethod({
1731
+ data: tableTree,
1732
+ sortList: orderColumns,
1733
+ $table: this
1734
+ });
1735
+ tableTree = _xeUtils.default.isArray(sortRests) ? sortRests : tableTree;
1736
+ } else {
1737
+ tableTree = _xeUtils.default.orderBy(tableTree, orderColumns.map(function (_ref2) {
1705
1738
  var column = _ref2.column,
1706
1739
  order = _ref2.order;
1707
1740
  return [getOrderField(_this16, column), order];
1708
1741
  }));
1742
+ }
1743
+
1744
+ tableData = tableTree;
1745
+ } else {
1746
+ if (allSortMethod) {
1747
+ var _sortRests = allSortMethod({
1748
+ data: tableData,
1749
+ column: firstOrderColumn.column,
1750
+ property: firstOrderColumn.property,
1751
+ order: firstOrderColumn.order,
1752
+ sortList: orderColumns,
1753
+ $table: this
1754
+ });
1755
+
1756
+ tableData = _xeUtils.default.isArray(_sortRests) ? _sortRests : tableData;
1709
1757
  } else {
1710
- // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
1711
- var sortByConfs;
1758
+ // 兼容 v4
1759
+ if (sortMultiple) {
1760
+ tableData = _xeUtils.default.orderBy(tableData, orderColumns.map(function (_ref3) {
1761
+ var column = _ref3.column,
1762
+ order = _ref3.order;
1763
+ return [getOrderField(_this16, column), order];
1764
+ }));
1765
+ } else {
1766
+ // 兼容 v2,在 v4 中废弃, sortBy 不能为数组
1767
+ var sortByConfs;
1712
1768
 
1713
- if (_xeUtils.default.isArray(firstOrderColumn.sortBy)) {
1714
- sortByConfs = firstOrderColumn.sortBy.map(function (item) {
1715
- return [item, firstOrderColumn.order];
1716
- });
1717
- }
1769
+ if (_xeUtils.default.isArray(firstOrderColumn.sortBy)) {
1770
+ sortByConfs = firstOrderColumn.sortBy.map(function (item) {
1771
+ return [item, firstOrderColumn.order];
1772
+ });
1773
+ }
1718
1774
 
1719
- tableData = _xeUtils.default.orderBy(tableData, sortByConfs || [firstOrderColumn].map(function (_ref3) {
1720
- var column = _ref3.column,
1721
- order = _ref3.order;
1722
- return [getOrderField(_this16, column), order];
1723
- }));
1775
+ tableData = _xeUtils.default.orderBy(tableData, sortByConfs || [firstOrderColumn].map(function (_ref4) {
1776
+ var column = _ref4.column,
1777
+ order = _ref4.order;
1778
+ return [getOrderField(_this16, column), order];
1779
+ }));
1780
+ }
1724
1781
  }
1725
- }
1726
1782
 
1727
- tableTree = tableData;
1783
+ tableTree = tableData;
1784
+ }
1728
1785
  }
1729
1786
 
1730
1787
  this.afterFullData = tableData;
@@ -1750,30 +1807,15 @@ var Methods = {
1750
1807
  _xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path) {
1751
1808
  var rowid = getRowid(_this17, row);
1752
1809
  var allrest = fullAllDataRowIdData[rowid];
1753
- var fullrest = fullDataRowIdData[rowid];
1754
1810
  var seq = path.map(function (num, i) {
1755
1811
  return i % 2 === 0 ? Number(num) + 1 : '.';
1756
1812
  }).join('');
1757
1813
 
1758
1814
  if (allrest) {
1759
1815
  allrest.seq = seq;
1760
- }
1761
-
1762
- if (fullrest) {
1763
- fullrest.seq = seq;
1816
+ allrest._index = index;
1764
1817
  } else {
1765
- fullAllDataRowIdData[rowid] = {
1766
- row: row,
1767
- rowid: rowid,
1768
- seq: seq,
1769
- index: -1,
1770
- $index: -1,
1771
- _index: index,
1772
- items: [],
1773
- parent: null,
1774
- level: 0
1775
- };
1776
- fullDataRowIdData[rowid] = {
1818
+ var rest = {
1777
1819
  row: row,
1778
1820
  rowid: rowid,
1779
1821
  seq: seq,
@@ -1784,35 +1826,23 @@ var Methods = {
1784
1826
  parent: null,
1785
1827
  level: 0
1786
1828
  };
1829
+ fullAllDataRowIdData[rowid] = rest;
1830
+ fullDataRowIdData[rowid] = rest;
1787
1831
  }
1788
- }, treeOpts);
1832
+ }, {
1833
+ children: treeOpts.mapChildren
1834
+ });
1789
1835
  } else {
1790
1836
  afterFullData.forEach(function (row, index) {
1791
1837
  var rowid = getRowid(_this17, row);
1792
1838
  var allrest = fullAllDataRowIdData[rowid];
1793
- var fullrest = fullDataRowIdData[rowid];
1794
1839
  var seq = index + 1;
1795
1840
 
1796
1841
  if (allrest) {
1797
1842
  allrest.seq = seq;
1798
- }
1799
-
1800
- if (fullrest) {
1801
- fullrest.seq = seq;
1802
- fullrest._index = index;
1843
+ allrest._index = index;
1803
1844
  } else {
1804
- fullAllDataRowIdData[rowid] = {
1805
- row: row,
1806
- rowid: rowid,
1807
- seq: seq,
1808
- index: -1,
1809
- $index: -1,
1810
- _index: index,
1811
- items: [],
1812
- parent: null,
1813
- level: 0
1814
- };
1815
- fullDataRowIdData[rowid] = {
1845
+ var rest = {
1816
1846
  row: row,
1817
1847
  rowid: rowid,
1818
1848
  seq: seq,
@@ -1823,6 +1853,8 @@ var Methods = {
1823
1853
  parent: null,
1824
1854
  level: 0
1825
1855
  };
1856
+ fullAllDataRowIdData[rowid] = rest;
1857
+ fullDataRowIdData[rowid] = rest;
1826
1858
  }
1827
1859
  });
1828
1860
  }
@@ -2049,9 +2081,9 @@ var Methods = {
2049
2081
  }
2050
2082
  });
2051
2083
 
2052
- _xeUtils.default.each(customMap, function (_ref4, field) {
2053
- var visible = _ref4.visible,
2054
- resizeWidth = _ref4.resizeWidth;
2084
+ _xeUtils.default.each(customMap, function (_ref5, field) {
2085
+ var visible = _ref5.visible,
2086
+ resizeWidth = _ref5.resizeWidth;
2055
2087
  var column = keyMap[field];
2056
2088
 
2057
2089
  if (column) {
@@ -3690,10 +3722,10 @@ var Methods = {
3690
3722
  * 多选,行选中事件
3691
3723
  * value 选中true 不选false 半选-1
3692
3724
  */
3693
- handleSelectRow: function handleSelectRow(_ref5, value) {
3725
+ handleSelectRow: function handleSelectRow(_ref6, value) {
3694
3726
  var _this30 = this;
3695
3727
 
3696
- var row = _ref5.row;
3728
+ var row = _ref6.row;
3697
3729
  var selection = this.selection,
3698
3730
  afterFullData = this.afterFullData,
3699
3731
  treeConfig = this.treeConfig,
@@ -4513,8 +4545,8 @@ var Methods = {
4513
4545
  /**
4514
4546
  * 行 hover 事件
4515
4547
  */
4516
- triggerHoverEvent: function triggerHoverEvent(evnt, _ref6) {
4517
- var row = _ref6.row;
4548
+ triggerHoverEvent: function triggerHoverEvent(evnt, _ref7) {
4549
+ var row = _ref7.row;
4518
4550
  this.setHoverRow(row);
4519
4551
  },
4520
4552
  setHoverRow: function setHoverRow(row) {
@@ -5284,7 +5316,8 @@ var Methods = {
5284
5316
  var treeOpts = this.treeOpts,
5285
5317
  treeExpandeds = this.treeExpandeds,
5286
5318
  fullAllDataRowMap = this.fullAllDataRowMap;
5287
- var lazy = treeOpts.lazy;
5319
+ var transform = treeOpts.transform,
5320
+ lazy = treeOpts.lazy;
5288
5321
  var rest = fullAllDataRowMap.get(row);
5289
5322
 
5290
5323
  if (lazy && rest) {
@@ -5295,6 +5328,11 @@ var Methods = {
5295
5328
  });
5296
5329
  }
5297
5330
 
5331
+ if (transform) {
5332
+ this.handleVirtualTreeToList();
5333
+ return this.handleTableData();
5334
+ }
5335
+
5298
5336
  return this.$nextTick();
5299
5337
  },
5300
5338
 
@@ -5316,6 +5354,8 @@ var Methods = {
5316
5354
  return _this42.handleAsyncTreeExpandChilds(row);
5317
5355
  }).then(function () {
5318
5356
  if (transform) {
5357
+ _this42.handleVirtualTreeToList();
5358
+
5319
5359
  return _this42.handleTableData();
5320
5360
  }
5321
5361
  }).then(function () {
@@ -5404,7 +5444,8 @@ var Methods = {
5404
5444
  treeOpts = this.treeOpts,
5405
5445
  treeLazyLoadeds = this.treeLazyLoadeds,
5406
5446
  checkboxOpts = this.checkboxOpts;
5407
- var loadMethod = treeOpts.loadMethod;
5447
+ var transform = treeOpts.transform,
5448
+ loadMethod = treeOpts.loadMethod;
5408
5449
  var checkStrictly = checkboxOpts.checkStrictly;
5409
5450
  var rest = fullAllDataRowMap.get(row);
5410
5451
  return new Promise(function (resolve) {
@@ -5435,10 +5476,24 @@ var Methods = {
5435
5476
  if (!checkStrictly && _this43.isCheckedByCheckboxRow(row)) {
5436
5477
  _this43.setCheckboxRow(childRows, true);
5437
5478
  }
5479
+
5480
+ _this43.$nextTick().then(function () {
5481
+ if (transform) {
5482
+ return _this43.handleTableData();
5483
+ }
5484
+ }).then(function () {
5485
+ return _this43.recalculate();
5486
+ }).then(function () {
5487
+ return resolve();
5488
+ });
5489
+ });
5490
+ } else {
5491
+ _this43.$nextTick().then(function () {
5492
+ return _this43.recalculate();
5493
+ }).then(function () {
5494
+ return resolve();
5438
5495
  });
5439
5496
  }
5440
-
5441
- resolve(_this43.$nextTick().then(_this43.recalculate));
5442
5497
  });
5443
5498
  });
5444
5499
  },
@@ -5553,6 +5608,8 @@ var Methods = {
5553
5608
  var _this45 = this;
5554
5609
 
5555
5610
  return this.handleBaseTreeExpand(rows, expanded).then(function () {
5611
+ _this45.handleVirtualTreeToList();
5612
+
5556
5613
  return _this45.handleTableData();
5557
5614
  }).then(function () {
5558
5615
  return _this45.recalculate();
@@ -5605,7 +5662,8 @@ var Methods = {
5605
5662
  var treeOpts = this.treeOpts,
5606
5663
  treeExpandeds = this.treeExpandeds,
5607
5664
  tableFullData = this.tableFullData;
5608
- var reserve = treeOpts.reserve;
5665
+ var transform = treeOpts.transform,
5666
+ reserve = treeOpts.reserve;
5609
5667
  var isExists = treeExpandeds.length;
5610
5668
  this.treeExpandeds = [];
5611
5669
 
@@ -5616,6 +5674,12 @@ var Methods = {
5616
5674
  }
5617
5675
 
5618
5676
  return this.handleTableData().then(function () {
5677
+ if (transform) {
5678
+ _this46.handleVirtualTreeToList();
5679
+
5680
+ return _this46.handleTableData();
5681
+ }
5682
+ }).then(function () {
5619
5683
  if (isExists) {
5620
5684
  _this46.recalculate();
5621
5685
  }
@@ -6087,8 +6151,8 @@ var Methods = {
6087
6151
  }
6088
6152
 
6089
6153
  _this50.clearValidate();
6090
- }).catch(function (_ref7) {
6091
- var rule = _ref7.rule;
6154
+ }).catch(function (_ref8) {
6155
+ var rule = _ref8.rule;
6092
6156
 
6093
6157
  if (customVal) {
6094
6158
  setCellValue(row, column, cellValue);