vxe-table 4.1.10 → 4.1.13
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 +2 -2
- package/es/table/src/table.js +63 -40
- 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 +98 -77
- package/lib/index.umd.min.js +1 -1
- package/lib/table/src/body.js +2 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +81 -65
- 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 +2 -2
- package/packages/table/src/table.ts +63 -39
- 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
|
@@ -285,7 +285,7 @@ export default defineComponent({
|
|
|
285
285
|
var renderRows = function (fixedType, tableData, tableColumn) {
|
|
286
286
|
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
287
|
var hasFixedColumn = tableReactData.hasFixedColumn, treeExpandeds = tableReactData.treeExpandeds, scrollYLoad = tableReactData.scrollYLoad, editStore = tableReactData.editStore, rowExpandeds = tableReactData.rowExpandeds, expandColumn = tableReactData.expandColumn, selectRow = tableReactData.selectRow;
|
|
288
|
-
var
|
|
288
|
+
var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData;
|
|
289
289
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
290
290
|
var radioOpts = computeRadioOpts.value;
|
|
291
291
|
var treeOpts = computeTreeOpts.value;
|
|
@@ -315,7 +315,7 @@ export default defineComponent({
|
|
|
315
315
|
};
|
|
316
316
|
}
|
|
317
317
|
var rowid = getRowid($xetable, row);
|
|
318
|
-
var rest =
|
|
318
|
+
var rest = fullAllDataRowIdData[rowid];
|
|
319
319
|
var rowLevel = 0;
|
|
320
320
|
var seq = -1;
|
|
321
321
|
if (rest) {
|
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
|
* 如果存在筛选条件,继续处理
|
|
@@ -1199,6 +1214,7 @@ export default defineComponent({
|
|
|
1199
1214
|
});
|
|
1200
1215
|
};
|
|
1201
1216
|
if (treeConfig && transform) {
|
|
1217
|
+
// 筛选虚拟树
|
|
1202
1218
|
tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, __assign(__assign({}, treeOpts), { original: true }));
|
|
1203
1219
|
tableData = tableTree;
|
|
1204
1220
|
}
|
|
@@ -1208,8 +1224,15 @@ export default defineComponent({
|
|
|
1208
1224
|
}
|
|
1209
1225
|
}
|
|
1210
1226
|
else {
|
|
1211
|
-
|
|
1212
|
-
|
|
1227
|
+
if (treeConfig && transform) {
|
|
1228
|
+
// 还原虚拟树
|
|
1229
|
+
tableTree = XEUtils.searchTree(tableFullTreeData, function () { return true; }, __assign(__assign({}, treeOpts), { original: true }));
|
|
1230
|
+
tableData = tableTree;
|
|
1231
|
+
}
|
|
1232
|
+
else {
|
|
1233
|
+
tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0);
|
|
1234
|
+
tableTree = tableData;
|
|
1235
|
+
}
|
|
1213
1236
|
}
|
|
1214
1237
|
// 处理排序(不能用于树形结构)
|
|
1215
1238
|
// 支持单列、多列、组合排序
|
|
@@ -2219,6 +2242,7 @@ export default defineComponent({
|
|
|
2219
2242
|
*/
|
|
2220
2243
|
var handleVirtualTreeExpand = function (rows, expanded) {
|
|
2221
2244
|
return handleBaseTreeExpand(rows, expanded).then(function () {
|
|
2245
|
+
handleVirtualTreeToList();
|
|
2222
2246
|
return tablePrivateMethods.handleTableData();
|
|
2223
2247
|
}).then(function () {
|
|
2224
2248
|
return tableMethods.recalculate();
|
|
@@ -2250,10 +2274,10 @@ export default defineComponent({
|
|
|
2250
2274
|
};
|
|
2251
2275
|
var createGetRowCacheProp = function (prop) {
|
|
2252
2276
|
return function (row) {
|
|
2253
|
-
var
|
|
2277
|
+
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
2254
2278
|
if (row) {
|
|
2255
2279
|
var rowid = getRowid($xetable, row);
|
|
2256
|
-
var rest =
|
|
2280
|
+
var rest = fullAllDataRowIdData[rowid];
|
|
2257
2281
|
if (rest) {
|
|
2258
2282
|
return rest[prop];
|
|
2259
2283
|
}
|
|
@@ -3549,12 +3573,16 @@ export default defineComponent({
|
|
|
3549
3573
|
var treeExpandeds = reactData.treeExpandeds;
|
|
3550
3574
|
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
3551
3575
|
var treeOpts = computeTreeOpts.value;
|
|
3552
|
-
var lazy = treeOpts.lazy;
|
|
3576
|
+
var transform = treeOpts.transform, lazy = treeOpts.lazy;
|
|
3553
3577
|
var rest = fullAllDataRowIdData[getRowid($xetable, row)];
|
|
3554
3578
|
if (lazy && rest) {
|
|
3555
3579
|
rest.treeLoaded = false;
|
|
3556
3580
|
XEUtils.remove(treeExpandeds, function (item) { return $xetable.eqRow(item, row); });
|
|
3557
3581
|
}
|
|
3582
|
+
if (transform) {
|
|
3583
|
+
handleVirtualTreeToList();
|
|
3584
|
+
return tablePrivateMethods.handleTableData();
|
|
3585
|
+
}
|
|
3558
3586
|
return nextTick();
|
|
3559
3587
|
},
|
|
3560
3588
|
/**
|
|
@@ -3598,7 +3626,7 @@ export default defineComponent({
|
|
|
3598
3626
|
setAllTreeExpand: function (expanded) {
|
|
3599
3627
|
var tableFullData = internalData.tableFullData;
|
|
3600
3628
|
var treeOpts = computeTreeOpts.value;
|
|
3601
|
-
var lazy = treeOpts.lazy, children = treeOpts.children;
|
|
3629
|
+
var transform = treeOpts.transform, lazy = treeOpts.lazy, children = treeOpts.children;
|
|
3602
3630
|
var expandeds = [];
|
|
3603
3631
|
XEUtils.eachTree(tableFullData, function (row) {
|
|
3604
3632
|
var rowChildren = row[children];
|
|
@@ -3606,7 +3634,12 @@ export default defineComponent({
|
|
|
3606
3634
|
expandeds.push(row);
|
|
3607
3635
|
}
|
|
3608
3636
|
}, treeOpts);
|
|
3609
|
-
return tableMethods.setTreeExpand(expandeds, expanded)
|
|
3637
|
+
return tableMethods.setTreeExpand(expandeds, expanded).then(function () {
|
|
3638
|
+
if (transform) {
|
|
3639
|
+
handleVirtualTreeToList();
|
|
3640
|
+
return tableMethods.recalculate();
|
|
3641
|
+
}
|
|
3642
|
+
});
|
|
3610
3643
|
},
|
|
3611
3644
|
/**
|
|
3612
3645
|
* 设置展开树形节点,二个参数设置这一行展开与否
|
|
@@ -3649,13 +3682,16 @@ export default defineComponent({
|
|
|
3649
3682
|
var treeExpandeds = reactData.treeExpandeds;
|
|
3650
3683
|
var tableFullTreeData = internalData.tableFullTreeData;
|
|
3651
3684
|
var treeOpts = computeTreeOpts.value;
|
|
3652
|
-
var reserve = treeOpts.reserve;
|
|
3685
|
+
var transform = treeOpts.transform, reserve = treeOpts.reserve;
|
|
3653
3686
|
var isExists = treeExpandeds.length;
|
|
3654
3687
|
reactData.treeExpandeds = [];
|
|
3655
3688
|
if (reserve) {
|
|
3656
3689
|
XEUtils.eachTree(tableFullTreeData, function (row) { return handleTreeExpandReserve(row, false); }, treeOpts);
|
|
3657
3690
|
}
|
|
3658
3691
|
return tablePrivateMethods.handleTableData().then(function () {
|
|
3692
|
+
if (transform) {
|
|
3693
|
+
handleVirtualTreeToList();
|
|
3694
|
+
}
|
|
3659
3695
|
if (isExists) {
|
|
3660
3696
|
tableMethods.recalculate();
|
|
3661
3697
|
}
|
|
@@ -4488,28 +4524,15 @@ export default defineComponent({
|
|
|
4488
4524
|
return record;
|
|
4489
4525
|
},
|
|
4490
4526
|
handleTableData: function (force) {
|
|
4491
|
-
var treeConfig = props.treeConfig;
|
|
4492
4527
|
var scrollYLoad = reactData.scrollYLoad;
|
|
4493
4528
|
var scrollYStore = internalData.scrollYStore, fullDataRowIdData = internalData.fullDataRowIdData;
|
|
4494
|
-
var
|
|
4495
|
-
var treeOpts = computeTreeOpts.value;
|
|
4496
|
-
var fullList = [];
|
|
4529
|
+
var fullList = internalData.afterFullData;
|
|
4497
4530
|
// 是否进行数据处理
|
|
4498
4531
|
if (force) {
|
|
4532
|
+
// 更新数据,处理筛选和排序
|
|
4499
4533
|
updateAfterFullData();
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
if (treeConfig && treeOpts.transform) {
|
|
4503
|
-
var expandMaps_1 = new Map();
|
|
4504
|
-
XEUtils.eachTree(internalData.afterTreeFullData, function (row, index, items, path, parent) {
|
|
4505
|
-
if (!parent || (expandMaps_1.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1)) {
|
|
4506
|
-
expandMaps_1.set(row, 1);
|
|
4507
|
-
fullList.push(row);
|
|
4508
|
-
}
|
|
4509
|
-
}, { children: treeOpts.mapChildren });
|
|
4510
|
-
}
|
|
4511
|
-
else {
|
|
4512
|
-
fullList = internalData.afterFullData;
|
|
4534
|
+
// 如果为虚拟树,将树结构拍平
|
|
4535
|
+
fullList = handleVirtualTreeToList();
|
|
4513
4536
|
}
|
|
4514
4537
|
var tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
|
|
4515
4538
|
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':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var htmlCellElem,_vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}var getConvertColumns=function t(e){var r=[];return e.forEach(function(e){e.childNodes&&e.childNodes.length?(r.push(e),r.push.apply(r,t(e.childNodes))):r.push(e)}),r},convertToRows=function(e){function o(t,e){var r;e&&(t._level=e._level+1,n<t._level&&(n=t._level)),t.childNodes&&t.childNodes.length?(r=0,t.childNodes.forEach(function(e){o(e,t),r+=e._colSpan}),t._colSpan=r):t._colSpan=1}var n=1;e.forEach(function(e){e._level=1,o(e)});for(var t=[],r=0;r<n;r++)t.push([]);return getConvertColumns(e).forEach(function(e){e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=n-e._level+1,t[e._level-1].push(e)}),t};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function getFooterData(e,t){var r=e.footerFilterMethod;return r?t.filter(function(e,t){return r({items:e,$rowIndex:t})}):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return"\t"+t;switch(e.cellType){case"string":if(!isNaN(t))return"\t"+t;break;case"number":break;default:if(12<=t.length&&!isNaN(t))return"\t"+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return"#"+e+"@"+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,function(e){return _xeUtils.default.hasOwnProp(t,e)?t[e]:e})}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,function(e){return'"'.repeat(Math.ceil(e.length/2))})}function parseCsvAndTxt(e,t,o){var n,l,t=t.split(enterSymbol),a=[],i=[];return t.length&&(n={},l=Date.now(),t.forEach(function(e){var r;e&&(r={},e=(e=e.replace(/("")|(\n)/g,function(e,t){var r=getTxtCellKey(l);return n[r]=t?'"':"\n",r}).replace(/"(.*?)"/g,function(e,t){var r=getTxtCellKey(l);return n[r]=replaceTxtCell(t,n),r})).split(o),i.length?(e.forEach(function(e,t){t<i.length&&(r[i[t]]=getTxtCellValue(e.trim(),n))}),a.push(r)):i=e.map(function(e){return getTxtCellValue(e.trim(),n)}))})),{fields:i,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var r=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),o=[],n=[];return r.length&&(!(t=getElementsByTagName(r[0],"table")).length||(r=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(r[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){n.push(e.textContent)})}),(t=getElementsByTagName(t[0],"tbody")).length&&_xeUtils.default.arrayEach(getElementsByTagName(t[0],"tr"),function(e){var r={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){n[t]&&(r[n[t]]=e.textContent||"")}),o.push(r)}))),{fields:n,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),o=[],n=[];return t.length&&(!(t=getElementsByTagName(t[0],"Table")).length||(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),function(e){n.push(e.textContent)}),_xeUtils.default.arrayEach(t,function(e,t){var r;t&&(r={},e=getElementsByTagName(e,"Cell"),_xeUtils.default.arrayEach(e,function(e,t){n[t]&&(r[n[t]]=e.textContent)}),o.push(r))}))),{fields:n,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,function(e){delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){var r=[];return e.forEach(function(e){e=e.property;e&&r.push(e)}),t.some(function(e){return-1<r.indexOf(e)})}var tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"],tableExportHook={setupTable:function(w){function m(e,t,r,o,n){var l=s.value,a=l.seqMethod||r.seqMethod;return a?a({row:e,rowIndex:t,column:r,columnIndex:o}):n?(0,_util.toTreePathSeq)(n):l.startIndex+t+1}function v(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function C(e,t,r){var o=r.editRender||r.cellRender,n=r.footerExportMethod;n||!o||!o.name||(l=_vXETable.VXETable.renderer.get(o.name))&&(n=l.footerExportMethod);var l=w.getVTColumnIndex(r);return n?n({$table:w,items:t,itemIndex:l,_columnIndex:l,column:r,options:e}):_xeUtils.default.toValueString(t[l])}function k(e,t,r){return e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?r:e,r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t,e=N.scrollXLoad,t=N.scrollYLoad,r=(e||t)&&!r?!0:r}function b(a){var i=a.remote,s=a.columns,c=a.colgroups,u=a.exportMethod,t=a.afterExportMethod;return new Promise(function(e){var t,r,o,n,l;i?(l={options:a,$table:w,$grid:T},e(u?u(l):l)):(o=(r=a).columns,n=r.dataFilterMethod,l=r.data,n&&(l=l.filter(function(e,t){return n({row:e,$rowIndex:t})})),t=d(r,o,l),e(w.preventEvent(null,"event.export",{options:a,columns:s,colgroups:c,datas:t},function(){return function(e,t){var r=e.filename,o=e.type;if(!e.download){var n=(0,_util2.getExportBlobByContent)(t,e);return Promise.resolve({type:o,content:t,blob:n})}(0,_util2.saveLocalFile)({filename:r,type:o,content:t}).then(function(){!1!==e.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.expSuccess"),status:"success"}))})}(a,function(e,t,r){if(t.length)switch(e.type){case"csv":return p(e,t,r);case"txt":return f(e,t,r);case"html":return h(e,t,r);case"xml":return g(e,t,r)}return""}(a,s,t))})))}).then(function(e){return clearColumnConvert(s),a.print||t&&t({status:!0,options:a,$table:w,$grid:T}),Object.assign({status:!0},e)}).catch(function(){clearColumnConvert(s),a.print||t&&t({status:!1,options:a,$table:w,$grid:T});return Promise.reject({status:!1})})}function n(a,i){var s=i.importMethod,t=i.afterImportMethod,e=(0,_utils.parseFile)(a),c=e.type,u=e.filename;return s||_xeUtils.default.includes(_vXETable.VXETable.config.importTypes,c)?new Promise(function(t,r){function e(e){t(e),_._importResolve=null,_._importReject=null}function o(e){r(e),_._importResolve=null,_._importReject=null}var n,l;_._importResolve=e,_._importReject=o,window.FileReader?(n=Object.assign({mode:"insert"},i,{type:c,filename:u})).remote?s?Promise.resolve(s({file:a,options:n,$table:w})).then(function(){e({status:!0})}).catch(function(){e({status:!0})}):e({status:!0}):(l=_.tableFullColumn,w.preventEvent(null,"event.import",{file:a,options:n,columns:l},function(){var e=new FileReader;e.onerror=function(){(0,_utils.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=function(e){!function(e,t){var r=_.tableFullColumn,o=_._importResolve,n=_._importReject,l={fields:[],rows:[]};switch(t.type){case"csv":l=parseCsv(r,e);break;case"txt":l=parseTxt(r,e);break;case"html":l=parseHTML(r,e);break;case"xml":l=parseXML(r,e)}var a=l.fields,i=l.rows;checkImportData(r,a)?w.createData(i).then(function(e){e="insert"===t.mode?w.insert(e):w.reloadData(e);return!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.impSuccess",[i.length]),status:"success"})),e.then(function(){o&&o({status:!0})})}):!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.impFields"),status:"error"}),n&&n({status:!1}))}(e.target.result,n)},e.readAsText(a,"UTF-8")})):("development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notExp"),e({status:!0}))}).then(function(){t&&t({status:!0,options:i,$table:w})}).catch(function(e){return t&&t({status:!1,options:i,$table:w}),Promise.reject(e)}):(!1!==i.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function r(e,t){var r=D.treeConfig,o=D.showHeader,n=D.showFooter,l=N.initStore,a=N.mergeList,i=N.isGroup,s=N.footerTableData,c=N.exportStore,u=N.exportParams,d=_.collectColumn,p=r,f=x.value,h=w.getCheckboxRecords(),r=!!s.length,s=!p&&a.length,o=(a=Object.assign({message:!0,isHeader:o,isFooter:n},e)).types||_vXETable.VXETable.config.exportTypes,n=a.modes,m=f.checkMethod,e=d.slice(0),v=a.columns,f=o.map(function(e){return{value:e,label:"vxe.export.types."+e}}),d=n.map(function(e){return{value:e,label:"vxe.export.modes."+e}});return _xeUtils.default.eachTree(e,function(o,e,t,r,n){(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=v?v.some(function(e){if((0,_util.isColumnInfo)(e))return o===e;if(_xeUtils.default.isString(e))return o.field===e;var t=e.id||e.colId,r=e.type,e=e.property||e.field;return t?o.id===t:e&&r?o.property===e&&o.type===r:e?o.property===e:r?o.type===r:void 0}):o.visible,o.halfChecked=!1,o.disabled=n&&n.disabled||!!m&&!m({column:o}))}),Object.assign(c,{columns:e,typeList:f,modeList:d,hasFooter:r,hasMerge:s,hasTree:p,isPrint:t,hasColgroup:i,visible:!0}),l.export||Object.assign(u,{mode:h.length?"selected":"current"},a),-1===n.indexOf(u.mode)&&(u.mode=n[0]),-1===o.indexOf(u.type)&&(u.type=o[0]),l.export=!0,(0,_vue.nextTick)()}var D=w.props,N=w.reactData,_=w.internalData,e=w.getComputeMaps(),j=e.computeTreeOpts,o=e.computePrintOpts,y=e.computeExportOpts,i=e.computeImportOpts,x=e.computeCustomOpts,s=e.computeSeqOpts,a=e.computeRadioOpts,c=e.computeCheckboxOpts,T=(0,_vue.inject)("$xegrid",null),d=function(u,n,e){var l=u.isAllExpand,t=D.treeConfig,d=a.value,p=c.value,r=j.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){var f=[],h=new Map;return _xeUtils.default.eachTree(e,function(e,a,t,i,r,o){var s,c=e._row||e,e=r&&r._row?r._row:r;(l||!e||h.has(e)&&w.isTreeExpandByRow(e))&&(r=c,e=j.value,e=r[e.children]&&r[e.children].length,s={_row:c,_level:o.length-1,_hasChild:e,_expand:e&&w.isTreeExpandByRow(c)},n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:c,column:e,options:u});else switch(e.type){case"seq":o=m(c,a,e,t,i);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(c)),s._checkboxLabel=p.labelField?_xeUtils.default.get(c,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:c});break;case"radio":o=v(w.isCheckedByRadioRow(c)),s._radioLabel=d.labelField?_xeUtils.default.get(c,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:c});break;default:u.original?o=(0,_util.getCellValue)(c,e):(o=w.getCellLabel(c,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(c,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),h.set(c,1),f.push(Object.assign(s,c)))},r),f}return e.map(function(a,i){var s={_row:a};return n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:a,column:e,options:u});else switch(e.type){case"seq":o=m(a,i,e,t,[]);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(a)),s._checkboxLabel=p.labelField?_xeUtils.default.get(a,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:a});break;case"radio":o=v(w.isCheckedByRadioRow(a)),s._radioLabel=d.labelField?_xeUtils.default.get(a,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:a});break;default:u.original?o=(0,_util.getCellValue)(a,e):(o=w.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(a,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),s})},p=function(r,e,t){var o=csvBOM;return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join(",")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))}).join(",")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},f=function(r,e,t){var o="";return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join("\t")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(t[e.id])}).join("\t")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},h=function(i,e,t){var c=D.id,r=D.border,o=D.treeConfig,s=D.headerAlign,u=D.align,l=D.footerAlign,d=D.showOverflow,p=D.showHeaderOverflow,f=N.isAllSelected,n=N.isIndeterminate,h=N.mergeList,a=j.value,m=i.print,v=i.isHeader,x=i.isFooter,g=i.isColgroup,b=i.isMerge,_=i.colgroups,y=i.original,T="check-all",E=['<table class="'+["vxe-table","border--"+toTableBorder(r),m?"is--print":"",v?"is--header":""].filter(function(e){return e}).join(" ")+'" border="0" cellspacing="0" cellpadding="0">',"<colgroup>"+e.map(function(e){return'<col style="width:'+e.renderWidth+'px">'}).join("")+"</colgroup>"];return v&&(E.push("<thead>"),g&&!y?_.forEach(function(e){E.push("<tr>"+e.map(function(t){var e=t.headerAlign||t.align||s||u,r=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,t),n=0,l=0;_xeUtils.default.eachTree([t],function(e){e.childNodes&&t.childNodes.length||l++,n+=e.renderWidth},{children:"childNodes"});var a=n-l;return e&&r.push("col--"+e),"checkbox"===t.type?'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'"><div '+(m?"":'style="width: '+a+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'" title="'+o+'"><div '+(m?"":'style="width: '+a+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>")}):E.push("<tr>"+e.map(function(e){var t=e.headerAlign||e.align||s||u,r=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,e);return t&&r.push("col--"+t),"checkbox"===e.type?'<th class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>"),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=n[e.id];if(t&&r.push("col--"+t),e.treeNode){t="";return n._hasChild&&(t='<i class="'+(n._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon")+'"></i>'),r.push("vxe-table--tree-node"),"radio"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></div></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></div></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell">'+o+"</div></div></div></td>"}return"radio"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}):t.forEach(function(s){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=s[e.id],n=1,l=1;if(b&&h.length){var a=w.getVTRowIndex(s._row),i=w.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(h,a,i);if(a){i=a.rowspan,a=a.colspan;if(!i||!a)return"";1<i&&(n=i),1<a&&(l=a)}}return t&&r.push("col--"+t),"radio"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(s._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(s._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tbody>")),x&&(x=N.footerTableData,(x=getFooterData(i,x)).length&&(E.push("<tfoot>"),x.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.footerAlign||e.align||l||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=C(i,n,e);return t&&r.push("col--"+t),'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tfoot>"))),E.push("</table>",!f&&n?'<script>(function(){var a=document.querySelector(".'+T+'");if(a){a.indeterminate=true}})()<\/script>':""),m?E.join(""):(0,_util2.createHtmlPage)(i,E.join(""))},g=function(r,e,t){var o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",'<Worksheet ss:Name="'+r.sheetName+'">',"<Table>",e.map(function(e){return'<Column ss:Width="'+e.renderWidth+'"/>'}).join("")].join("");return r.isHeader&&(o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+getHeaderTitle(r,e)+"</Data></Cell>"}).join("")+"</Row>"),t.forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+t[e.id]+"</Data></Cell>"}).join("")+"</Row>"}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+C(r,t,e)+"</Data></Cell>"}).join("")+"</Row>"})),o+"</Table></Worksheet></Workbook>"},l={exportData:function(e){var t=D.treeConfig,r=N.isGroup,o=N.tableGroupColumn,l=_.tableFullColumn,n=_.afterFullData,a=y.value,i=j.value,s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},a,{print:!1},e),c=s.type,u=s.mode,d=s.columns,p=s.original,a=s.beforeExportMethod,e=[],d=d&&d.length?d:null,f=s.columnFilterMethod;d||f||(f=p?function(e){return e.column.property}:function(e){return defaultFilterExportColumn(e.column)});var e=d?_xeUtils.default.searchTree(_xeUtils.default.mapTree(d,function(e){var t,r,o,n;if(e)return(0,_util.isColumnInfo)(e)?t=e:_xeUtils.default.isString(e)?t=w.getColumnByField(e):(r=e.id||e.colId,o=e.type,n=e.property||e.field,r?t=w.getColumnById(r):n&&o?t=l.find(function(e){return e.property===n&&e.type===o}):n?t=w.getColumnByField(n):o&&(t=l.find(function(e){return e.type===o}))),t||{}},{children:"childNodes",mapChildren:"_children"}),function(e,t){return(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t}))},{children:"_children",mapChildren:"childNodes",original:!0}):_xeUtils.default.searchTree(r?o:l,function(e,t){return e.visible&&(!f||f({column:e,$columnIndex:t}))},{children:"children",mapChildren:"childNodes",original:!0}),h=[];if(_xeUtils.default.eachTree(e,function(e){e.children&&e.children.length||h.push(e)},{children:"childNodes"}),s.columns=h,s.colgroups=convertToRows(e),s.filename||(s.filename=_conf.default.i18n(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_vXETable.VXETable.config.exportTypes,c)){"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notType",[c]);return Promise.reject({status:!1})}if(s.print||a&&a({options:s,$table:w,$grid:T}),!s.data)if(s.data=n,"selected"===u){var m=w.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&t?s.data=_xeUtils.default.searchTree(w.getTableData().fullData,function(e){return-1<w.findRowIndexOf(m,e)},Object.assign({},i,{data:"_row"})):s.data=m}else if("all"===u&&("development"===process.env.NODE_ENV&&(T||(0,_utils.warnLog)("vxe.error.errProp",["all","mode=current,selected"])),T&&!s.remote)){var c=T.reactData,t=T.getComputeMaps().computeProxyOpts.value,i=t.beforeQueryAll,v=t.afterQueryAll,u=t.ajax,t=t.props,x=void 0===t?{}:t,u=(void 0===u?{}:u).queryAll;if("development"===process.env.NODE_ENV&&(u||(0,_utils.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"])),u){var g={$table:w,$grid:T,sort:c.sortData,filters:c.filterData,form:c.formData,target:u,options:s};return Promise.resolve((i||u)(g)).catch(function(e){return e}).then(function(e){return s.data=(x.list?_xeUtils.default.get(e,x.list):e)||[],v&&v(g),b(s)})}}return b(s)},importByFile:function(e,t){var r=Object.assign({},t),t=r.beforeImportMethod;return t&&t({options:r,$table:w}),n(e,r)},importData:function(e){var t=i.value,r=Object.assign({types:_vXETable.VXETable.config.importTypes},t,e),e=r.beforeImportMethod,o=r.afterImportMethod;return e&&e({options:r,$table:w}),(0,_util2.readLocalFile)(r).catch(function(e){return o&&o({status:!1,options:r,$table:w}),Promise.reject(e)}).then(function(e){e=e.file;return n(e,r)})},saveFile:function(e){return(0,_util2.saveLocalFile)(e)},readFile:function(e){return(0,_util2.readLocalFile)(e)},print:function(e){var t=o.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.sheetName||(r.sheetName=document.title),new Promise(function(e){r.content?e((0,_util2.handlePrint)(w,r,r.content)):e(l.exportData(r).then(function(e){e=e.content;return(0,_util2.handlePrint)(w,r,e)}))})},openImport:function(e){var t=D.treeConfig,r=D.importConfig,o=N.initStore,n=N.importStore,l=N.importParams,a=i.value,e=Object.assign({mode:"insert",message:!0,types:_vXETable.VXETable.config.importTypes},e,a),a=e.types;!t?(r||(0,_utils.errLog)("vxe.error.reqProp",["import-config"]),r=a.map(function(e){return{value:e,label:"vxe.export.types."+e}}),a=e.modes.map(function(e){return{value:e,label:"vxe.import.modes."+e}}),Object.assign(n,{file:null,type:"",filename:"",modeList:a,typeList:r,visible:!0}),Object.assign(l,e),o.import=!0):e.message&&_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.treeNotImp"),status:"error"})},openExport:function(e){var t=y.value;"development"===process.env.NODE_ENV&&(D.exportConfig||(0,_utils.errLog)("vxe.error.reqProp",["export-config"])),r(Object.assign({},t,e))},openPrint:function(e){var t=o.value;"development"===process.env.NODE_ENV&&(D.printConfig||(0,_utils.errLog)("vxe.error.reqProp",["print-config"])),r(Object.assign({},t,e),!0)}};return l},setupGrid:function(e){return e.extendTableMethods(tableExportMethodKeys)}},_default=tableExportHook;exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var htmlCellElem,_vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}var getConvertColumns=function t(e){var r=[];return e.forEach(function(e){e.childNodes&&e.childNodes.length?(r.push(e),r.push.apply(r,t(e.childNodes))):r.push(e)}),r},convertToRows=function(e){function o(t,e){var r;e&&(t._level=e._level+1,n<t._level&&(n=t._level)),t.childNodes&&t.childNodes.length?(r=0,t.childNodes.forEach(function(e){o(e,t),r+=e._colSpan}),t._colSpan=r):t._colSpan=1}var n=1;e.forEach(function(e){e._level=1,o(e)});for(var t=[],r=0;r<n;r++)t.push([]);return getConvertColumns(e).forEach(function(e){e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=n-e._level+1,t[e._level-1].push(e)}),t};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function getFooterData(e,t){var r=e.footerFilterMethod;return r?t.filter(function(e,t){return r({items:e,$rowIndex:t})}):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return"\t"+t;switch(e.cellType){case"string":if(!isNaN(t))return"\t"+t;break;case"number":break;default:if(12<=t.length&&!isNaN(t))return"\t"+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return"#"+e+"@"+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,function(e){return _xeUtils.default.hasOwnProp(t,e)?t[e]:e})}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,function(e){return'"'.repeat(Math.ceil(e.length/2))})}function parseCsvAndTxt(e,t,o){var n,l,t=t.split(enterSymbol),a=[],i=[];return t.length&&(n={},l=Date.now(),t.forEach(function(e){var r;e&&(r={},e=(e=e.replace(/("")|(\n)/g,function(e,t){var r=getTxtCellKey(l);return n[r]=t?'"':"\n",r}).replace(/"(.*?)"/g,function(e,t){var r=getTxtCellKey(l);return n[r]=replaceTxtCell(t,n),r})).split(o),i.length?(e.forEach(function(e,t){t<i.length&&(r[i[t]]=getTxtCellValue(e.trim(),n))}),a.push(r)):i=e.map(function(e){return getTxtCellValue(e.trim(),n)}))})),{fields:i,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var r=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),o=[],n=[];return r.length&&(!(t=getElementsByTagName(r[0],"table")).length||(r=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(r[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){n.push(e.textContent)})}),(t=getElementsByTagName(t[0],"tbody")).length&&_xeUtils.default.arrayEach(getElementsByTagName(t[0],"tr"),function(e){var r={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){n[t]&&(r[n[t]]=e.textContent||"")}),o.push(r)}))),{fields:n,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),o=[],n=[];return t.length&&(!(t=getElementsByTagName(t[0],"Table")).length||(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),function(e){n.push(e.textContent)}),_xeUtils.default.arrayEach(t,function(e,t){var r;t&&(r={},e=getElementsByTagName(e,"Cell"),_xeUtils.default.arrayEach(e,function(e,t){n[t]&&(r[n[t]]=e.textContent)}),o.push(r))}))),{fields:n,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,function(e){delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){var r=[];return e.forEach(function(e){e=e.property;e&&r.push(e)}),t.some(function(e){return-1<r.indexOf(e)})}var tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"],tableExportHook={setupTable:function(w){function m(e,t,r,o){var n=l.value.seqMethod||r.seqMethod;return n?n({row:e,rowIndex:t,column:r,columnIndex:o}):w.getRowSeq(e)}function v(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function C(e,t,r){var o=r.editRender||r.cellRender,n=r.footerExportMethod;n||!o||!o.name||(l=_vXETable.VXETable.renderer.get(o.name))&&(n=l.footerExportMethod);var l=w.getVTColumnIndex(r);return n?n({$table:w,items:t,itemIndex:l,_columnIndex:l,column:r,options:e}):_xeUtils.default.toValueString(t[l])}function k(e,t,r){return e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?r:e,r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t,e=N.scrollXLoad,t=N.scrollYLoad,r=(e||t)&&!r?!0:r}function b(a){var i=a.remote,s=a.columns,c=a.colgroups,u=a.exportMethod,t=a.afterExportMethod;return new Promise(function(e){var t,r,o,n,l;i?(l={options:a,$table:w,$grid:T},e(u?u(l):l)):(o=(r=a).columns,n=r.dataFilterMethod,l=r.data,n&&(l=l.filter(function(e,t){return n({row:e,$rowIndex:t})})),t=d(r,o,l),e(w.preventEvent(null,"event.export",{options:a,columns:s,colgroups:c,datas:t},function(){return function(e,t){var r=e.filename,o=e.type;if(!e.download){var n=(0,_util2.getExportBlobByContent)(t,e);return Promise.resolve({type:o,content:t,blob:n})}(0,_util2.saveLocalFile)({filename:r,type:o,content:t}).then(function(){!1!==e.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.expSuccess"),status:"success"}))})}(a,function(e,t,r){if(t.length)switch(e.type){case"csv":return p(e,t,r);case"txt":return f(e,t,r);case"html":return h(e,t,r);case"xml":return g(e,t,r)}return""}(a,s,t))})))}).then(function(e){return clearColumnConvert(s),a.print||t&&t({status:!0,options:a,$table:w,$grid:T}),Object.assign({status:!0},e)}).catch(function(){clearColumnConvert(s),a.print||t&&t({status:!1,options:a,$table:w,$grid:T});return Promise.reject({status:!1})})}function n(a,i){var s=i.importMethod,t=i.afterImportMethod,e=(0,_utils.parseFile)(a),c=e.type,u=e.filename;return s||_xeUtils.default.includes(_vXETable.VXETable.config.importTypes,c)?new Promise(function(t,r){function e(e){t(e),_._importResolve=null,_._importReject=null}function o(e){r(e),_._importResolve=null,_._importReject=null}var n,l;_._importResolve=e,_._importReject=o,window.FileReader?(n=Object.assign({mode:"insert"},i,{type:c,filename:u})).remote?s?Promise.resolve(s({file:a,options:n,$table:w})).then(function(){e({status:!0})}).catch(function(){e({status:!0})}):e({status:!0}):(l=_.tableFullColumn,w.preventEvent(null,"event.import",{file:a,options:n,columns:l},function(){var e=new FileReader;e.onerror=function(){(0,_utils.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=function(e){!function(e,t){var r=_.tableFullColumn,o=_._importResolve,n=_._importReject,l={fields:[],rows:[]};switch(t.type){case"csv":l=parseCsv(r,e);break;case"txt":l=parseTxt(r,e);break;case"html":l=parseHTML(r,e);break;case"xml":l=parseXML(r,e)}var a=l.fields,i=l.rows;checkImportData(r,a)?w.createData(i).then(function(e){e="insert"===t.mode?w.insert(e):w.reloadData(e);return!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.impSuccess",[i.length]),status:"success"})),e.then(function(){o&&o({status:!0})})}):!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.impFields"),status:"error"}),n&&n({status:!1}))}(e.target.result,n)},e.readAsText(a,"UTF-8")})):("development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notExp"),e({status:!0}))}).then(function(){t&&t({status:!0,options:i,$table:w})}).catch(function(e){return t&&t({status:!1,options:i,$table:w}),Promise.reject(e)}):(!1!==i.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function r(e,t){var r=D.treeConfig,o=D.showHeader,n=D.showFooter,l=N.initStore,a=N.mergeList,i=N.isGroup,s=N.footerTableData,c=N.exportStore,u=N.exportParams,d=_.collectColumn,p=r,f=x.value,h=w.getCheckboxRecords(),r=!!s.length,s=!p&&a.length,o=(a=Object.assign({message:!0,isHeader:o,isFooter:n},e)).types||_vXETable.VXETable.config.exportTypes,n=a.modes,m=f.checkMethod,e=d.slice(0),v=a.columns,f=o.map(function(e){return{value:e,label:"vxe.export.types."+e}}),d=n.map(function(e){return{value:e,label:"vxe.export.modes."+e}});return _xeUtils.default.eachTree(e,function(o,e,t,r,n){(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=v?v.some(function(e){if((0,_util.isColumnInfo)(e))return o===e;if(_xeUtils.default.isString(e))return o.field===e;var t=e.id||e.colId,r=e.type,e=e.property||e.field;return t?o.id===t:e&&r?o.property===e&&o.type===r:e?o.property===e:r?o.type===r:void 0}):o.visible,o.halfChecked=!1,o.disabled=n&&n.disabled||!!m&&!m({column:o}))}),Object.assign(c,{columns:e,typeList:f,modeList:d,hasFooter:r,hasMerge:s,hasTree:p,isPrint:t,hasColgroup:i,visible:!0}),l.export||Object.assign(u,{mode:h.length?"selected":"current"},a),-1===n.indexOf(u.mode)&&(u.mode=n[0]),-1===o.indexOf(u.type)&&(u.type=o[0]),l.export=!0,(0,_vue.nextTick)()}var D=w.props,N=w.reactData,_=w.internalData,e=w.getComputeMaps(),j=e.computeTreeOpts,o=e.computePrintOpts,y=e.computeExportOpts,i=e.computeImportOpts,x=e.computeCustomOpts,l=e.computeSeqOpts,a=e.computeRadioOpts,s=e.computeCheckboxOpts,T=(0,_vue.inject)("$xegrid",null),d=function(c,l,e){var u=c.isAllExpand,t=D.treeConfig,d=a.value,p=s.value,r=j.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){var f=[],h=new Map;return _xeUtils.default.eachTree(e,function(e,a,t,r,o,n){var i,s=e._row||e,e=o&&o._row?o._row:o;(u||!e||h.has(e)&&w.isTreeExpandByRow(e))&&(o=s,e=j.value,e=o[e.children]&&o[e.children].length,i={_row:s,_level:n.length-1,_hasChild:e,_expand:e&&w.isTreeExpandByRow(s)},l.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:s,column:e,options:c});else switch(e.type){case"seq":o=m(s,a,e,t);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(s)),i._checkboxLabel=p.labelField?_xeUtils.default.get(s,p.labelField):"",i._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:s});break;case"radio":o=v(w.isCheckedByRadioRow(s)),i._radioLabel=d.labelField?_xeUtils.default.get(s,d.labelField):"",i._radioDisabled=d.checkMethod&&!d.checkMethod({row:s});break;default:c.original?o=(0,_util.getCellValue)(s,e):(o=w.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(s,e))&&(o=r.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(o)}),h.set(s,1),f.push(Object.assign(i,s)))},r),f}return e.map(function(a,i){var s={_row:a};return l.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:a,column:e,options:c});else switch(e.type){case"seq":o=m(a,i,e,t);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(a)),s._checkboxLabel=p.labelField?_xeUtils.default.get(a,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:a});break;case"radio":o=v(w.isCheckedByRadioRow(a)),s._radioLabel=d.labelField?_xeUtils.default.get(a,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:a});break;default:c.original?o=(0,_util.getCellValue)(a,e):(o=w.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(a,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),s})},p=function(r,e,t){var o=csvBOM;return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join(",")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))}).join(",")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},f=function(r,e,t){var o="";return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join("\t")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(t[e.id])}).join("\t")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},h=function(i,e,t){var c=D.id,r=D.border,o=D.treeConfig,s=D.headerAlign,u=D.align,l=D.footerAlign,d=D.showOverflow,p=D.showHeaderOverflow,f=N.isAllSelected,n=N.isIndeterminate,h=N.mergeList,a=j.value,m=i.print,v=i.isHeader,x=i.isFooter,g=i.isColgroup,b=i.isMerge,_=i.colgroups,y=i.original,T="check-all",E=['<table class="'+["vxe-table","border--"+toTableBorder(r),m?"is--print":"",v?"is--header":""].filter(function(e){return e}).join(" ")+'" border="0" cellspacing="0" cellpadding="0">',"<colgroup>"+e.map(function(e){return'<col style="width:'+e.renderWidth+'px">'}).join("")+"</colgroup>"];return v&&(E.push("<thead>"),g&&!y?_.forEach(function(e){E.push("<tr>"+e.map(function(t){var e=t.headerAlign||t.align||s||u,r=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,t),n=0,l=0;_xeUtils.default.eachTree([t],function(e){e.childNodes&&t.childNodes.length||l++,n+=e.renderWidth},{children:"childNodes"});var a=n-l;return e&&r.push("col--"+e),"checkbox"===t.type?'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'"><div '+(m?"":'style="width: '+a+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'" title="'+o+'"><div '+(m?"":'style="width: '+a+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>")}):E.push("<tr>"+e.map(function(e){var t=e.headerAlign||e.align||s||u,r=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,e);return t&&r.push("col--"+t),"checkbox"===e.type?'<th class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>"),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=n[e.id];if(t&&r.push("col--"+t),e.treeNode){t="";return n._hasChild&&(t='<i class="'+(n._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon")+'"></i>'),r.push("vxe-table--tree-node"),"radio"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></div></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></div></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell">'+o+"</div></div></div></td>"}return"radio"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}):t.forEach(function(s){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=s[e.id],n=1,l=1;if(b&&h.length){var a=w.getVTRowIndex(s._row),i=w.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(h,a,i);if(a){i=a.rowspan,a=a.colspan;if(!i||!a)return"";1<i&&(n=i),1<a&&(l=a)}}return t&&r.push("col--"+t),"radio"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(s._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(s._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tbody>")),x&&(x=N.footerTableData,(x=getFooterData(i,x)).length&&(E.push("<tfoot>"),x.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.footerAlign||e.align||l||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=C(i,n,e);return t&&r.push("col--"+t),'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tfoot>"))),E.push("</table>",!f&&n?'<script>(function(){var a=document.querySelector(".'+T+'");if(a){a.indeterminate=true}})()<\/script>':""),m?E.join(""):(0,_util2.createHtmlPage)(i,E.join(""))},g=function(r,e,t){var o=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",'<Worksheet ss:Name="'+r.sheetName+'">',"<Table>",e.map(function(e){return'<Column ss:Width="'+e.renderWidth+'"/>'}).join("")].join("");return r.isHeader&&(o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+getHeaderTitle(r,e)+"</Data></Cell>"}).join("")+"</Row>"),t.forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+t[e.id]+"</Data></Cell>"}).join("")+"</Row>"}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+C(r,t,e)+"</Data></Cell>"}).join("")+"</Row>"})),o+"</Table></Worksheet></Workbook>"},c={exportData:function(e){var t=D.treeConfig,r=N.isGroup,o=N.tableGroupColumn,l=_.tableFullColumn,n=_.afterFullData,a=y.value,i=j.value,s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},a,{print:!1},e),c=s.type,u=s.mode,d=s.columns,p=s.original,a=s.beforeExportMethod,e=[],d=d&&d.length?d:null,f=s.columnFilterMethod;d||f||(f=p?function(e){return e.column.property}:function(e){return defaultFilterExportColumn(e.column)});var e=d?_xeUtils.default.searchTree(_xeUtils.default.mapTree(d,function(e){var t,r,o,n;if(e)return(0,_util.isColumnInfo)(e)?t=e:_xeUtils.default.isString(e)?t=w.getColumnByField(e):(r=e.id||e.colId,o=e.type,n=e.property||e.field,r?t=w.getColumnById(r):n&&o?t=l.find(function(e){return e.property===n&&e.type===o}):n?t=w.getColumnByField(n):o&&(t=l.find(function(e){return e.type===o}))),t||{}},{children:"childNodes",mapChildren:"_children"}),function(e,t){return(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t}))},{children:"_children",mapChildren:"childNodes",original:!0}):_xeUtils.default.searchTree(r?o:l,function(e,t){return e.visible&&(!f||f({column:e,$columnIndex:t}))},{children:"children",mapChildren:"childNodes",original:!0}),h=[];if(_xeUtils.default.eachTree(e,function(e){e.children&&e.children.length||h.push(e)},{children:"childNodes"}),s.columns=h,s.colgroups=convertToRows(e),s.filename||(s.filename=_conf.default.i18n(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_vXETable.VXETable.config.exportTypes,c)){"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notType",[c]);return Promise.reject({status:!1})}if(s.print||a&&a({options:s,$table:w,$grid:T}),!s.data)if(s.data=n,"selected"===u){var m=w.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&t?s.data=_xeUtils.default.searchTree(w.getTableData().fullData,function(e){return-1<w.findRowIndexOf(m,e)},Object.assign({},i,{data:"_row"})):s.data=m}else if("all"===u&&("development"===process.env.NODE_ENV&&(T||(0,_utils.warnLog)("vxe.error.errProp",["all","mode=current,selected"])),T&&!s.remote)){var c=T.reactData,t=T.getComputeMaps().computeProxyOpts.value,i=t.beforeQueryAll,v=t.afterQueryAll,u=t.ajax,t=t.props,x=void 0===t?{}:t,u=(void 0===u?{}:u).queryAll;if("development"===process.env.NODE_ENV&&(u||(0,_utils.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"])),u){var g={$table:w,$grid:T,sort:c.sortData,filters:c.filterData,form:c.formData,target:u,options:s};return Promise.resolve((i||u)(g)).catch(function(e){return e}).then(function(e){return s.data=(x.list?_xeUtils.default.get(e,x.list):e)||[],v&&v(g),b(s)})}}return b(s)},importByFile:function(e,t){var r=Object.assign({},t),t=r.beforeImportMethod;return t&&t({options:r,$table:w}),n(e,r)},importData:function(e){var t=i.value,r=Object.assign({types:_vXETable.VXETable.config.importTypes},t,e),e=r.beforeImportMethod,o=r.afterImportMethod;return e&&e({options:r,$table:w}),(0,_util2.readLocalFile)(r).catch(function(e){return o&&o({status:!1,options:r,$table:w}),Promise.reject(e)}).then(function(e){e=e.file;return n(e,r)})},saveFile:function(e){return(0,_util2.saveLocalFile)(e)},readFile:function(e){return(0,_util2.readLocalFile)(e)},print:function(e){var t=o.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.sheetName||(r.sheetName=document.title),new Promise(function(e){r.content?e((0,_util2.handlePrint)(w,r,r.content)):e(c.exportData(r).then(function(e){e=e.content;return(0,_util2.handlePrint)(w,r,e)}))})},openImport:function(e){var t=D.treeConfig,r=D.importConfig,o=N.initStore,n=N.importStore,l=N.importParams,a=i.value,e=Object.assign({mode:"insert",message:!0,types:_vXETable.VXETable.config.importTypes},e,a),a=e.types;!t?(r||(0,_utils.errLog)("vxe.error.reqProp",["import-config"]),r=a.map(function(e){return{value:e,label:"vxe.export.types."+e}}),a=e.modes.map(function(e){return{value:e,label:"vxe.import.modes."+e}}),Object.assign(n,{file:null,type:"",filename:"",modeList:a,typeList:r,visible:!0}),Object.assign(l,e),o.import=!0):e.message&&_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.treeNotImp"),status:"error"})},openExport:function(e){var t=y.value;"development"===process.env.NODE_ENV&&(D.exportConfig||(0,_utils.errLog)("vxe.error.reqProp",["export-config"])),r(Object.assign({},t,e))},openPrint:function(e){var t=o.value;"development"===process.env.NODE_ENV&&(D.printConfig||(0,_utils.errLog)("vxe.error.reqProp",["print-config"])),r(Object.assign({},t,e),!0)}};return c},setupGrid:function(e){return e.extendTableMethods(tableExportMethodKeys)}},_default=tableExportHook;exports.default=_default;
|