vxe-table 4.1.11-beta.1 → 4.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.zh-TW.md +0 -1
- package/es/edit/src/hook.js +8 -2
- package/es/export/src/hook.js +5 -8
- package/es/table/src/body.js +28 -14
- package/es/table/src/table.js +57 -39
- package/es/validator/src/hook.js +1 -1
- package/lib/edit/src/hook.js +12 -2
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +4 -8
- package/lib/export/src/hook.min.js +1 -1
- package/lib/index.umd.js +119 -91
- package/lib/index.umd.min.js +1 -1
- package/lib/table/src/body.js +33 -17
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +71 -64
- package/lib/table/src/table.min.js +1 -1
- package/lib/validator/src/hook.js +1 -1
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +1 -1
- package/packages/edit/src/hook.ts +8 -2
- package/packages/export/src/hook.ts +5 -8
- package/packages/table/src/body.ts +28 -14
- package/packages/table/src/table.ts +58 -38
- package/packages/validator/src/hook.ts +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* [x] v2.0 基于 vue2.6+,支持所有主流的浏览器,同时兼具功能与性能
|
|
25
25
|
* [x] v3.0 基于 vue2.6+,支持现代浏览器并保留兼容 IE11,提升渲染性能
|
|
26
26
|
* [x] v4.0 基于 vue3.0+,只支持现代浏览器,不支持 IE
|
|
27
|
-
* [ ] 下一阶段:sticky
|
|
27
|
+
* [ ] 下一阶段:sticky 渲染模式、css 变量主题、将虚拟滚动提升到极致、虚拟滚动动态行高、数据图表可视化
|
|
28
28
|
|
|
29
29
|
## QQ 交流群
|
|
30
30
|
|
package/README.zh-TW.md
CHANGED
package/es/edit/src/hook.js
CHANGED
|
@@ -224,7 +224,10 @@ var editHook = {
|
|
|
224
224
|
(_a = editStore.insertList).unshift.apply(_a, newRecords);
|
|
225
225
|
$xetable.updateFooter();
|
|
226
226
|
$xetable.cacheRowMap();
|
|
227
|
-
$xetable.handleTableData(treeConfig &&
|
|
227
|
+
$xetable.handleTableData(treeConfig && transform);
|
|
228
|
+
if (!(treeConfig && transform)) {
|
|
229
|
+
$xetable.updateAfterDataIndex();
|
|
230
|
+
}
|
|
228
231
|
$xetable.checkSelectionStatus();
|
|
229
232
|
if (reactData.scrollYLoad) {
|
|
230
233
|
$xetable.updateScrollYSpace();
|
|
@@ -336,7 +339,10 @@ var editHook = {
|
|
|
336
339
|
});
|
|
337
340
|
$xetable.updateFooter();
|
|
338
341
|
$xetable.cacheRowMap();
|
|
339
|
-
$xetable.handleTableData(treeConfig &&
|
|
342
|
+
$xetable.handleTableData(treeConfig && transform);
|
|
343
|
+
if (!(treeConfig && transform)) {
|
|
344
|
+
$xetable.updateAfterDataIndex();
|
|
345
|
+
}
|
|
340
346
|
$xetable.checkSelectionStatus();
|
|
341
347
|
if (reactData.scrollYLoad) {
|
|
342
348
|
$xetable.updateScrollYSpace();
|
package/es/export/src/hook.js
CHANGED
|
@@ -2,7 +2,7 @@ import { inject, nextTick } from 'vue';
|
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
4
4
|
import { VXETable } from '../../v-x-e-table';
|
|
5
|
-
import { isColumnInfo, mergeBodyMethod, getCellValue
|
|
5
|
+
import { isColumnInfo, mergeBodyMethod, getCellValue } from '../../table/src/util';
|
|
6
6
|
import { errLog, warnLog, parseFile, formatText } from '../../tools/utils';
|
|
7
7
|
import { readLocalFile, handlePrint, saveLocalFile, createHtmlPage, getExportBlobByContent } from './util';
|
|
8
8
|
var htmlCellElem;
|
|
@@ -265,16 +265,13 @@ var tableExportHook = {
|
|
|
265
265
|
var treeOpts = computeTreeOpts.value;
|
|
266
266
|
return row[treeOpts.children] && row[treeOpts.children].length;
|
|
267
267
|
};
|
|
268
|
-
var getSeq = function (row, rowIndex, column, columnIndex
|
|
268
|
+
var getSeq = function (row, rowIndex, column, columnIndex) {
|
|
269
269
|
var seqOpts = computeSeqOpts.value;
|
|
270
270
|
var seqMethod = seqOpts.seqMethod || column.seqMethod;
|
|
271
271
|
if (seqMethod) {
|
|
272
272
|
return seqMethod({ row: row, rowIndex: rowIndex, column: column, columnIndex: columnIndex });
|
|
273
273
|
}
|
|
274
|
-
|
|
275
|
-
return toTreePathSeq(path);
|
|
276
|
-
}
|
|
277
|
-
return seqOpts.startIndex + rowIndex + 1;
|
|
274
|
+
return $xetable.getRowSeq(row);
|
|
278
275
|
};
|
|
279
276
|
var toBooleanValue = function (cellValue) {
|
|
280
277
|
return XEUtils.isBoolean(cellValue) ? (cellValue ? 'TRUE' : 'FALSE') : cellValue;
|
|
@@ -319,7 +316,7 @@ var tableExportHook = {
|
|
|
319
316
|
else {
|
|
320
317
|
switch (column.type) {
|
|
321
318
|
case 'seq':
|
|
322
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex
|
|
319
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
323
320
|
break;
|
|
324
321
|
case 'checkbox':
|
|
325
322
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
|
|
@@ -378,7 +375,7 @@ var tableExportHook = {
|
|
|
378
375
|
else {
|
|
379
376
|
switch (column.type) {
|
|
380
377
|
case 'seq':
|
|
381
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex
|
|
378
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
382
379
|
break;
|
|
383
380
|
case 'checkbox':
|
|
384
381
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
|
package/es/table/src/body.js
CHANGED
|
@@ -58,9 +58,12 @@ export default defineComponent({
|
|
|
58
58
|
return 0;
|
|
59
59
|
};
|
|
60
60
|
var countTreeExpand = function (prevRow, params) {
|
|
61
|
+
var count = 1;
|
|
62
|
+
if (!prevRow) {
|
|
63
|
+
return count;
|
|
64
|
+
}
|
|
61
65
|
var treeOpts = computeTreeOpts.value;
|
|
62
66
|
var rowChildren = prevRow[treeOpts.children];
|
|
63
|
-
var count = 1;
|
|
64
67
|
if ($xetable.isTreeExpandByRow(prevRow)) {
|
|
65
68
|
for (var index = 0; index < rowChildren.length; index++) {
|
|
66
69
|
count += countTreeExpand(rowChildren[index], params);
|
|
@@ -68,13 +71,12 @@ export default defineComponent({
|
|
|
68
71
|
}
|
|
69
72
|
return count;
|
|
70
73
|
};
|
|
71
|
-
var calcTreeLine = function (params, items) {
|
|
72
|
-
var $rowIndex = params.$rowIndex;
|
|
74
|
+
var calcTreeLine = function (params, items, rIndex) {
|
|
73
75
|
var expandSize = 1;
|
|
74
|
-
if (
|
|
75
|
-
expandSize = countTreeExpand(items[
|
|
76
|
+
if (rIndex) {
|
|
77
|
+
expandSize = countTreeExpand(items[rIndex - 1], params);
|
|
76
78
|
}
|
|
77
|
-
return tableReactData.rowHeight * expandSize - (
|
|
79
|
+
return tableReactData.rowHeight * expandSize - (rIndex ? 1 : (12 - getOffsetSize()));
|
|
78
80
|
};
|
|
79
81
|
// 滚动、拖动过程中不需要触发
|
|
80
82
|
var isOperateMouse = function () {
|
|
@@ -82,11 +84,22 @@ export default defineComponent({
|
|
|
82
84
|
var lastScrollTime = tableInternalData.lastScrollTime, _isResize = tableInternalData._isResize;
|
|
83
85
|
return _isResize || (lastScrollTime && Date.now() < lastScrollTime + delayHover);
|
|
84
86
|
};
|
|
85
|
-
var renderLine = function (
|
|
86
|
-
var column = params.column;
|
|
87
|
+
var renderLine = function (params) {
|
|
88
|
+
var row = params.row, column = params.column;
|
|
87
89
|
var treeConfig = tableProps.treeConfig;
|
|
88
90
|
var treeOpts = computeTreeOpts.value;
|
|
89
91
|
var slots = column.slots, treeNode = column.treeNode;
|
|
92
|
+
var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData;
|
|
93
|
+
var rowid = getRowid($xetable, row);
|
|
94
|
+
var rest = fullAllDataRowIdData[rowid];
|
|
95
|
+
var rLevel = 0;
|
|
96
|
+
var rIndex = 0;
|
|
97
|
+
var items = [];
|
|
98
|
+
if (rest) {
|
|
99
|
+
rLevel = rest.level;
|
|
100
|
+
rIndex = rest._index;
|
|
101
|
+
items = rest.items;
|
|
102
|
+
}
|
|
90
103
|
if (slots && slots.line) {
|
|
91
104
|
return $xetable.callSlot(slots.line, params);
|
|
92
105
|
}
|
|
@@ -98,8 +111,8 @@ export default defineComponent({
|
|
|
98
111
|
h('div', {
|
|
99
112
|
class: 'vxe-tree--line',
|
|
100
113
|
style: {
|
|
101
|
-
height: calcTreeLine(params, items) + "px",
|
|
102
|
-
left: (
|
|
114
|
+
height: calcTreeLine(params, items, rIndex) + "px",
|
|
115
|
+
left: (rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize() : 0) + 16 + "px"
|
|
103
116
|
}
|
|
104
117
|
})
|
|
105
118
|
])
|
|
@@ -242,7 +255,7 @@ export default defineComponent({
|
|
|
242
255
|
}
|
|
243
256
|
else {
|
|
244
257
|
// 渲染单元格
|
|
245
|
-
tdVNs.push.apply(tdVNs, __spreadArray(__spreadArray([], renderLine(
|
|
258
|
+
tdVNs.push.apply(tdVNs, __spreadArray(__spreadArray([], renderLine(params)), [h('div', {
|
|
246
259
|
class: ['vxe-cell', {
|
|
247
260
|
'c--title': showTitle,
|
|
248
261
|
'c--tooltip': showTooltip,
|
|
@@ -285,7 +298,7 @@ export default defineComponent({
|
|
|
285
298
|
var renderRows = function (fixedType, tableData, tableColumn) {
|
|
286
299
|
var stripe = tableProps.stripe, rowKey = tableProps.rowKey, highlightHoverRow = tableProps.highlightHoverRow, rowClassName = tableProps.rowClassName, rowStyle = tableProps.rowStyle, allColumnOverflow = tableProps.showOverflow, editConfig = tableProps.editConfig, treeConfig = tableProps.treeConfig;
|
|
287
300
|
var hasFixedColumn = tableReactData.hasFixedColumn, treeExpandeds = tableReactData.treeExpandeds, scrollYLoad = tableReactData.scrollYLoad, editStore = tableReactData.editStore, rowExpandeds = tableReactData.rowExpandeds, expandColumn = tableReactData.expandColumn, selectRow = tableReactData.selectRow;
|
|
288
|
-
var
|
|
301
|
+
var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData;
|
|
289
302
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
290
303
|
var radioOpts = computeRadioOpts.value;
|
|
291
304
|
var treeOpts = computeTreeOpts.value;
|
|
@@ -296,7 +309,6 @@ export default defineComponent({
|
|
|
296
309
|
tableData.forEach(function (row, $rowIndex) {
|
|
297
310
|
var trOn = {};
|
|
298
311
|
var rowIndex = $rowIndex;
|
|
299
|
-
var _rowIndex = $xetable.getVTRowIndex(row);
|
|
300
312
|
// 确保任何情况下 rowIndex 都精准指向真实 data 索引
|
|
301
313
|
rowIndex = $xetable.getRowIndex(row);
|
|
302
314
|
// 事件绑定
|
|
@@ -315,12 +327,14 @@ export default defineComponent({
|
|
|
315
327
|
};
|
|
316
328
|
}
|
|
317
329
|
var rowid = getRowid($xetable, row);
|
|
318
|
-
var rest =
|
|
330
|
+
var rest = fullAllDataRowIdData[rowid];
|
|
319
331
|
var rowLevel = 0;
|
|
320
332
|
var seq = -1;
|
|
333
|
+
var _rowIndex = 0;
|
|
321
334
|
if (rest) {
|
|
322
335
|
rowLevel = rest.level;
|
|
323
336
|
seq = rest.seq;
|
|
337
|
+
_rowIndex = rest._index;
|
|
324
338
|
}
|
|
325
339
|
var params = { $table: $xetable, seq: seq, rowid: rowid, fixed: fixedType, type: renderType, level: rowLevel, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex };
|
|
326
340
|
// 处理新增状态
|
package/es/table/src/table.js
CHANGED
|
@@ -1097,43 +1097,58 @@ export default defineComponent({
|
|
|
1097
1097
|
XEUtils.eachTree(afterTreeFullData, function (row, index, items, path) {
|
|
1098
1098
|
var rowid = getRowid($xetable, row);
|
|
1099
1099
|
var allrest = fullAllDataRowIdData[rowid];
|
|
1100
|
-
var fullrest = fullDataRowIdData[rowid];
|
|
1101
1100
|
var seq = path.map(function (num, i) { return i % 2 === 0 ? (Number(num) + 1) : '.'; }).join('');
|
|
1102
1101
|
if (allrest) {
|
|
1103
1102
|
allrest.seq = seq;
|
|
1104
1103
|
allrest._index = index;
|
|
1105
1104
|
}
|
|
1106
|
-
if (fullrest) {
|
|
1107
|
-
fullrest.seq = seq;
|
|
1108
|
-
fullrest._index = index;
|
|
1109
|
-
}
|
|
1110
1105
|
else {
|
|
1111
|
-
|
|
1112
|
-
|
|
1106
|
+
var rest = { row: row, rowid: rowid, seq: seq, index: -1, $index: -1, _index: index, items: [], parent: null, level: 0 };
|
|
1107
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
1108
|
+
fullDataRowIdData[rowid] = rest;
|
|
1113
1109
|
}
|
|
1114
|
-
}, treeOpts);
|
|
1110
|
+
}, { children: treeOpts.mapChildren });
|
|
1115
1111
|
}
|
|
1116
1112
|
else {
|
|
1117
1113
|
afterFullData.forEach(function (row, index) {
|
|
1118
1114
|
var rowid = getRowid($xetable, row);
|
|
1119
1115
|
var allrest = fullAllDataRowIdData[rowid];
|
|
1120
|
-
var fullrest = fullDataRowIdData[rowid];
|
|
1121
1116
|
var seq = index + 1;
|
|
1122
1117
|
if (allrest) {
|
|
1123
1118
|
allrest.seq = seq;
|
|
1124
1119
|
allrest._index = index;
|
|
1125
1120
|
}
|
|
1126
|
-
if (fullrest) {
|
|
1127
|
-
fullrest.seq = seq;
|
|
1128
|
-
fullrest._index = index;
|
|
1129
|
-
}
|
|
1130
1121
|
else {
|
|
1131
|
-
|
|
1132
|
-
|
|
1122
|
+
var rest = { row: row, rowid: rowid, seq: seq, index: -1, $index: -1, _index: index, items: [], parent: null, level: 0 };
|
|
1123
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
1124
|
+
fullDataRowIdData[rowid] = rest;
|
|
1133
1125
|
}
|
|
1134
1126
|
});
|
|
1135
1127
|
}
|
|
1136
1128
|
};
|
|
1129
|
+
/**
|
|
1130
|
+
* 如果为虚拟树,将树结构拍平
|
|
1131
|
+
* @returns
|
|
1132
|
+
*/
|
|
1133
|
+
var handleVirtualTreeToList = function () {
|
|
1134
|
+
var treeConfig = props.treeConfig;
|
|
1135
|
+
var treeExpandeds = reactData.treeExpandeds;
|
|
1136
|
+
var treeOpts = computeTreeOpts.value;
|
|
1137
|
+
if (treeConfig && treeOpts.transform) {
|
|
1138
|
+
var fullData_1 = [];
|
|
1139
|
+
var expandMaps_1 = new Map();
|
|
1140
|
+
XEUtils.eachTree(internalData.afterTreeFullData, function (row, index, items, path, parent) {
|
|
1141
|
+
if (!parent || (expandMaps_1.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1)) {
|
|
1142
|
+
expandMaps_1.set(row, 1);
|
|
1143
|
+
fullData_1.push(row);
|
|
1144
|
+
}
|
|
1145
|
+
}, { children: treeOpts.mapChildren });
|
|
1146
|
+
internalData.afterFullData = fullData_1;
|
|
1147
|
+
updateScrollYStatus(fullData_1);
|
|
1148
|
+
return fullData_1;
|
|
1149
|
+
}
|
|
1150
|
+
return internalData.afterFullData;
|
|
1151
|
+
};
|
|
1137
1152
|
/**
|
|
1138
1153
|
* 获取处理后全量的表格数据
|
|
1139
1154
|
* 如果存在筛选条件,继续处理
|
|
@@ -2227,6 +2242,7 @@ export default defineComponent({
|
|
|
2227
2242
|
*/
|
|
2228
2243
|
var handleVirtualTreeExpand = function (rows, expanded) {
|
|
2229
2244
|
return handleBaseTreeExpand(rows, expanded).then(function () {
|
|
2245
|
+
handleVirtualTreeToList();
|
|
2230
2246
|
return tablePrivateMethods.handleTableData();
|
|
2231
2247
|
}).then(function () {
|
|
2232
2248
|
return tableMethods.recalculate();
|
|
@@ -2258,10 +2274,10 @@ export default defineComponent({
|
|
|
2258
2274
|
};
|
|
2259
2275
|
var createGetRowCacheProp = function (prop) {
|
|
2260
2276
|
return function (row) {
|
|
2261
|
-
var
|
|
2277
|
+
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
2262
2278
|
if (row) {
|
|
2263
2279
|
var rowid = getRowid($xetable, row);
|
|
2264
|
-
var rest =
|
|
2280
|
+
var rest = fullAllDataRowIdData[rowid];
|
|
2265
2281
|
if (rest) {
|
|
2266
2282
|
return rest[prop];
|
|
2267
2283
|
}
|
|
@@ -3557,12 +3573,16 @@ export default defineComponent({
|
|
|
3557
3573
|
var treeExpandeds = reactData.treeExpandeds;
|
|
3558
3574
|
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
3559
3575
|
var treeOpts = computeTreeOpts.value;
|
|
3560
|
-
var lazy = treeOpts.lazy;
|
|
3576
|
+
var transform = treeOpts.transform, lazy = treeOpts.lazy;
|
|
3561
3577
|
var rest = fullAllDataRowIdData[getRowid($xetable, row)];
|
|
3562
3578
|
if (lazy && rest) {
|
|
3563
3579
|
rest.treeLoaded = false;
|
|
3564
3580
|
XEUtils.remove(treeExpandeds, function (item) { return $xetable.eqRow(item, row); });
|
|
3565
3581
|
}
|
|
3582
|
+
if (transform) {
|
|
3583
|
+
handleVirtualTreeToList();
|
|
3584
|
+
return tablePrivateMethods.handleTableData();
|
|
3585
|
+
}
|
|
3566
3586
|
return nextTick();
|
|
3567
3587
|
},
|
|
3568
3588
|
/**
|
|
@@ -3578,6 +3598,7 @@ export default defineComponent({
|
|
|
3578
3598
|
return handleAsyncTreeExpandChilds(row);
|
|
3579
3599
|
}).then(function () {
|
|
3580
3600
|
if (transform) {
|
|
3601
|
+
handleVirtualTreeToList();
|
|
3581
3602
|
return tablePrivateMethods.handleTableData();
|
|
3582
3603
|
}
|
|
3583
3604
|
}).then(function () {
|
|
@@ -3606,7 +3627,7 @@ export default defineComponent({
|
|
|
3606
3627
|
setAllTreeExpand: function (expanded) {
|
|
3607
3628
|
var tableFullData = internalData.tableFullData;
|
|
3608
3629
|
var treeOpts = computeTreeOpts.value;
|
|
3609
|
-
var lazy = treeOpts.lazy, children = treeOpts.children;
|
|
3630
|
+
var transform = treeOpts.transform, lazy = treeOpts.lazy, children = treeOpts.children;
|
|
3610
3631
|
var expandeds = [];
|
|
3611
3632
|
XEUtils.eachTree(tableFullData, function (row) {
|
|
3612
3633
|
var rowChildren = row[children];
|
|
@@ -3614,7 +3635,12 @@ export default defineComponent({
|
|
|
3614
3635
|
expandeds.push(row);
|
|
3615
3636
|
}
|
|
3616
3637
|
}, treeOpts);
|
|
3617
|
-
return tableMethods.setTreeExpand(expandeds, expanded)
|
|
3638
|
+
return tableMethods.setTreeExpand(expandeds, expanded).then(function () {
|
|
3639
|
+
if (transform) {
|
|
3640
|
+
handleVirtualTreeToList();
|
|
3641
|
+
return tableMethods.recalculate();
|
|
3642
|
+
}
|
|
3643
|
+
});
|
|
3618
3644
|
},
|
|
3619
3645
|
/**
|
|
3620
3646
|
* 设置展开树形节点,二个参数设置这一行展开与否
|
|
@@ -3657,15 +3683,20 @@ export default defineComponent({
|
|
|
3657
3683
|
var treeExpandeds = reactData.treeExpandeds;
|
|
3658
3684
|
var tableFullTreeData = internalData.tableFullTreeData;
|
|
3659
3685
|
var treeOpts = computeTreeOpts.value;
|
|
3660
|
-
var reserve = treeOpts.reserve;
|
|
3686
|
+
var transform = treeOpts.transform, reserve = treeOpts.reserve;
|
|
3661
3687
|
var isExists = treeExpandeds.length;
|
|
3662
3688
|
reactData.treeExpandeds = [];
|
|
3663
3689
|
if (reserve) {
|
|
3664
3690
|
XEUtils.eachTree(tableFullTreeData, function (row) { return handleTreeExpandReserve(row, false); }, treeOpts);
|
|
3665
3691
|
}
|
|
3666
3692
|
return tablePrivateMethods.handleTableData().then(function () {
|
|
3693
|
+
if (transform) {
|
|
3694
|
+
handleVirtualTreeToList();
|
|
3695
|
+
return tablePrivateMethods.handleTableData();
|
|
3696
|
+
}
|
|
3697
|
+
}).then(function () {
|
|
3667
3698
|
if (isExists) {
|
|
3668
|
-
tableMethods.recalculate();
|
|
3699
|
+
return tableMethods.recalculate();
|
|
3669
3700
|
}
|
|
3670
3701
|
});
|
|
3671
3702
|
},
|
|
@@ -4496,28 +4527,15 @@ export default defineComponent({
|
|
|
4496
4527
|
return record;
|
|
4497
4528
|
},
|
|
4498
4529
|
handleTableData: function (force) {
|
|
4499
|
-
var treeConfig = props.treeConfig;
|
|
4500
4530
|
var scrollYLoad = reactData.scrollYLoad;
|
|
4501
4531
|
var scrollYStore = internalData.scrollYStore, fullDataRowIdData = internalData.fullDataRowIdData;
|
|
4502
|
-
var
|
|
4503
|
-
var treeOpts = computeTreeOpts.value;
|
|
4504
|
-
var fullList = [];
|
|
4532
|
+
var fullList = internalData.afterFullData;
|
|
4505
4533
|
// 是否进行数据处理
|
|
4506
4534
|
if (force) {
|
|
4535
|
+
// 更新数据,处理筛选和排序
|
|
4507
4536
|
updateAfterFullData();
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
if (treeConfig && treeOpts.transform) {
|
|
4511
|
-
var expandMaps_1 = new Map();
|
|
4512
|
-
XEUtils.eachTree(internalData.afterTreeFullData, function (row, index, items, path, parent) {
|
|
4513
|
-
if (!parent || (expandMaps_1.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1)) {
|
|
4514
|
-
expandMaps_1.set(row, 1);
|
|
4515
|
-
fullList.push(row);
|
|
4516
|
-
}
|
|
4517
|
-
}, { children: treeOpts.mapChildren });
|
|
4518
|
-
}
|
|
4519
|
-
else {
|
|
4520
|
-
fullList = internalData.afterFullData;
|
|
4537
|
+
// 如果为虚拟树,将树结构拍平
|
|
4538
|
+
fullList = handleVirtualTreeToList();
|
|
4521
4539
|
}
|
|
4522
4540
|
var tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
|
|
4523
4541
|
tableData.forEach(function (row, $index) {
|
package/es/validator/src/hook.js
CHANGED
|
@@ -160,7 +160,7 @@ var validatorHook = {
|
|
|
160
160
|
var ruleProps = Object.keys(validRest);
|
|
161
161
|
return nextTick().then(function () {
|
|
162
162
|
if (ruleProps.length) {
|
|
163
|
-
return validRest[ruleProps[0]][0];
|
|
163
|
+
return Promise.reject(validRest[ruleProps[0]][0]);
|
|
164
164
|
}
|
|
165
165
|
if (cb) {
|
|
166
166
|
cb();
|
package/lib/edit/src/hook.js
CHANGED
|
@@ -331,7 +331,12 @@ var editHook = {
|
|
|
331
331
|
|
|
332
332
|
$xetable.updateFooter();
|
|
333
333
|
$xetable.cacheRowMap();
|
|
334
|
-
$xetable.handleTableData(treeConfig &&
|
|
334
|
+
$xetable.handleTableData(treeConfig && transform);
|
|
335
|
+
|
|
336
|
+
if (!(treeConfig && transform)) {
|
|
337
|
+
$xetable.updateAfterDataIndex();
|
|
338
|
+
}
|
|
339
|
+
|
|
335
340
|
$xetable.checkSelectionStatus();
|
|
336
341
|
|
|
337
342
|
if (reactData.scrollYLoad) {
|
|
@@ -466,7 +471,12 @@ var editHook = {
|
|
|
466
471
|
});
|
|
467
472
|
$xetable.updateFooter();
|
|
468
473
|
$xetable.cacheRowMap();
|
|
469
|
-
$xetable.handleTableData(treeConfig &&
|
|
474
|
+
$xetable.handleTableData(treeConfig && transform);
|
|
475
|
+
|
|
476
|
+
if (!(treeConfig && transform)) {
|
|
477
|
+
$xetable.updateAfterDataIndex();
|
|
478
|
+
}
|
|
479
|
+
|
|
470
480
|
$xetable.checkSelectionStatus();
|
|
471
481
|
|
|
472
482
|
if (reactData.scrollYLoad) {
|
package/lib/edit/src/hook.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(h){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var x=h.props,R=h.reactData,_=h.internalData,o=h.getRefMaps().refElem,e=h.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,C=e.computeTreeOpts,g={},m={};function a(){var e=R.editStore,t=R.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function b(e,t){var a=_.tableFullTreeData,i=_.afterFullData,u=_.fullDataRowIdData,c=_.fullAllDataRowIdData,d=C.value,s=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[d.parentField],n=(0,_util.getRowid)(h,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d.rowField]},d):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(h,t)])?r.level:0,r=t[d.children],(r=!_xeUtils.default.isArray(r)?t[d.children]=[]:r)[s](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[s](e),a[s](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=x.treeConfig,l=R.mergeList,n=R.editStore,o=_.tableFullTreeData,a=_.afterFullData,i=_.tableFullData,u=_.fullDataRowIdData,c=_.fullAllDataRowIdData,d=C.value,s=d.transform,f=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return h.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?b(f,!0):(a.push.apply(a,f),i.push.apply(i,f),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+f.length)}));else if(r&&s){var v,p,w,g=_xeUtils.default.findTree(o,function(e){return t[d.rowField]===e[d.rowField]},d);g?(v=g.parent,p=g.items,o=c[(0,_util.getRowid)(h,v)],w=o?o.level:0,f.forEach(function(e,t){var r=(0,_util.getRowid)(h,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&v&&e[d.parentField]!==v[d.rowField]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+v[d.rowField]]),v&&(e[d.parentField]=v[d.rowField]),p.splice(g.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:p,parent:v,level:w+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),b(f,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var m=h.findRowIndexOf(a,t);if(-1===m)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([m,0],f)),i.splice.apply(i,__spreadArray([h.findRowIndexOf(i,t),0],f)),l.forEach(function(e){var t=e.row,r=e.rowspan;m<t?e.row=t+f.length:m<t+r&&(e.rowspan=r+f.length)})}else r&&s?b(f,!1):(a.unshift.apply(a,f),i.unshift.apply(i,f),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+f.length)}));return(n=n.insertList).unshift.apply(n,f),h.updateFooter(),h.cacheRowMap(),h.handleTableData(r&&d.transform),h.checkSelectionStatus(),R.scrollYLoad&&h.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return h.updateCellAreas(),h.recalculate()}).then(function(){return{row:f.length?f[f.length-1]:null,rows:f}})},remove:function(e){var t=x.treeConfig,r=R.mergeList,l=R.editStore,n=R.selection,o=_.tableFullTreeData,a=_.afterFullData,i=_.tableFullData,u=w.value,c=C.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){h.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=h.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),_.tableFullData=[],_.afterFullData=[],h.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(h,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(h,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=h.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=h.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=h.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<h.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=h.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),h.updateFooter(),h.cacheRowMap(),h.handleTableData(t&&c.transform),h.checkSelectionStatus(),R.scrollYLoad&&h.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return h.updateCellAreas(),h.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(h.getCheckboxRecords()).then(function(e){return h.clearCheckboxRow(),e})},removeRadioRow:function(){var e=h.getRadioRecord();return g.remove(e||[]).then(function(e){return h.clearRadioRow(),e})},removeCurrentRow:function(){var e=h.getCurrentRecord();return g.remove(e||[]).then(function(e){return h.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=x.treeConfig,t=R.editStore,r=_.tableFullTreeData,l=_.tableFullData,n=C.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(h,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(h,e)},n)&&o.push(e)}):t.forEach(function(e){-1<h.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return R.editStore.removeList},getUpdateRecords:function(){var e=x.keepSource,t=x.treeConfig,r=_.tableFullData,l=C.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return h.isUpdateByRow(e)},l):r.filter(function(e){return h.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=R.editStore,t=_.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<h.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=R.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=R.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,h.updateFooter(),h.dispatchEvent("edit-closed",{row:r,rowIndex:h.getRowIndex(r),$rowIndex:h.getVMRowIndex(r),column:l,columnIndex:h.getColumnIndex(l),$columnIndex:h.getVMColumnIndex(l)},e||null)),(h.clearValidate?h.clearValidate():(0,_vue.nextTick)()).then(function(){return h.recalculate()})},clearSelected:function(){var e=R.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return R.editStore.actived.row===e},setActiveRow:function(e){var t=_.visibleColumn;return h.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=x.editConfig,l=_xeUtils.default.isString(e)?h.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?h.scrollToRow(t,l).then(function(){var e=h.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:h.getRowIndex(t),column:l,columnIndex:h.getColumnIndex(l),cell:e,$table:h}),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=R.tableData,l=_.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?h.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=h.findRowIndexOf(r,e))&&t&&(r=h.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},h.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=x.editConfig,n=x.mouseConfig,o=R.editStore,a=R.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell=e.cell||h.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(e)||(n&&(g.clearSelected(),h.clearCellAreas&&(h.clearCellAreas(),h.clearCopyCellArea())),h.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),h.dispatchEvent(r,{row:s,rowIndex:h.getRowIndex(s),$rowIndex:h.getVMRowIndex(s),column:f,columnIndex:h.getColumnIndex(f),$columnIndex:h.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),h.clearCellAreas&&(h.clearCellAreas(),h.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),h.clearValidate&&h.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),h.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):h.scrollToRow(l,n))},handleSelected:function(e,t){var r=x.mouseConfig,l=R.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),h.clearCellAreas&&(h.clearCellAreas(),h.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),h.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=R.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=h.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(x){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var h=x.props,R=x.reactData,_=x.internalData,o=x.getRefMaps().refElem,e=x.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,C=e.computeTreeOpts,g={},m={};function a(){var e=R.editStore,t=R.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function b(e,t){var a=_.tableFullTreeData,i=_.afterFullData,u=_.fullDataRowIdData,c=_.fullAllDataRowIdData,d=C.value,s=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[d.parentField],n=(0,_util.getRowid)(x,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d.rowField]},d):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(x,t)])?r.level:0,r=t[d.children],(r=!_xeUtils.default.isArray(r)?t[d.children]=[]:r)[s](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[s](e),a[s](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=h.treeConfig,l=R.mergeList,n=R.editStore,o=_.tableFullTreeData,a=_.afterFullData,i=_.tableFullData,u=_.fullDataRowIdData,c=_.fullAllDataRowIdData,d=C.value,s=d.transform,f=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return x.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?b(f,!0):(a.push.apply(a,f),i.push.apply(i,f),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+f.length)}));else if(r&&s){var v,p,w,g=_xeUtils.default.findTree(o,function(e){return t[d.rowField]===e[d.rowField]},d);g?(v=g.parent,p=g.items,o=c[(0,_util.getRowid)(x,v)],w=o?o.level:0,f.forEach(function(e,t){var r=(0,_util.getRowid)(x,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&v&&e[d.parentField]!==v[d.rowField]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+v[d.rowField]]),v&&(e[d.parentField]=v[d.rowField]),p.splice(g.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:p,parent:v,level:w+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),b(f,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var m=x.findRowIndexOf(a,t);if(-1===m)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([m,0],f)),i.splice.apply(i,__spreadArray([x.findRowIndexOf(i,t),0],f)),l.forEach(function(e){var t=e.row,r=e.rowspan;m<t?e.row=t+f.length:m<t+r&&(e.rowspan=r+f.length)})}else r&&s?b(f,!1):(a.unshift.apply(a,f),i.unshift.apply(i,f),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+f.length)}));return(n=n.insertList).unshift.apply(n,f),x.updateFooter(),x.cacheRowMap(),x.handleTableData(r&&s),r&&s||x.updateAfterDataIndex(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return x.updateCellAreas(),x.recalculate()}).then(function(){return{row:f.length?f[f.length-1]:null,rows:f}})},remove:function(e){var t=h.treeConfig,r=R.mergeList,l=R.editStore,n=R.selection,o=_.tableFullTreeData,a=_.afterFullData,i=_.tableFullData,u=w.value,c=C.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){x.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=x.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),_.tableFullData=[],_.afterFullData=[],x.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(x,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(x,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=x.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=x.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=x.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<x.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=x.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),x.updateFooter(),x.cacheRowMap(),x.handleTableData(t&&d),t&&d||x.updateAfterDataIndex(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return x.updateCellAreas(),x.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(x.getCheckboxRecords()).then(function(e){return x.clearCheckboxRow(),e})},removeRadioRow:function(){var e=x.getRadioRecord();return g.remove(e||[]).then(function(e){return x.clearRadioRow(),e})},removeCurrentRow:function(){var e=x.getCurrentRecord();return g.remove(e||[]).then(function(e){return x.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=h.treeConfig,t=R.editStore,r=_.tableFullTreeData,l=_.tableFullData,n=C.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(x,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(x,e)},n)&&o.push(e)}):t.forEach(function(e){-1<x.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return R.editStore.removeList},getUpdateRecords:function(){var e=h.keepSource,t=h.treeConfig,r=_.tableFullData,l=C.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return x.isUpdateByRow(e)},l):r.filter(function(e){return x.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=R.editStore,t=_.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<x.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=R.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=R.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,x.updateFooter(),x.dispatchEvent("edit-closed",{row:r,rowIndex:x.getRowIndex(r),$rowIndex:x.getVMRowIndex(r),column:l,columnIndex:x.getColumnIndex(l),$columnIndex:x.getVMColumnIndex(l)},e||null)),(x.clearValidate?x.clearValidate():(0,_vue.nextTick)()).then(function(){return x.recalculate()})},clearSelected:function(){var e=R.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return R.editStore.actived.row===e},setActiveRow:function(e){var t=_.visibleColumn;return x.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=h.editConfig,l=_xeUtils.default.isString(e)?x.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?x.scrollToRow(t,l).then(function(){var e=x.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:x.getRowIndex(t),column:l,columnIndex:x.getColumnIndex(l),cell:e,$table:x}),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=R.tableData,l=_.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?x.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=x.findRowIndexOf(r,e))&&t&&(r=x.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},x.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=h.editConfig,n=h.mouseConfig,o=R.editStore,a=R.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell=e.cell||x.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(e)||(n&&(g.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea())),x.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),x.dispatchEvent(r,{row:s,rowIndex:x.getRowIndex(s),$rowIndex:x.getVMRowIndex(s),column:f,columnIndex:x.getColumnIndex(f),$columnIndex:x.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),x.clearValidate&&x.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),x.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):x.scrollToRow(l,n))},handleSelected:function(e,t){var r=h.mouseConfig,l=R.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),x.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=R.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=x.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|
package/lib/export/src/hook.js
CHANGED
|
@@ -372,7 +372,7 @@ var tableExportHook = {
|
|
|
372
372
|
return row[treeOpts.children] && row[treeOpts.children].length;
|
|
373
373
|
};
|
|
374
374
|
|
|
375
|
-
var getSeq = function getSeq(row, rowIndex, column, columnIndex
|
|
375
|
+
var getSeq = function getSeq(row, rowIndex, column, columnIndex) {
|
|
376
376
|
var seqOpts = computeSeqOpts.value;
|
|
377
377
|
var seqMethod = seqOpts.seqMethod || column.seqMethod;
|
|
378
378
|
|
|
@@ -385,11 +385,7 @@ var tableExportHook = {
|
|
|
385
385
|
});
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
|
|
389
|
-
return (0, _util.toTreePathSeq)(path);
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
return seqOpts.startIndex + rowIndex + 1;
|
|
388
|
+
return $xetable.getRowSeq(row);
|
|
393
389
|
};
|
|
394
390
|
|
|
395
391
|
var toBooleanValue = function toBooleanValue(cellValue) {
|
|
@@ -447,7 +443,7 @@ var tableExportHook = {
|
|
|
447
443
|
} else {
|
|
448
444
|
switch (column.type) {
|
|
449
445
|
case 'seq':
|
|
450
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex
|
|
446
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
451
447
|
break;
|
|
452
448
|
|
|
453
449
|
case 'checkbox':
|
|
@@ -524,7 +520,7 @@ var tableExportHook = {
|
|
|
524
520
|
} else {
|
|
525
521
|
switch (column.type) {
|
|
526
522
|
case 'seq':
|
|
527
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex
|
|
523
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
528
524
|
break;
|
|
529
525
|
|
|
530
526
|
case 'checkbox':
|