vxe-table 4.1.13 → 4.1.14
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/es/table/src/body.js +26 -12
- package/es/table/src/table.js +4 -1
- package/lib/index.umd.js +35 -17
- package/lib/index.umd.min.js +1 -1
- package/lib/table/src/body.js +31 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +4 -2
- package/lib/table/src/table.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/src/body.ts +26 -12
- package/packages/table/src/table.ts +4 -1
package/lib/table/src/body.js
CHANGED
|
@@ -114,9 +114,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
114
114
|
};
|
|
115
115
|
|
|
116
116
|
var countTreeExpand = function countTreeExpand(prevRow, params) {
|
|
117
|
+
var count = 1;
|
|
118
|
+
|
|
119
|
+
if (!prevRow) {
|
|
120
|
+
return count;
|
|
121
|
+
}
|
|
122
|
+
|
|
117
123
|
var treeOpts = computeTreeOpts.value;
|
|
118
124
|
var rowChildren = prevRow[treeOpts.children];
|
|
119
|
-
var count = 1;
|
|
120
125
|
|
|
121
126
|
if ($xetable.isTreeExpandByRow(prevRow)) {
|
|
122
127
|
for (var index = 0; index < rowChildren.length; index++) {
|
|
@@ -127,15 +132,14 @@ var _default = (0, _vue.defineComponent)({
|
|
|
127
132
|
return count;
|
|
128
133
|
};
|
|
129
134
|
|
|
130
|
-
var calcTreeLine = function calcTreeLine(params, items) {
|
|
131
|
-
var $rowIndex = params.$rowIndex;
|
|
135
|
+
var calcTreeLine = function calcTreeLine(params, items, rIndex) {
|
|
132
136
|
var expandSize = 1;
|
|
133
137
|
|
|
134
|
-
if (
|
|
135
|
-
expandSize = countTreeExpand(items[
|
|
138
|
+
if (rIndex) {
|
|
139
|
+
expandSize = countTreeExpand(items[rIndex - 1], params);
|
|
136
140
|
}
|
|
137
141
|
|
|
138
|
-
return tableReactData.rowHeight * expandSize - (
|
|
142
|
+
return tableReactData.rowHeight * expandSize - (rIndex ? 1 : 12 - getOffsetSize());
|
|
139
143
|
}; // 滚动、拖动过程中不需要触发
|
|
140
144
|
|
|
141
145
|
|
|
@@ -146,12 +150,25 @@ var _default = (0, _vue.defineComponent)({
|
|
|
146
150
|
return _isResize || lastScrollTime && Date.now() < lastScrollTime + delayHover;
|
|
147
151
|
};
|
|
148
152
|
|
|
149
|
-
var renderLine = function renderLine(
|
|
150
|
-
var
|
|
153
|
+
var renderLine = function renderLine(params) {
|
|
154
|
+
var row = params.row,
|
|
155
|
+
column = params.column;
|
|
151
156
|
var treeConfig = tableProps.treeConfig;
|
|
152
157
|
var treeOpts = computeTreeOpts.value;
|
|
153
158
|
var slots = column.slots,
|
|
154
159
|
treeNode = column.treeNode;
|
|
160
|
+
var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData;
|
|
161
|
+
var rowid = (0, _util.getRowid)($xetable, row);
|
|
162
|
+
var rest = fullAllDataRowIdData[rowid];
|
|
163
|
+
var rLevel = 0;
|
|
164
|
+
var rIndex = 0;
|
|
165
|
+
var items = [];
|
|
166
|
+
|
|
167
|
+
if (rest) {
|
|
168
|
+
rLevel = rest.level;
|
|
169
|
+
rIndex = rest._index;
|
|
170
|
+
items = rest.items;
|
|
171
|
+
}
|
|
155
172
|
|
|
156
173
|
if (slots && slots.line) {
|
|
157
174
|
return $xetable.callSlot(slots.line, params);
|
|
@@ -163,8 +180,8 @@ var _default = (0, _vue.defineComponent)({
|
|
|
163
180
|
}, [(0, _vue.h)('div', {
|
|
164
181
|
class: 'vxe-tree--line',
|
|
165
182
|
style: {
|
|
166
|
-
height: calcTreeLine(params, items) + "px",
|
|
167
|
-
left:
|
|
183
|
+
height: calcTreeLine(params, items, rIndex) + "px",
|
|
184
|
+
left: rLevel * treeOpts.indent + (rLevel ? 2 - getOffsetSize() : 0) + 16 + "px"
|
|
168
185
|
}
|
|
169
186
|
})])];
|
|
170
187
|
}
|
|
@@ -382,7 +399,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
382
399
|
}));
|
|
383
400
|
} else {
|
|
384
401
|
// 渲染单元格
|
|
385
|
-
tdVNs.push.apply(tdVNs, __spreadArray(__spreadArray([], renderLine(
|
|
402
|
+
tdVNs.push.apply(tdVNs, __spreadArray(__spreadArray([], renderLine(params)), [(0, _vue.h)('div', {
|
|
386
403
|
class: ['vxe-cell', {
|
|
387
404
|
'c--title': showTitle,
|
|
388
405
|
'c--tooltip': showTooltip,
|
|
@@ -442,10 +459,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
442
459
|
var rows = [];
|
|
443
460
|
tableData.forEach(function (row, $rowIndex) {
|
|
444
461
|
var trOn = {};
|
|
445
|
-
var rowIndex = $rowIndex;
|
|
446
|
-
|
|
447
|
-
var _rowIndex = $xetable.getVTRowIndex(row); // 确保任何情况下 rowIndex 都精准指向真实 data 索引
|
|
448
|
-
|
|
462
|
+
var rowIndex = $rowIndex; // 确保任何情况下 rowIndex 都精准指向真实 data 索引
|
|
449
463
|
|
|
450
464
|
rowIndex = $xetable.getRowIndex(row); // 事件绑定
|
|
451
465
|
|
|
@@ -474,10 +488,12 @@ var _default = (0, _vue.defineComponent)({
|
|
|
474
488
|
var rest = fullAllDataRowIdData[rowid];
|
|
475
489
|
var rowLevel = 0;
|
|
476
490
|
var seq = -1;
|
|
491
|
+
var _rowIndex = 0;
|
|
477
492
|
|
|
478
493
|
if (rest) {
|
|
479
494
|
rowLevel = rest.level;
|
|
480
495
|
seq = rest.seq;
|
|
496
|
+
_rowIndex = rest._index;
|
|
481
497
|
}
|
|
482
498
|
|
|
483
499
|
var params = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function i(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function s(e,l){var t=e[u.value.children],o=1;if(re.isTreeExpandByRow(e))for(var r=0;r<t.length;r++)o+=s(t[r],l);return o}function oe(e,l,t){var o=t.column,r=ae.treeConfig,a=u.value,n=o.slots,o=o.treeNode;return n&&n.line?re.callSlot(n.line,t):r&&o&&a.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(r=l,l=(o=t).$rowIndex,t=1,l&&(t=s(r[l-1],o)),ne.rowHeight*t-(l?1:12-i())+"px"),left:e*a.indent+(e?2-i():0)+16+"px"}})])]:[]}function U(d,v,p){var f=ae.stripe,h=ae.rowKey,x=ae.highlightHoverRow,g=ae.rowClassName,_=ae.rowStyle,m=ae.showOverflow,y=ae.editConfig,w=ae.treeConfig,b=ne.hasFixedColumn,T=ne.treeExpandeds,S=ne.scrollYLoad,C=ne.editStore,L=ne.rowExpandeds,O=ne.expandColumn,R=ne.selectRow,E=ie.fullAllDataRowIdData,H=de.value,I=t.value,M=u.value,D=se.value,$=pe.value,k=M.transform,q=[];return v.forEach(function(t,o){var e={},r=re.getVTRowIndex(t),a=re.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){fe()||re.triggerHoverEvent(e,{row:t,rowIndex:a})},e.onMouseleave=function(){fe()||re.clearHoverRow()});var n=(0,_util.getRowid)(re,t),l=E[n],i=0,s=-1;l&&(i=l.level,s=l.seq);var u,c={$table:re,seq:s,rowid:n,fixed:d,type:renderType,level:i,row:t,rowIndex:a,$rowIndex:o,_rowIndex:r},l=!1;y&&(l=-1<re.findRowIndexOf(C.insertList,t)),q.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(re.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(D.showStatus||D.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":H.highlight&&re.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:n,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||w?n:o},e),p.map(function(e,l){return Y(s,n,d,i,t,a,o,r,e,l,p,v)}))),O&&L.length&&-1<re.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:i*M.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:re,seq:s,column:O,fixed:d,type:renderType,level:i,row:t,rowIndex:a,$rowIndex:o,_rowIndex:r},q.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+n,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[M.children])&&u.length&&-1<re.findRowIndexOf(T,t)&&q.push.apply(q,U(d,u,p))}),q}function m(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(t)},300))}function o(e){var l=_.fixedType,t=ae.highlightHoverRow,o=ne.scrollXLoad,r=ne.scrollYLoad,a=ie.elemStore,n=ie.lastScrollTop,i=ie.lastScrollLeft,s=pe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,v=a["main-body-ySpace"],p=a["main-body-xSpace"],a=v?v.clientHeight:0,v=p?p.clientWidth:0,p=h.scrollTop,i=(h=u.scrollLeft)!==i,n=p!==n;ie.lastScrollTop=p,ie.lastScrollLeft=h,ie.lastScrollTime=Date.now(),(s.isHover||t)&&re.clearHoverRow(),d&&"left"===l?(p=d.scrollTop,m(p,u,c)):c&&"right"===l?(p=c.scrollTop,m(p,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(re.checkScrolling(),n&&m(p,d,c))),o&&i&&re.triggerScrollXEvent(e),r&&n&&re.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p,scrollLeft:h,bodyHeight:a,bodyWidth:v,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ae.highlightHoverRow,r=ne.scrollYLoad,a=ie.lastScrollTop,n=ie.lastScrollLeft,i=pe.value,s=T.value,u=I.value,c=s.$el,s=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t;((t=s<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(l=c.scrollLeft+l)!==n,(a=u!==a)&&(e.preventDefault(),ie.lastScrollTop=u,ie.lastScrollLeft=l,ie.lastScrollTime=Date.now(),(i.isHover||o)&&re.clearHoverRow(),d(e,t,s,n,a),r&&re.triggerScrollYEvent(e)))}var r,f,re=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=re.xID,ae=re.props,w=re.context,ne=re.reactData,ie=re.internalData,e=re.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=re.getComputeMaps(),se=e.computeEditOpts,R=e.computeMouseOpts,ue=e.computeSYOpts,E=e.computeEmptyOpts,H=e.computeKeyboardOpts,ce=e.computeTooltipOpts,t=e.computeRadioOpts,u=e.computeTreeOpts,de=e.computeCheckboxOpts,ve=e.computeValidOpts,pe=e.computeRowOpts,I=(0,_vue.ref)(),M=(0,_vue.ref)(),D=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),q=(0,_vue.ref)(),B=(0,_vue.ref)(),fe=function(){var e=ae.delayHover,l=ie.lastScrollTime;return ie._isResize||l&&Date.now()<l+e},Y=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ae.columnKey,f=ae.height,h=ae.showOverflow,x=ae.cellClassName,g=ae.cellStyle,_=ae.align,m=ae.spanMethod,y=ae.mouseConfig,w=ae.editConfig,b=ae.editRules,T=ae.tooltipConfig,S=ne.tableData,C=ne.overflowX,L=ne.scrollYLoad,O=ne.currentColumn,R=ne.mergeList,E=ne.editStore,H=ne.validStore,I=ne.isAllOverflow,M=ie.afterFullData,D=ve.value,$=de.value,k=se.value,q=ce.value,U=pe.value,B=ue.value,Y=s.type,A=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,V=s.className,F=s.treeNode,W=E.actived,P=B.rHeight,z=U.height,K=q.showAll,G=re.getColumnIndex(s),E=re.getVTColumnIndex(s),B=(0,_utils.isEnableConf)(X),U=t?s.fixed!==t:s.fixed&&C,q=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===q,J="title"===q,Q=!0===q||"tooltip"===q,N=J||Q||C,q={},j=j||_,_=H.row===r&&H.column===s,f=b&&D.showMessage&&("default"===D.message?f||1<S.length:"inline"===D.message),D={colid:s.id},Z={$table:re,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:G,$columnIndex:u,_columnIndex:E,fixed:t,type:renderType,isHidden:U,level:o,visibleData:M,data:S,items:d};if(L&&!N&&(C=N=!0),(J||Q||K||T)&&(q.onMouseenter=function(e){fe()||(J?(0,_dom.updateCellTitle)(e.currentTarget,s):(Q||K)&&re.triggerBodyTooltipEvent(e,Z),re.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Z),e))}),(Q||K||T)&&(q.onMouseleave=function(e){fe()||((Q||K)&&re.handleTargetLeaveEvent(e),re.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Z),e))}),($.range||y)&&(q.onMousedown=function(e){re.triggerCellMousedownEvent(e,Z)}),q.onClick=function(e){re.triggerCellClickEvent(e,Z)},q.onDblclick=function(e){re.triggerCellDblclickEvent(e,Z)},R.length){var ee=(0,_util.mergeBodyMethod)(R,i,E);if(ee){var le=ee.rowspan,te=ee.colspan;if(!le||!te)return null;1<le&&(D.rowspan=le),1<te&&(D.colspan=te)}}else if(m){ee=m(Z)||{},m=ee.rowspan,le=void 0===m?1:m,ee=ee.colspan,te=void 0===ee?1:ee;if(!le||!te)return null;1<le&&(D.rowspan=le),1<te&&(D.colspan=te)}!(U=U&&R&&(1<D.colspan||1<D.rowspan)?!1:U)&&w&&(X||A)&&(k.showStatus||k.showUpdateStatus)&&(v=re.isUpdateByRow(r,s.property));A=[];return U&&h&&I?A.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(A.push.apply(A,__spreadArray(__spreadArray([],oe(o,d,Z)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:J?re.getCellLabel(r,s):null},s.renderCell(Z))])),f&&_&&A.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:H.rule&&H.rule.maxWidth?{width:H.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},H.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((H={})["col--"+j]=j,H["col--"+Y]=Y,H["col--last"]=u===c.length-1,H["col--tree-node"]=F,H["col--edit"]=B,H["col--ellipsis"]=N,H["fixed--hidden"]=U,H["col--dirty"]=v,H["col--actived"]=w&&B&&W.row===r&&(W.column===s||"row"===k.mode),H["col--valid-error"]=_,H["col--current"]=O===s,H),(0,_util.getPropClass)(V,Z),(0,_util.getPropClass)(x,Z)],key:p?s.id:u},D),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(Z):g:null)}),q),A)},h=0,x=0,A=0,X=!1,d=function(a,n,e,i,s){var l=ie.elemStore,t=T.value,o=C.value,r=L.value,u=o?o.$el:null,c=r?r.$el:null,d=t.$el,t=l["main-body-ySpace"],l=l["main-body-xSpace"],v=t?t.clientHeight:0,p=l?l.clientWidth:0,l=X===n?Math.max(0,h-A):0;X=n,h=Math.abs(n?e-l:e+l),A=x=0,clearTimeout(f),function e(){var l,t,o,r;A<h&&(l=_.fixedType,x=Math.max(5,Math.floor(1.5*x)),h<(A+=x)&&(x-=A-h),r=d.scrollTop,t=d.clientHeight,o=d.scrollHeight,r=r+x*(n?-1:1),d.scrollTop=r,u&&(u.scrollTop=r),c&&(c.scrollTop=r),(n?r<o-t:0<=r)&&(f=setTimeout(e,10)),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:d.scrollTop,scrollLeft:d.scrollLeft,bodyHeight:v,bodyWidth:p,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=ie.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I.value,l[t+"table"]=M.value,l[t+"colgroup"]=D.value,l[t+"list"]=$.value,l[t+"xSpace"]=k.value,l[t+"ySpace"]=q.value,l[t+"emptyBlock"]=B.value,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(f),e._onscroll=null,e.onscroll=null});return function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ae.keyboardConfig,r=ae.showOverflow,a=ae.spanMethod,n=ae.mouseConfig,i=ne.tableData,s=ne.mergeList,u=ne.scrollYLoad,c=ne.isAllOverflow,d=ie.visibleColumn,v=w.slots,p=ue.value,f=E.value,h=H.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?re.callSlot(v.empty,{$table:re}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:re}):ae.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},u&&"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:q,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:M,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:D},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},U(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){re.triggerCellExtendMousedownEvent(e,{$table:re,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("./util"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},__spreadArray=function(e,l){for(var t=0,o=l.length,r=e.length;t<o;t++,r++)e[r]=l[t];return e},renderType="body",lineOffsetSizes={mini:3,small:2,medium:1},_default=(0,_vue.defineComponent)({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:null}},setup:function(_){function u(){if(l){var e=l.value;if(e)return lineOffsetSizes[e]||0}return 0}function c(e,l){var t=1;if(!e)return t;var o=e[A.value.children];if(re.isTreeExpandByRow(e))for(var r=0;r<o.length;r++)t+=c(o[r],l);return t}function oe(e){var l=e.row,t=e.column,o=ae.treeConfig,r=A.value,a=t.slots,n=t.treeNode,i=ie.fullAllDataRowIdData[(0,_util.getRowid)(re,l)],s=0,t=0,l=[];return i&&(s=i.level,t=i._index,l=i.items),a&&a.line?re.callSlot(a.line,e):o&&n&&r.line?[(0,_vue.h)("div",{class:"vxe-tree--line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--line",style:{height:(n=e,e=l,l=1,(t=t)&&(l=c(e[t-1],n)),ne.rowHeight*l-(t?1:12-u())+"px"),left:s*r.indent+(s?2-u():0)+16+"px"}})])]:[]}function U(d,v,p){var f=ae.stripe,h=ae.rowKey,x=ae.highlightHoverRow,g=ae.rowClassName,_=ae.rowStyle,m=ae.showOverflow,y=ae.editConfig,w=ae.treeConfig,b=ne.hasFixedColumn,T=ne.treeExpandeds,S=ne.scrollYLoad,C=ne.editStore,L=ne.rowExpandeds,O=ne.expandColumn,R=ne.selectRow,E=ie.fullAllDataRowIdData,H=de.value,I=t.value,D=A.value,M=se.value,$=pe.value,k=D.transform,q=[];return v.forEach(function(t,o){var e={},r=re.getRowIndex(t);($.isHover||x)&&(e.onMouseenter=function(e){fe()||re.triggerHoverEvent(e,{row:t,rowIndex:r})},e.onMouseleave=function(){fe()||re.clearHoverRow()});var a=(0,_util.getRowid)(re,t),l=E[a],n=0,i=-1,s=0;l&&(n=l.level,i=l.seq,s=l._index);var u,c={$table:re,seq:i,rowid:a,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},l=!1;y&&(l=-1<re.findRowIndexOf(C.insertList,t)),q.push((0,_vue.h)("tr",__assign({class:["vxe-body--row",{"row--stripe":f&&(re.getVTRowIndex(t)+1)%2==0,"is--new":l,"row--new":l&&(M.showStatus||M.showInsertStatus),"row--radio":I.highlight&&R===t,"row--checked":H.highlight&&re.isCheckedByCheckboxRow(t)},g?_xeUtils.default.isFunction(g)?g(c):g:""],rowid:a,style:_?_xeUtils.default.isFunction(_)?_(c):_:null,key:h||w?a:o},e),p.map(function(e,l){return Y(i,a,d,n,t,r,o,s,e,l,p,v)}))),O&&L.length&&-1<re.findRowIndexOf(L,t)&&(l=void 0,w&&(l={paddingLeft:n*D.indent+30+"px"}),u=O.showOverflow,c=_xeUtils.default.isUndefined(u)||_xeUtils.default.isNull(u)?m:u,u={$table:re,seq:i,column:O,fixed:d,type:renderType,level:n,row:t,rowIndex:r,$rowIndex:o,_rowIndex:s},q.push((0,_vue.h)("tr",__assign({class:"vxe-body--expanded-row",key:"expand_"+a,style:_?_xeUtils.default.isFunction(_)?_(u):_:null},e),[(0,_vue.h)("td",{class:["vxe-body--expanded-column",{"fixed--hidden":d&&!b,"col--ellipsis":c}],colspan:p.length},[(0,_vue.h)("div",{class:"vxe-body--expanded-cell",style:l},[O.renderData(u)])])]))),!w||S||k||!T.length||(u=t[D.children])&&u.length&&-1<re.findRowIndexOf(T,t)&&q.push.apply(q,U(d,u,p))}),q}function m(e,l,t){(l||t)&&(l&&((0,_util.removeScrollListener)(l),l.scrollTop=e),t&&((0,_util.removeScrollListener)(t),t.scrollTop=e),clearTimeout(r),r=setTimeout(function(){(0,_util.restoreScrollListener)(l),(0,_util.restoreScrollListener)(t)},300))}function o(e){var l=_.fixedType,t=ae.highlightHoverRow,o=ne.scrollXLoad,r=ne.scrollYLoad,a=ie.elemStore,n=ie.lastScrollTop,i=ie.lastScrollLeft,s=pe.value,u=b.value,c=T.value,d=S.value,v=C.value,p=L.value,f=O.value,h=I.value,x=u?u.$el:null,g=d?d.$el:null,u=c.$el,d=v?v.$el:null,c=p?p.$el:null,v=a["main-body-ySpace"],p=a["main-body-xSpace"],a=v?v.clientHeight:0,v=p?p.clientWidth:0,p=h.scrollTop,i=(h=u.scrollLeft)!==i,n=p!==n;ie.lastScrollTop=p,ie.lastScrollLeft=h,ie.lastScrollTime=Date.now(),(s.isHover||t)&&re.clearHoverRow(),d&&"left"===l?(p=d.scrollTop,m(p,u,c)):c&&"right"===l?(p=c.scrollTop,m(p,u,d)):(i&&(x&&(x.scrollLeft=u.scrollLeft),g&&(g.scrollLeft=u.scrollLeft)),(d||c)&&(re.checkScrolling(),n&&m(p,d,c))),o&&i&&re.triggerScrollXEvent(e),r&&n&&re.triggerScrollYEvent(e),i&&f&&f.reactData.visible&&f.updatePlacement(),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:p,scrollLeft:h,bodyHeight:a,bodyWidth:v,isX:i,isY:n},e)}function g(e){var l=e.deltaY,t=e.deltaX,o=ae.highlightHoverRow,r=ne.scrollYLoad,a=ie.lastScrollTop,n=ie.lastScrollLeft,i=pe.value,s=T.value,u=I.value,c=s.$el,s=_dom.browse.firefox?40*l:l,l=_dom.browse.firefox?40*t:t;((t=s<0)?u.scrollTop<=0:u.scrollTop>=u.scrollHeight-u.clientHeight)||(u=u.scrollTop+s,n=(l=c.scrollLeft+l)!==n,(a=u!==a)&&(e.preventDefault(),ie.lastScrollTop=u,ie.lastScrollLeft=l,ie.lastScrollTime=Date.now(),(i.isHover||o)&&re.clearHoverRow(),d(e,t,s,n,a),r&&re.triggerScrollYEvent(e)))}var r,f,re=(0,_vue.inject)("$xetable",{}),l=(0,_vue.inject)("xesize",null),y=re.xID,ae=re.props,w=re.context,ne=re.reactData,ie=re.internalData,e=re.getRefMaps(),b=e.refTableHeader,T=e.refTableBody,S=e.refTableFooter,C=e.refTableLeftBody,L=e.refTableRightBody,O=e.refValidTooltip,e=re.getComputeMaps(),se=e.computeEditOpts,R=e.computeMouseOpts,ue=e.computeSYOpts,E=e.computeEmptyOpts,H=e.computeKeyboardOpts,ce=e.computeTooltipOpts,t=e.computeRadioOpts,A=e.computeTreeOpts,de=e.computeCheckboxOpts,ve=e.computeValidOpts,pe=e.computeRowOpts,I=(0,_vue.ref)(),D=(0,_vue.ref)(),M=(0,_vue.ref)(),$=(0,_vue.ref)(),k=(0,_vue.ref)(),q=(0,_vue.ref)(),B=(0,_vue.ref)(),fe=function(){var e=ae.delayHover,l=ie.lastScrollTime;return ie._isResize||l&&Date.now()<l+e},Y=function(e,l,t,o,r,a,n,i,s,u,c,d){var v,p=ae.columnKey,f=ae.height,h=ae.showOverflow,x=ae.cellClassName,g=ae.cellStyle,_=ae.align,m=ae.spanMethod,y=ae.mouseConfig,w=ae.editConfig,b=ae.editRules,T=ae.tooltipConfig,S=ne.tableData,C=ne.overflowX,L=ne.scrollYLoad,O=ne.currentColumn,R=ne.mergeList,E=ne.editStore,H=ne.validStore,I=ne.isAllOverflow,D=ie.afterFullData,M=ve.value,$=de.value,k=se.value,q=ce.value,U=pe.value,A=ue.value,B=s.type,Y=s.cellRender,X=s.editRender,j=s.align,N=s.showOverflow,F=s.className,V=s.treeNode,W=E.actived,P=A.rHeight,z=U.height,K=q.showAll,G=re.getColumnIndex(s),E=re.getVTColumnIndex(s),A=(0,_utils.isEnableConf)(X),U=t?s.fixed!==t:s.fixed&&C,q=_xeUtils.default.isUndefined(N)||_xeUtils.default.isNull(N)?h:N,C="ellipsis"===q,J="title"===q,Q=!0===q||"tooltip"===q,N=J||Q||C,q={},j=j||_,_=H.row===r&&H.column===s,f=b&&M.showMessage&&("default"===M.message?f||1<S.length:"inline"===M.message),M={colid:s.id},Z={$table:re,seq:e,rowid:l,row:r,rowIndex:a,$rowIndex:n,_rowIndex:i,column:s,columnIndex:G,$columnIndex:u,_columnIndex:E,fixed:t,type:renderType,isHidden:U,level:o,visibleData:D,data:S,items:d};if(L&&!N&&(C=N=!0),(J||Q||K||T)&&(q.onMouseenter=function(e){fe()||(J?(0,_dom.updateCellTitle)(e.currentTarget,s):(Q||K)&&re.triggerBodyTooltipEvent(e,Z),re.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Z),e))}),(Q||K||T)&&(q.onMouseleave=function(e){fe()||((Q||K)&&re.handleTargetLeaveEvent(e),re.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Z),e))}),($.range||y)&&(q.onMousedown=function(e){re.triggerCellMousedownEvent(e,Z)}),q.onClick=function(e){re.triggerCellClickEvent(e,Z)},q.onDblclick=function(e){re.triggerCellDblclickEvent(e,Z)},R.length){var ee=(0,_util.mergeBodyMethod)(R,i,E);if(ee){var le=ee.rowspan,te=ee.colspan;if(!le||!te)return null;1<le&&(M.rowspan=le),1<te&&(M.colspan=te)}}else if(m){ee=m(Z)||{},m=ee.rowspan,le=void 0===m?1:m,ee=ee.colspan,te=void 0===ee?1:ee;if(!le||!te)return null;1<le&&(M.rowspan=le),1<te&&(M.colspan=te)}!(U=U&&R&&(1<M.colspan||1<M.rowspan)?!1:U)&&w&&(X||Y)&&(k.showStatus||k.showUpdateStatus)&&(v=re.isUpdateByRow(r,s.property));Y=[];return U&&h&&I?Y.push((0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""}})):(Y.push.apply(Y,__spreadArray(__spreadArray([],oe(Z)),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":J,"c--tooltip":Q,"c--ellipsis":C}],style:{maxHeight:N&&(P||z)?(P||z)+"px":""},title:J?re.getCellLabel(r,s):null},s.renderCell(Z))])),f&&_&&Y.push((0,_vue.h)("div",{class:"vxe-cell--valid",style:H.rule&&H.rule.maxWidth?{width:H.rule.maxWidth+"px"}:null},[(0,_vue.h)("span",{class:"vxe-cell--valid-msg"},H.content)]))),(0,_vue.h)("td",__assign(__assign(__assign({class:["vxe-body--column",s.id,((H={})["col--"+j]=j,H["col--"+B]=B,H["col--last"]=u===c.length-1,H["col--tree-node"]=V,H["col--edit"]=A,H["col--ellipsis"]=N,H["fixed--hidden"]=U,H["col--dirty"]=v,H["col--actived"]=w&&A&&W.row===r&&(W.column===s||"row"===k.mode),H["col--valid-error"]=_,H["col--current"]=O===s,H),(0,_util.getPropClass)(F,Z),(0,_util.getPropClass)(x,Z)],key:p?s.id:u},M),{style:Object.assign({height:N&&(P||z)?(P||z)+"px":""},g?_xeUtils.default.isFunction(g)?g(Z):g:null)}),q),Y)},h=0,x=0,X=0,j=!1,d=function(a,n,e,i,s){var l=ie.elemStore,t=T.value,o=C.value,r=L.value,u=o?o.$el:null,c=r?r.$el:null,d=t.$el,t=l["main-body-ySpace"],l=l["main-body-xSpace"],v=t?t.clientHeight:0,p=l?l.clientWidth:0,l=j===n?Math.max(0,h-X):0;j=n,h=Math.abs(n?e-l:e+l),X=x=0,clearTimeout(f),function e(){var l,t,o,r;X<h&&(l=_.fixedType,x=Math.max(5,Math.floor(1.5*x)),h<(X+=x)&&(x-=X-h),r=d.scrollTop,t=d.clientHeight,o=d.scrollHeight,r=r+x*(n?-1:1),d.scrollTop=r,u&&(u.scrollTop=r),c&&(c.scrollTop=r),(n?r<o-t:0<=r)&&(f=setTimeout(e,10)),re.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:d.scrollTop,scrollLeft:d.scrollLeft,bodyHeight:v,bodyWidth:p,isX:i,isY:s},a))}()};(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=_.fixedType,l=ie.elemStore,t=(e||"main")+"-body-",e=I.value;l[t+"wrapper"]=I.value,l[t+"table"]=D.value,l[t+"colgroup"]=M.value,l[t+"list"]=$.value,l[t+"xSpace"]=k.value,l[t+"ySpace"]=q.value,l[t+"emptyBlock"]=B.value,e.onscroll=o,e._onscroll=o})}),(0,_vue.onBeforeUnmount)(function(){var e=I.value;clearTimeout(f),e._onscroll=null,e.onscroll=null});return function(){var e=_.fixedColumn,l=_.fixedType,t=_.tableColumn,o=ae.keyboardConfig,r=ae.showOverflow,a=ae.spanMethod,n=ae.mouseConfig,i=ne.tableData,s=ne.mergeList,u=ne.scrollYLoad,c=ne.isAllOverflow,d=ie.visibleColumn,v=w.slots,p=ue.value,f=E.value,h=H.value,x=R.value;return l&&(t=!(u||r&&c)||s.length||a||o&&h.isMerge?d:e),f=v.empty?re.callSlot(v.empty,{$table:re}):(v=(v=f.name?_vXETable.VXETable.renderer.get(f.name):null)?v.renderEmpty:null)?v(f,{$table:re}):ae.emptyText||_conf.default.i18n("vxe.table.emptyText"),(0,_vue.h)("div",__assign({ref:I,class:["vxe-table--body-wrapper",l?"fixed-"+l+"--wrapper":"body--wrapper"],xid:y},u&&"wheel"===p.mode?{onWheel:g}:{}),[l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:k,class:"vxe-body--x-space"}),(0,_vue.h)("div",{ref:q,class:"vxe-body--y-space"}),(0,_vue.h)("table",{ref:D,class:"vxe-table--body",xid:y,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:M},t.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})})),(0,_vue.h)("tbody",{ref:$},U(l,i,t))]),(0,_vue.h)("div",{class:"vxe-table--checkbox-range"}),n&&x.area?(0,_vue.h)("div",{class:"vxe-table--cell-area"},[(0,_vue.h)("span",{class:"vxe-table--cell-main-area"},x.extension?[(0,_vue.h)("span",{class:"vxe-table--cell-main-area-btn",onMousedown:function(e){re.triggerCellExtendMousedownEvent(e,{$table:re,fixed:l,type:renderType})}})]:[]),(0,_vue.h)("span",{class:"vxe-table--cell-copy-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-extend-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-multi-area"}),(0,_vue.h)("span",{class:"vxe-table--cell-active-area"})]):null,l?null:(0,_vue.h)("div",{class:"vxe-table--empty-block",ref:B},[(0,_vue.h)("div",{class:"vxe-table--empty-content"},f)])])}}});exports.default=_default;
|
package/lib/table/src/table.js
CHANGED
|
@@ -4585,6 +4585,7 @@ var _default = (0, _vue.defineComponent)({
|
|
|
4585
4585
|
return handleAsyncTreeExpandChilds(row);
|
|
4586
4586
|
}).then(function () {
|
|
4587
4587
|
if (transform) {
|
|
4588
|
+
handleVirtualTreeToList();
|
|
4588
4589
|
return tablePrivateMethods.handleTableData();
|
|
4589
4590
|
}
|
|
4590
4591
|
}).then(function () {
|
|
@@ -4697,10 +4698,11 @@ var _default = (0, _vue.defineComponent)({
|
|
|
4697
4698
|
return tablePrivateMethods.handleTableData().then(function () {
|
|
4698
4699
|
if (transform) {
|
|
4699
4700
|
handleVirtualTreeToList();
|
|
4701
|
+
return tablePrivateMethods.handleTableData();
|
|
4700
4702
|
}
|
|
4701
|
-
|
|
4703
|
+
}).then(function () {
|
|
4702
4704
|
if (isExists) {
|
|
4703
|
-
tableMethods.recalculate();
|
|
4705
|
+
return tableMethods.recalculate();
|
|
4704
4706
|
}
|
|
4705
4707
|
});
|
|
4706
4708
|
},
|