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.
- package/lib/edit/src/mixin.js +12 -4
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/export/src/mixin.js +4 -8
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/index.umd.js +214 -130
- package/lib/index.umd.min.js +1 -1
- package/lib/table/src/body.js +23 -8
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +167 -103
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +11 -7
- package/lib/table/src/util.min.js +1 -1
- package/lib/validator/src/mixin.js +1 -1
- package/lib/validator/src/mixin.min.js +1 -1
- package/package.json +2 -3
- package/packages/edit/src/mixin.js +8 -4
- package/packages/export/src/mixin.js +5 -8
- package/packages/table/src/body.js +18 -8
- package/packages/table/src/methods.js +96 -48
- package/packages/table/src/util.js +9 -6
- package/packages/validator/src/mixin.js +1 -1
- package/types/table.d.ts +1 -0
package/lib/table/src/body.js
CHANGED
|
@@ -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,
|
|
43
|
-
var
|
|
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(
|
|
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,
|
|
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
|
-
|
|
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 =
|
|
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;
|
package/lib/table/src/methods.js
CHANGED
|
@@ -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
|
|
445
|
-
scrollYLoad = this.scrollYLoad,
|
|
444
|
+
var scrollYLoad = this.scrollYLoad,
|
|
446
445
|
scrollYStore = this.scrollYStore,
|
|
447
446
|
fullDataRowIdData = this.fullDataRowIdData,
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
var fullList = []; // 是否进行数据处理
|
|
447
|
+
afterFullData = this.afterFullData;
|
|
448
|
+
var fullList = afterFullData; // 是否进行数据处理
|
|
451
449
|
|
|
452
450
|
if (force) {
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
451
|
+
// 更新数据,处理筛选和排序
|
|
452
|
+
this.updateAfterFullData(); // 如果为虚拟树,将树结构拍平
|
|
456
453
|
|
|
457
|
-
|
|
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
|
|
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
|
-
|
|
1685
|
-
|
|
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 (
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
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
|
-
// 兼容
|
|
1711
|
-
|
|
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
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
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
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
-
|
|
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 (
|
|
2053
|
-
var visible =
|
|
2054
|
-
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(
|
|
3725
|
+
handleSelectRow: function handleSelectRow(_ref6, value) {
|
|
3694
3726
|
var _this30 = this;
|
|
3695
3727
|
|
|
3696
|
-
var 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,
|
|
4517
|
-
var 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
|
|
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
|
|
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
|
|
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 (
|
|
6091
|
-
var rule =
|
|
6154
|
+
}).catch(function (_ref8) {
|
|
6155
|
+
var rule = _ref8.rule;
|
|
6092
6156
|
|
|
6093
6157
|
if (customVal) {
|
|
6094
6158
|
setCellValue(row, column, cellValue);
|