vxe-table 4.14.0-beta.3 → 4.14.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/es/locale/lang/ar-EG.js +1 -0
- package/es/locale/lang/de-DE.js +1 -0
- package/es/locale/lang/en-US.js +1 -0
- package/es/locale/lang/es-ES.js +1 -0
- package/es/locale/lang/fr-FR.js +1 -0
- package/es/locale/lang/hu-HU.js +1 -0
- package/es/locale/lang/hy-AM.js +1 -0
- package/es/locale/lang/id-ID.js +1 -0
- package/es/locale/lang/it-IT.js +1 -0
- package/es/locale/lang/ja-JP.js +1 -0
- package/es/locale/lang/ko-KR.js +1 -0
- package/es/locale/lang/ms-MY.js +1 -0
- package/es/locale/lang/nb-NO.js +1 -0
- package/es/locale/lang/pt-BR.js +1 -0
- package/es/locale/lang/ru-RU.js +1 -0
- package/es/locale/lang/th-TH.js +1 -0
- package/es/locale/lang/ug-CN.js +1 -0
- package/es/locale/lang/uk-UA.js +1 -0
- package/es/locale/lang/uz-UZ.js +1 -0
- package/es/locale/lang/vi-VN.js +1 -0
- package/es/locale/lang/zh-CHT.js +1 -0
- package/es/locale/lang/zh-CN.js +1 -0
- package/es/style.css +1 -1
- package/es/table/module/edit/hook.js +31 -1
- package/es/table/src/body.js +1 -1
- package/es/table/src/footer.js +1 -1
- package/es/table/src/header.js +1 -1
- package/es/table/src/table.js +22 -10
- package/es/ui/index.js +6 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +47 -12
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +1 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +1 -0
- package/lib/locale/lang/de-DE.js +1 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +1 -0
- package/lib/locale/lang/en-US.js +1 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +1 -0
- package/lib/locale/lang/es-ES.js +1 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +1 -0
- package/lib/locale/lang/fr-FR.js +1 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +1 -0
- package/lib/locale/lang/hu-HU.js +1 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +1 -0
- package/lib/locale/lang/hy-AM.js +1 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +1 -0
- package/lib/locale/lang/id-ID.js +1 -0
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +1 -0
- package/lib/locale/lang/it-IT.js +1 -0
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +1 -0
- package/lib/locale/lang/ja-JP.js +1 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +1 -0
- package/lib/locale/lang/ko-KR.js +1 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +1 -0
- package/lib/locale/lang/ms-MY.js +1 -0
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +1 -0
- package/lib/locale/lang/nb-NO.js +1 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +1 -0
- package/lib/locale/lang/pt-BR.js +1 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +1 -0
- package/lib/locale/lang/ru-RU.js +1 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +1 -0
- package/lib/locale/lang/th-TH.js +1 -0
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +1 -0
- package/lib/locale/lang/ug-CN.js +1 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +1 -0
- package/lib/locale/lang/uk-UA.js +1 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +1 -0
- package/lib/locale/lang/uz-UZ.js +1 -0
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +1 -0
- package/lib/locale/lang/vi-VN.js +1 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +1 -0
- package/lib/locale/lang/zh-CHT.js +1 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +1 -0
- package/lib/locale/lang/zh-CN.js +1 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +1 -0
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +30 -1
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/src/body.js +1 -1
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +1 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +6 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +6 -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 +1 -1
- package/packages/locale/lang/ar-EG.ts +1 -0
- package/packages/locale/lang/de-DE.ts +1 -0
- package/packages/locale/lang/en-US.ts +1 -0
- package/packages/locale/lang/es-ES.ts +1 -0
- package/packages/locale/lang/fr-FR.ts +1 -0
- package/packages/locale/lang/hu-HU.ts +1 -0
- package/packages/locale/lang/hy-AM.ts +1 -0
- package/packages/locale/lang/id-ID.ts +1 -0
- package/packages/locale/lang/it-IT.ts +1 -0
- package/packages/locale/lang/ja-JP.ts +1 -0
- package/packages/locale/lang/ko-KR.ts +1 -0
- package/packages/locale/lang/ms-MY.ts +1 -0
- package/packages/locale/lang/nb-NO.ts +1 -0
- package/packages/locale/lang/pt-BR.ts +1 -0
- package/packages/locale/lang/ru-RU.ts +1 -0
- package/packages/locale/lang/th-TH.ts +1 -0
- package/packages/locale/lang/ug-CN.ts +1 -0
- package/packages/locale/lang/uk-UA.ts +1 -0
- package/packages/locale/lang/uz-UZ.ts +1 -0
- package/packages/locale/lang/vi-VN.ts +1 -0
- package/packages/locale/lang/zh-CHT.ts +1 -0
- package/packages/locale/lang/zh-CN.ts +1 -0
- package/packages/table/module/edit/hook.ts +29 -1
- package/packages/table/src/body.ts +1 -1
- package/packages/table/src/footer.ts +1 -1
- package/packages/table/src/header.ts +1 -1
- package/packages/table/src/table.ts +22 -10
- package/packages/ui/index.ts +5 -0
- /package/es/{iconfont.1751247415649.ttf → iconfont.1751287466157.ttf} +0 -0
- /package/es/{iconfont.1751247415649.woff → iconfont.1751287466157.woff} +0 -0
- /package/es/{iconfont.1751247415649.woff2 → iconfont.1751287466157.woff2} +0 -0
- /package/lib/{iconfont.1751247415649.ttf → iconfont.1751287466157.ttf} +0 -0
- /package/lib/{iconfont.1751247415649.woff → iconfont.1751287466157.woff} +0 -0
- /package/lib/{iconfont.1751247415649.woff2 → iconfont.1751287466157.woff2} +0 -0
|
@@ -93,8 +93,11 @@ hooks.add('tableEditModule', {
|
|
|
93
93
|
}
|
|
94
94
|
});
|
|
95
95
|
};
|
|
96
|
+
// const insertGroupRow = (newRecords: any[], isAppend: boolean) => {
|
|
97
|
+
// }
|
|
96
98
|
const handleInsertRowAt = (records, targetRow, isInsertNextRow) => {
|
|
97
99
|
const { treeConfig } = props;
|
|
100
|
+
const { isRowGroupStatus } = reactData;
|
|
98
101
|
const { tableFullTreeData, afterFullData, mergeBodyList, tableFullData, fullDataRowIdData, fullAllDataRowIdData, insertRowMaps } = internalData;
|
|
99
102
|
const treeOpts = computeTreeOpts.value;
|
|
100
103
|
const { transform, rowField, mapChildrenField } = treeOpts;
|
|
@@ -108,6 +111,14 @@ hooks.add('tableEditModule', {
|
|
|
108
111
|
if (treeConfig && transform) {
|
|
109
112
|
insertTreeRow(newRecords, false);
|
|
110
113
|
}
|
|
114
|
+
else if (isRowGroupStatus) {
|
|
115
|
+
// 如果分组
|
|
116
|
+
if (treeConfig) {
|
|
117
|
+
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
118
|
+
}
|
|
119
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
120
|
+
// insertGroupRow(newRecords, false)
|
|
121
|
+
}
|
|
111
122
|
else {
|
|
112
123
|
newRecords.forEach(item => {
|
|
113
124
|
const rowid = getRowid($xeTable, item);
|
|
@@ -132,6 +143,14 @@ hooks.add('tableEditModule', {
|
|
|
132
143
|
if (treeConfig && transform) {
|
|
133
144
|
insertTreeRow(newRecords, true);
|
|
134
145
|
}
|
|
146
|
+
else if (isRowGroupStatus) {
|
|
147
|
+
// 如果分组
|
|
148
|
+
if (treeConfig) {
|
|
149
|
+
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
150
|
+
}
|
|
151
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
152
|
+
// insertGroupRow(newRecords, true)
|
|
153
|
+
}
|
|
135
154
|
else {
|
|
136
155
|
newRecords.forEach(item => {
|
|
137
156
|
const rowid = getRowid($xeTable, item);
|
|
@@ -196,6 +215,13 @@ hooks.add('tableEditModule', {
|
|
|
196
215
|
insertTreeRow(newRecords, true);
|
|
197
216
|
}
|
|
198
217
|
}
|
|
218
|
+
else if (isRowGroupStatus) {
|
|
219
|
+
// 如果分组
|
|
220
|
+
if (treeConfig) {
|
|
221
|
+
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
222
|
+
}
|
|
223
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
224
|
+
}
|
|
199
225
|
else {
|
|
200
226
|
if (treeConfig) {
|
|
201
227
|
throw new Error(getI18n('vxe.error.noTree', ['insert']));
|
|
@@ -481,7 +507,7 @@ hooks.add('tableEditModule', {
|
|
|
481
507
|
*/
|
|
482
508
|
remove(rows) {
|
|
483
509
|
const { treeConfig } = props;
|
|
484
|
-
const { editStore } = reactData;
|
|
510
|
+
const { editStore, isRowGroupStatus } = reactData;
|
|
485
511
|
const { tableFullTreeData, selectCheckboxMaps, afterFullData, mergeBodyList, tableFullData, pendingRowMaps, insertRowMaps, removeRowMaps } = internalData;
|
|
486
512
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
487
513
|
const treeOpts = computeTreeOpts.value;
|
|
@@ -540,6 +566,10 @@ hooks.add('tableEditModule', {
|
|
|
540
566
|
}
|
|
541
567
|
});
|
|
542
568
|
}
|
|
569
|
+
else if (isRowGroupStatus) {
|
|
570
|
+
// 如果分组
|
|
571
|
+
warnLog(getI18n('vxe.error.noGroup', ['remove']));
|
|
572
|
+
}
|
|
543
573
|
else {
|
|
544
574
|
rows.forEach((row) => {
|
|
545
575
|
const tfIndex = $xeTable.findRowIndexOf(tableFullData, row);
|
package/es/table/src/body.js
CHANGED
package/es/table/src/footer.js
CHANGED
package/es/table/src/header.js
CHANGED
package/es/table/src/table.js
CHANGED
|
@@ -1586,7 +1586,20 @@ export default defineVxeComponent({
|
|
|
1586
1586
|
}
|
|
1587
1587
|
};
|
|
1588
1588
|
const calcColumnAutoWidth = (column, wrapperEl) => {
|
|
1589
|
-
const
|
|
1589
|
+
const columnOpts = computeColumnOpts.value;
|
|
1590
|
+
const { autoOptions } = columnOpts;
|
|
1591
|
+
const { isCalcHeader, isCalcBody, isCalcFooter } = autoOptions || {};
|
|
1592
|
+
const querySelections = [];
|
|
1593
|
+
if (isCalcHeader) {
|
|
1594
|
+
querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);
|
|
1595
|
+
}
|
|
1596
|
+
if (isCalcBody) {
|
|
1597
|
+
querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);
|
|
1598
|
+
}
|
|
1599
|
+
if (isCalcFooter) {
|
|
1600
|
+
querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);
|
|
1601
|
+
}
|
|
1602
|
+
const cellElemList = querySelections.length ? wrapperEl.querySelectorAll(querySelections.join(',')) : [];
|
|
1590
1603
|
let leftRightPadding = 0;
|
|
1591
1604
|
const firstCellEl = cellElemList[0];
|
|
1592
1605
|
if (firstCellEl && firstCellEl.parentElement) {
|
|
@@ -3027,7 +3040,7 @@ export default defineVxeComponent({
|
|
|
3027
3040
|
if (rceTimeout) {
|
|
3028
3041
|
clearTimeout(rceTimeout);
|
|
3029
3042
|
if (rceRunTime && rceRunTime + (refreshDelay - 5) < Date.now()) {
|
|
3030
|
-
resolve(handleRecalculateStyle(
|
|
3043
|
+
resolve(handleRecalculateStyle(reFull, reWidth, reHeight));
|
|
3031
3044
|
}
|
|
3032
3045
|
else {
|
|
3033
3046
|
nextTick(() => {
|
|
@@ -3036,11 +3049,11 @@ export default defineVxeComponent({
|
|
|
3036
3049
|
}
|
|
3037
3050
|
}
|
|
3038
3051
|
else {
|
|
3039
|
-
resolve(handleRecalculateStyle(
|
|
3052
|
+
resolve(handleRecalculateStyle(reFull, reWidth, reHeight));
|
|
3040
3053
|
}
|
|
3041
3054
|
internalData.rceTimeout = setTimeout(() => {
|
|
3042
3055
|
internalData.rceTimeout = undefined;
|
|
3043
|
-
handleRecalculateStyle(
|
|
3056
|
+
handleRecalculateStyle(reFull, reWidth, reHeight);
|
|
3044
3057
|
}, refreshDelay);
|
|
3045
3058
|
});
|
|
3046
3059
|
};
|
|
@@ -3319,9 +3332,8 @@ export default defineVxeComponent({
|
|
|
3319
3332
|
nextTick()
|
|
3320
3333
|
.then(() => handleRecalculateStyle(false, false, false))
|
|
3321
3334
|
.then(() => {
|
|
3322
|
-
|
|
3335
|
+
handleRecalculateStyle(false, true, true);
|
|
3323
3336
|
updateRowOffsetTop();
|
|
3324
|
-
return handleRecalculateStyle(false, false, false);
|
|
3325
3337
|
})
|
|
3326
3338
|
.then(() => {
|
|
3327
3339
|
let targetScrollLeft = lastScrollLeft;
|
|
@@ -3341,7 +3353,7 @@ export default defineVxeComponent({
|
|
|
3341
3353
|
if (oldScrollYLoad === sYLoad) {
|
|
3342
3354
|
restoreScrollLocation($xeTable, targetScrollLeft, targetScrollTop)
|
|
3343
3355
|
.then(() => {
|
|
3344
|
-
|
|
3356
|
+
handleRecalculateStyle(false, true, true);
|
|
3345
3357
|
updateRowOffsetTop();
|
|
3346
3358
|
resolve();
|
|
3347
3359
|
});
|
|
@@ -3350,7 +3362,7 @@ export default defineVxeComponent({
|
|
|
3350
3362
|
setTimeout(() => {
|
|
3351
3363
|
restoreScrollLocation($xeTable, targetScrollLeft, targetScrollTop)
|
|
3352
3364
|
.then(() => {
|
|
3353
|
-
|
|
3365
|
+
handleRecalculateStyle(false, true, true);
|
|
3354
3366
|
updateRowOffsetTop();
|
|
3355
3367
|
resolve();
|
|
3356
3368
|
});
|
|
@@ -3601,7 +3613,7 @@ export default defineVxeComponent({
|
|
|
3601
3613
|
$xeTable.handleUpdateCustomColumn();
|
|
3602
3614
|
}
|
|
3603
3615
|
reactData.isColLoading = false;
|
|
3604
|
-
return
|
|
3616
|
+
return handleLazyRecalculate(false, true, true);
|
|
3605
3617
|
});
|
|
3606
3618
|
});
|
|
3607
3619
|
};
|
|
@@ -11812,7 +11824,7 @@ export default defineVxeComponent({
|
|
|
11812
11824
|
globalEvents.on($xeTable, 'keydown', handleGlobalKeydownEvent);
|
|
11813
11825
|
globalEvents.on($xeTable, 'resize', handleGlobalResizeEvent);
|
|
11814
11826
|
globalEvents.on($xeTable, 'contextmenu', $xeTable.handleGlobalContextmenuEvent);
|
|
11815
|
-
|
|
11827
|
+
$xeTable.preventEvent(null, 'mounted', { $table: $xeTable });
|
|
11816
11828
|
});
|
|
11817
11829
|
onBeforeUnmount(() => {
|
|
11818
11830
|
const tableViewportEl = refTableViewportElem.value;
|
package/es/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
import { getFuncText } from './src/utils';
|
|
3
|
-
export const version = "4.14.0-beta.
|
|
3
|
+
export const version = "4.14.0-beta.5";
|
|
4
4
|
VxeUI.version = version;
|
|
5
5
|
VxeUI.tableVersion = version;
|
|
6
6
|
VxeUI.setConfig({
|
|
@@ -71,6 +71,11 @@ VxeUI.setConfig({
|
|
|
71
71
|
theme: 'beautify'
|
|
72
72
|
},
|
|
73
73
|
columnConfig: {
|
|
74
|
+
autoOptions: {
|
|
75
|
+
isCalcHeader: true,
|
|
76
|
+
isCalcBody: true,
|
|
77
|
+
isCalcFooter: true
|
|
78
|
+
},
|
|
74
79
|
maxFixedSize: 4
|
|
75
80
|
},
|
|
76
81
|
cellConfig: {
|
package/es/ui/src/log.js
CHANGED
package/lib/index.umd.js
CHANGED
|
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
|
|
|
3138
3138
|
;// ./packages/ui/index.ts
|
|
3139
3139
|
|
|
3140
3140
|
|
|
3141
|
-
const version = "4.14.0-beta.
|
|
3141
|
+
const version = "4.14.0-beta.5";
|
|
3142
3142
|
core_.VxeUI.version = version;
|
|
3143
3143
|
core_.VxeUI.tableVersion = version;
|
|
3144
3144
|
core_.VxeUI.setConfig({
|
|
@@ -3209,6 +3209,11 @@ core_.VxeUI.setConfig({
|
|
|
3209
3209
|
theme: 'beautify'
|
|
3210
3210
|
},
|
|
3211
3211
|
columnConfig: {
|
|
3212
|
+
autoOptions: {
|
|
3213
|
+
isCalcHeader: true,
|
|
3214
|
+
isCalcBody: true,
|
|
3215
|
+
isCalcFooter: true
|
|
3216
|
+
},
|
|
3212
3217
|
maxFixedSize: 4
|
|
3213
3218
|
},
|
|
3214
3219
|
cellConfig: {
|
|
@@ -3623,7 +3628,7 @@ var esnext_iterator_some = __webpack_require__(7550);
|
|
|
3623
3628
|
const {
|
|
3624
3629
|
log: log_log
|
|
3625
3630
|
} = core_.VxeUI;
|
|
3626
|
-
const log_version = `table v${"4.14.0-beta.
|
|
3631
|
+
const log_version = `table v${"4.14.0-beta.5"}`;
|
|
3627
3632
|
const warnLog = log_log.create('warn', log_version);
|
|
3628
3633
|
const errLog = log_log.create('error', log_version);
|
|
3629
3634
|
;// ./packages/table/src/columnInfo.ts
|
|
@@ -6945,7 +6950,7 @@ const renderType = 'body';
|
|
|
6945
6950
|
}, isVNPreEmptyStatus ? [] : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
6946
6951
|
colid,
|
|
6947
6952
|
rowid,
|
|
6948
|
-
class: 'vxe-cell--wrapper'
|
|
6953
|
+
class: 'vxe-cell--wrapper vxe-body-cell--wrapper'
|
|
6949
6954
|
}, column.renderCell(cellParams))]));
|
|
6950
6955
|
if (showValidTip && errorValidItem) {
|
|
6951
6956
|
const errRule = errorValidItem.rule;
|
|
@@ -7698,7 +7703,7 @@ const header_renderType = 'header';
|
|
|
7698
7703
|
style: tcStyle
|
|
7699
7704
|
}, isVNPreEmptyStatus || isOptimizeMode && fixedHiddenColumn ? [] : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
7700
7705
|
colid,
|
|
7701
|
-
class: 'vxe-cell--wrapper'
|
|
7706
|
+
class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
|
|
7702
7707
|
}, column.renderHeader(cellParams))]),
|
|
7703
7708
|
/**
|
|
7704
7709
|
* 列宽拖动
|
|
@@ -8154,7 +8159,7 @@ const footer_renderType = 'footer';
|
|
|
8154
8159
|
style: tcStyle
|
|
8155
8160
|
}, isVNPreEmptyStatus ? [] : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
8156
8161
|
colid,
|
|
8157
|
-
class: 'vxe-cell--wrapper'
|
|
8162
|
+
class: 'vxe-cell--wrapper vxe-footer-cell--wrapper'
|
|
8158
8163
|
}, column.renderFooter(cellParams))]),
|
|
8159
8164
|
/**
|
|
8160
8165
|
* 列宽拖动
|
|
@@ -10994,7 +10999,7 @@ if(hasCustomSort){collectColumn=external_root_XEUtils_commonjs_xe_utils_commonjs
|
|
|
10994
10999
|
* 更新数据列的 Map
|
|
10995
11000
|
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
10996
11001
|
*/const cacheColumnMap=()=>{const{tableFullColumn,collectColumn}=internalData;const fullColumnIdData=internalData.fullColumnIdData={};const fullColumnFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!props.showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColumnFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColumnFieldData[field]=rest;}else{if(storage&&!type||columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqProp',[`${column.getTitle()||type||''} -> column.field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColumnIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColumnIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.reqProp',['column-config.useKey & column.type=html']);}if(!rowOpts.useKey){errLog('vxe.error.reqProp',['row-config.useKey & column.type=html']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
|
|
10997
|
-
if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight)){internalData.customHeight=300;}};const calcColumnAutoWidth=(column,wrapperEl)=>{const
|
|
11002
|
+
if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight)){internalData.customHeight=300;}};const calcColumnAutoWidth=(column,wrapperEl)=>{const columnOpts=computeColumnOpts.value;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=column.renderAutoWidth-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;};const calcCellWidth=()=>{const autoWidthColumnList=computeAutoWidthColumnList.value;const{fullColumnIdData}=internalData;const el=refElem.value;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth(column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}};/**
|
|
10998
11003
|
* 列宽算法,计算单元格列宽,动态分配可用剩余空间
|
|
10999
11004
|
* 支持 px、%、固定 混合分配
|
|
11000
11005
|
* 支持动态列表调整分配
|
|
@@ -11106,7 +11111,7 @@ const computeScrollLoad=()=>{return (0,external_commonjs_vue_commonjs2_vue_root_
|
|
|
11106
11111
|
if(scrollXLoad){const{toVisibleIndex:toXVisibleIndex,visibleSize:visibleXSize}=handleVirtualXVisible();const offsetXSize=Math.max(0,virtualXOpts.oSize?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualXOpts.oSize):0);scrollXStore.preloadSize=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualXOpts.preSize);scrollXStore.offsetSize=offsetXSize;scrollXStore.visibleSize=visibleXSize;scrollXStore.endIndex=Math.max(scrollXStore.startIndex+scrollXStore.visibleSize+offsetXSize,scrollXStore.endIndex);scrollXStore.visibleStartIndex=Math.max(scrollXStore.startIndex,toXVisibleIndex);scrollXStore.visibleEndIndex=Math.min(scrollXStore.endIndex,toXVisibleIndex+visibleXSize);$xeTable.updateScrollXData().then(()=>{loadScrollXData();});}else{$xeTable.updateScrollXSpace();}// 计算 Y 逻辑
|
|
11107
11112
|
const rowHeight=computeRowHeight();scrollYStore.rowHeight=rowHeight;// 已废弃
|
|
11108
11113
|
reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:visibleYSize}=handleVirtualYVisible();if(scrollYLoad){const offsetYSize=Math.max(0,virtualYOpts.oSize?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize):0);scrollYStore.preloadSize=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.preSize);scrollYStore.offsetSize=offsetYSize;scrollYStore.visibleSize=visibleYSize;scrollYStore.endIndex=Math.max(scrollYStore.startIndex+visibleYSize+offsetYSize,scrollYStore.endIndex);scrollYStore.visibleStartIndex=Math.max(scrollYStore.startIndex,toYVisibleIndex);scrollYStore.visibleEndIndex=Math.min(scrollYStore.endIndex,toYVisibleIndex+visibleYSize);$xeTable.updateScrollYData().then(()=>{loadScrollYData();});}else{$xeTable.updateScrollYSpace();}});};const calcScrollbar=()=>{const{scrollXWidth,scrollYHeight}=reactData;const{elemStore}=internalData;const scrollbarOpts=computeScrollbarOpts.value;const bodyWrapperElem=getRefElem(elemStore['main-body-wrapper']);const headerTableElem=getRefElem(elemStore['main-header-table']);const footerTableElem=getRefElem(elemStore['main-footer-table']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;let overflowY=false;let overflowX=false;if(bodyWrapperElem){overflowY=scrollYHeight>bodyWrapperElem.clientHeight;if(yHandleEl){reactData.scrollbarWidth=scrollbarOpts.width||yHandleEl.offsetWidth-yHandleEl.clientWidth||14;}reactData.overflowY=overflowY;overflowX=scrollXWidth>bodyWrapperElem.clientWidth;if(xHandleEl){reactData.scrollbarHeight=scrollbarOpts.height||xHandleEl.offsetHeight-xHandleEl.clientHeight||14;}const headerHeight=headerTableElem?headerTableElem.clientHeight:0;const footerHeight=footerTableElem?footerTableElem.clientHeight:0;internalData.tableHeight=bodyWrapperElem.offsetHeight;internalData.headerHeight=headerHeight;internalData.footerHeight=footerHeight;reactData.overflowX=overflowX;reactData.parentHeight=Math.max(internalData.headerHeight+footerHeight+20,$xeTable.getParentHeight());}if(overflowX){$xeTable.checkScrolling();}};const handleRecalculateStyle=(reFull,reWidth,reHeight)=>{const el=refElem.value;internalData.rceRunTime=Date.now();if(!el||!el.clientWidth){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const varEl=refVarElem.value;if(varEl){const[defEl,mediumEl,smallEl,miniEl]=varEl.children;calcVarRowHeightConfig('default',defEl);calcVarRowHeightConfig('medium',mediumEl);calcVarRowHeightConfig('small',smallEl);calcVarRowHeightConfig('mini',miniEl);}if(reWidth){calcCellWidth();}if(reFull){autoCellWidth();}calcScrollbar();updateStyle();updateRowExpandStyle();return computeScrollLoad().then(()=>{// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
11109
|
-
if(reWidth){calcCellWidth();}if(reFull){autoCellWidth();}if(reHeight){calcCellHeight();}updateStyle();calcScrollbar();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){return computeScrollLoad();}});};const handleLazyRecalculate=(reFull,reWidth,reHeight)=>{return new Promise(resolve=>{const{rceTimeout,rceRunTime}=internalData;const resizeOpts=computeResizeOpts.value;const refreshDelay=resizeOpts.refreshDelay||20;const el=refElem.value;if(el&&el.clientWidth){autoCellWidth();updateRowExpandStyle();}if(rceTimeout){clearTimeout(rceTimeout);if(rceRunTime&&rceRunTime+(refreshDelay-5)<Date.now()){resolve(handleRecalculateStyle(
|
|
11114
|
+
if(reWidth){calcCellWidth();}if(reFull){autoCellWidth();}if(reHeight){calcCellHeight();}updateStyle();calcScrollbar();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){return computeScrollLoad();}});};const handleLazyRecalculate=(reFull,reWidth,reHeight)=>{return new Promise(resolve=>{const{rceTimeout,rceRunTime}=internalData;const resizeOpts=computeResizeOpts.value;const refreshDelay=resizeOpts.refreshDelay||20;const el=refElem.value;if(el&&el.clientWidth){autoCellWidth();updateRowExpandStyle();}if(rceTimeout){clearTimeout(rceTimeout);if(rceRunTime&&rceRunTime+(refreshDelay-5)<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}internalData.rceTimeout=setTimeout(()=>{internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);},refreshDelay);});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggFields=[];const aggConfs=[];if(groupFields){(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggFields.push(field);aggConfs.push({field});});}reactData.rowGroupList=aggConfs;reactData.aggHandleFields=aggFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{let count=0;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggregateData){$xeTable.handlePivotTableAggregateData(aggList);}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const aggList=[];const rowkey=getRowkey($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,groupField);const groupValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue)?'':cellValue;let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[rowkey]:getRowUniqueId(),[childrenField]:childTreeData,[mapChildrenField]:childTreeData};if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});handleeGroupSummary(aggList);}}return{treeData,fullData};};/**
|
|
11110
11115
|
* 加载表格数据
|
|
11111
11116
|
* @param {Array} datas 数据
|
|
11112
11117
|
*/const loadTableData=(datas,isReset)=>{const{keepSource,treeConfig,rowGroupConfig,aggregateConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=computeRowOpts.value;const treeOpts=computeTreeOpts.value;const expandOpts=computeExpandOpts.value;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(datas?datas.slice(0):[]);// 转为响应式数据
|
|
@@ -11134,9 +11139,9 @@ if(sYLoad){scrollYStore.endIndex=scrollYStore.visibleSize;}if(sYLoad){if(reactDa
|
|
|
11134
11139
|
if(!(props.height||props.maxHeight)){errLog('vxe.error.reqProp',['height | max-height | virtual-y-config={enabled: false}']);}// if (!props.showOverflow) {
|
|
11135
11140
|
// warnLog('vxe.error.reqProp', ['table.show-overflow'])
|
|
11136
11141
|
// }
|
|
11137
|
-
if(props.spanMethod){errLog('vxe.error.scrollErrProp',['table.span-method']);}}handleReserveStatus();$xeTable.checkSelectionStatus();return new Promise(resolve=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>handleRecalculateStyle(false,false,false)).then(()=>{
|
|
11142
|
+
if(props.spanMethod){errLog('vxe.error.scrollErrProp',['table.span-method']);}}handleReserveStatus();$xeTable.checkSelectionStatus();return new Promise(resolve=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>handleRecalculateStyle(false,false,false)).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();}).then(()=>{let targetScrollLeft=lastScrollLeft;let targetScrollTop=lastScrollTop;const virtualXOpts=computeVirtualXOpts.value;const virtualYOpts=computeVirtualYOpts.value;// 是否在更新数据之后自动滚动重置滚动条
|
|
11138
11143
|
if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scrollToTopOnChange){targetScrollTop=0;}reactData.isRowLoading=false;handleRecalculateStyle(false,false,false);// 是否变更虚拟滚动
|
|
11139
|
-
if(oldScrollYLoad===sYLoad){restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{
|
|
11144
|
+
if(oldScrollYLoad===sYLoad){restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();resolve();});}else{setTimeout(()=>{restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();resolve();});});}});});});};/**
|
|
11140
11145
|
* 处理数据加载默认行为
|
|
11141
11146
|
* 默认执行一次,除非被重置
|
|
11142
11147
|
*/const handleLoadDefaults=()=>{handleDefaultSelectionChecked();handleDefaultRadioChecked();handleDefaultRowExpand();handleDefaultTreeExpand();handleDefaultMergeCells();handleDefaultMergeFooterItems();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>setTimeout(()=>$xeTable.recalculate()));};/**
|
|
@@ -11164,7 +11169,7 @@ tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){le
|
|
|
11164
11169
|
// }
|
|
11165
11170
|
if(props.spanMethod){warnLog('vxe.error.scrollErrProp',['span-method']);}if(props.footerSpanMethod){warnLog('vxe.error.scrollErrProp',['footer-span-method']);}if(isReset){const{visibleSize}=handleVirtualXVisible();scrollXStore.startIndex=0;scrollXStore.endIndex=visibleSize;scrollXStore.visibleSize=visibleSize;scrollXStore.visibleStartIndex=0;scrollXStore.visibleEndIndex=visibleSize;}}// 如果列被显示/隐藏,则清除合并状态
|
|
11166
11171
|
// 如果列被设置为固定,则清除合并状态
|
|
11167
|
-
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();handleUpdateAggValues();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnSort=()=>{const{collectColumn}=internalData;collectColumn.forEach((column,index)=>{const sortIndex=index+1;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;});};const handleColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;initColumnSort();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return
|
|
11172
|
+
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();handleUpdateAggValues();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnSort=()=>{const{collectColumn}=internalData;collectColumn.forEach((column,index)=>{const sortIndex=index+1;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;});};const handleColumn=collectColumn=>{const expandOpts=computeExpandOpts.value;internalData.collectColumn=collectColumn;const tableFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tableFullColumn;reactData.isColLoading=true;initColumnSort();return Promise.resolve(restoreCustomStorage()).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}reactData.isColLoading=false;return handleLazyRecalculate(false,true,true);});});};const updateScrollXStatus=fullColumn=>{const virtualXOpts=computeVirtualXOpts.value;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
|
|
11168
11173
|
const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;};const updateScrollYStatus=fullData=>{const{treeConfig}=props;const virtualYOpts=computeVirtualYOpts.value;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
|
|
11169
11174
|
const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;return scrollYLoad;};/**
|
|
11170
11175
|
* 展开与收起树节点
|
|
@@ -11811,7 +11816,7 @@ if(importConfig&&importOpts.types&&!importOpts.importMethod&&!external_root_XEUt
|
|
|
11811
11816
|
// }
|
|
11812
11817
|
// }
|
|
11813
11818
|
// 检查是否有安装需要的模块
|
|
11814
|
-
if(props.editConfig&&!$xeTable.insert){errLog('vxe.error.reqModule',['Edit']);}if(props.editRules&&!$xeTable.validate){errLog('vxe.error.reqModule',['Validator']);}if((checkboxOpts.range||props.keyboardConfig||props.mouseConfig)&&!$xeTable.handleCellMousedownEvent){errLog('vxe.error.reqModule',['Keyboard']);}if((props.printConfig||props.importConfig||props.exportConfig)&&!$xeTable.exportData){errLog('vxe.error.reqModule',['Export']);}Object.assign(scrollYStore,{startIndex:0,endIndex:0,visibleSize:0});Object.assign(scrollXStore,{startIndex:0,endIndex:0,visibleSize:0});loadTableData(data||[],true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();});if(props.autoResize){const el=refElem.value;const parentEl=tablePrivateMethods.getParentElem();resizeObserver=table_globalResize.create(()=>{if(props.autoResize){tableMethods.recalculate(true);}});if(el){resizeObserver.observe(el);}if(parentEl){resizeObserver.observe(parentEl);}}});if(virtualYOpts.mode!=='scroll'){const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.addEventListener('wheel',$xeTable.triggerBodyWheelEvent,{passive:false});}}table_globalEvents.on($xeTable,'paste',handleGlobalPasteEvent);table_globalEvents.on($xeTable,'copy',handleGlobalCopyEvent);table_globalEvents.on($xeTable,'cut',handleGlobalCutEvent);table_globalEvents.on($xeTable,'mousedown',handleGlobalMousedownEvent);table_globalEvents.on($xeTable,'blur',handleGlobalBlurEvent);table_globalEvents.on($xeTable,'mousewheel',handleGlobalMousewheelEvent);table_globalEvents.on($xeTable,'keydown',handleGlobalKeydownEvent);table_globalEvents.on($xeTable,'resize',handleGlobalResizeEvent);table_globalEvents.on($xeTable,'contextmenu',$xeTable.handleGlobalContextmenuEvent)
|
|
11819
|
+
if(props.editConfig&&!$xeTable.insert){errLog('vxe.error.reqModule',['Edit']);}if(props.editRules&&!$xeTable.validate){errLog('vxe.error.reqModule',['Validator']);}if((checkboxOpts.range||props.keyboardConfig||props.mouseConfig)&&!$xeTable.handleCellMousedownEvent){errLog('vxe.error.reqModule',['Keyboard']);}if((props.printConfig||props.importConfig||props.exportConfig)&&!$xeTable.exportData){errLog('vxe.error.reqModule',['Export']);}Object.assign(scrollYStore,{startIndex:0,endIndex:0,visibleSize:0});Object.assign(scrollXStore,{startIndex:0,endIndex:0,visibleSize:0});loadTableData(data||[],true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();});if(props.autoResize){const el=refElem.value;const parentEl=tablePrivateMethods.getParentElem();resizeObserver=table_globalResize.create(()=>{if(props.autoResize){tableMethods.recalculate(true);}});if(el){resizeObserver.observe(el);}if(parentEl){resizeObserver.observe(parentEl);}}});if(virtualYOpts.mode!=='scroll'){const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.addEventListener('wheel',$xeTable.triggerBodyWheelEvent,{passive:false});}}table_globalEvents.on($xeTable,'paste',handleGlobalPasteEvent);table_globalEvents.on($xeTable,'copy',handleGlobalCopyEvent);table_globalEvents.on($xeTable,'cut',handleGlobalCutEvent);table_globalEvents.on($xeTable,'mousedown',handleGlobalMousedownEvent);table_globalEvents.on($xeTable,'blur',handleGlobalBlurEvent);table_globalEvents.on($xeTable,'mousewheel',handleGlobalMousewheelEvent);table_globalEvents.on($xeTable,'keydown',handleGlobalKeydownEvent);table_globalEvents.on($xeTable,'resize',handleGlobalResizeEvent);table_globalEvents.on($xeTable,'contextmenu',$xeTable.handleGlobalContextmenuEvent);$xeTable.preventEvent(null,'mounted',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(()=>{const tableViewportEl=refTableViewportElem.value;if(tableViewportEl){tableViewportEl.removeEventListener('wheel',$xeTable.triggerBodyWheelEvent);}internalData.cvCacheMaps={};internalData.prevDragRow=null;internalData.prevDragCol=null;if(resizeObserver){resizeObserver.disconnect();}tableMethods.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}tablePrivateMethods.preventEvent(null,'beforeUnmount',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(()=>{table_globalEvents.off($xeTable,'paste');table_globalEvents.off($xeTable,'copy');table_globalEvents.off($xeTable,'cut');table_globalEvents.off($xeTable,'mousedown');table_globalEvents.off($xeTable,'blur');table_globalEvents.off($xeTable,'mousewheel');table_globalEvents.off($xeTable,'keydown');table_globalEvents.off($xeTable,'resize');table_globalEvents.off($xeTable,'contextmenu');tablePrivateMethods.preventEvent(null,'unmounted',{$table:$xeTable});});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{if(props.loading){if(!VxeUILoadingComponent&&!slots.loading){errLog('vxe.error.errProp',['loading=true','loading=false | <template #loading>...</template>']);errLog('vxe.error.reqComp',['vxe-loading']);}}if(props.showOverflow===true||props.showOverflow==='tooltip'||props.showHeaderOverflow===true||props.showHeaderOverflow==='tooltip'||props.showFooterOverflow===true||props.showFooterOverflow==='tooltip'||props.tooltipConfig||props.editRules){if(!VxeUITooltipComponent){if(props.showOverflow===true){errLog('vxe.error.errProp',['show-overflow=true','show-overflow=title']);}if(props.showOverflow==='tooltip'){errLog('vxe.error.errProp',['show-overflow=tooltip','show-overflow=title']);}if(props.showHeaderOverflow===true){errLog('vxe.error.errProp',['show-header-overflow=true','show-header-overflow=title']);}if(props.showHeaderOverflow==='tooltip'){errLog('vxe.error.errProp',['show-header-overflow=tooltip','show-header-overflow=title']);}if(props.showFooterOverflow===true){errLog('vxe.error.errProp',['show-footer-overflow=true','show-footer-overflow=title']);}if(props.showFooterOverflow==='tooltip'){errLog('vxe.error.errProp',['show-footer-overflow=tooltip','show-footer-overflow=title']);}errLog('vxe.error.reqComp',['vxe-tooltip']);}}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeColgroup',null);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTable',$xeTable);$xeTable.renderVN=renderVN;return $xeTable;},render(){return this.renderVN();}}));
|
|
11815
11820
|
;// ./packages/toolbar/src/toolbar.ts
|
|
11816
11821
|
|
|
11817
11822
|
|
|
@@ -15310,10 +15315,15 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
15310
15315
|
}
|
|
15311
15316
|
});
|
|
15312
15317
|
};
|
|
15318
|
+
// const insertGroupRow = (newRecords: any[], isAppend: boolean) => {
|
|
15319
|
+
// }
|
|
15313
15320
|
const handleInsertRowAt = (records, targetRow, isInsertNextRow) => {
|
|
15314
15321
|
const {
|
|
15315
15322
|
treeConfig
|
|
15316
15323
|
} = props;
|
|
15324
|
+
const {
|
|
15325
|
+
isRowGroupStatus
|
|
15326
|
+
} = reactData;
|
|
15317
15327
|
const {
|
|
15318
15328
|
tableFullTreeData,
|
|
15319
15329
|
afterFullData,
|
|
@@ -15341,6 +15351,13 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
15341
15351
|
// 如果为虚拟树
|
|
15342
15352
|
if (treeConfig && transform) {
|
|
15343
15353
|
insertTreeRow(newRecords, false);
|
|
15354
|
+
} else if (isRowGroupStatus) {
|
|
15355
|
+
// 如果分组
|
|
15356
|
+
if (treeConfig) {
|
|
15357
|
+
throw new Error(hook_getI18n('vxe.error.noTree', ['insert']));
|
|
15358
|
+
}
|
|
15359
|
+
warnLog(hook_getI18n('vxe.error.noGroup', ['remove']));
|
|
15360
|
+
// insertGroupRow(newRecords, false)
|
|
15344
15361
|
} else {
|
|
15345
15362
|
newRecords.forEach(item => {
|
|
15346
15363
|
const rowid = getRowid($xeTable, item);
|
|
@@ -15380,6 +15397,13 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
15380
15397
|
// 如果为虚拟树
|
|
15381
15398
|
if (treeConfig && transform) {
|
|
15382
15399
|
insertTreeRow(newRecords, true);
|
|
15400
|
+
} else if (isRowGroupStatus) {
|
|
15401
|
+
// 如果分组
|
|
15402
|
+
if (treeConfig) {
|
|
15403
|
+
throw new Error(hook_getI18n('vxe.error.noTree', ['insert']));
|
|
15404
|
+
}
|
|
15405
|
+
warnLog(hook_getI18n('vxe.error.noGroup', ['remove']));
|
|
15406
|
+
// insertGroupRow(newRecords, true)
|
|
15383
15407
|
} else {
|
|
15384
15408
|
newRecords.forEach(item => {
|
|
15385
15409
|
const rowid = getRowid($xeTable, item);
|
|
@@ -15480,6 +15504,12 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
15480
15504
|
warnLog('vxe.error.unableInsert');
|
|
15481
15505
|
insertTreeRow(newRecords, true);
|
|
15482
15506
|
}
|
|
15507
|
+
} else if (isRowGroupStatus) {
|
|
15508
|
+
// 如果分组
|
|
15509
|
+
if (treeConfig) {
|
|
15510
|
+
throw new Error(hook_getI18n('vxe.error.noTree', ['insert']));
|
|
15511
|
+
}
|
|
15512
|
+
warnLog(hook_getI18n('vxe.error.noGroup', ['remove']));
|
|
15483
15513
|
} else {
|
|
15484
15514
|
if (treeConfig) {
|
|
15485
15515
|
throw new Error(hook_getI18n('vxe.error.noTree', ['insert']));
|
|
@@ -15814,7 +15844,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
15814
15844
|
treeConfig
|
|
15815
15845
|
} = props;
|
|
15816
15846
|
const {
|
|
15817
|
-
editStore
|
|
15847
|
+
editStore,
|
|
15848
|
+
isRowGroupStatus
|
|
15818
15849
|
} = reactData;
|
|
15819
15850
|
const {
|
|
15820
15851
|
tableFullTreeData,
|
|
@@ -15891,6 +15922,9 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
15891
15922
|
afterFullData.splice(afIndex, 1);
|
|
15892
15923
|
}
|
|
15893
15924
|
});
|
|
15925
|
+
} else if (isRowGroupStatus) {
|
|
15926
|
+
// 如果分组
|
|
15927
|
+
warnLog(hook_getI18n('vxe.error.noGroup', ['remove']));
|
|
15894
15928
|
} else {
|
|
15895
15929
|
rows.forEach(row => {
|
|
15896
15930
|
const tfIndex = $xeTable.findRowIndexOf(tableFullData, row);
|
|
@@ -21346,6 +21380,7 @@ const Toolbar = VxeToolbar;
|
|
|
21346
21380
|
notCommands: '全局指令 "{0}" 不存在',
|
|
21347
21381
|
notSlot: '插槽 "{0}" 不存在',
|
|
21348
21382
|
noTree: '树结构不支持 "{0}"',
|
|
21383
|
+
noGroup: '数据分组后不支持 "{0}"',
|
|
21349
21384
|
notProp: '不支持的参数 "{0}"',
|
|
21350
21385
|
checkProp: '当数据量过大时可能会导致复选框卡顿,建议设置参数 "{0}" 提升渲染速度',
|
|
21351
21386
|
coverProp: '"{0}" 的参数 "{1}" 重复定义,这可能会出现错误',
|