vxe-table 3.4.7-beta.2 → 3.4.10-beta.0
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 +196 -128
- 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 +141 -99
- 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 +10 -3
- 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 +82 -45
- package/packages/table/src/util.js +9 -6
- package/packages/validator/src/mixin.js +9 -3
- 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
|
-
|
|
456
|
-
|
|
457
|
-
if (treeConfig && treeOpts.transform) {
|
|
458
|
-
var expandMaps = new Map();
|
|
451
|
+
// 更新数据,处理筛选和排序
|
|
452
|
+
this.updateAfterFullData(); // 如果为虚拟树,将树结构拍平
|
|
459
453
|
|
|
460
|
-
|
|
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);
|
|
@@ -1556,6 +1541,38 @@ var Methods = {
|
|
|
1556
1541
|
return rowList;
|
|
1557
1542
|
},
|
|
1558
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
|
+
|
|
1559
1576
|
/**
|
|
1560
1577
|
* 获取处理后全量的表格数据
|
|
1561
1578
|
* 如果存在筛选条件,继续处理
|
|
@@ -1680,58 +1697,91 @@ var Methods = {
|
|
|
1680
1697
|
};
|
|
1681
1698
|
|
|
1682
1699
|
if (treeConfig && transform) {
|
|
1700
|
+
// 筛选虚拟树
|
|
1683
1701
|
tableTree = _xeUtils.default.searchTree(tableFullTreeData, handleFilter, _objectSpread(_objectSpread({}, treeOpts), {}, {
|
|
1684
1702
|
original: true
|
|
1685
1703
|
}));
|
|
1704
|
+
tableData = tableTree;
|
|
1686
1705
|
} else {
|
|
1687
1706
|
tableData = treeConfig ? tableFullTreeData.filter(handleFilter) : tableFullData.filter(handleFilter);
|
|
1688
1707
|
tableTree = tableData;
|
|
1689
1708
|
}
|
|
1690
1709
|
} else {
|
|
1691
|
-
|
|
1692
|
-
|
|
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
|
+
}
|
|
1693
1722
|
}
|
|
1694
1723
|
|
|
1695
1724
|
var firstOrderColumn = orderColumns[0];
|
|
1696
1725
|
|
|
1697
1726
|
if (!allRemoteSort && firstOrderColumn) {
|
|
1698
|
-
if (
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
// 兼容 v4
|
|
1710
|
-
if (sortMultiple) {
|
|
1711
|
-
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) {
|
|
1712
1738
|
var column = _ref2.column,
|
|
1713
1739
|
order = _ref2.order;
|
|
1714
1740
|
return [getOrderField(_this16, column), order];
|
|
1715
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;
|
|
1716
1757
|
} else {
|
|
1717
|
-
// 兼容
|
|
1718
|
-
|
|
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;
|
|
1719
1768
|
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1769
|
+
if (_xeUtils.default.isArray(firstOrderColumn.sortBy)) {
|
|
1770
|
+
sortByConfs = firstOrderColumn.sortBy.map(function (item) {
|
|
1771
|
+
return [item, firstOrderColumn.order];
|
|
1772
|
+
});
|
|
1773
|
+
}
|
|
1725
1774
|
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
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
|
+
}
|
|
1731
1781
|
}
|
|
1732
|
-
}
|
|
1733
1782
|
|
|
1734
|
-
|
|
1783
|
+
tableTree = tableData;
|
|
1784
|
+
}
|
|
1735
1785
|
}
|
|
1736
1786
|
|
|
1737
1787
|
this.afterFullData = tableData;
|
|
@@ -1757,30 +1807,15 @@ var Methods = {
|
|
|
1757
1807
|
_xeUtils.default.eachTree(afterTreeFullData, function (row, index, items, path) {
|
|
1758
1808
|
var rowid = getRowid(_this17, row);
|
|
1759
1809
|
var allrest = fullAllDataRowIdData[rowid];
|
|
1760
|
-
var fullrest = fullDataRowIdData[rowid];
|
|
1761
1810
|
var seq = path.map(function (num, i) {
|
|
1762
1811
|
return i % 2 === 0 ? Number(num) + 1 : '.';
|
|
1763
1812
|
}).join('');
|
|
1764
1813
|
|
|
1765
1814
|
if (allrest) {
|
|
1766
1815
|
allrest.seq = seq;
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
if (fullrest) {
|
|
1770
|
-
fullrest.seq = seq;
|
|
1816
|
+
allrest._index = index;
|
|
1771
1817
|
} else {
|
|
1772
|
-
|
|
1773
|
-
row: row,
|
|
1774
|
-
rowid: rowid,
|
|
1775
|
-
seq: seq,
|
|
1776
|
-
index: -1,
|
|
1777
|
-
$index: -1,
|
|
1778
|
-
_index: index,
|
|
1779
|
-
items: [],
|
|
1780
|
-
parent: null,
|
|
1781
|
-
level: 0
|
|
1782
|
-
};
|
|
1783
|
-
fullDataRowIdData[rowid] = {
|
|
1818
|
+
var rest = {
|
|
1784
1819
|
row: row,
|
|
1785
1820
|
rowid: rowid,
|
|
1786
1821
|
seq: seq,
|
|
@@ -1791,35 +1826,23 @@ var Methods = {
|
|
|
1791
1826
|
parent: null,
|
|
1792
1827
|
level: 0
|
|
1793
1828
|
};
|
|
1829
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
1830
|
+
fullDataRowIdData[rowid] = rest;
|
|
1794
1831
|
}
|
|
1795
|
-
},
|
|
1832
|
+
}, {
|
|
1833
|
+
children: treeOpts.mapChildren
|
|
1834
|
+
});
|
|
1796
1835
|
} else {
|
|
1797
1836
|
afterFullData.forEach(function (row, index) {
|
|
1798
1837
|
var rowid = getRowid(_this17, row);
|
|
1799
1838
|
var allrest = fullAllDataRowIdData[rowid];
|
|
1800
|
-
var fullrest = fullDataRowIdData[rowid];
|
|
1801
1839
|
var seq = index + 1;
|
|
1802
1840
|
|
|
1803
1841
|
if (allrest) {
|
|
1804
1842
|
allrest.seq = seq;
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
if (fullrest) {
|
|
1808
|
-
fullrest.seq = seq;
|
|
1809
|
-
fullrest._index = index;
|
|
1843
|
+
allrest._index = index;
|
|
1810
1844
|
} else {
|
|
1811
|
-
|
|
1812
|
-
row: row,
|
|
1813
|
-
rowid: rowid,
|
|
1814
|
-
seq: seq,
|
|
1815
|
-
index: -1,
|
|
1816
|
-
$index: -1,
|
|
1817
|
-
_index: index,
|
|
1818
|
-
items: [],
|
|
1819
|
-
parent: null,
|
|
1820
|
-
level: 0
|
|
1821
|
-
};
|
|
1822
|
-
fullDataRowIdData[rowid] = {
|
|
1845
|
+
var rest = {
|
|
1823
1846
|
row: row,
|
|
1824
1847
|
rowid: rowid,
|
|
1825
1848
|
seq: seq,
|
|
@@ -1830,6 +1853,8 @@ var Methods = {
|
|
|
1830
1853
|
parent: null,
|
|
1831
1854
|
level: 0
|
|
1832
1855
|
};
|
|
1856
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
1857
|
+
fullDataRowIdData[rowid] = rest;
|
|
1833
1858
|
}
|
|
1834
1859
|
});
|
|
1835
1860
|
}
|
|
@@ -2056,9 +2081,9 @@ var Methods = {
|
|
|
2056
2081
|
}
|
|
2057
2082
|
});
|
|
2058
2083
|
|
|
2059
|
-
_xeUtils.default.each(customMap, function (
|
|
2060
|
-
var visible =
|
|
2061
|
-
resizeWidth =
|
|
2084
|
+
_xeUtils.default.each(customMap, function (_ref5, field) {
|
|
2085
|
+
var visible = _ref5.visible,
|
|
2086
|
+
resizeWidth = _ref5.resizeWidth;
|
|
2062
2087
|
var column = keyMap[field];
|
|
2063
2088
|
|
|
2064
2089
|
if (column) {
|
|
@@ -3697,10 +3722,10 @@ var Methods = {
|
|
|
3697
3722
|
* 多选,行选中事件
|
|
3698
3723
|
* value 选中true 不选false 半选-1
|
|
3699
3724
|
*/
|
|
3700
|
-
handleSelectRow: function handleSelectRow(
|
|
3725
|
+
handleSelectRow: function handleSelectRow(_ref6, value) {
|
|
3701
3726
|
var _this30 = this;
|
|
3702
3727
|
|
|
3703
|
-
var row =
|
|
3728
|
+
var row = _ref6.row;
|
|
3704
3729
|
var selection = this.selection,
|
|
3705
3730
|
afterFullData = this.afterFullData,
|
|
3706
3731
|
treeConfig = this.treeConfig,
|
|
@@ -4520,8 +4545,8 @@ var Methods = {
|
|
|
4520
4545
|
/**
|
|
4521
4546
|
* 行 hover 事件
|
|
4522
4547
|
*/
|
|
4523
|
-
triggerHoverEvent: function triggerHoverEvent(evnt,
|
|
4524
|
-
var row =
|
|
4548
|
+
triggerHoverEvent: function triggerHoverEvent(evnt, _ref7) {
|
|
4549
|
+
var row = _ref7.row;
|
|
4525
4550
|
this.setHoverRow(row);
|
|
4526
4551
|
},
|
|
4527
4552
|
setHoverRow: function setHoverRow(row) {
|
|
@@ -5291,7 +5316,8 @@ var Methods = {
|
|
|
5291
5316
|
var treeOpts = this.treeOpts,
|
|
5292
5317
|
treeExpandeds = this.treeExpandeds,
|
|
5293
5318
|
fullAllDataRowMap = this.fullAllDataRowMap;
|
|
5294
|
-
var
|
|
5319
|
+
var transform = treeOpts.transform,
|
|
5320
|
+
lazy = treeOpts.lazy;
|
|
5295
5321
|
var rest = fullAllDataRowMap.get(row);
|
|
5296
5322
|
|
|
5297
5323
|
if (lazy && rest) {
|
|
@@ -5302,6 +5328,11 @@ var Methods = {
|
|
|
5302
5328
|
});
|
|
5303
5329
|
}
|
|
5304
5330
|
|
|
5331
|
+
if (transform) {
|
|
5332
|
+
this.handleVirtualTreeToList();
|
|
5333
|
+
return this.handleTableData();
|
|
5334
|
+
}
|
|
5335
|
+
|
|
5305
5336
|
return this.$nextTick();
|
|
5306
5337
|
},
|
|
5307
5338
|
|
|
@@ -5323,6 +5354,8 @@ var Methods = {
|
|
|
5323
5354
|
return _this42.handleAsyncTreeExpandChilds(row);
|
|
5324
5355
|
}).then(function () {
|
|
5325
5356
|
if (transform) {
|
|
5357
|
+
_this42.handleVirtualTreeToList();
|
|
5358
|
+
|
|
5326
5359
|
return _this42.handleTableData();
|
|
5327
5360
|
}
|
|
5328
5361
|
}).then(function () {
|
|
@@ -5575,6 +5608,8 @@ var Methods = {
|
|
|
5575
5608
|
var _this45 = this;
|
|
5576
5609
|
|
|
5577
5610
|
return this.handleBaseTreeExpand(rows, expanded).then(function () {
|
|
5611
|
+
_this45.handleVirtualTreeToList();
|
|
5612
|
+
|
|
5578
5613
|
return _this45.handleTableData();
|
|
5579
5614
|
}).then(function () {
|
|
5580
5615
|
return _this45.recalculate();
|
|
@@ -5627,7 +5662,8 @@ var Methods = {
|
|
|
5627
5662
|
var treeOpts = this.treeOpts,
|
|
5628
5663
|
treeExpandeds = this.treeExpandeds,
|
|
5629
5664
|
tableFullData = this.tableFullData;
|
|
5630
|
-
var
|
|
5665
|
+
var transform = treeOpts.transform,
|
|
5666
|
+
reserve = treeOpts.reserve;
|
|
5631
5667
|
var isExists = treeExpandeds.length;
|
|
5632
5668
|
this.treeExpandeds = [];
|
|
5633
5669
|
|
|
@@ -5638,6 +5674,12 @@ var Methods = {
|
|
|
5638
5674
|
}
|
|
5639
5675
|
|
|
5640
5676
|
return this.handleTableData().then(function () {
|
|
5677
|
+
if (transform) {
|
|
5678
|
+
_this46.handleVirtualTreeToList();
|
|
5679
|
+
|
|
5680
|
+
return _this46.handleTableData();
|
|
5681
|
+
}
|
|
5682
|
+
}).then(function () {
|
|
5641
5683
|
if (isExists) {
|
|
5642
5684
|
_this46.recalculate();
|
|
5643
5685
|
}
|
|
@@ -6109,8 +6151,8 @@ var Methods = {
|
|
|
6109
6151
|
}
|
|
6110
6152
|
|
|
6111
6153
|
_this50.clearValidate();
|
|
6112
|
-
}).catch(function (
|
|
6113
|
-
var rule =
|
|
6154
|
+
}).catch(function (_ref8) {
|
|
6155
|
+
var rule = _ref8.rule;
|
|
6114
6156
|
|
|
6115
6157
|
if (customVal) {
|
|
6116
6158
|
setCellValue(row, column, cellValue);
|