vxe-table 4.11.16 → 4.11.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +15 -29
- package/es/style.css +1 -1
- package/es/table/module/custom/panel.js +19 -21
- package/es/table/module/edit/hook.js +3 -5
- package/es/table/module/export/export-panel.js +17 -19
- package/es/table/module/export/hook.js +5 -11
- package/es/table/module/export/import-panel.js +11 -13
- package/es/table/module/validator/hook.js +1 -3
- package/es/table/render/index.js +90 -61
- package/es/table/src/columnInfo.js +26 -28
- package/es/table/src/table.js +132 -89
- package/es/toolbar/src/toolbar.js +16 -24
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +15 -29
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +361 -312
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/panel.js +21 -23
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +3 -5
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +17 -19
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +5 -11
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +11 -13
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/validator/hook.js +1 -3
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +98 -66
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/columnInfo.js +30 -32
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/table.js +138 -85
- package/lib/table/src/table.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +16 -24
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +16 -29
- package/packages/table/module/custom/panel.ts +19 -21
- package/packages/table/module/edit/hook.ts +3 -5
- package/packages/table/module/export/export-panel.ts +17 -19
- package/packages/table/module/export/hook.ts +5 -11
- package/packages/table/module/export/import-panel.ts +11 -13
- package/packages/table/module/validator/hook.ts +1 -3
- package/packages/table/render/index.ts +89 -59
- package/packages/table/src/columnInfo.ts +26 -28
- package/packages/table/src/table.ts +128 -85
- package/packages/toolbar/src/toolbar.ts +16 -24
- /package/es/{iconfont.1741051544689.ttf → iconfont.1741224125327.ttf} +0 -0
- /package/es/{iconfont.1741051544689.woff → iconfont.1741224125327.woff} +0 -0
- /package/es/{iconfont.1741051544689.woff2 → iconfont.1741224125327.woff2} +0 -0
- /package/lib/{iconfont.1741051544689.ttf → iconfont.1741224125327.ttf} +0 -0
- /package/lib/{iconfont.1741051544689.woff → iconfont.1741224125327.woff} +0 -0
- /package/lib/{iconfont.1741051544689.woff2 → iconfont.1741224125327.woff2} +0 -0
package/lib/table/src/table.js
CHANGED
|
@@ -1415,14 +1415,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1415
1415
|
if (expandColumn && expandOpts.mode !== 'fixed' && mouseOpts.area) {
|
|
1416
1416
|
(0, _log.errLog)('vxe.error.errConflicts', ['mouse-config.area', 'column.type=expand']);
|
|
1417
1417
|
}
|
|
1418
|
-
if (
|
|
1419
|
-
if (
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
(0, _log.errLog)('vxe.error.reqProp', ['row-config.useKey & column.type=html']);
|
|
1425
|
-
}
|
|
1418
|
+
if (htmlColumn) {
|
|
1419
|
+
if (!columnOpts.useKey) {
|
|
1420
|
+
(0, _log.errLog)('vxe.error.reqProp', ['column-config.useKey & column.type=html']);
|
|
1421
|
+
}
|
|
1422
|
+
if (!rowOpts.useKey) {
|
|
1423
|
+
(0, _log.errLog)('vxe.error.reqProp', ['row-config.useKey & column.type=html']);
|
|
1426
1424
|
}
|
|
1427
1425
|
}
|
|
1428
1426
|
reactData.isGroup = isGroup;
|
|
@@ -3095,28 +3093,26 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3095
3093
|
if (treeConfig) {
|
|
3096
3094
|
if (transform) {
|
|
3097
3095
|
// 树结构自动转换
|
|
3098
|
-
if (
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
(0, _log.errLog)('vxe.error.reqProp', ['tree-config.childrenField']);
|
|
3107
|
-
}
|
|
3108
|
-
if (!treeOpts.mapChildrenField) {
|
|
3109
|
-
(0, _log.errLog)('vxe.error.reqProp', ['tree-config.mapChildrenField']);
|
|
3110
|
-
}
|
|
3111
|
-
if (childrenField === treeOpts.mapChildrenField) {
|
|
3112
|
-
(0, _log.errLog)('vxe.error.errConflicts', ['tree-config.childrenField', 'tree-config.mapChildrenField']);
|
|
3113
|
-
}
|
|
3114
|
-
// fullData.forEach(row => {
|
|
3115
|
-
// if (row[treeOpts.children] && row[treeOpts.children].length) {
|
|
3116
|
-
// warnLog('vxe.error.errConflicts', ['tree-config.transform', `row.${treeOpts.children}`])
|
|
3117
|
-
// }
|
|
3118
|
-
// })
|
|
3096
|
+
if (!treeOpts.rowField) {
|
|
3097
|
+
(0, _log.errLog)('vxe.error.reqProp', ['tree-config.rowField']);
|
|
3098
|
+
}
|
|
3099
|
+
if (!treeOpts.parentField) {
|
|
3100
|
+
(0, _log.errLog)('vxe.error.reqProp', ['tree-config.parentField']);
|
|
3101
|
+
}
|
|
3102
|
+
if (!childrenField) {
|
|
3103
|
+
(0, _log.errLog)('vxe.error.reqProp', ['tree-config.childrenField']);
|
|
3119
3104
|
}
|
|
3105
|
+
if (!treeOpts.mapChildrenField) {
|
|
3106
|
+
(0, _log.errLog)('vxe.error.reqProp', ['tree-config.mapChildrenField']);
|
|
3107
|
+
}
|
|
3108
|
+
if (childrenField === treeOpts.mapChildrenField) {
|
|
3109
|
+
(0, _log.errLog)('vxe.error.errConflicts', ['tree-config.childrenField', 'tree-config.mapChildrenField']);
|
|
3110
|
+
}
|
|
3111
|
+
// fullData.forEach(row => {
|
|
3112
|
+
// if (row[treeOpts.children] && row[treeOpts.children].length) {
|
|
3113
|
+
// warnLog('vxe.error.errConflicts', ['tree-config.transform', `row.${treeOpts.children}`])
|
|
3114
|
+
// }
|
|
3115
|
+
// })
|
|
3120
3116
|
treeData = _xeUtils.default.toArrayTree(fullData, {
|
|
3121
3117
|
key: treeOpts.rowField,
|
|
3122
3118
|
parentKey: treeOpts.parentField,
|
|
@@ -3180,16 +3176,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3180
3176
|
// }
|
|
3181
3177
|
// }
|
|
3182
3178
|
// }
|
|
3183
|
-
if (
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
(0, _log.warnLog)('vxe.error.scrollErrProp', ['table.span-method']);
|
|
3192
|
-
}
|
|
3179
|
+
if (!(props.height || props.maxHeight)) {
|
|
3180
|
+
(0, _log.errLog)('vxe.error.reqProp', ['table.height | table.max-height | table.scroll-y={enabled: false}']);
|
|
3181
|
+
}
|
|
3182
|
+
// if (!props.showOverflow) {
|
|
3183
|
+
// warnLog('vxe.error.reqProp', ['table.show-overflow'])
|
|
3184
|
+
// }
|
|
3185
|
+
if (props.spanMethod) {
|
|
3186
|
+
(0, _log.errLog)('vxe.error.scrollErrProp', ['table.span-method']);
|
|
3193
3187
|
}
|
|
3194
3188
|
}
|
|
3195
3189
|
handleReserveStatus();
|
|
@@ -4310,15 +4304,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4310
4304
|
*/
|
|
4311
4305
|
revertData(rows, field) {
|
|
4312
4306
|
const {
|
|
4313
|
-
keepSource
|
|
4307
|
+
keepSource,
|
|
4308
|
+
treeConfig
|
|
4314
4309
|
} = props;
|
|
4315
4310
|
const {
|
|
4311
|
+
fullAllDataRowIdData,
|
|
4312
|
+
fullDataRowIdData,
|
|
4316
4313
|
tableSourceData,
|
|
4317
|
-
sourceDataRowIdData
|
|
4314
|
+
sourceDataRowIdData,
|
|
4315
|
+
tableFullData,
|
|
4316
|
+
afterFullData
|
|
4318
4317
|
} = internalData;
|
|
4318
|
+
const treeOpts = computeTreeOpts.value;
|
|
4319
|
+
const {
|
|
4320
|
+
transform
|
|
4321
|
+
} = treeOpts;
|
|
4319
4322
|
if (!keepSource) {
|
|
4320
4323
|
if (process.env.NODE_ENV === 'development') {
|
|
4321
|
-
(0, _log.
|
|
4324
|
+
(0, _log.errLog)('vxe.error.reqProp', ['keep-source']);
|
|
4322
4325
|
}
|
|
4323
4326
|
return (0, _vue.nextTick)();
|
|
4324
4327
|
}
|
|
@@ -4330,25 +4333,50 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4330
4333
|
} else {
|
|
4331
4334
|
targetRows = _xeUtils.default.toArray($xeTable.getUpdateRecords());
|
|
4332
4335
|
}
|
|
4336
|
+
let reDelFlag = false;
|
|
4333
4337
|
if (targetRows.length) {
|
|
4334
|
-
targetRows.forEach(
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4338
|
+
targetRows.forEach(item => {
|
|
4339
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
4340
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
4341
|
+
if (rowRest) {
|
|
4342
|
+
const row = rowRest.row;
|
|
4343
|
+
if (!$xeTable.isInsertByRow(row)) {
|
|
4344
|
+
const oRow = sourceDataRowIdData[rowid];
|
|
4345
|
+
if (oRow && row) {
|
|
4346
|
+
if (field) {
|
|
4347
|
+
_xeUtils.default.set(row, field, _xeUtils.default.clone(_xeUtils.default.get(oRow, field), true));
|
|
4348
|
+
} else {
|
|
4349
|
+
_xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));
|
|
4350
|
+
}
|
|
4351
|
+
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
4352
|
+
tableFullData.unshift(row);
|
|
4353
|
+
afterFullData.unshift(row);
|
|
4354
|
+
reDelFlag = true;
|
|
4355
|
+
}
|
|
4343
4356
|
}
|
|
4344
4357
|
}
|
|
4345
4358
|
}
|
|
4346
4359
|
});
|
|
4347
4360
|
}
|
|
4348
4361
|
if (rows) {
|
|
4349
|
-
|
|
4362
|
+
if (reDelFlag) {
|
|
4363
|
+
$xeTable.updateFooter();
|
|
4364
|
+
$xeTable.cacheRowMap(false);
|
|
4365
|
+
$xeTable.handleTableData(treeConfig && transform);
|
|
4366
|
+
if (!(treeConfig && transform)) {
|
|
4367
|
+
$xeTable.updateAfterDataIndex();
|
|
4368
|
+
}
|
|
4369
|
+
$xeTable.checkSelectionStatus();
|
|
4370
|
+
if (reactData.scrollYLoad) {
|
|
4371
|
+
$xeTable.updateScrollYSpace();
|
|
4372
|
+
}
|
|
4373
|
+
}
|
|
4374
|
+
return (0, _vue.nextTick)().then(() => {
|
|
4375
|
+
$xeTable.updateCellAreas();
|
|
4376
|
+
return $xeTable.recalculate();
|
|
4377
|
+
});
|
|
4350
4378
|
}
|
|
4351
|
-
return
|
|
4379
|
+
return $xeTable.reloadData(tableSourceData);
|
|
4352
4380
|
},
|
|
4353
4381
|
/**
|
|
4354
4382
|
* 清空单元格内容
|
|
@@ -4481,6 +4509,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4481
4509
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
4482
4510
|
return !!editStore.insertMaps[rowid];
|
|
4483
4511
|
},
|
|
4512
|
+
isRemoveByRow(row) {
|
|
4513
|
+
const {
|
|
4514
|
+
editStore
|
|
4515
|
+
} = reactData;
|
|
4516
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
4517
|
+
return !!editStore.removeMaps[rowid];
|
|
4518
|
+
},
|
|
4484
4519
|
/**
|
|
4485
4520
|
* 删除所有新增的临时数据
|
|
4486
4521
|
* @returns
|
|
@@ -7552,7 +7587,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7552
7587
|
if (el) {
|
|
7553
7588
|
const parentElem = el.parentNode;
|
|
7554
7589
|
const parentPaddingSize = height === '100%' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
|
|
7555
|
-
|
|
7590
|
+
let parentWrapperHeight = 0;
|
|
7591
|
+
if (parentElem) {
|
|
7592
|
+
if ($xeGrid && (0, _dom.hasClass)(parentElem, 'vxe-grid--table-wrapper')) {
|
|
7593
|
+
parentWrapperHeight = $xeGrid.getParentHeight();
|
|
7594
|
+
} else {
|
|
7595
|
+
parentWrapperHeight = parentElem.clientHeight;
|
|
7596
|
+
}
|
|
7597
|
+
}
|
|
7598
|
+
return Math.floor(parentWrapperHeight - parentPaddingSize);
|
|
7556
7599
|
}
|
|
7557
7600
|
return 0;
|
|
7558
7601
|
},
|
|
@@ -7654,18 +7697,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7654
7697
|
const {
|
|
7655
7698
|
treeConfig
|
|
7656
7699
|
} = props;
|
|
7657
|
-
const
|
|
7700
|
+
const {
|
|
7701
|
+
treeExpandedMaps
|
|
7702
|
+
} = reactData;
|
|
7658
7703
|
const {
|
|
7659
7704
|
fullAllDataRowIdData,
|
|
7660
7705
|
tableFullData,
|
|
7661
7706
|
tableFullTreeData
|
|
7662
7707
|
} = internalData;
|
|
7708
|
+
const treeOpts = computeTreeOpts.value;
|
|
7663
7709
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7664
7710
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
7665
7711
|
const rowkey = (0, _util.getRowkey)($xeTable);
|
|
7666
|
-
const
|
|
7667
|
-
const fullAllDataRowIdMaps = {};
|
|
7712
|
+
const fullAllDataRowIdMaps = Object.assign({}, fullAllDataRowIdData); // 存在已删除数据
|
|
7668
7713
|
const fullDataRowIdMaps = {};
|
|
7714
|
+
const treeTempExpandedMaps = Object.assign({}, treeExpandedMaps);
|
|
7669
7715
|
const handleRow = (row, index, items, path, parentRow, nodes) => {
|
|
7670
7716
|
let rowid = (0, _util.getRowid)($xeTable, row);
|
|
7671
7717
|
const seq = treeConfig && path ? (0, _util.toTreePathSeq)(path) : index + 1;
|
|
@@ -7674,8 +7720,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7674
7720
|
rowid = (0, _util.getRowUniqueId)();
|
|
7675
7721
|
_xeUtils.default.set(row, rowkey, rowid);
|
|
7676
7722
|
}
|
|
7677
|
-
if (
|
|
7678
|
-
|
|
7723
|
+
if (treeConfig && treeOpts.lazy) {
|
|
7724
|
+
const treeExpRest = treeExpandedMaps[rowid];
|
|
7725
|
+
if (row[hasChildField] && _xeUtils.default.isUndefined(row[childrenField])) {
|
|
7726
|
+
row[childrenField] = null;
|
|
7727
|
+
}
|
|
7728
|
+
if (treeExpRest) {
|
|
7729
|
+
if (!row[childrenField] || !row[childrenField].length) {
|
|
7730
|
+
delete treeTempExpandedMaps[rowid];
|
|
7731
|
+
}
|
|
7732
|
+
}
|
|
7679
7733
|
}
|
|
7680
7734
|
let rowRest = fullAllDataRowIdData[rowid];
|
|
7681
7735
|
if (!rowRest) {
|
|
@@ -7696,6 +7750,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7696
7750
|
expandHeight: 0
|
|
7697
7751
|
};
|
|
7698
7752
|
}
|
|
7753
|
+
rowRest.treeLoaded = false;
|
|
7754
|
+
rowRest.expandLoaded = false;
|
|
7699
7755
|
rowRest.row = row;
|
|
7700
7756
|
rowRest.items = items;
|
|
7701
7757
|
rowRest.parent = parentRow;
|
|
@@ -7704,8 +7760,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7704
7760
|
fullDataRowIdMaps[rowid] = rowRest;
|
|
7705
7761
|
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7706
7762
|
};
|
|
7707
|
-
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7708
|
-
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
7709
7763
|
if (treeConfig) {
|
|
7710
7764
|
_xeUtils.default.eachTree(tableFullTreeData, handleRow, {
|
|
7711
7765
|
children: childrenField
|
|
@@ -7713,6 +7767,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7713
7767
|
} else {
|
|
7714
7768
|
tableFullData.forEach(handleRow);
|
|
7715
7769
|
}
|
|
7770
|
+
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
7771
|
+
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
7772
|
+
reactData.treeExpandedMaps = treeTempExpandedMaps;
|
|
7716
7773
|
},
|
|
7717
7774
|
cacheSourceMap(fullData) {
|
|
7718
7775
|
const {
|
|
@@ -10690,18 +10747,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
10690
10747
|
}
|
|
10691
10748
|
};
|
|
10692
10749
|
// 检测对应模块是否安装
|
|
10693
|
-
|
|
10694
|
-
|
|
10695
|
-
|
|
10696
|
-
|
|
10697
|
-
|
|
10698
|
-
|
|
10699
|
-
|
|
10700
|
-
|
|
10701
|
-
|
|
10702
|
-
|
|
10703
|
-
});
|
|
10704
|
-
}
|
|
10750
|
+
'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name => {
|
|
10751
|
+
$xeTable[name] = function () {
|
|
10752
|
+
(0, _log.errLog)('vxe.error.reqModule', ['VxeTableExportModule']);
|
|
10753
|
+
};
|
|
10754
|
+
});
|
|
10755
|
+
'clearValidate,fullValidate,validate'.split(',').forEach(name => {
|
|
10756
|
+
$xeTable[name] = function () {
|
|
10757
|
+
(0, _log.errLog)('vxe.error.reqModule', ['VxeTableValidatorModule']);
|
|
10758
|
+
};
|
|
10759
|
+
});
|
|
10705
10760
|
Object.assign($xeTable, tableMethods, tablePrivateMethods);
|
|
10706
10761
|
/**
|
|
10707
10762
|
* 渲染浮固定列
|
|
@@ -11680,20 +11735,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
11680
11735
|
$table: $xeTable
|
|
11681
11736
|
});
|
|
11682
11737
|
});
|
|
11683
|
-
|
|
11684
|
-
(
|
|
11685
|
-
if (
|
|
11686
|
-
|
|
11687
|
-
(0, _log.errLog)('vxe.error.reqComp', ['vxe-loading']);
|
|
11688
|
-
}
|
|
11738
|
+
(0, _vue.nextTick)(() => {
|
|
11739
|
+
if (props.loading) {
|
|
11740
|
+
if (!VxeUILoadingComponent && !slots.loading) {
|
|
11741
|
+
(0, _log.errLog)('vxe.error.reqComp', ['vxe-loading']);
|
|
11689
11742
|
}
|
|
11690
|
-
|
|
11691
|
-
|
|
11692
|
-
|
|
11693
|
-
|
|
11743
|
+
}
|
|
11744
|
+
if (props.showOverflow === true || props.showOverflow === 'tooltip' || props.showHeaderOverflow === true || props.showHeaderOverflow === 'tooltip' || props.showFooterOverflow === true || props.showFooterOverflow === 'tooltip' || props.tooltipConfig || props.editRules) {
|
|
11745
|
+
if (!VxeUITooltipComponent) {
|
|
11746
|
+
(0, _log.errLog)('vxe.error.reqComp', ['vxe-tooltip']);
|
|
11694
11747
|
}
|
|
11695
|
-
}
|
|
11696
|
-
}
|
|
11748
|
+
}
|
|
11749
|
+
});
|
|
11697
11750
|
(0, _vue.provide)('$xeColgroup', null);
|
|
11698
11751
|
(0, _vue.provide)('$xeTable', $xeTable);
|
|
11699
11752
|
$xeTable.renderVN = renderVN;
|