vxe-table 3.11.8 → 3.11.10
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/module/edit/mixin.js +57 -30
- package/es/table/src/body.js +4 -1
- package/es/table/src/footer.js +7 -1
- package/es/table/src/methods.js +6 -3
- package/es/table/src/table.js +0 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +114 -50
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +93 -42
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/src/body.js +4 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +7 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +8 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +0 -1
- package/lib/table/src/table.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/module/edit/mixin.ts +61 -31
- package/packages/table/src/body.ts +11 -8
- package/packages/table/src/footer.ts +10 -4
- package/packages/table/src/methods.ts +7 -3
- package/packages/table/src/table.ts +0 -1
- /package/es/{iconfont.1732522562273.ttf → iconfont.1732698735693.ttf} +0 -0
- /package/es/{iconfont.1732522562273.woff → iconfont.1732698735693.woff} +0 -0
- /package/es/{iconfont.1732522562273.woff2 → iconfont.1732698735693.woff2} +0 -0
- /package/lib/{iconfont.1732522562273.ttf → iconfont.1732698735693.ttf} +0 -0
- /package/lib/{iconfont.1732522562273.woff → iconfont.1732698735693.woff} +0 -0
- /package/lib/{iconfont.1732522562273.woff2 → iconfont.1732698735693.woff2} +0 -0
|
@@ -93,17 +93,25 @@ function insertTreeRow(_vm, newRecords, isAppend) {
|
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
96
|
+
const $xeTable = _vm;
|
|
97
|
+
const props = $xeTable;
|
|
98
|
+
const reactData = $xeTable;
|
|
99
|
+
const internalData = $xeTable;
|
|
100
|
+
const {
|
|
101
|
+
treeConfig
|
|
102
|
+
} = props;
|
|
96
103
|
const {
|
|
97
|
-
tableFullTreeData,
|
|
98
104
|
mergeList,
|
|
105
|
+
editStore
|
|
106
|
+
} = reactData;
|
|
107
|
+
const {
|
|
108
|
+
tableFullTreeData,
|
|
99
109
|
afterFullData,
|
|
100
|
-
editStore,
|
|
101
110
|
tableFullData,
|
|
102
|
-
treeConfig,
|
|
103
111
|
fullDataRowIdData,
|
|
104
|
-
fullAllDataRowIdData
|
|
105
|
-
|
|
106
|
-
|
|
112
|
+
fullAllDataRowIdData
|
|
113
|
+
} = internalData;
|
|
114
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
107
115
|
const {
|
|
108
116
|
transform,
|
|
109
117
|
rowField,
|
|
@@ -122,8 +130,25 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
122
130
|
if (treeConfig && transform) {
|
|
123
131
|
insertTreeRow(_vm, newRecords, false);
|
|
124
132
|
} else {
|
|
125
|
-
|
|
126
|
-
|
|
133
|
+
newRecords.forEach(item => {
|
|
134
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
135
|
+
const rest = {
|
|
136
|
+
row: item,
|
|
137
|
+
rowid,
|
|
138
|
+
seq: -1,
|
|
139
|
+
index: -1,
|
|
140
|
+
_index: -1,
|
|
141
|
+
$index: -1,
|
|
142
|
+
items: afterFullData,
|
|
143
|
+
parent: null,
|
|
144
|
+
level: 0,
|
|
145
|
+
height: 0
|
|
146
|
+
};
|
|
147
|
+
fullDataRowIdData[rowid] = rest;
|
|
148
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
149
|
+
afterFullData.push(item);
|
|
150
|
+
tableFullData.push(item);
|
|
151
|
+
});
|
|
127
152
|
// 刷新单元格合并
|
|
128
153
|
mergeList.forEach(mergeItem => {
|
|
129
154
|
const {
|
|
@@ -140,8 +165,25 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
140
165
|
if (treeConfig && transform) {
|
|
141
166
|
insertTreeRow(_vm, newRecords, true);
|
|
142
167
|
} else {
|
|
143
|
-
|
|
144
|
-
|
|
168
|
+
newRecords.forEach(item => {
|
|
169
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
170
|
+
const rest = {
|
|
171
|
+
row: item,
|
|
172
|
+
rowid,
|
|
173
|
+
seq: -1,
|
|
174
|
+
index: -1,
|
|
175
|
+
_index: -1,
|
|
176
|
+
$index: -1,
|
|
177
|
+
items: afterFullData,
|
|
178
|
+
parent: null,
|
|
179
|
+
level: 0,
|
|
180
|
+
height: 0
|
|
181
|
+
};
|
|
182
|
+
fullDataRowIdData[rowid] = rest;
|
|
183
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
184
|
+
afterFullData.push(item);
|
|
185
|
+
tableFullData.push(item);
|
|
186
|
+
});
|
|
145
187
|
// 刷新单元格合并
|
|
146
188
|
mergeList.forEach(mergeItem => {
|
|
147
189
|
const {
|
|
@@ -256,14 +298,12 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
256
298
|
}
|
|
257
299
|
}
|
|
258
300
|
const {
|
|
259
|
-
insertList,
|
|
260
301
|
insertMaps
|
|
261
302
|
} = editStore;
|
|
262
303
|
newRecords.forEach(newRow => {
|
|
263
|
-
const rowid = (0, _util.getRowid)(
|
|
304
|
+
const rowid = (0, _util.getRowid)($xeTable, newRow);
|
|
264
305
|
insertMaps[rowid] = newRow;
|
|
265
306
|
});
|
|
266
|
-
insertList.unshift(...newRecords);
|
|
267
307
|
_vm.cacheRowMap();
|
|
268
308
|
_vm.updateScrollYStatus();
|
|
269
309
|
_vm.handleTableData(treeConfig && transform);
|
|
@@ -317,18 +357,25 @@ var _default = exports.default = {
|
|
|
317
357
|
* 如果为空则删除所有
|
|
318
358
|
*/
|
|
319
359
|
_remove(rows) {
|
|
360
|
+
const $xeTable = this;
|
|
361
|
+
const props = $xeTable;
|
|
362
|
+
const reactData = $xeTable;
|
|
363
|
+
const internalData = $xeTable;
|
|
364
|
+
const {
|
|
365
|
+
treeConfig
|
|
366
|
+
} = props;
|
|
320
367
|
const {
|
|
321
|
-
afterFullData,
|
|
322
|
-
tableFullData,
|
|
323
|
-
tableFullTreeData,
|
|
324
|
-
treeConfig,
|
|
325
368
|
mergeList,
|
|
326
369
|
editStore,
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
370
|
+
selectCheckboxMaps
|
|
371
|
+
} = reactData;
|
|
372
|
+
const {
|
|
373
|
+
tableFullTreeData,
|
|
374
|
+
afterFullData,
|
|
375
|
+
tableFullData
|
|
376
|
+
} = internalData;
|
|
377
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
378
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
332
379
|
const {
|
|
333
380
|
transform,
|
|
334
381
|
mapChildrenField
|
|
@@ -337,7 +384,6 @@ var _default = exports.default = {
|
|
|
337
384
|
const {
|
|
338
385
|
actived,
|
|
339
386
|
removeList,
|
|
340
|
-
insertList,
|
|
341
387
|
insertMaps
|
|
342
388
|
} = editStore;
|
|
343
389
|
const {
|
|
@@ -351,7 +397,7 @@ var _default = exports.default = {
|
|
|
351
397
|
}
|
|
352
398
|
// 如果是新增,则保存记录
|
|
353
399
|
rows.forEach(row => {
|
|
354
|
-
if (
|
|
400
|
+
if (!$xeTable.isInsertByRow(row)) {
|
|
355
401
|
removeList.push(row);
|
|
356
402
|
}
|
|
357
403
|
});
|
|
@@ -422,27 +468,25 @@ var _default = exports.default = {
|
|
|
422
468
|
}
|
|
423
469
|
}
|
|
424
470
|
// 如果当前行被激活编辑,则清除激活状态
|
|
425
|
-
if (actived.row &&
|
|
426
|
-
|
|
471
|
+
if (actived.row && $xeTable.findRowIndexOf(rows, actived.row) > -1) {
|
|
472
|
+
$xeTable.clearEdit();
|
|
427
473
|
}
|
|
428
474
|
// 从新增中移除已删除的数据
|
|
429
475
|
rows.forEach(row => {
|
|
430
|
-
const rowid = (0, _util.getRowid)(
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
insertList.splice(iIndex, 1);
|
|
476
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
477
|
+
if (insertMaps[rowid]) {
|
|
478
|
+
delete insertMaps[rowid];
|
|
434
479
|
}
|
|
435
|
-
delete insertMaps[rowid];
|
|
436
480
|
});
|
|
437
|
-
|
|
481
|
+
$xeTable.updateFooter();
|
|
482
|
+
$xeTable.cacheRowMap();
|
|
483
|
+
$xeTable.handleTableData(treeConfig && transform);
|
|
438
484
|
if (!(treeConfig && transform)) {
|
|
439
|
-
|
|
485
|
+
$xeTable.updateAfterDataIndex();
|
|
440
486
|
}
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
if (this.scrollYLoad) {
|
|
445
|
-
this.updateScrollYSpace();
|
|
487
|
+
$xeTable.checkSelectionStatus();
|
|
488
|
+
if (reactData.scrollYLoad) {
|
|
489
|
+
$xeTable.updateScrollYSpace();
|
|
446
490
|
}
|
|
447
491
|
return this.$nextTick().then(() => {
|
|
448
492
|
this.updateCellAreas();
|
|
@@ -505,13 +549,20 @@ var _default = exports.default = {
|
|
|
505
549
|
* 获取新增的临时数据
|
|
506
550
|
*/
|
|
507
551
|
_getInsertRecords() {
|
|
552
|
+
const $xeTable = this;
|
|
553
|
+
const reactData = $xeTable;
|
|
554
|
+
const internalData = $xeTable;
|
|
555
|
+
const {
|
|
556
|
+
editStore
|
|
557
|
+
} = reactData;
|
|
508
558
|
const {
|
|
509
559
|
fullAllDataRowIdData
|
|
510
|
-
} =
|
|
511
|
-
const
|
|
560
|
+
} = internalData;
|
|
561
|
+
const {
|
|
562
|
+
insertMaps
|
|
563
|
+
} = editStore;
|
|
512
564
|
const insertRecords = [];
|
|
513
|
-
|
|
514
|
-
const rowid = (0, _util.getRowid)(this, row);
|
|
565
|
+
_xeUtils.default.each(insertMaps, (row, rowid) => {
|
|
515
566
|
if (fullAllDataRowIdData[rowid]) {
|
|
516
567
|
insertRecords.push(row);
|
|
517
568
|
}
|
|
@@ -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("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI;function insertTreeRow(o,e,t){let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:c,treeOpts:l}=o,{rowField:u,parentField:h,mapChildrenField:f}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var i=(0,_util.getRowid)(o,l),r=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:f}):null;if(r){var r=r.item,s=c[(0,_util.getRowid)(o,r)],s=s?s.level:0;let e=r[g],t=r[f];_xeUtils.default.isArray(e)||(e=r[g]=[]),_xeUtils.default.isArray(t)||(t=r[g]=[]),e[w](l),t[w](l);r={row:l,rowid:i,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:r,level:s+1,height:0};d[i]=r,c[i]=r}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);s={row:l,rowid:i,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0,height:0};d[i]=s,c[i]=s}})}function handleInsertRowAt(n,t,l,d){let{tableFullTreeData:e,mergeList:r,afterFullData:s,editStore:i,tableFullData:o,treeConfig:a,fullDataRowIdData:c,fullAllDataRowIdData:u,treeOpts:h}=n,{transform:f,rowField:g,mapChildrenField:w}=h,v=h.children||h.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),n.defineField(t.map(e=>Object.assign(a&&f?{[w]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))a&&f?insertTreeRow(n,m,!1):(s.unshift(...m),o.unshift(...m),r.forEach(e=>{var t=e.row;0<t&&(e.row=t+m.length)}));else if(-1===l)a&&f?insertTreeRow(n,m,!0):(s.push(...m),o.push(...m),r.forEach(e=>{var{row:t,rowspan:l}=e;t+l>s.length&&(e.rowspan=l+m.length)}));else if(a&&f){let a=_xeUtils.default.findTree(e,e=>l[g]===e[g],{children:w});if(a){let r=a.parent,s=r?r[w]:e;t=u[(0,_util.getRowid)(n,r)];let o=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(n,e);"development"===process.env.NODE_ENV&&e[h.parentField]&&r&&e[h.parentField]!==r[g]&&(0,_log.errLog)("vxe.error.errProp",[h.parentField+"="+e[h.parentField],h.parentField+"="+r[g]]),r&&(e[h.parentField]=r[g]);let i=a.index+t;d&&(i+=1),s.splice(i,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:s,parent:r,level:o+1,height:0};c[l]=t,u[l]=t}),r){t=_xeUtils.default.findTree(e,e=>l[g]===e[g],{children:v});if(t){var _=t.items;let e=t.index;d&&(e+=1),_.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(n,m,!0)}else{if(a)throw new Error(getI18n("vxe.error.noTree",["insert"]));let i=-1;if(_xeUtils.default.isNumber(l)?l<s.length&&(i=l):i=n.findRowIndexOf(s,l),-1===(i=d?Math.min(s.length,i+1):i))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));s.splice(i,0,...m),o.splice(n.findRowIndexOf(o,l),0,...m),r.forEach(e=>{var{row:t,rowspan:l}=e;t>i?e.row=t+m.length:t+l>i&&(e.rowspan=l+m.length)})}let{insertList:p,insertMaps:C}=i;return m.forEach(e=>{var t=(0,_util.getRowid)(n,e);C[t]=e}),p.unshift(...m),n.cacheRowMap(),n.updateScrollYStatus(),n.handleTableData(a&&f),a&&f||n.updateAfterDataIndex(),n.updateFooter(),n.checkSelectionStatus(),n.scrollYLoad&&n.updateScrollYSpace(),n.$nextTick().then(()=>(n.updateCellAreas(),n.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_remove(e){let{afterFullData:r,tableFullData:l,tableFullTreeData:i,treeConfig:t,mergeList:s,editStore:o,checkboxOpts:a,selectCheckboxMaps:n,isInsertByRow:d,treeOpts:c}=this,{transform:u,mapChildrenField:h}=c,f=c.children||c.childrenField,{actived:g,removeList:w,insertList:v,insertMaps:m}=o;var _=a.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=l,e.forEach(e=>{d(e)||w.push(e)}),!_){let t=Object.assign({},n);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return l===e?(e=p=l.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&u?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(this,e),{children:h}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(this,e),{children:f})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(r,e));-1<l&&r.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(l,e);-1<t&&(t=l.splice(t,1),p.push(t[0]));let i=this.findRowIndexOf(r,e);-1<i&&(s.forEach(e=>{var{row:t,rowspan:l}=e;t>i?e.row=t-1:t+l>i&&(e.rowspan=l-1)}),r.splice(i,1))}),g.row&&-1<this.findRowIndexOf(e,g.row)&&this.clearEdit(),e.forEach(e=>{var t=(0,_util.getRowid)(this,e),e=this.findRowIndexOf(v,e);-1<e&&v.splice(e,1),delete m[t]}),this.handleTableData(t&&u),t&&u||this.updateAfterDataIndex(),this.updateFooter(),this.cacheRowMap(),this.checkSelectionStatus(),this.scrollYLoad&&this.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var i=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:i,pendingRecords:t}},_getInsertRecords(){let l=this.fullAllDataRowIdData;var e=this.editStore.insertList;let i=[];return e.forEach(e=>{var t=(0,_util.getRowid)(this,e);l[t]&&i.push(e)}),i},_getRemoveRecords(){return this.editStore.removeList},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:i,treeOpts:r,editStore:s}=this;var o,a;return e?(o=s.actived,{row:o,column:a}=o,(o||a)&&this._syncActivedCell(),i?_xeUtils.default.filterTree(t,e=>l(e),r):t.filter(e=>l(e))):[]},handleEdit(l,i){var{editStore:r,editOpts:s,tableColumn:o,editConfig:e,mouseConfig:a}=this,n=s.mode,{actived:r,focused:t}=r;let{row:d,column:c}=l;var u=c.editRender,h=l.cell=l.cell||this.getCellElement(d,c),f=s.beforeEditMethod||s.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!this.hasPendingByRow(d)){if(r.row!==d||"cell"===n&&r.column!==c){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){a&&(this.clearSelected(i),this.clearCellAreas(i),this.clearCopyCellArea(i)),this.closeTooltip(),r.column&&this.handleClearEdit(i),t="edit-activated",c.renderHeight=h.offsetHeight,r.args=l,r.row=d,r.column=c,"row"===n?o.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,c);let e=s.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,i),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,i),"edit-activated"===t&&this.emitEvent("edit-actived",l,i)}else{e=r.column;a&&(this.clearSelected(i),this.clearCellAreas(i),this.clearCopyCellArea(i)),e!==c&&(u=e.model,u.update&&(0,_util.setCellValue)(d,e,u.value),this.clearValidate()),c.renderHeight=h.offsetHeight,r.args=l,r.column=c,setTimeout(()=>{this.handleFocus(l,i)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:i}=t;i&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:i}=t;i&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:i,column:r}=t;(i||r)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(i,e)):this._setColumnModel(i,r))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var i=l,r=l;let s=i.mouseConfig;var i=r.editStore,{actived:r,focused:i}=i,{row:o,column:a}=r,n=l.validOpts;let d=l.computeMouseOpts;if(o||a){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,o))return l.$nextTick();l._syncActivedCell(),r.args=null,r.row=null,r.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:o,rowIndex:l.getRowIndex(o),$rowIndex:l.getVMRowIndex(o),column:a,columnIndex:l.getColumnIndex(a),$columnIndex:l.getVMColumnIndex(a)},e)}return i.row=null,i.column=null,l.$nextTick(()=>{if(s&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()}),n.autoClear&&("full"!==n.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick()},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:i}=t;return t&&-1<this.findRowIndexOf(l,i)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(i){var r=this.editOpts,{row:s,column:o,cell:a}=i,n=o.editRender;if((0,_utils.isEnableConf)(n)){var d=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;r.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,i):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):r.autoPos&&!o.fixed&&this.scrollToRow(s,o)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let i=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&i&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,i);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:i,columnIndex:this.getColumnIndex(i),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:i,visibleColumn:r}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:r.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:i,editOpts:r,editStore:s}=this,{actived:o,selected:a}=s,{row:n,column:d}=e,c=l&&i.selected;return!c||a.row===n&&a.column===d||(o.row!==n||"cell"===r.mode&&o.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=n,a.column=d,c&&this.addColSdCls(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),this.reColSdCls(),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},reColSdCls(){var e=this.$el.querySelector(".col--selected");e&&(0,_dom.removeClass)(e,"col--selected")},addColSdCls(){var e=this.editStore.selected,{row:e,column:t}=e;this.reColSdCls(),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
|
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("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI;function insertTreeRow(s,e,t){let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:c,treeOpts:l}=s,{rowField:u,parentField:h,mapChildrenField:f}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(s,l),i=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:f}):null;if(i){var i=i.item,o=c[(0,_util.getRowid)(s,i)],o=o?o.level:0;let e=i[g],t=i[f];_xeUtils.default.isArray(e)||(e=i[g]=[]),_xeUtils.default.isArray(t)||(t=i[g]=[]),e[w](l),t[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:i,level:o+1,height:0};d[r]=i,c[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0,height:0};d[r]=o,c[r]=o}})}function handleInsertRowAt(n,t,l,d){let r=n;var e=r,i=r,c=r;let o=e.treeConfig;var{mergeList:e,editStore:i}=i;let{tableFullTreeData:u,afterFullData:s,tableFullData:a,fullDataRowIdData:h,fullAllDataRowIdData:f}=c,g=r.computeTreeOpts,{transform:w,rowField:v,mapChildrenField:m}=g,p=g.children||g.childrenField,_=(_xeUtils.default.isArray(t)||(t=[t]),n.defineField(t.map(e=>Object.assign(o&&w?{[m]:[],[p]:[]}:{},e))));if(_xeUtils.default.eqNull(l))o&&w?insertTreeRow(n,_,!1):(_.forEach(e=>{var t=(0,_util.getRowid)(r,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,items:s,parent:null,level:0,height:0};h[t]=l,f[t]=l,s.push(e),a.push(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+_.length)}));else if(-1===l)o&&w?insertTreeRow(n,_,!0):(_.forEach(e=>{var t=(0,_util.getRowid)(r,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,items:s,parent:null,level:0,height:0};h[t]=l,f[t]=l,s.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>s.length&&(e.rowspan=l+_.length)}));else if(o&&w){let a=_xeUtils.default.findTree(u,e=>l[v]===e[v],{children:m});if(a){let i=a.parent,o=i?i[m]:u;c=f[(0,_util.getRowid)(n,i)];let s=c?c.level:0;if(_.forEach((e,t)=>{var l=(0,_util.getRowid)(n,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[v]]),i&&(e[g.parentField]=i[v]);let r=a.index+t;d&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:o,parent:i,level:s+1,height:0};h[l]=t,f[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[v]===e[v],{children:p});if(t){c=t.items;let e=t.index;d&&(e+=1),c.splice(e,0,..._)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(n,_,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<s.length&&(r=l):r=n.findRowIndexOf(s,l),-1===(r=d?Math.min(s.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));s.splice(r,0,..._),a.splice(n.findRowIndexOf(a,l),0,..._),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+_.length:t+l>r&&(e.rowspan=l+_.length)})}let x=i.insertMaps;return _.forEach(e=>{var t=(0,_util.getRowid)(r,e);x[t]=e}),n.cacheRowMap(),n.updateScrollYStatus(),n.handleTableData(o&&w),o&&w||n.updateAfterDataIndex(),n.updateFooter(),n.checkSelectionStatus(),n.scrollYLoad&&n.updateScrollYSpace(),n.$nextTick().then(()=>(n.updateCellAreas(),n.recalculate())).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_remove(e){let t=this;var l=t,r=t,i=t,l=l.treeConfig;let{mergeList:o,editStore:s,selectCheckboxMaps:a}=r,{tableFullTreeData:n,afterFullData:d,tableFullData:c}=i;var i=t.computeCheckboxOpts,u=t.computeTreeOpts;let{transform:h,mapChildrenField:f}=u,g=u.children||u.childrenField,{actived:w,removeList:v,insertMaps:m}=s;u=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.forEach(e=>{t.isInsertByRow(e)||v.push(e)}),!u){let t=Object.assign({},a);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return c===e?(e=p=c.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):l&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:f}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:g})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(c,e);-1<t&&(t=c.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<t.findRowIndexOf(e,w.row)&&t.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(t,e);m[e]&&delete m[e]}),t.updateFooter(),t.cacheRowMap(),t.handleTableData(l&&h),l&&h||t.updateAfterDataIndex(),t.checkSelectionStatus(),r.scrollYLoad&&t.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){return this.editStore.removeList},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:r,treeOpts:i,editStore:o}=this;var s,a;return e?(s=o.actived,{row:s,column:a}=s,(s||a)&&this._syncActivedCell(),r?_xeUtils.default.filterTree(t,e=>l(e),i):t.filter(e=>l(e))):[]},handleEdit(l,r){var{editStore:i,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:a}=this,n=o.mode,{actived:i,focused:t}=i;let{row:d,column:c}=l;var u=c.editRender,h=l.cell=l.cell||this.getCellElement(d,c),f=o.beforeEditMethod||o.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!this.hasPendingByRow(d)){if(i.row!==d||"cell"===n&&i.column!==c){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){a&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),this.closeTooltip(),i.column&&this.handleClearEdit(r),t="edit-activated",c.renderHeight=h.offsetHeight,i.args=l,i.row=d,i.column=c,"row"===n?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,c);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,r),"edit-activated"===t&&this.emitEvent("edit-actived",l,r)}else{e=i.column;a&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),e!==c&&(u=e.model,u.update&&(0,_util.setCellValue)(d,e,u.value),this.clearValidate()),c.renderHeight=h.offsetHeight,i.args=l,i.column=c,setTimeout(()=>{this.handleFocus(l,r)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(r,e)):this._setColumnModel(r,i))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var r=l,i=l;let o=r.mouseConfig;var r=i.editStore,{actived:i,focused:r}=r,{row:s,column:a}=i,n=l.validOpts;let d=l.computeMouseOpts;if(s||a){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),i.args=null,i.row=null,i.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:a,columnIndex:l.getColumnIndex(a),$columnIndex:l.getVMColumnIndex(a)},e)}return r.row=null,r.column=null,l.$nextTick(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()}),n.autoClear&&("full"!==n.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick()},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:s,cell:a}=r,n=s.editRender;if((0,_utils.isEnableConf)(n)){var d=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;i.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):i.autoPos&&!s.fixed&&this.scrollToRow(o,s)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let r=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,r);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:r,columnIndex:this.getColumnIndex(r),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:r,editOpts:i,editStore:o}=this,{actived:s,selected:a}=o,{row:n,column:d}=e,c=l&&r.selected;return!c||a.row===n&&a.column===d||(s.row!==n||"cell"===i.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=n,a.column=d,c&&this.addColSdCls(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),this.reColSdCls(),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},reColSdCls(){var e=this.$el.querySelector(".col--selected");e&&(0,_dom.removeClass)(e,"col--selected")},addColSdCls(){var e=this.editStore.selected,{row:e,column:t}=e;this.reColSdCls(),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -796,7 +796,10 @@ var _default = exports.default = {
|
|
|
796
796
|
const scrollBodyElem = this.$el;
|
|
797
797
|
const headerElem = tableHeader ? tableHeader.$el : null;
|
|
798
798
|
const footerElem = tableFooter ? tableFooter.$el : null;
|
|
799
|
-
const bodyElem = tableBody.$el;
|
|
799
|
+
const bodyElem = tableBody ? tableBody.$el : null;
|
|
800
|
+
if (!bodyElem) {
|
|
801
|
+
return;
|
|
802
|
+
}
|
|
800
803
|
const leftElem = leftBody ? leftBody.$el : null;
|
|
801
804
|
const rightElem = rightBody ? rightBody.$el : null;
|
|
802
805
|
const xHandleEl = $xeTable.$refs.refScrollXHandleElem;
|
|
@@ -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:V,height:g,columnKey:F,overflowX:h,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:P,showOverflow:X,isAllOverflow:j,align:z,currentColumn:K,cellClassName:G,cellStyle:m,mergeList:w,spanMethod:J,radioOpts:Q,checkboxOpts:x,expandOpts:Z,treeOpts:ee,tooltipOpts:y,mouseConfig:le,editConfig:f,editOpts:b,editRules:S,validOpts:T,editStore:te,tooltipConfig:re,rowOpts:oe,columnOpts:se,mouseOpts:ae,areaOpts:_,validErrorMaps:C}=l,_=_.selectCellToRow,ie=l.computeCellOpts,{type:ne,cellRender:de,editRender:$,align:ce,showOverflow:O,className:pe,treeNode:ue,slots:ge}=d,ie=ie.verticalAlign,te=te.actived,v=v.rHeight,E=oe.height,R=$||de,R=R?renderer.get(R.name):null,he=R?R.tableCellClassName||R.cellClassName:"",ve=R?R.tableCellStyle||R.cellStyle:"";let I=y.showAll||y.enabled;var y=l.getColumnIndex(d),me=l.getVTColumnIndex(d),we=(0,_utils.isEnableConf)($);let D=o?d.fixed!==o:d.fixed&&h;h=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?X:O,O="ellipsis"===h;let L="title"===h,k=!0===h||"tooltip"===h;h=L||k||O;let xe;var M={},A=A[r],ce=ce||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=S&&T.showMessage&&("default"===T.message?g||1<V.length:"inline"===T.message),C={colid:d.id};let ye=p["cell-mouseenter"],fe=p["cell-mouseleave"];S=$&&f&&"dblclick"===b.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:y,$columnIndex:c,_columnIndex:me,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:V,items:q};if((L||k||I||ye||re)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(L?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||I)&&l.triggerBodyTooltipEvent(e,Y),ye&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(k||I||fe||re)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((k||I)&&l.handleTargetLeaveEvent(e),fe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(x.range||le)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(oe.isCurrent||P||p["cell-click"]||$&&f||"row"===Z.trigger||"cell"===Z.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===x.trigger||"checkbox"===d.type&&"cell"===x.trigger||"row"===ee.trigger||d.treeNode&&"cell"===ee.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,Y)}),(S||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),w.length){g=(0,_util.mergeBodyMethod)(w,B,me);if(g){var{rowspan:t,colspan:r}=g;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(D=D&&w&&(1<C.colspan||1<C.rowspan)?!1:D)&&f&&($||de)&&(b.showStatus||b.showUpdateStatus)&&(xe=l.isUpdateByRow(a,d.field));y=[];D&&X&&j?y.push(e("div",{class:["vxe-cell",{"c--title":L,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""}})):(y.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":L,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""},attrs:{title:L?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&R&&(o=R.rule,s=ge?ge.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),R),{rule:R}),y.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(T.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(T.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let be="";return h&&(v||E)?be=`${v||E}px`:!N&&!W||h||(be=`${A.height||24}px`),le&&ae.area&&_&&((c||!0!==_)&&_!==d.field||y.push(e("div",{class:"vxe-cell--area-status"}))),e("td",{class:["vxe-body--column",d.id,{["col--"+ce]:ce,["col--vertical-"+ie]:ie,["col--"+ne]:ne,"col--last":c===U.length-1,"col--tree-node":ue,"col--edit":we,"col--ellipsis":h,"fixed--hidden":D,"col--dirty":xe,"col--active":f&&we&&te.row===a&&(te.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":K===d},(0,_utils.getClass)(he,Y),(0,_utils.getClass)(pe,Y),(0,_utils.getClass)(G,Y)],key:F||se.useKey||oe.useKey?d.id:c,attrs:C,style:Object.assign({height:be},_xeUtils.default.isFunction(ve)?ve(Y):ve,_xeUtils.default.isFunction(m)?m(Y):m),on:M},y)}function renderRows(m,w,x,y,f,b){let{stripe:S,rowKey:T,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:E,treeConfig:R,treeOpts:I,expandOpts:D,editOpts:L,treeExpandedMaps:k,scrollYLoad:M,rowExpandedMaps:Y,radioOpts:H,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:A,rowOpts:V,pendingRowList:F,pendingRowMaps:N,columnOpts:W,isDragColMove:P}=x,X=I.children||I.childrenField,j=[];return f.forEach((t,r)=>{var e={};let o,s=x.getVTRowIndex(t),a=(o=x.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),V.drag&&(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)}),(0,_util.getRowid)(x,t));var l=A[a];let i=l?l.level:0,n=l?l.seq:-1;var l={$table:x,seq:n,rowid:a,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},d=U&&!!Y[a];let c=!1,p=[],u=!1;O&&(u=x.isInsertByRow(t)),!R||M||I.transform||(p=t[X],c=p&&p.length&&!!k[a]);var g,h=["vxe-body--row",R?"row--level-"+i:"",{"row--stripe":S&&(x.getVTRowIndex(t)+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(L.showStatus||L.showInsertStatus),"row--radio":H.highlight&&x.selectRadioRow===t,"row--checked":B.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":F.length&&!!N[a]},C?_xeUtils.default.isFunction(C)?C(l):C:""],v=b.map((e,l)=>renderColumn(m,w,x,n,a,y,i,t,o,r,s,e,l,b,f));j.push(W.drag?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(P?"":"-disabled")},class:h,attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||V.useKey||V.drag||R?a:r,nativeOn:e},v):m("tr",{class:h,attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||V.useKey||V.drag||R?a:r,on:e},v)),d&&({height:h,padding:l}=D,v={},d=(h&&(v.height=h+"px"),R&&(v.paddingLeft=i*I.indent+30+"px"),U).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?E:d,g={$table:x,seq:n,column:U,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},j.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:$?_xeUtils.default.isFunction($)?$(g):$:null,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":d},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:v},[U.renderData(m,g)])])]))),c&&j.push(...renderRows(m,w,x,y,p,b))}),j}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){var e=this.$parent;let{_e:l,$parent:r,fixedColumn:o,fixedType:s}=this,{$scopedSlots:a,tId:i,tableData:n,tableColumn:d,visibleColumn:c,expandColumn:p,showOverflow:u,keyboardConfig:g,keyboardOpts:h,mergeList:v,spanMethod:m,scrollXLoad:w,scrollYLoad:x,isAllOverflow:y,emptyOpts:f,mouseConfig:b,mouseOpts:S,sYOpts:T,rowOpts:_,isDragRowMove:C}=r;s&&(d=p||!(w||x||u&&y)||v.length||m||g&&h.isMerge?c:o);let $;$=a.empty?a.empty.call(this,{$table:r},t):(O=(O=f.name?renderer.get(f.name):null)?O.renderTableEmpty||O.renderTableEmptyView||O.renderEmpty:null)?(0,_vn.getSlotVNs)(O.call(this,t,f,{$table:r})):r.emptyText||getI18n("vxe.table.emptyText");var O={scroll:this.scrollEvent};return"wheel"===T.mode&&(O.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",s?`fixed-${s}--wrapper`:"body--wrapper"],attrs:{xid:i},on:O},[s?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:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},d.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(C?"":"-disabled")}},renderRows(t,this,r,s,n,d)):t("tbody",{ref:"tbody"},renderRows(t,this,r,s,n,d))]),t("div",{class:"vxe-table--checkbox-range"}),b&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){r.triggerCellAreaExtendMousedownEvent&&r.triggerCellAreaExtendMousedownEvent(e,{$table:r,fixed:s,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(e),s?renderEmptyElement(e):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},$)])])},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.$el,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 v=(r&&s?s:u).clientHeight,m=(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:v,bodyWidth:m,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:V,height:g,columnKey:F,overflowX:h,sYOpts:v,scrollXLoad:N,scrollYLoad:W,highlightCurrentRow:P,showOverflow:X,isAllOverflow:j,align:z,currentColumn:K,cellClassName:G,cellStyle:m,mergeList:w,spanMethod:J,radioOpts:Q,checkboxOpts:x,expandOpts:Z,treeOpts:ee,tooltipOpts:y,mouseConfig:le,editConfig:f,editOpts:b,editRules:S,validOpts:T,editStore:te,tooltipConfig:re,rowOpts:oe,columnOpts:se,mouseOpts:ae,areaOpts:_,validErrorMaps:C}=l,_=_.selectCellToRow,ie=l.computeCellOpts,{type:ne,cellRender:de,editRender:$,align:ce,showOverflow:O,className:pe,treeNode:ue,slots:ge}=d,ie=ie.verticalAlign,te=te.actived,v=v.rHeight,E=oe.height,R=$||de,R=R?renderer.get(R.name):null,he=R?R.tableCellClassName||R.cellClassName:"",ve=R?R.tableCellStyle||R.cellStyle:"";let I=y.showAll||y.enabled;var y=l.getColumnIndex(d),me=l.getVTColumnIndex(d),we=(0,_utils.isEnableConf)($);let D=o?d.fixed!==o:d.fixed&&h;h=_xeUtils.default.isUndefined(O)||_xeUtils.default.isNull(O)?X:O,O="ellipsis"===h;let L="title"===h,k=!0===h||"tooltip"===h;h=L||k||O;let xe;var M={},A=A[r],ce=ce||(R?R.tableCellAlign:"")||z,R=C[r+":"+d.id],z=S&&T.showMessage&&("default"===T.message?g||1<V.length:"inline"===T.message),C={colid:d.id};let ye=p["cell-mouseenter"],fe=p["cell-mouseleave"];S=$&&f&&"dblclick"===b.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:y,$columnIndex:c,_columnIndex:me,fixed:o,type:renderType,isHidden:D,level:s,visibleData:u,data:V,items:q};if((L||k||I||ye||re)&&(M.mouseenter=e=>{isVMScrollProcess(l)||(L?(0,_dom.updateCellTitle)(e.currentTarget,d):(k||I)&&l.triggerBodyTooltipEvent(e,Y),ye&&l.emitEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Y),e))}),(k||I||fe||re)&&(M.mouseleave=e=>{isVMScrollProcess(l)||((k||I)&&l.handleTargetLeaveEvent(e),fe&&l.emitEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Y),e))}),(x.range||le)&&(M.mousedown=e=>{l.triggerCellMousedownEvent(e,Y)}),(oe.isCurrent||P||p["cell-click"]||$&&f||"row"===Z.trigger||"cell"===Z.trigger||"row"===Q.trigger||"radio"===d.type&&"cell"===Q.trigger||"row"===x.trigger||"checkbox"===d.type&&"cell"===x.trigger||"row"===ee.trigger||d.treeNode&&"cell"===ee.trigger)&&(M.click=e=>{l.triggerCellClickEvent(e,Y)}),(S||p["cell-dblclick"])&&(M.dblclick=e=>{l.triggerCellDblclickEvent(e,Y)}),w.length){g=(0,_util.mergeBodyMethod)(w,B,me);if(g){var{rowspan:t,colspan:r}=g;if(!t||!r)return null;1<t&&(C.rowspan=t),1<r&&(C.colspan=r)}}else if(J){var{rowspan:i=1,colspan:n=1}=J(Y)||{};if(!i||!n)return null;1<i&&(C.rowspan=i),1<n&&(C.colspan=n)}!(D=D&&w&&(1<C.colspan||1<C.rowspan)?!1:D)&&f&&($||de)&&(b.showStatus||b.showUpdateStatus)&&(xe=l.isUpdateByRow(a,d.field));y=[];D&&X&&j?y.push(e("div",{class:["vxe-cell",{"c--title":L,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""}})):(y.push(...renderLine(e,H,l,Y),e("div",{class:["vxe-cell",{"c--title":L,"c--tooltip":k,"c--ellipsis":O}],style:{maxHeight:h&&(v||E)?`${v||E}px`:""},attrs:{title:L?l.getCellLabel(a,d):null}},d.renderCell(e,Y))),z&&R&&(o=R.rule,s=ge?ge.valid:null,u=Object.assign(Object.assign(Object.assign({},Y),R),{rule:R}),y.push(e("div",{class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(T.className,R)],style:o&&o.maxWidth?{width:o.maxWidth+"px"}:null},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(T.theme||"normal")},[s?l.callSlot(s,u,e):[e("span",{class:"vxe-cell--valid-error-msg"},R.content)]])]))));let be="";return h&&(v||E)?be=`${v||E}px`:!N&&!W||h||(be=`${A.height||24}px`),le&&ae.area&&_&&((c||!0!==_)&&_!==d.field||y.push(e("div",{class:"vxe-cell--area-status"}))),e("td",{class:["vxe-body--column",d.id,{["col--"+ce]:ce,["col--vertical-"+ie]:ie,["col--"+ne]:ne,"col--last":c===U.length-1,"col--tree-node":ue,"col--edit":we,"col--ellipsis":h,"fixed--hidden":D,"col--dirty":xe,"col--active":f&&we&&te.row===a&&(te.column===d||"row"===b.mode),"col--valid-error":!!R,"col--current":K===d},(0,_utils.getClass)(he,Y),(0,_utils.getClass)(pe,Y),(0,_utils.getClass)(G,Y)],key:F||se.useKey||oe.useKey?d.id:c,attrs:C,style:Object.assign({height:be},_xeUtils.default.isFunction(ve)?ve(Y):ve,_xeUtils.default.isFunction(m)?m(Y):m),on:M},y)}function renderRows(m,w,x,y,f,b){let{stripe:S,rowKey:T,highlightHoverRow:_,rowClassName:C,rowStyle:$,editConfig:O,showOverflow:E,treeConfig:R,treeOpts:I,expandOpts:D,editOpts:L,treeExpandedMaps:k,scrollYLoad:M,rowExpandedMaps:Y,radioOpts:H,checkboxOpts:B,expandColumn:U,hasFixedColumn:q,fullAllDataRowIdData:A,rowOpts:V,pendingRowList:F,pendingRowMaps:N,columnOpts:W,isDragColMove:P}=x,X=I.children||I.childrenField,j=[];return f.forEach((t,r)=>{var e={};let o,s=x.getVTRowIndex(t),a=(o=x.getRowIndex(t),(V.isHover||_)&&(e.mouseenter=e=>{isVMScrollProcess(x)||x.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(x)||x.clearHoverRow()}),V.drag&&(e.dragstart=e=>{x.handleRowDragDragstartEvent(e)},e.dragover=e=>{x.handleRowDragDragoverEvent(e)},e.dragend=e=>{x.handleRowDragDragendEvent(e)}),(0,_util.getRowid)(x,t));var l=A[a];let i=l?l.level:0,n=l?l.seq:-1;var l={$table:x,seq:n,rowid:a,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},d=U&&!!Y[a];let c=!1,p=[],u=!1;O&&(u=x.isInsertByRow(t)),!R||M||I.transform||(p=t[X],c=p&&p.length&&!!k[a]);var g,h=["vxe-body--row",R?"row--level-"+i:"",{"row--stripe":S&&(x.getVTRowIndex(t)+1)%2==0,"is--new":u,"is--expand-row":d,"is--expand-tree":c,"row--new":u&&(L.showStatus||L.showInsertStatus),"row--radio":H.highlight&&x.selectRadioRow===t,"row--checked":B.highlight&&x.isCheckedByCheckboxRow(t),"row--pending":F.length&&!!N[a]},C?_xeUtils.default.isFunction(C)?C(l):C:""],v=b.map((e,l)=>renderColumn(m,w,x,n,a,y,i,t,o,r,s,e,l,b,f));j.push(W.drag?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(P?"":"-disabled")},class:h,attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||V.useKey||V.drag||R?a:r,nativeOn:e},v):m("tr",{class:h,attrs:{rowid:a},style:$?_xeUtils.default.isFunction($)?$(l):$:null,key:T||V.useKey||V.drag||R?a:r,on:e},v)),d&&({height:h,padding:l}=D,v={},d=(h&&(v.height=h+"px"),R&&(v.paddingLeft=i*I.indent+30+"px"),U).showOverflow,d=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?E:d,g={$table:x,seq:n,column:U,fixed:y,type:renderType,level:i,row:t,rowIndex:o,$rowIndex:r},j.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":l}],key:"expand_"+a,style:$?_xeUtils.default.isFunction($)?$(g):$:null,on:e},[m("td",{class:{"vxe-body--expanded-column":1,"fixed--hidden":y&&!q,"col--ellipsis":d},attrs:{colspan:b.length}},[m("div",{class:{"vxe-body--expanded-cell":1,"is--ellipsis":h},style:v},[U.renderData(m,g)])])]))),c&&j.push(...renderRows(m,w,x,y,p,b))}),j}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){var e=this.$parent;let{_e:l,$parent:r,fixedColumn:o,fixedType:s}=this,{$scopedSlots:a,tId:i,tableData:n,tableColumn:d,visibleColumn:c,expandColumn:p,showOverflow:u,keyboardConfig:g,keyboardOpts:h,mergeList:v,spanMethod:m,scrollXLoad:w,scrollYLoad:x,isAllOverflow:y,emptyOpts:f,mouseConfig:b,mouseOpts:S,sYOpts:T,rowOpts:_,isDragRowMove:C}=r;s&&(d=p||!(w||x||u&&y)||v.length||m||g&&h.isMerge?c:o);let $;$=a.empty?a.empty.call(this,{$table:r},t):(O=(O=f.name?renderer.get(f.name):null)?O.renderTableEmpty||O.renderTableEmptyView||O.renderEmpty:null)?(0,_vn.getSlotVNs)(O.call(this,t,f,{$table:r})):r.emptyText||getI18n("vxe.table.emptyText");var O={scroll:this.scrollEvent};return"wheel"===T.mode&&(O.wheel=this.wheelEvent),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",s?`fixed-${s}--wrapper`:"body--wrapper"],attrs:{xid:i},on:O},[s?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:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[t("colgroup",{ref:"colgroup"},d.map((e,l)=>t("col",{attrs:{name:e.id},key:l}))),_.drag?t("transition-group",{props:{tag:"tbody",name:"vxe-body--row-list"+(C?"":"-disabled")}},renderRows(t,this,r,s,n,d)):t("tbody",{ref:"tbody"},renderRows(t,this,r,s,n,d))]),t("div",{class:"vxe-table--checkbox-range"}),b&&S.area?t("div",{class:"vxe-table--cell-area"},[t("span",{class:"vxe-table--cell-main-area"},S.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){r.triggerCellAreaExtendMousedownEvent&&r.triggerCellAreaExtendMousedownEvent(e,{$table:r,fixed:s,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(e),s?renderEmptyElement(e):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},$)])])},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 v=(r&&s?s:u).clientHeight,m=(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:v,bodyWidth:m,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/footer.js
CHANGED
|
@@ -383,7 +383,13 @@ var _default = exports.default = {
|
|
|
383
383
|
} = $xeTable.$refs;
|
|
384
384
|
const headerElem = tableHeader ? tableHeader.$el : null;
|
|
385
385
|
const footerElem = tableFooter ? tableFooter.$el : null;
|
|
386
|
-
|
|
386
|
+
if (!footerElem) {
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
const bodyElem = tableBody ? tableBody.$el : null;
|
|
390
|
+
if (!bodyElem) {
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
387
393
|
const xHandleEl = $xeTable.$refs.refScrollXHandleElem;
|
|
388
394
|
const scrollLeft = footerElem.scrollLeft;
|
|
389
395
|
const isRollX = true;
|
|
@@ -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"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",renderer=_ui.VxeUI.renderer;function mergeFooterMethod(l,r,t){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<o&&a&&i){if(o===r&&n===t)return{rowspan:a,colspan:i};if(o<=r&&r<o+a&&n<=t&&t<n+i)return{rowspan:0,colspan:0}}}}function renderRows(v,e,b,w,y,_,h){let{$parent:$,fixedType:T}=e,{$listeners:C,footerCellClassName:S,footerCellStyle:F,footerAlign:I,mergeFooterList:U,footerSpanMethod:k,align:E,scrollXLoad:L,columnKey:O,columnOpts:R,showFooterOverflow:A,currentColumn:M,overflowX:q,scrollbarWidth:l,tooltipOpts:D}=$;return b.map((l,e)=>{var{type:r,showFooterOverflow:t,footerAlign:o,align:n,footerClassName:a,editRender:i,cellRender:s}=l,i=i||s,s=i?renderer.get(i.name):null;let d=D.showAll||D.enabled;i=l.children&&l.children.length,i=T?l.fixed!==T&&!i:l.fixed&&q,t=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?A:t,o=o||(s?s.tableFooterCellAlign:"")||I||n||(s?s.tableCellAlign:"")||E;let c="ellipsis"===t,u="title"===t,f=!0===t||"tooltip"===t,p=u||f||c;var n={colid:l.id},s={},t=$.getColumnIndex(l),x=$.getVTColumnIndex(l),m=x;let g={$table:$,$grid:$.xegrid,row:y,_rowIndex:h,$rowIndex:_,column:l,columnIndex:t,$columnIndex:e,_columnIndex:x,itemIndex:m,items:y,fixed:T,type:renderType,data:w};if(L&&!p&&(c=p=!0),(u||f||d)&&(s.mouseenter=e=>{u?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||d)&&$.triggerFooterTooltipEvent(e,g)}),(f||d)&&(s.mouseleave=e=>{(f||d)&&$.handleTargetLeaveEvent(e)}),C["footer-cell-click"]&&(s.click=e=>{$.emitEvent("footer-cell-click",Object.assign({cell:e.currentTarget},g),e)}),C["footer-cell-dblclick"]&&(s.dblclick=e=>{$.emitEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},g),e)}),U.length){t=mergeFooterMethod(U,h,x);if(t){var{rowspan:m,colspan:x}=t;if(!m||!x)return null;1<m&&(n.rowspan=m),1<x&&(n.colspan=x)}}else if(k){var{rowspan:t=1,colspan:m=1}=k(g)||{};if(!t||!m)return null;1<t&&(n.rowspan=t),1<m&&(n.colspan=m)}return v("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+r]:r,"col--last":e===b.length-1,"fixed--hidden":i,"col--ellipsis":p,"col--current":M===l},(0,_utils.getClass)(a,g),(0,_utils.getClass)(S,g)],attrs:n,style:F?_xeUtils.default.isFunction(F)?F(g):F:null,on:s,key:O||R.useKey||R.drag?l.id:e},[v("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":f,"c--ellipsis":c}]},l.renderFooter(v,g))])}).concat(l?[v("td",{key:"gr"+_,class:"vxe-footer--gutter col--gutter"})]:[])}function renderHeads(o,n,a){let{$parent:i,fixedType:s,tableColumn:d}=n,{footerRowClassName:c,footerRowStyle:u,isDragColMove:f}=i,p=i.columnOpts;return a.map((e,l)=>{var r=l,t={$table:i,row:e,_rowIndex:r,$rowIndex:l,fixed:s,type:renderType};return p.drag?o("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",c?_xeUtils.default.isFunction(c)?c(t):c:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null}},renderRows(o,n,d,a,e,l,r)):o("tr",{class:["vxe-footer--row",c?_xeUtils.default.isFunction(c)?c(t):c:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},renderRows(o,n,d,a,e,l,r))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:String,size:String},mounted(){var{$parent:e,$el:l,$refs:r,fixedType:t}=this,e=e.elemStore,t=`${t||"main"}-footer-`;e[t+"wrapper"]=l,e[t+"table"]=r.table,e[t+"colgroup"]=r.colgroup,e[t+"list"]=r.tfoot,e[t+"xSpace"]=r.xSpace},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-footer-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null},render(r){let{_e:e,$parent:l,fixedType:t,fixedColumn:o,tableColumn:n,footerTableData:a}=this;var{tId:i,mergeFooterList:s,footerSpanMethod:d,scrollXLoad:c,showFooterOverflow:u,scrollbarWidth:f,visibleColumn:p,expandColumn:x}=l,x=(t&&(n=x||!c&&!u||s.length&&d?p:o),{});return t||(x.scroll=this.scrollEvent),r("div",{class:["vxe-table--footer-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],attrs:{xid:i},on:x},[t?e():r("div",{class:"vxe-body--x-space",ref:"xSpace"}),r("table",{class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[r("colgroup",{ref:"colgroup"},n.map((e,l)=>r("col",{attrs:{name:e.id},key:l})).concat(f?[r("col",{attrs:{name:"col_gutter"}})]:[])),r("tfoot",{ref:"tfoot"},renderHeads(r,this,a))])])},methods:{scrollEvent(e){var l,r,t,o,n=this.$parent,a=n,{inVirtualScroll:i,inBodyScroll:s}=a;i||s||(i=this.fixedType,{tableHeader:s,tableBody:l,tableFooter:t}=n.$refs,s=s?s.$el:null,t=t?t.$el:null
|
|
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"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderType="footer",renderer=_ui.VxeUI.renderer;function mergeFooterMethod(l,r,t){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:a,colspan:i}=l[e];if(-1<n&&-1<o&&a&&i){if(o===r&&n===t)return{rowspan:a,colspan:i};if(o<=r&&r<o+a&&n<=t&&t<n+i)return{rowspan:0,colspan:0}}}}function renderRows(v,e,b,w,y,_,h){let{$parent:$,fixedType:T}=e,{$listeners:C,footerCellClassName:S,footerCellStyle:F,footerAlign:I,mergeFooterList:U,footerSpanMethod:k,align:E,scrollXLoad:L,columnKey:O,columnOpts:R,showFooterOverflow:A,currentColumn:M,overflowX:q,scrollbarWidth:l,tooltipOpts:D}=$;return b.map((l,e)=>{var{type:r,showFooterOverflow:t,footerAlign:o,align:n,footerClassName:a,editRender:i,cellRender:s}=l,i=i||s,s=i?renderer.get(i.name):null;let d=D.showAll||D.enabled;i=l.children&&l.children.length,i=T?l.fixed!==T&&!i:l.fixed&&q,t=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?A:t,o=o||(s?s.tableFooterCellAlign:"")||I||n||(s?s.tableCellAlign:"")||E;let c="ellipsis"===t,u="title"===t,f=!0===t||"tooltip"===t,p=u||f||c;var n={colid:l.id},s={},t=$.getColumnIndex(l),x=$.getVTColumnIndex(l),m=x;let g={$table:$,$grid:$.xegrid,row:y,_rowIndex:h,$rowIndex:_,column:l,columnIndex:t,$columnIndex:e,_columnIndex:x,itemIndex:m,items:y,fixed:T,type:renderType,data:w};if(L&&!p&&(c=p=!0),(u||f||d)&&(s.mouseenter=e=>{u?(0,_dom.updateCellTitle)(e.currentTarget,l):(f||d)&&$.triggerFooterTooltipEvent(e,g)}),(f||d)&&(s.mouseleave=e=>{(f||d)&&$.handleTargetLeaveEvent(e)}),C["footer-cell-click"]&&(s.click=e=>{$.emitEvent("footer-cell-click",Object.assign({cell:e.currentTarget},g),e)}),C["footer-cell-dblclick"]&&(s.dblclick=e=>{$.emitEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},g),e)}),U.length){t=mergeFooterMethod(U,h,x);if(t){var{rowspan:m,colspan:x}=t;if(!m||!x)return null;1<m&&(n.rowspan=m),1<x&&(n.colspan=x)}}else if(k){var{rowspan:t=1,colspan:m=1}=k(g)||{};if(!t||!m)return null;1<t&&(n.rowspan=t),1<m&&(n.colspan=m)}return v("td",{class:["vxe-footer--column",l.id,{["col--"+o]:o,["col--"+r]:r,"col--last":e===b.length-1,"fixed--hidden":i,"col--ellipsis":p,"col--current":M===l},(0,_utils.getClass)(a,g),(0,_utils.getClass)(S,g)],attrs:n,style:F?_xeUtils.default.isFunction(F)?F(g):F:null,on:s,key:O||R.useKey||R.drag?l.id:e},[v("div",{class:["vxe-cell",{"c--title":u,"c--tooltip":f,"c--ellipsis":c}]},l.renderFooter(v,g))])}).concat(l?[v("td",{key:"gr"+_,class:"vxe-footer--gutter col--gutter"})]:[])}function renderHeads(o,n,a){let{$parent:i,fixedType:s,tableColumn:d}=n,{footerRowClassName:c,footerRowStyle:u,isDragColMove:f}=i,p=i.columnOpts;return a.map((e,l)=>{var r=l,t={$table:i,row:e,_rowIndex:r,$rowIndex:l,fixed:s,type:renderType};return p.drag?o("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(f?"":"-disabled"),class:["vxe-footer--row",c?_xeUtils.default.isFunction(c)?c(t):c:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null}},renderRows(o,n,d,a,e,l,r)):o("tr",{class:["vxe-footer--row",c?_xeUtils.default.isFunction(c)?c(t):c:""],style:u?_xeUtils.default.isFunction(u)?u(t):u:null},renderRows(o,n,d,a,e,l,r))})}var _default=exports.default={name:"VxeTableFooter",props:{footerTableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:String,size:String},mounted(){var{$parent:e,$el:l,$refs:r,fixedType:t}=this,e=e.elemStore,t=`${t||"main"}-footer-`;e[t+"wrapper"]=l,e[t+"table"]=r.table,e[t+"colgroup"]=r.colgroup,e[t+"list"]=r.tfoot,e[t+"xSpace"]=r.xSpace},destroyed(){var{$parent:e,fixedType:l}=this,e=e.elemStore,l=`${l||"main"}-footer-`;e[l+"wrapper"]=null,e[l+"table"]=null,e[l+"colgroup"]=null,e[l+"list"]=null,e[l+"xSpace"]=null},render(r){let{_e:e,$parent:l,fixedType:t,fixedColumn:o,tableColumn:n,footerTableData:a}=this;var{tId:i,mergeFooterList:s,footerSpanMethod:d,scrollXLoad:c,showFooterOverflow:u,scrollbarWidth:f,visibleColumn:p,expandColumn:x}=l,x=(t&&(n=x||!c&&!u||s.length&&d?p:o),{});return t||(x.scroll=this.scrollEvent),r("div",{class:["vxe-table--footer-wrapper",t?`fixed-${t}--wrapper`:"body--wrapper"],attrs:{xid:i},on:x},[t?e():r("div",{class:"vxe-body--x-space",ref:"xSpace"}),r("table",{class:"vxe-table--footer",attrs:{xid:i,cellspacing:0,cellpadding:0,border:0},ref:"table"},[r("colgroup",{ref:"colgroup"},n.map((e,l)=>r("col",{attrs:{name:e.id},key:l})).concat(f?[r("col",{attrs:{name:"col_gutter"}})]:[])),r("tfoot",{ref:"tfoot"},renderHeads(r,this,a))])])},methods:{scrollEvent(e){var l,r,t,o,n=this.$parent,a=n,{inVirtualScroll:i,inBodyScroll:s}=a;i||s||(i=this.fixedType,{tableHeader:s,tableBody:l,tableFooter:t}=n.$refs,s=s?s.$el:null,(t=t?t.$el:null)&&(l=l?l.$el:null)&&(r=n.$refs.refScrollXHandleElem,t=t.scrollLeft,o=l.scrollTop,a.inFooterScroll=!0,(0,_dom.setScrollLeft)(r,t),(0,_dom.setScrollLeft)(s,t),(0,_dom.setScrollLeft)(l,t),n.triggerScrollXEvent(e),n.handleScrollEvent(e,!1,!0,o,t,{type:renderType,fixed:i})))}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -808,7 +808,6 @@ const Methods = {
|
|
|
808
808
|
scrollYStore.endIndex = 1;
|
|
809
809
|
scrollXStore.startIndex = 0;
|
|
810
810
|
scrollXStore.endIndex = 1;
|
|
811
|
-
editStore.insertList = [];
|
|
812
811
|
editStore.insertMaps = {};
|
|
813
812
|
editStore.removeList = [];
|
|
814
813
|
editStore.removeMaps = {};
|
|
@@ -1784,14 +1783,20 @@ const Methods = {
|
|
|
1784
1783
|
editStore
|
|
1785
1784
|
} = this;
|
|
1786
1785
|
const rowid = (0, _util.getRowid)(this, row);
|
|
1787
|
-
return editStore.
|
|
1786
|
+
return !!editStore.insertMaps[rowid];
|
|
1788
1787
|
},
|
|
1789
1788
|
/**
|
|
1790
1789
|
* 删除所有新增的临时数据
|
|
1791
1790
|
* @returns
|
|
1792
1791
|
*/
|
|
1793
1792
|
removeInsertRow() {
|
|
1794
|
-
|
|
1793
|
+
const $xeTable = this;
|
|
1794
|
+
const reactData = $xeTable;
|
|
1795
|
+
const {
|
|
1796
|
+
editStore
|
|
1797
|
+
} = reactData;
|
|
1798
|
+
editStore.insertMaps = {};
|
|
1799
|
+
return $xeTable.remove($xeTable.getInsertRecords());
|
|
1795
1800
|
},
|
|
1796
1801
|
/**
|
|
1797
1802
|
* 检查行或列数据是否发生改变
|