vxe-table 3.12.0-beta.3 → 3.12.0-beta.5
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/style.css +1 -1
- package/es/table/src/body.js +29 -25
- package/es/table/src/methods.js +18 -6
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +53 -34
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +30 -26
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +21 -6
- package/lib/table/src/methods.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/src/body.ts +29 -25
- package/packages/table/src/methods.ts +21 -6
- /package/es/{iconfont.1735193691325.ttf → iconfont.1735200197421.ttf} +0 -0
- /package/es/{iconfont.1735193691325.woff → iconfont.1735200197421.woff} +0 -0
- /package/es/{iconfont.1735193691325.woff2 → iconfont.1735200197421.woff2} +0 -0
- /package/lib/{iconfont.1735193691325.ttf → iconfont.1735200197421.ttf} +0 -0
- /package/lib/{iconfont.1735193691325.woff → iconfont.1735200197421.woff} +0 -0
- /package/lib/{iconfont.1735193691325.woff2 → iconfont.1735200197421.woff2} +0 -0
package/lib/table/src/body.js
CHANGED
|
@@ -66,7 +66,7 @@ function renderLine(h, _vm, $xetable, params) {
|
|
|
66
66
|
/**
|
|
67
67
|
* 渲染列
|
|
68
68
|
*/
|
|
69
|
-
function renderColumn(h, _vm, $
|
|
69
|
+
function renderColumn(h, _vm, $xeTable, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
|
|
70
70
|
const {
|
|
71
71
|
$listeners: tableListeners,
|
|
72
72
|
fullAllDataRowIdData,
|
|
@@ -104,15 +104,15 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
104
104
|
mouseOpts,
|
|
105
105
|
areaOpts,
|
|
106
106
|
validErrorMaps
|
|
107
|
-
} = $
|
|
108
|
-
const rowDragOpts = $
|
|
107
|
+
} = $xeTable;
|
|
108
|
+
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
109
109
|
const {
|
|
110
110
|
disabledMethod: dragDisabledMethod
|
|
111
111
|
} = rowDragOpts;
|
|
112
112
|
const {
|
|
113
113
|
selectCellToRow
|
|
114
114
|
} = areaOpts;
|
|
115
|
-
const cellOpts = $
|
|
115
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
116
116
|
const {
|
|
117
117
|
type,
|
|
118
118
|
cellRender,
|
|
@@ -140,8 +140,8 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
140
140
|
const compCellClassName = compConf ? compConf.tableCellClassName || compConf.cellClassName : '';
|
|
141
141
|
const compCellStyle = compConf ? compConf.tableCellStyle || compConf.cellStyle : '';
|
|
142
142
|
const showAllTip = tooltipOpts.showAll || tooltipOpts.enabled;
|
|
143
|
-
const columnIndex = $
|
|
144
|
-
const _columnIndex = $
|
|
143
|
+
const columnIndex = $xeTable.getColumnIndex(column);
|
|
144
|
+
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
145
145
|
const isEdit = (0, _utils.isEnableConf)(editRender);
|
|
146
146
|
let fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
|
|
147
147
|
const cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
|
|
@@ -163,8 +163,8 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
163
163
|
const bindMouseleave = tableListeners['cell-mouseleave'];
|
|
164
164
|
const triggerDblclick = editRender && editConfig && editOpts.trigger === 'dblclick';
|
|
165
165
|
const params = {
|
|
166
|
-
$table: $
|
|
167
|
-
$grid: $
|
|
166
|
+
$table: $xeTable,
|
|
167
|
+
$grid: $xeTable.$xegrid,
|
|
168
168
|
isEdit: false,
|
|
169
169
|
seq,
|
|
170
170
|
rowid,
|
|
@@ -184,28 +184,28 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
184
184
|
data: tableData,
|
|
185
185
|
items
|
|
186
186
|
};
|
|
187
|
-
let
|
|
187
|
+
let isRowDragCell = false;
|
|
188
188
|
let isDisabledDrag = false;
|
|
189
189
|
if (rowOpts.drag) {
|
|
190
|
-
|
|
190
|
+
isRowDragCell = rowDragOpts.trigger === 'row' || column.dragSort && rowDragOpts.trigger === 'cell';
|
|
191
191
|
}
|
|
192
|
-
if (
|
|
192
|
+
if (isRowDragCell) {
|
|
193
193
|
isDisabledDrag = !!(dragDisabledMethod && dragDisabledMethod(params));
|
|
194
194
|
}
|
|
195
195
|
// hover 进入事件
|
|
196
196
|
if (showTitle || showTooltip || showAllTip || bindMouseenter || tooltipConfig) {
|
|
197
197
|
tdOns.mouseenter = evnt => {
|
|
198
|
-
if (isVMScrollProcess($
|
|
198
|
+
if (isVMScrollProcess($xeTable)) {
|
|
199
199
|
return;
|
|
200
200
|
}
|
|
201
201
|
if (showTitle) {
|
|
202
202
|
(0, _dom.updateCellTitle)(evnt.currentTarget, column);
|
|
203
203
|
} else if (showTooltip || showAllTip) {
|
|
204
204
|
// 如果配置了显示 tooltip
|
|
205
|
-
$
|
|
205
|
+
$xeTable.triggerBodyTooltipEvent(evnt, params);
|
|
206
206
|
}
|
|
207
207
|
if (bindMouseenter) {
|
|
208
|
-
$
|
|
208
|
+
$xeTable.emitEvent('cell-mouseenter', Object.assign({
|
|
209
209
|
cell: evnt.currentTarget
|
|
210
210
|
}, params), evnt);
|
|
211
211
|
}
|
|
@@ -214,35 +214,39 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
214
214
|
// hover 退出事件
|
|
215
215
|
if (showTooltip || showAllTip || bindMouseleave || tooltipConfig) {
|
|
216
216
|
tdOns.mouseleave = evnt => {
|
|
217
|
-
if (isVMScrollProcess($
|
|
217
|
+
if (isVMScrollProcess($xeTable)) {
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
220
|
if (showTooltip || showAllTip) {
|
|
221
|
-
$
|
|
221
|
+
$xeTable.handleTargetLeaveEvent(evnt);
|
|
222
222
|
}
|
|
223
223
|
if (bindMouseleave) {
|
|
224
|
-
$
|
|
224
|
+
$xeTable.emitEvent('cell-mouseleave', Object.assign({
|
|
225
225
|
cell: evnt.currentTarget
|
|
226
226
|
}, params), evnt);
|
|
227
227
|
}
|
|
228
228
|
};
|
|
229
229
|
}
|
|
230
230
|
// 按下事件处理
|
|
231
|
-
if (
|
|
231
|
+
if (isRowDragCell || checkboxOpts.range || mouseConfig) {
|
|
232
232
|
tdOns.mousedown = evnt => {
|
|
233
|
-
$
|
|
233
|
+
$xeTable.triggerCellMousedownEvent(evnt, params);
|
|
234
234
|
};
|
|
235
235
|
}
|
|
236
|
+
// 拖拽列事件
|
|
237
|
+
if (isRowDragCell) {
|
|
238
|
+
tdOns.mouseup = $xeTable.triggerCellMouseupEvent;
|
|
239
|
+
}
|
|
236
240
|
// 点击事件处理
|
|
237
241
|
if (rowOpts.isCurrent || highlightCurrentRow || tableListeners['cell-click'] || editRender && editConfig || expandOpts.trigger === 'row' || expandOpts.trigger === 'cell' || radioOpts.trigger === 'row' || column.type === 'radio' && radioOpts.trigger === 'cell' || checkboxOpts.trigger === 'row' || column.type === 'checkbox' && checkboxOpts.trigger === 'cell' || treeOpts.trigger === 'row' || column.treeNode && treeOpts.trigger === 'cell') {
|
|
238
242
|
tdOns.click = evnt => {
|
|
239
|
-
$
|
|
243
|
+
$xeTable.triggerCellClickEvent(evnt, params);
|
|
240
244
|
};
|
|
241
245
|
}
|
|
242
246
|
// 双击事件处理
|
|
243
247
|
if (triggerDblclick || tableListeners['cell-dblclick']) {
|
|
244
248
|
tdOns.dblclick = evnt => {
|
|
245
|
-
$
|
|
249
|
+
$xeTable.triggerCellDblclickEvent(evnt, params);
|
|
246
250
|
};
|
|
247
251
|
}
|
|
248
252
|
// 合并行或列
|
|
@@ -287,7 +291,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
287
291
|
}
|
|
288
292
|
// 如果编辑列开启显示状态
|
|
289
293
|
if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
|
|
290
|
-
isDirty = $
|
|
294
|
+
isDirty = $xeTable.isUpdateByRow(row, column.field);
|
|
291
295
|
}
|
|
292
296
|
const tdVNs = [];
|
|
293
297
|
if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
|
|
@@ -303,7 +307,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
303
307
|
}));
|
|
304
308
|
} else {
|
|
305
309
|
// 渲染单元格
|
|
306
|
-
tdVNs.push(...renderLine(h, _vm, $
|
|
310
|
+
tdVNs.push(...renderLine(h, _vm, $xeTable, params), h('div', {
|
|
307
311
|
class: ['vxe-cell', {
|
|
308
312
|
'c--title': showTitle,
|
|
309
313
|
'c--tooltip': showTooltip,
|
|
@@ -313,7 +317,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
313
317
|
maxHeight: hasEllipsis && (scrollYRHeight || rowHeight) ? `${scrollYRHeight || rowHeight}px` : ''
|
|
314
318
|
},
|
|
315
319
|
attrs: {
|
|
316
|
-
title: showTitle ? $
|
|
320
|
+
title: showTitle ? $xeTable.getCellLabel(row, column) : null
|
|
317
321
|
}
|
|
318
322
|
}, column.renderCell(h, params)));
|
|
319
323
|
if (showValidTip && errorValidItem) {
|
|
@@ -329,7 +333,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
329
333
|
} : null
|
|
330
334
|
}, [h('div', {
|
|
331
335
|
class: `vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-${validOpts.theme || 'normal'}`
|
|
332
|
-
}, [validSlot ? $
|
|
336
|
+
}, [validSlot ? $xeTable.callSlot(validSlot, validParams, h) : [h('span', {
|
|
333
337
|
class: 'vxe-cell--valid-error-msg'
|
|
334
338
|
}, errorValidItem.content)]])]));
|
|
335
339
|
}
|
|
@@ -361,7 +365,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
361
365
|
'col--ellipsis': hasEllipsis,
|
|
362
366
|
'fixed--width': !isAutoCellWidth,
|
|
363
367
|
'fixed--hidden': fixedHiddenColumn,
|
|
364
|
-
'is--drag-cell':
|
|
368
|
+
'is--drag-cell': isRowDragCell,
|
|
365
369
|
'is--drag-disabled': isDisabledDrag,
|
|
366
370
|
'col--dirty': isDirty,
|
|
367
371
|
'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:w,isAllOverflow:X,align:z,currentColumn:P,cellClassName:j,cellStyle:K,mergeList:G,spanMethod:J,radioOpts:Q,checkboxOpts:Z,expandOpts:ee,treeOpts:le,tooltipOpts:x,mouseConfig:te,editConfig:y,editOpts:f,editRules:re,validOpts:b,editStore:oe,tooltipConfig:se,rowOpts:S,columnOpts:ae,mouseOpts:ie,areaOpts:T,validErrorMaps:_}=l,ne=l.computeRowDragOpts,de=ne.disabledMethod,T=T.selectCellToRow,{type:ce,cellRender:pe,editRender:C,align:ue,showOverflow:$,className:ge,treeNode:he,slots:me}=d,ve=l.computeCellOpts.verticalAlign,oe=oe.actived,v=v.rHeight,E=S.height,O=C||pe,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:"",xe=O?O.tableCellStyle||O.cellStyle:"";let R=x.showAll||x.enabled;var x=l.getColumnIndex(d),ye=l.getVTColumnIndex(d),fe=(0,_utils.isEnableConf)(C);let D=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined($)||_xeUtils.default.isNull($)?w:$,$="ellipsis"===m;let I="title"===m,M=!0===m||"tooltip"===m;m=w||I||M||$;let be;var L={},A=A[r],ue=ue||(O?O.tableCellAlign:"")||z,O=_[r+":"+d.id],z=re&&b.showMessage&&("default"===b.message?h||1<g.length:"inline"===b.message),_={colid:d.id};let Se=p["cell-mouseenter"],Te=p["cell-mouseleave"];re=C&&y&&"dblclick"===f.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:x,$columnIndex:c,_columnIndex:ye,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:g,items:q},k=!1,_e=!1;if((k=S.drag?"row"===ne.trigger||d.dragSort&&"cell"===ne.trigger:k)&&(_e=!(!de||!de(Y))),(I||M||R||Se||se)&&(L.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(M||R)&&l.triggerBodyTooltipEvent(e,Y),Se&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(M||R||Te||se)&&(L.mouseleave=e=>{isVMScrollProcess(l)||((M||R)&&l.handleTargetLeaveEvent(e),Te&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(k||Z.range||te)&&(L.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(S.isCurrent||V||p["cell-click"]||C&&y||"row"===ee.trigger||"cell"===ee.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===Z.trigger||"checkbox"===d.type&&"cell"===Z.trigger||"row"===le.trigger||d.treeNode&&"cell"===le.trigger)&&(L.click=e=>{l.triggerCellClickEvent(e,Y)}),(re||p["cell-dblclick"])&&(L.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),G.length){h=(0,_util.mergeBodyMethod)(G,B,ye);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(_.rowspan=t),1<r&&(_.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(_.rowspan=i),1<n&&(_.colspan=n)}!(D=D&&G&&(1<_.colspan||1<_.rowspan)?!1:D)&&y&&(C||pe)&&(f.showStatus||f.showUpdateStatus)&&(be=l.isUpdateByRow(a,d.field));x=[];D&&w&&X?x.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""}})):(x.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&O&&(o=O.rule,s=me?me.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),O),{rule:O}),x.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,O)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let Ce="";m&&(v||E)?Ce=`${v||E}px`:!N&&!W||m||(Ce=`${A.height||24}px`),te&&ie.area&&T&&((c||!0!==T)&&T!==d.field||x.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ue]:ue,["col--vertical-"+ve]:ve,["col--"+ce]:ce,"col--last":c===U.length-1,"col--tree-node":he,"col--edit":fe,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":D,"is--drag-cell":k,"is--drag-disabled":_e,"col--dirty":be,"col--active":y&&fe&&oe.row===a&&(oe.column===d||"row"===f.mode),"col--valid-error":!!O,"col--current":P===d},(0,_utils.getClass)(we,Y),(0,_utils.getClass)(ge,Y),(0,_utils.getClass)(j,Y)],key:F||N||W||ae.useKey||S.useKey||ae.drag?d.id:c,attrs:_,style:Object.assign({height:Ce},_xeUtils.default.isFunction(xe)?xe(Y):xe,_xeUtils.default.isFunction(K)?K(Y):K),on:L},x)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{tableData:r,scrollXLoad:h,scrollYLoad:m,isAllOverflow:v,isDragRowMove:w,expandColumn:x,dragRow:y,dragCol:f}=r,{visibleColumn:o,fullAllDataRowIdData:b,fullColumnIdData:S}=o,T=l.computeRowOpts,_=l.computeSYOpts,C=l.computeEmptyOpts,$=l.computeMouseOpts,E=l.computeRowDragOpts;let O=r,R=d;n&&(R=!(h||m||c&&v)||x||p||u?o:i||[]),m&&y&&2<O.length&&(r=b[(0,_util.getRowid)(l,y)])&&(c=r._index,v=O[0],x=O[O.length-1],p=b[(0,_util.getRowid)(l,v)],u=b[(0,_util.getRowid)(l,x)],p)&&u&&(o=p._index,m=u._index,c<o?O=[y].concat(O):m<c&&(O=O.concat([y]))),n||h&&f&&2<R.length&&(r=S[f.id])&&(v=r._index,b=R[0],x=R[R.length-1],p=S[b.id],u=S[x.id],p)&&u&&(o=p._index,m=u._index,v<o?R=[f].concat(R):m<v&&(R=R.concat([f])));let D;D=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(y=(c=C.name?renderer.get(C.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,C,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");h={scroll:this.scrollEvent};return"wheel"===_.mode&&(h.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:h},[n?renderEmptyElement(l):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:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},R.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),T.drag&&E.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(w?"":"-disabled")}},renderRows(t,this,l,n,O,R)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,O,R))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,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"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},D)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,renderType="body";function isVMScrollProcess(e){return e._isResize||e.lastScrollTime&&Date.now()<e.lastScrollTime+e.delayHover}function renderLine(e,l,t,r){var{row:o,column:s}=r,{afterFullData:a,treeOpts:i,treeConfig:n,fullAllDataRowIdData:d}=t,{slots:s,treeNode:c}=s,d=d[(0,_util.getRowid)(t,o)];let p=0,u=0,g=[];return d&&(p=d.level,u=d._index,g=d.items),s&&s.line?t.callSlot(s.line,r,e):(d=t.eqRow(a[0],o),n&&c&&(i.showLine||i.line)?[e("div",{class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${d?1:(0,_util.calcTreeLine)(r,g,u)}px`,left:p*i.indent+(p?2-(0,_util.getOffsetSize)(t):0)+16+"px"}})])]:[])}function renderColumn(e,H,l,t,r,o,s,a,i,n,B,d,c,U,q){var{$listeners:p,fullAllDataRowIdData:A,afterFullData:u,tableData:g,height:h,columnKey:F,overflowX:m,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:V,showOverflow:w,isAllOverflow:X,align:z,currentColumn:P,cellClassName:j,cellStyle:K,mergeList:G,spanMethod:J,radioOpts:Q,checkboxOpts:Z,expandOpts:ee,treeOpts:le,tooltipOpts:x,mouseConfig:te,editConfig:y,editOpts:f,editRules:re,validOpts:b,editStore:oe,tooltipConfig:se,rowOpts:S,columnOpts:ae,mouseOpts:ie,areaOpts:T,validErrorMaps:_}=l,ne=l.computeRowDragOpts,de=ne.disabledMethod,T=T.selectCellToRow,{type:ce,cellRender:pe,editRender:C,align:ue,showOverflow:$,className:ge,treeNode:he,slots:me}=d,ve=l.computeCellOpts.verticalAlign,oe=oe.actived,v=v.rHeight,E=S.height,O=C||pe,O=O?renderer.get(O.name):null,we=O?O.tableCellClassName||O.cellClassName:"",xe=O?O.tableCellStyle||O.cellStyle:"";let R=x.showAll||x.enabled;var x=l.getColumnIndex(d),ye=l.getVTColumnIndex(d),fe=(0,_utils.isEnableConf)(C);let D=o?d.fixed!==o:d.fixed&&m;m=_xeUtils.default.isUndefined($)||_xeUtils.default.isNull($)?w:$,$="ellipsis"===m;let I="title"===m,M=!0===m||"tooltip"===m;m=w||I||M||$;let be;var L={},A=A[r],ue=ue||(O?O.tableCellAlign:"")||z,O=_[r+":"+d.id],z=re&&b.showMessage&&("default"===b.message?h||1<g.length:"inline"===b.message),_={colid:d.id};let Se=p["cell-mouseenter"],Te=p["cell-mouseleave"];re=C&&y&&"dblclick"===f.trigger;let Y={$table:l,$grid:l.$xegrid,isEdit:!1,seq:t,rowid:r,row:a,rowIndex:i,$rowIndex:n,_rowIndex:B,column:d,columnIndex:x,$columnIndex:c,_columnIndex:ye,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:g,items:q},k=!1,_e=!1;if((k=S.drag?"row"===ne.trigger||d.dragSort&&"cell"===ne.trigger:k)&&(_e=!(!de||!de(Y))),(I||M||R||Se||se)&&(L.mouseenter=e=>{isVMScrollProcess(l)||(I?(0,_dom.updateCellTitle)(e.currentTarget,d):(M||R)&&l.triggerBodyTooltipEvent(e,Y),Se&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(M||R||Te||se)&&(L.mouseleave=e=>{isVMScrollProcess(l)||((M||R)&&l.handleTargetLeaveEvent(e),Te&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(k||Z.range||te)&&(L.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),k&&(L.mouseup=l.triggerCellMouseupEvent),(S.isCurrent||V||p["cell-click"]||C&&y||"row"===ee.trigger||"cell"===ee.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===Z.trigger||"checkbox"===d.type&&"cell"===Z.trigger||"row"===le.trigger||d.treeNode&&"cell"===le.trigger)&&(L.click=e=>{l.triggerCellClickEvent(e,Y)}),(re||p["cell-dblclick"])&&(L.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),G.length){h=(0,_util.mergeBodyMethod)(G,B,ye);if(h){var{rowspan:t,colspan:r}=h;if(!t||!r)return null;1<t&&(_.rowspan=t),1<r&&(_.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(_.rowspan=i),1<n&&(_.colspan=n)}!(D=D&&G&&(1<_.colspan||1<_.rowspan)?!1:D)&&y&&(C||pe)&&(f.showStatus||f.showUpdateStatus)&&(be=l.isUpdateByRow(a,d.field));x=[];D&&w&&X?x.push(e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""}})):(x.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":I,"c--tooltip":M,"c--ellipsis":$}],style:{maxHeight:m&&(v||E)?`${v||E}px`:""},attrs:{title:I?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&O&&(o=O.rule,s=me?me.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),O),{rule:O}),x.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,O)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},O.content)]])]))));let Ce="";m&&(v||E)?Ce=`${v||E}px`:!N&&!W||m||(Ce=`${A.height||24}px`),te&&ie.area&&T&&((c||!0!==T)&&T!==d.field||x.push(e("div",{class:"vxe-cell--area-status"})));g=!d.resizeWidth&&("auto"===d.minWidth||"auto"===d.width);return e("td",{class:["vxe-body--column",d.id,{["col--"+ue]:ue,["col--vertical-"+ve]:ve,["col--"+ce]:ce,"col--last":c===U.length-1,"col--tree-node":he,"col--edit":fe,"col--ellipsis":m,"fixed--width":!g,"fixed--hidden":D,"is--drag-cell":k,"is--drag-disabled":_e,"col--dirty":be,"col--active":y&&fe&&oe.row===a&&(oe.column===d||"row"===f.mode),"col--valid-error":!!O,"col--current":P===d},(0,_utils.getClass)(we,Y),(0,_utils.getClass)(ge,Y),(0,_utils.getClass)(j,Y)],key:F||N||W||ae.useKey||S.useKey||ae.drag?d.id:c,attrs:_,style:Object.assign({height:Ce},_xeUtils.default.isFunction(xe)?xe(Y):xe,_xeUtils.default.isFunction(K)?K(Y):K),on:L},x)}function renderRows(v,w,x,y,f,b){let S=x.computeColumnOpts,T=x.computeColumnDragOpts,{stripe:_,rowKey:C,highlightHoverRow:$,rowClassName:E,rowStyle:O,editConfig:R,showOverflow:D,treeConfig:I,treeOpts:M,expandOpts:L,editOpts:Y,treeExpandedMaps:k,scrollXLoad:H,scrollYLoad:B,rowExpandedMaps:U,radioOpts:q,checkboxOpts:A,expandColumn:F,hasFixedColumn:N,fullAllDataRowIdData:W,rowOpts:V,pendingRowMaps:X,isDragColMove:z}=x,{transform:P,seqMode:j}=M,K=M.children||M.childrenField,G=[];return f.forEach((t,r)=>{var e={};let o,s=(o=x.getRowIndex(t),(V.isHover||$)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),(0,_util.getRowid)(x,t));var l=W[s];let a=0,i=-1,n=0;l&&(a=l.level,i=I&&P&&"increasing"===j?l._index+1:l.seq,n=l._index);var l={$table:x,seq:i,rowid:s,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},d=F&&!!U[s];let c=!1,p=[],u=!1;R&&(u=x.isInsertByRow(t)),!I||B||P||(p=t[K],c=p&&p.length&&!!k[s]),!V.drag||I&&!P||(e.dragstart=x.handleRowDragDragstartEvent,e.dragend=x.handleRowDragDragendEvent,e.dragover=x.handleRowDragDragoverEvent);var g,h=["vxe-body--row",I?"row--level-"+a:"",{"row--stripe":_&&(n+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(Y.showStatus||Y.showInsertStatus),"row--radio":q.highlight&&x.selectRadioRow===t,"row--checked":A.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":!!X[s]},E?_xeUtils.default.isFunction(E)?E(l):E:""],m=b.map((e,l)=>renderColumn(v,w,x,i,s,y,a,t,o,r,n,e,l,b,f));G.push(S.drag&&T.animation?v("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(z?"":"-disabled")},class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,nativeOn:e},m):v("tr",{class:h,attrs:{rowid:s},style:O?_xeUtils.default.isFunction(O)?O(l):O:null,key:C||H||B||V.useKey||V.drag||S.drag||I?s:r,on:e},m)),d&&({height:h,padding:l}=L,m={},d=(h&&(m.height=h+"px"),I&&(m.paddingLeft=a*M.indent+30+"px"),F).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?D:d,g={$table:x,seq:i,column:F,fixed:y,type:renderType,level:a,row:t,rowIndex:o,$rowIndex:r},G.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+s,style:O?_xeUtils.default.isFunction(O)?O(g):O:null,on:e},[v("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!N,"col--ellipsis":d},attrs:{colspan:b.length}},[v("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:m},[F.renderData(v,g)])])]))),c&&G.push(...renderRows(v,w,x,y,p,b))}),G}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,size:String,fixedType:String},data(){return{wheelTime:null,wheelYSize:0,wheelYInterval:0,wheelYTotal:0}},mounted(){var{$parent:e,$el:l,$refs:t,fixedType:r}=this,e=e.elemStore,r=`${r||"main"}-body-`;e[r+"wrapper"]=l,e[r+"table"]=t.table,e[r+"colgroup"]=t.colgroup,e[r+"list"]=t.tbody,e[r+"xSpace"]=t.xSpace,e[r+"ySpace"]=t.ySpace,e[r+"emptyBlock"]=t.emptyBlock},beforeDestroy(){clearTimeout(this.wheelTime)},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-body-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null,e[l+"ySpace"]=null,e[l+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,{tId:s,$scopedSlots:a}=l;let{fixedColumn:i,fixedType:n,tableColumn:d}=this;var{showOverflow:c,spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{tableData:r,scrollXLoad:h,scrollYLoad:m,isAllOverflow:v,isDragRowMove:w,expandColumn:x,dragRow:y,dragCol:f}=r,{visibleColumn:o,fullAllDataRowIdData:b,fullColumnIdData:S}=o,T=l.computeRowOpts,_=l.computeSYOpts,C=l.computeEmptyOpts,$=l.computeMouseOpts,E=l.computeRowDragOpts;let O=r,R=d;n&&(R=!(h||m||c&&v)||x||p||u?o:i||[]),m&&y&&2<O.length&&(r=b[(0,_util.getRowid)(l,y)])&&(c=r._index,v=O[0],x=O[O.length-1],p=b[(0,_util.getRowid)(l,v)],u=b[(0,_util.getRowid)(l,x)],p)&&u&&(o=p._index,m=u._index,c<o?O=[y].concat(O):m<c&&(O=O.concat([y]))),n||h&&f&&2<R.length&&(r=S[f.id])&&(v=r._index,b=R[0],x=R[R.length-1],p=S[b.id],u=S[x.id],p)&&u&&(o=p._index,m=u._index,v<o?R=[f].concat(R):m<v&&(R=R.concat([f])));let D;D=a.empty?a.empty.call(this,{$table:l,$grid:l.xegrid},t):(y=(c=C.name?renderer.get(C.name):null)?c.renderTableEmpty||c.renderTableEmptyView||c.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,C,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText");h={scroll:this.scrollEvent};return"wheel"===_.mode&&(h.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s},on:h},[n?renderEmptyElement(l):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:s,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},R.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),T.drag&&E.animation?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(w?"":"-disabled")}},renderRows(t,this,l,n,O,R)):t("tbody",{ref:"tbody"},renderRows(t,this,l,n,O,R))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:n,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"})]):renderEmptyElement(l),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},D)])])},methods:{scrollEvent(e){var l,t,r,o,s,a=this.$parent,i=a,n=this.fixedType,{lastScrollTop:d,lastScrollLeft:c,inVirtualScroll:p,inBodyScroll:u,bodyScrollType:g,inFooterScroll:h}=i;p||h||u&&g!==n||({tableHeader:p,tableBody:h,leftBody:u,rightBody:g,tableFooter:l}=a.$refs,o=this.$el,p=p?p.$el:null,l=l?l.$el:null,(h=h?h.$el:null)&&(u=u?u.$el:null,g=g?g.$el:null,t=a.$refs.refScrollXHandleElem,r=a.$refs.refScrollYHandleElem,o=o.scrollTop,c=(s=h.scrollLeft)!==c,d=o!==d,i.inBodyScroll=!0,i.bodyScrollType=n,d&&(u&&"left"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(g,o)):g&&"right"===n?((0,_dom.setScrollTop)(h,o),(0,_dom.setScrollTop)(u,o)):((0,_dom.setScrollTop)(u,o),(0,_dom.setScrollTop)(g,o)),(0,_dom.setScrollTop)(r,o),a.triggerScrollYEvent(e)),c&&((0,_dom.setScrollLeft)(t,s),(0,_dom.setScrollLeft)(p,s),(0,_dom.setScrollLeft)(l,s),a.triggerScrollXEvent(e)),a.handleScrollEvent(e,d,c,o,s,{type:renderType,fixed:n})))},handleWheel(i,n,e,d,c){let p=this.$parent;var{$refs:l,elemStore:t,scrollYLoad:r,scrollXLoad:o}=p,{tableBody:l,leftBody:s,rightBody:a}=l;let u=l.$el,g=s?s.$el:null,h=a?a.$el:null;l=this.isPrevWheelTop===n?Math.max(0,this.wheelYSize-this.wheelYTotal):0,s=t["main-body-ySpace"],a=t["main-body-xSpace"];let m=(r&&s?s:u).clientHeight,v=(o&&a?a:u).clientWidth,w=(this.isPrevWheelTop=n,this.wheelYSize=Math.abs(n?e-l:e+l),this.wheelYInterval=0,this.wheelYTotal=0,clearTimeout(this.wheelTime),()=>{let{fixedType:e,wheelYTotal:l,wheelYSize:t,wheelYInterval:r}=this;var o,s,a;l<t&&(t<(l+=r=Math.max(5,Math.floor(1.5*r)))&&(r-=l-t),{scrollTop:a,clientHeight:o,scrollHeight:s}=u,a=a+r*(n?-1:1),u.scrollTop=a,g&&(g.scrollTop=a),h&&(h.scrollTop=a),(n?a<s-o:0<=a)&&(this.wheelTime=setTimeout(w,10)),this.wheelYTotal=l,this.wheelYInterval=r,p.emitEvent("scroll",{type:renderType,fixed:e,scrollTop:u.scrollTop,scrollLeft:u.scrollLeft,scrollHeight:u.scrollHeight,scrollWidth:u.scrollWidth,bodyHeight:m,bodyWidth:v,isX:d,isY:c},i))});w()},wheelEvent(e){var{deltaY:l,deltaX:t}=e,{$el:r,$parent:o}=this,{$refs:s,highlightHoverRow:a,scrollYLoad:i,lastScrollTop:n,lastScrollLeft:d,rowOpts:c}=o,s=s.tableBody,s=s.$el,p=l<0;(p?r.scrollTop<=0:r.scrollTop>=r.scrollHeight-r.clientHeight)||(r=r.scrollTop+l,t=(s=s.scrollLeft+t)!==d,(d=r!==n)&&(e.preventDefault(),o.lastScrollTop=r,o.lastScrollLeft=s,o.lastScrollTime=Date.now(),(c.isHover||a)&&o.clearHoverRow(),this.handleWheel(e,p,l,t,d),i)&&o.triggerScrollYEvent(e))}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -412,6 +412,22 @@ function getOrderField(_vm, column) {
|
|
|
412
412
|
return cellValue;
|
|
413
413
|
};
|
|
414
414
|
}
|
|
415
|
+
function clearDragStatus($xeTable) {
|
|
416
|
+
const reactData = $xeTable;
|
|
417
|
+
const {
|
|
418
|
+
dragRow,
|
|
419
|
+
dragCol
|
|
420
|
+
} = reactData;
|
|
421
|
+
if (dragRow || dragCol) {
|
|
422
|
+
clearColDropOrigin($xeTable);
|
|
423
|
+
clearRowDropOrigin($xeTable);
|
|
424
|
+
hideDropTip($xeTable);
|
|
425
|
+
reactData.dragRow = null;
|
|
426
|
+
reactData.dragCol = null;
|
|
427
|
+
reactData.isDragColMove = false;
|
|
428
|
+
reactData.isDragRowMove = false;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
415
431
|
function clearRowDropOrigin($xeTable) {
|
|
416
432
|
const el = $xeTable.$el;
|
|
417
433
|
if (el) {
|
|
@@ -6139,6 +6155,10 @@ const Methods = {
|
|
|
6139
6155
|
$xeTable.closeMenu();
|
|
6140
6156
|
}
|
|
6141
6157
|
},
|
|
6158
|
+
triggerCellMouseupEvent() {
|
|
6159
|
+
const $xeTable = this;
|
|
6160
|
+
clearDragStatus($xeTable);
|
|
6161
|
+
},
|
|
6142
6162
|
/**
|
|
6143
6163
|
* 行拖拽
|
|
6144
6164
|
*/
|
|
@@ -6432,12 +6452,7 @@ const Methods = {
|
|
|
6432
6452
|
},
|
|
6433
6453
|
handleCellDragMouseupEvent() {
|
|
6434
6454
|
const $xeTable = this;
|
|
6435
|
-
|
|
6436
|
-
clearRowDropOrigin($xeTable);
|
|
6437
|
-
hideDropTip($xeTable);
|
|
6438
|
-
reactData.dragRow = null;
|
|
6439
|
-
reactData.dragCol = null;
|
|
6440
|
-
reactData.isDragRowMove = false;
|
|
6455
|
+
clearDragStatus($xeTable);
|
|
6441
6456
|
},
|
|
6442
6457
|
/**
|
|
6443
6458
|
* 列拖拽
|