vxe-table 3.20.0-beta.9 → 3.20.0
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +6 -0
- package/es/locale/lang/de-DE.js +6 -0
- package/es/locale/lang/en-US.js +6 -0
- package/es/locale/lang/es-ES.js +6 -0
- package/es/locale/lang/fr-FR.js +6 -0
- package/es/locale/lang/hu-HU.js +6 -0
- package/es/locale/lang/hy-AM.js +6 -0
- package/es/locale/lang/id-ID.js +6 -0
- package/es/locale/lang/it-IT.js +6 -0
- package/es/locale/lang/ja-JP.js +6 -0
- package/es/locale/lang/ko-KR.js +6 -0
- package/es/locale/lang/ms-MY.js +6 -0
- package/es/locale/lang/nb-NO.js +6 -0
- package/es/locale/lang/pt-BR.js +6 -0
- package/es/locale/lang/ru-RU.js +6 -0
- package/es/locale/lang/th-TH.js +6 -0
- package/es/locale/lang/ug-CN.js +6 -0
- package/es/locale/lang/uk-UA.js +6 -0
- package/es/locale/lang/uz-UZ.js +6 -0
- package/es/locale/lang/vi-VN.js +6 -0
- package/es/locale/lang/zh-CHT.js +6 -0
- package/es/locale/lang/zh-CN.js +6 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/export/mixin.js +15 -1
- package/es/table/module/keyboard/mixin.js +18 -8
- package/es/table/module/validator/mixin.js +7 -6
- package/es/table/render/index.js +11 -0
- package/es/table/src/body.js +12 -5
- package/es/table/src/columnInfo.js +2 -0
- package/es/table/src/methods.js +199 -73
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +64 -3
- package/es/table/src/util.js +38 -20
- package/es/table/style.css +11 -17
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +7 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +11 -17
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +239 -74
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +6 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +6 -0
- package/lib/locale/lang/de-DE.js +6 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +6 -0
- package/lib/locale/lang/en-US.js +6 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +6 -0
- package/lib/locale/lang/es-ES.js +6 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +6 -0
- package/lib/locale/lang/fr-FR.js +6 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +6 -0
- package/lib/locale/lang/hu-HU.js +6 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +6 -0
- package/lib/locale/lang/hy-AM.js +6 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +6 -0
- package/lib/locale/lang/id-ID.js +6 -0
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +6 -0
- package/lib/locale/lang/it-IT.js +6 -0
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +6 -0
- package/lib/locale/lang/ja-JP.js +6 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +6 -0
- package/lib/locale/lang/ko-KR.js +6 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +6 -0
- package/lib/locale/lang/ms-MY.js +6 -0
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +6 -0
- package/lib/locale/lang/nb-NO.js +6 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +6 -0
- package/lib/locale/lang/pt-BR.js +6 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +6 -0
- package/lib/locale/lang/ru-RU.js +6 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +6 -0
- package/lib/locale/lang/th-TH.js +6 -0
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +6 -0
- package/lib/locale/lang/ug-CN.js +6 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +6 -0
- package/lib/locale/lang/uk-UA.js +6 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +6 -0
- package/lib/locale/lang/uz-UZ.js +6 -0
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +6 -0
- package/lib/locale/lang/vi-VN.js +6 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +6 -0
- package/lib/locale/lang/zh-CHT.js +6 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +6 -0
- package/lib/locale/lang/zh-CN.js +6 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +6 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/export/mixin.js +18 -6
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +18 -4
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +8 -6
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/render/index.js +15 -0
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +13 -4
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/methods.js +806 -14157
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +74 -2
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +41 -21
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +11 -17
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +7 -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/lib/vxe-table/style/style.css +11 -17
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +6 -0
- package/packages/locale/lang/de-DE.ts +6 -0
- package/packages/locale/lang/en-US.ts +6 -0
- package/packages/locale/lang/es-ES.ts +6 -0
- package/packages/locale/lang/fr-FR.ts +6 -0
- package/packages/locale/lang/hu-HU.ts +6 -0
- package/packages/locale/lang/hy-AM.ts +6 -0
- package/packages/locale/lang/id-ID.ts +6 -0
- package/packages/locale/lang/it-IT.ts +6 -0
- package/packages/locale/lang/ja-JP.ts +6 -0
- package/packages/locale/lang/ko-KR.ts +6 -0
- package/packages/locale/lang/ms-MY.ts +6 -0
- package/packages/locale/lang/nb-NO.ts +6 -0
- package/packages/locale/lang/pt-BR.ts +6 -0
- package/packages/locale/lang/ru-RU.ts +6 -0
- package/packages/locale/lang/th-TH.ts +6 -0
- package/packages/locale/lang/ug-CN.ts +6 -0
- package/packages/locale/lang/uk-UA.ts +6 -0
- package/packages/locale/lang/uz-UZ.ts +6 -0
- package/packages/locale/lang/vi-VN.ts +6 -0
- package/packages/locale/lang/zh-CHT.ts +6 -0
- package/packages/locale/lang/zh-CN.ts +6 -0
- package/packages/table/module/export/mixin.ts +13 -1
- package/packages/table/module/keyboard/mixin.ts +21 -12
- package/packages/table/module/validator/mixin.ts +7 -6
- package/packages/table/render/index.ts +12 -0
- package/packages/table/src/body.ts +12 -5
- package/packages/table/src/columnInfo.ts +2 -0
- package/packages/table/src/methods.ts +192 -72
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +70 -2
- package/packages/table/src/util.ts +43 -19
- package/packages/ui/index.ts +6 -0
- package/styles/components/table-module/filter.scss +1 -1
- package/styles/components/table-module/menu.scss +4 -9
- package/styles/components/table.scss +8 -2
- package/styles/theme/base.scss +0 -1
- /package/es/{iconfont.1768625297791.ttf → iconfont.1773027250443.ttf} +0 -0
- /package/es/{iconfont.1768625297791.woff → iconfont.1773027250443.woff} +0 -0
- /package/es/{iconfont.1768625297791.woff2 → iconfont.1773027250443.woff2} +0 -0
- /package/lib/{iconfont.1768625297791.ttf → iconfont.1773027250443.ttf} +0 -0
- /package/lib/{iconfont.1768625297791.woff → iconfont.1773027250443.woff} +0 -0
- /package/lib/{iconfont.1768625297791.woff2 → iconfont.1773027250443.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -2005,7 +2005,7 @@ function getClass(property, params) {
|
|
|
2005
2005
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2006
2006
|
|
|
2007
2007
|
|
|
2008
|
-
const version = "3.20.0
|
|
2008
|
+
const version = "3.20.0";
|
|
2009
2009
|
core_.VxeUI.version = version;
|
|
2010
2010
|
core_.VxeUI.tableVersion = version;
|
|
2011
2011
|
core_.VxeUI.setConfig({
|
|
@@ -2045,6 +2045,12 @@ core_.VxeUI.setConfig({
|
|
|
2045
2045
|
isSyncAutoWidth: true,
|
|
2046
2046
|
minHeight: 18
|
|
2047
2047
|
},
|
|
2048
|
+
currentRowConfig: {
|
|
2049
|
+
strict: true
|
|
2050
|
+
},
|
|
2051
|
+
currentColumnConfig: {
|
|
2052
|
+
strict: true
|
|
2053
|
+
},
|
|
2048
2054
|
radioConfig: {
|
|
2049
2055
|
// trigger: 'default'
|
|
2050
2056
|
strict: true
|
|
@@ -2739,7 +2745,7 @@ function scrollTopTo(diffNum, cb) {
|
|
|
2739
2745
|
const {
|
|
2740
2746
|
log: log_log
|
|
2741
2747
|
} = core_.VxeUI;
|
|
2742
|
-
const log_version = `table v${"3.20.0
|
|
2748
|
+
const log_version = `table v${"3.20.0"}`;
|
|
2743
2749
|
const warnLog = log_log.create('warn', log_version);
|
|
2744
2750
|
const errLog = log_log.create('error', log_version);
|
|
2745
2751
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -2915,6 +2921,8 @@ class ColumnInfo {
|
|
|
2915
2921
|
sortNumber: 0,
|
|
2916
2922
|
renderSortNumber: 0,
|
|
2917
2923
|
renderAggFn: '',
|
|
2924
|
+
renderAggDigits: null,
|
|
2925
|
+
renderAggFormat: null,
|
|
2918
2926
|
renderFixed: '',
|
|
2919
2927
|
renderVisible: false,
|
|
2920
2928
|
renderWidth: 0,
|
|
@@ -3049,6 +3057,7 @@ function createInternalData() {
|
|
|
3049
3057
|
fullDataRowIdData: {},
|
|
3050
3058
|
// 数据集(仅可视)
|
|
3051
3059
|
visibleDataRowIdData: {},
|
|
3060
|
+
keepUpdateFieldMaps: {},
|
|
3052
3061
|
footerFullDataRowData: {},
|
|
3053
3062
|
// 渲染中缓存数据
|
|
3054
3063
|
sourceDataRowIdData: {},
|
|
@@ -3104,6 +3113,7 @@ function createInternalData() {
|
|
|
3104
3113
|
}
|
|
3105
3114
|
function createReactData() {
|
|
3106
3115
|
return {
|
|
3116
|
+
updateColFlag: 0,
|
|
3107
3117
|
// 低性能的静态列
|
|
3108
3118
|
staticColumns: [],
|
|
3109
3119
|
// 渲染的列分组
|
|
@@ -3485,11 +3495,23 @@ function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
|
|
|
3485
3495
|
function toTreePathSeq(path) {
|
|
3486
3496
|
return path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
3487
3497
|
}
|
|
3498
|
+
function getRowUniqueId() {
|
|
3499
|
+
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('row_');
|
|
3500
|
+
}
|
|
3488
3501
|
/**
|
|
3489
3502
|
* 生成行的唯一主键
|
|
3490
3503
|
*/
|
|
3491
|
-
function
|
|
3492
|
-
|
|
3504
|
+
function createRowId(rowOpts, row, keyField) {
|
|
3505
|
+
const {
|
|
3506
|
+
createKeyMethod
|
|
3507
|
+
} = rowOpts;
|
|
3508
|
+
if (createKeyMethod) {
|
|
3509
|
+
return '' + createKeyMethod({
|
|
3510
|
+
row,
|
|
3511
|
+
keyField
|
|
3512
|
+
});
|
|
3513
|
+
}
|
|
3514
|
+
return getRowUniqueId();
|
|
3493
3515
|
}
|
|
3494
3516
|
function hasDeepKey(rowKey) {
|
|
3495
3517
|
return rowKey.indexOf('.') > -1;
|
|
@@ -3517,11 +3539,12 @@ function createHandleUpdateRowId($xeTable) {
|
|
|
3517
3539
|
isCurrDeepKey,
|
|
3518
3540
|
currKeyField
|
|
3519
3541
|
} = internalData;
|
|
3542
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
3520
3543
|
const updateRId = isCurrDeepKey ? updateDeepRowKey : updateFastRowKey;
|
|
3521
3544
|
return {
|
|
3522
3545
|
rowKey: currKeyField,
|
|
3523
3546
|
handleUpdateRowId(row) {
|
|
3524
|
-
return row ? updateRId(row, currKeyField) : '';
|
|
3547
|
+
return row ? updateRId(rowOpts, row, currKeyField) : '';
|
|
3525
3548
|
}
|
|
3526
3549
|
};
|
|
3527
3550
|
}
|
|
@@ -3546,10 +3569,11 @@ function encodeRowid(rowVal) {
|
|
|
3546
3569
|
function getDeepRowIdByKey(row, rowKey) {
|
|
3547
3570
|
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, rowKey);
|
|
3548
3571
|
}
|
|
3549
|
-
function updateDeepRowKey(row, rowKey) {
|
|
3572
|
+
function updateDeepRowKey(rowOpts, row, rowKey) {
|
|
3550
3573
|
let rowid = encodeRowid(getDeepRowIdByKey(row, rowKey));
|
|
3551
3574
|
if (eqEmptyValue(rowid)) {
|
|
3552
|
-
|
|
3575
|
+
const newRowid = createRowId(rowOpts, row, rowKey);
|
|
3576
|
+
rowid = '' + newRowid;
|
|
3553
3577
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, rowKey, rowid);
|
|
3554
3578
|
}
|
|
3555
3579
|
return rowid;
|
|
@@ -3557,11 +3581,12 @@ function updateDeepRowKey(row, rowKey) {
|
|
|
3557
3581
|
function getFastRowIdByKey(row, rowKey) {
|
|
3558
3582
|
return row[rowKey];
|
|
3559
3583
|
}
|
|
3560
|
-
function updateFastRowKey(row, rowKey) {
|
|
3584
|
+
function updateFastRowKey(rowOpts, row, rowKey) {
|
|
3561
3585
|
let rowid = encodeRowid(getFastRowIdByKey(row, rowKey));
|
|
3562
3586
|
if (eqEmptyValue(rowid)) {
|
|
3563
|
-
|
|
3564
|
-
|
|
3587
|
+
const newRowid = createRowId(rowOpts, row, rowKey);
|
|
3588
|
+
rowid = '' + newRowid;
|
|
3589
|
+
row[rowKey] = newRowid;
|
|
3565
3590
|
}
|
|
3566
3591
|
return rowid;
|
|
3567
3592
|
}
|
|
@@ -3878,7 +3903,7 @@ function rowToVisible($xeTable, row) {
|
|
|
3878
3903
|
}
|
|
3879
3904
|
return Promise.resolve();
|
|
3880
3905
|
}
|
|
3881
|
-
function colToVisible($xeTable, column, row) {
|
|
3906
|
+
function colToVisible($xeTable, isForce, column, row) {
|
|
3882
3907
|
const reactData = $xeTable;
|
|
3883
3908
|
const internalData = $xeTable;
|
|
3884
3909
|
const {
|
|
@@ -3910,27 +3935,31 @@ function colToVisible($xeTable, column, row) {
|
|
|
3910
3935
|
const tdOffsetLeft = tdElem.offsetLeft + (scrollXLoad ? scrollXLeft : 0);
|
|
3911
3936
|
const cellWidth = tdElem.clientWidth;
|
|
3912
3937
|
// 检测是否在可视区中
|
|
3913
|
-
if (tdOffsetLeft
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3938
|
+
if (isForce || !(tdOffsetLeft <= bodyScrollLeft + leftFixedWidth && tdOffsetLeft + cellWidth > bodyScrollLeft + leftFixedWidth) && !(tdOffsetLeft >= bodyScrollLeft + leftFixedWidth && tdOffsetLeft < bodyScrollLeft + bodyWidth - rightFixedWidth)) {
|
|
3939
|
+
if (tdOffsetLeft < bodyScrollLeft + leftFixedWidth) {
|
|
3940
|
+
return $xeTable.scrollTo(tdOffsetLeft - leftFixedWidth - 1);
|
|
3941
|
+
} else if (tdOffsetLeft + cellWidth - bodyScrollLeft > bodyWidth - rightFixedWidth) {
|
|
3942
|
+
return $xeTable.scrollTo(tdOffsetLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
3943
|
+
}
|
|
3917
3944
|
}
|
|
3918
3945
|
} else {
|
|
3919
|
-
// 检测是否在虚拟渲染可视区中
|
|
3920
3946
|
if (scrollXLoad) {
|
|
3921
|
-
let
|
|
3947
|
+
let tdOffsetLeft = 0;
|
|
3922
3948
|
const cellWidth = column.renderWidth;
|
|
3923
3949
|
for (let i = 0; i < visibleColumn.length; i++) {
|
|
3924
3950
|
const currCol = visibleColumn[i];
|
|
3925
3951
|
if (currCol === column || currCol.id === column.id) {
|
|
3926
3952
|
break;
|
|
3927
3953
|
}
|
|
3928
|
-
|
|
3954
|
+
tdOffsetLeft += currCol.renderWidth;
|
|
3929
3955
|
}
|
|
3930
|
-
|
|
3931
|
-
|
|
3956
|
+
// 检测是否在可视区中
|
|
3957
|
+
if (isForce || !(tdOffsetLeft <= bodyScrollLeft + leftFixedWidth && tdOffsetLeft + cellWidth > bodyScrollLeft + leftFixedWidth) && !(tdOffsetLeft >= bodyScrollLeft + leftFixedWidth && tdOffsetLeft < bodyScrollLeft + bodyWidth - rightFixedWidth)) {
|
|
3958
|
+
if (tdOffsetLeft < bodyScrollLeft) {
|
|
3959
|
+
return $xeTable.scrollTo(tdOffsetLeft - leftFixedWidth - 1);
|
|
3960
|
+
}
|
|
3961
|
+
return $xeTable.scrollTo(tdOffsetLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
3932
3962
|
}
|
|
3933
|
-
return $xeTable.scrollTo(scrollLeft + cellWidth - (bodyWidth - rightFixedWidth - 1));
|
|
3934
3963
|
}
|
|
3935
3964
|
}
|
|
3936
3965
|
}
|
|
@@ -6041,6 +6070,8 @@ const tableProps = {
|
|
|
6041
6070
|
rowConfig: Object,
|
|
6042
6071
|
// 数据聚合配置项
|
|
6043
6072
|
aggregateConfig: Object,
|
|
6073
|
+
// 聚合函数计算精度配置项
|
|
6074
|
+
aggregateAccuracyConfig: Object,
|
|
6044
6075
|
/**
|
|
6045
6076
|
* 已废弃,被 aggregateConfig 替换
|
|
6046
6077
|
* @deprecated
|
|
@@ -6106,6 +6137,8 @@ const tableProps = {
|
|
|
6106
6137
|
fnrConfig: Object,
|
|
6107
6138
|
// 编辑配置项
|
|
6108
6139
|
editConfig: [Boolean, Object],
|
|
6140
|
+
// 数据状态监听配置项
|
|
6141
|
+
editDirtyConfig: Object,
|
|
6109
6142
|
// 校验配置项
|
|
6110
6143
|
validConfig: Object,
|
|
6111
6144
|
// 校验规则配置项
|
|
@@ -6208,12 +6241,12 @@ const{getConfig: methods_getConfig,getI18n: methods_getI18n,renderer: methods_re
|
|
|
6208
6241
|
if(isCustomResizable&&resizableData||isCustomSort&&sortData||isCustomVisible&&visibleData||isCustomFixed&&fixedData||isCustomAggGroup&&aggGroupData||isCustomAggFunc&&aggFuncData){const sortColMaps={};if(isCustomSort&&sortData){// 转换兼容老版本数据,即将废弃兼容
|
|
6209
6242
|
if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortData)){const sortRests=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(sortData,(index,colKey)=>{sortRests.push({key:colKey,index});});sortData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortRests,{field:'index',order:'asc'}).map(item=>({k:item.key}));}let colNum=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sortData,(sObj,index,sOjs,path,pSObj)=>{sortColMaps[sObj.k]={key:sObj.k,sNum:colNum++,pKey:pSObj?pSObj.k:null};},{children:'c'});}const colKeyMaps={};const allCols=[];const aggGroupConfs=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();// 支持一级
|
|
6210
6243
|
if(!parentColumn){if(isCustomFixed&&fixedData&&fixedData[colKey]!==undefined){column.fixed=fixedData[colKey];}}if(isCustomResizable&&resizableData&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(resizableData[colKey])){column.resizeWidth=resizableData[colKey];}if(isCustomVisible&&visibleData&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(visibleData[colKey])){column.visible=visibleData[colKey];}if(isCustomAggFunc&&aggFuncData&&(aggregateConfig||rowGroupConfig)&&aggFuncData[colKey]){column.aggFunc=aggFuncData[colKey];}if(isCustomAggGroup&&aggGroupData&&aggGroupData[colKey]){aggGroupConfs.push({field:column.field});}colKeyMaps[colKey]=column;allCols.push(column);});if((aggregateConfig||rowGroupConfig)&&aggGroupConfs.length){const groupRest=handleGroupData($xeTable,internalData.tableFullData,aggGroupConfs);internalData.tableFullTreeData=[];internalData.tableFullGroupData=groupRest.treeData;reactData.isRowGroupStatus=true;reactData.rowGroupList=aggGroupConfs;$xeTable.cacheRowMap(false);}// 如果自定义了顺序
|
|
6211
|
-
if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey();const scItem=sortColMaps[colKey];if(scItem){const parentColumn=scItem.pKey?colKeyMaps[scItem.pKey]:null;column.parentId=parentColumn?parentColumn.id:null;column.renderSortNumber=scItem.sNum;}});const newCollectCols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols,'renderSortNumber'),{key:'id',parentKey:'parentId',children:'children'});internalData.collectColumn=newCollectCols;internalData.tableFullColumn=getColumnList(newCollectCols);}reactData.isCustomStatus=true;}else{reactData.isCustomStatus=false;}}/**
|
|
6244
|
+
if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey();const scItem=sortColMaps[colKey];if(scItem){const parentColumn=scItem.pKey?colKeyMaps[scItem.pKey]:null;column.parentId=parentColumn?parentColumn.id:null;column.renderSortNumber=scItem.sNum;}});const newCollectCols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols,'renderSortNumber'),{key:'id',parentKey:'parentId',children:'children'});internalData.collectColumn=newCollectCols;internalData.tableFullColumn=getColumnList(newCollectCols);reactData.updateColFlag++;}reactData.isCustomStatus=true;}else{reactData.isCustomStatus=false;}}/**
|
|
6212
6245
|
* 还原自定义列操作状态
|
|
6213
6246
|
*/function restoreCustomStorage($xeTable){const props=$xeTable;const{customConfig}=props;const tableId=$xeTable.computeTableId;const customOpts=$xeTable.computeCustomOpts;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggFunc)){if(!tableId){errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore($xeTable,storeData);}).catch(e=>e);}else{return handleCustomRestore($xeTable,storeData);}}}/**
|
|
6214
6247
|
* 更新数据列的 Map
|
|
6215
6248
|
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
6216
|
-
*/function cacheColumnMap($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=$xeTable.computeMouseOpts;const expandOpts=$xeTable.computeExpandOpts;const columnOpts=$xeTable.computeColumnOpts;const columnDragOpts=$xeTable.computeColumnDragOpts;const virtualYOpts=$xeTable.computeVirtualYOpts;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=$xeTable.computeCustomOpts;const treeOpts=$xeTable.computeTreeOpts;const{storage}=customOpts;const rowOpts=$xeTable.computeRowOpts;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!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(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`[${type?`type=${type}`:`title=${column.getTitle()}`}]field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> 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(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[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
|
|
6249
|
+
*/function cacheColumnMap($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=$xeTable.computeMouseOpts;const expandOpts=$xeTable.computeExpandOpts;const columnOpts=$xeTable.computeColumnOpts;const columnDragOpts=$xeTable.computeColumnDragOpts;const virtualYOpts=$xeTable.computeVirtualYOpts;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=$xeTable.computeCustomOpts;const treeOpts=$xeTable.computeTreeOpts;const{storage}=customOpts;const rowOpts=$xeTable.computeRowOpts;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!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(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`[${type?`type=${type}`:`title=${column.getTitle()}`}]field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> 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(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[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){if(expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=fixed']);}if(props.spanMethod){warnLog('vxe.error.notSupportProp',['column.type=expand','span-method','span-method=null']);}}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;}function updateScrollXStatus($xeTable,fullColumn){const reactData=$xeTable;const internalData=$xeTable;const virtualXOpts=$xeTable.computeVirtualXOpts;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
|
|
6217
6250
|
const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;}function updateScrollYStatus($xeTable,fullData){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const $xeGanttView=internalData.xeGanttView;const virtualYOpts=$xeTable.computeVirtualYOpts;const treeOpts=$xeTable.computeTreeOpts;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
|
|
6218
6251
|
const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;if($xeGanttView&&$xeGanttView.handleUpdateSYStatus){$xeGanttView.handleUpdateSYStatus(scrollYLoad);}return scrollYLoad;}/**
|
|
6219
6252
|
* 展开与收起树节点
|
|
@@ -6354,7 +6387,7 @@ remainList.forEach(column=>{const width=Math.max(meanWidth,minCellWidth);column.
|
|
|
6354
6387
|
* 处理显示 tooltip
|
|
6355
6388
|
* @param {Event} evnt 事件
|
|
6356
6389
|
* @param {Row} row 行对象
|
|
6357
|
-
*/function handleTooltip($xeTable,evnt,tipOpts,type,tdEl,overflowElem,tipElem,params){const reactData=$xeTable;const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return $xeTable.$nextTick();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const customContent=contentMethod?contentMethod(params):null;const useCustom=contentMethod&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent);const content=useCustom?customContent:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;if(content&&(showAll||useCustom||isOver)){const tipContent=formatText(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return $xeTable.$nextTick();}function handleScrollToRowColumn($xeTable,fieldOrColumn,row){const internalData=$xeTable;const{fullColumnIdData}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return colToVisible($xeTable,column,row);}return $xeTable.$nextTick();}function handleRowExpandReserve($xeTable,row,expanded){const internalData=$xeTable;const{rowExpandedReserveRowMap}=internalData;const expandOpts=$xeTable.computeExpandOpts;if(expandOpts.reserve){const rowid=getRowid($xeTable,row);if(expanded){rowExpandedReserveRowMap[rowid]=row;}else if(rowExpandedReserveRowMap[rowid]){delete rowExpandedReserveRowMap[rowid];}}}function handleDefaultMergeCells($xeTable){const props=$xeTable;const{mergeCells}=props;if(mergeCells){$xeTable.setMergeCells(mergeCells);}}function handleDefaultMergeHeaderItems($xeTable){const props=$xeTable;const{mergeHeaderCells}=props;if(mergeHeaderCells){$xeTable.setMergeHeaderCells(mergeHeaderCells);}}function handleDefaultMergeFooterItems($xeTable){const props=$xeTable;const{mergeFooterCells,mergeFooterItems}=props;const mFooterCells=mergeFooterCells||mergeFooterItems;if(mFooterCells){$xeTable.setMergeFooterCells(mFooterCells);}}// 计算可视渲染相关数据
|
|
6390
|
+
*/function handleTooltip($xeTable,evnt,tipOpts,type,tdEl,overflowElem,tipElem,params){const reactData=$xeTable;const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return $xeTable.$nextTick();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const customContent=contentMethod?contentMethod(params):null;const useCustom=contentMethod&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent);const content=useCustom?customContent:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;if(content&&(showAll||useCustom||isOver)){const tipContent=formatText(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return $xeTable.$nextTick();}function handleScrollToRowColumn($xeTable,fieldOrColumn,row,options){const internalData=$xeTable;const{fullColumnIdData}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return colToVisible($xeTable,options?options.colAlign!==false:true,column,row);}return $xeTable.$nextTick();}function handleRowExpandReserve($xeTable,row,expanded){const internalData=$xeTable;const{rowExpandedReserveRowMap}=internalData;const expandOpts=$xeTable.computeExpandOpts;if(expandOpts.reserve){const rowid=getRowid($xeTable,row);if(expanded){rowExpandedReserveRowMap[rowid]=row;}else if(rowExpandedReserveRowMap[rowid]){delete rowExpandedReserveRowMap[rowid];}}}function handleDefaultMergeCells($xeTable){const props=$xeTable;const{mergeCells}=props;if(mergeCells){$xeTable.setMergeCells(mergeCells);}}function handleDefaultMergeHeaderItems($xeTable){const props=$xeTable;const{mergeHeaderCells}=props;if(mergeHeaderCells){$xeTable.setMergeHeaderCells(mergeHeaderCells);}}function handleDefaultMergeFooterItems($xeTable){const props=$xeTable;const{mergeFooterCells,mergeFooterItems}=props;const mFooterCells=mergeFooterCells||mergeFooterItems;if(mFooterCells){$xeTable.setMergeFooterCells(mFooterCells);}}// 计算可视渲染相关数据
|
|
6358
6391
|
function computeScrollLoad($xeTable){const reactData=$xeTable;const internalData=$xeTable;return $xeTable.$nextTick().then(()=>{const{scrollXLoad,scrollYLoad}=reactData;const{scrollXStore,scrollYStore}=internalData;const virtualYOpts=$xeTable.computeVirtualYOpts;const virtualXOpts=$xeTable.computeVirtualXOpts;// 计算 X 逻辑
|
|
6359
6392
|
if(scrollXLoad){const{toVisibleIndex:toXVisibleIndex,visibleSize:visibleXSize}=handleVirtualXVisible($xeTable);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($xeTable);});}else{$xeTable.updateScrollXSpace();}// 计算 Y 逻辑
|
|
6360
6393
|
const rowHeight=computeRowHeight($xeTable);scrollYStore.rowHeight=rowHeight;// 已废弃
|
|
@@ -6366,7 +6399,7 @@ if(reWidth){calcCellWidth($xeTable);}if(reFull){autoCellWidth($xeTable);}if(reHe
|
|
|
6366
6399
|
* 已废弃
|
|
6367
6400
|
* @deprecated
|
|
6368
6401
|
*/totalValue:childCount};let aggVal=0;// 如果下层同时也是分组
|
|
6369
|
-
if(childList.length&&childList[0].isAggregate){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}function updateGroupData($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;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($xeTable,aggList);}}function handleGroupData($xeTable,list,rowGroups){let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=$xeTable.computeAggregateOpts;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const checkboxOpts=$xeTable.computeCheckboxOpts;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($xeTable,childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[
|
|
6402
|
+
if(childList.length&&childList[0].isAggregate){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}function updateGroupData($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;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($xeTable,aggList);}}function handleGroupData($xeTable,list,rowGroups){let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=$xeTable.computeAggregateOpts;const{rowField,parentField,childrenField,mapChildrenField}=aggregateOpts;const rowOpts=$xeTable.computeRowOpts;const checkboxOpts=$xeTable.computeCheckboxOpts;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($xeTable,childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[childrenField]:childTreeData,[mapChildrenField]:childTreeData};aggRow[rowkey]=createRowId(rowOpts,aggRow,rowkey);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($xeTable,aggList);}}return{treeData,fullData};}/**
|
|
6370
6403
|
* 加载表格数据
|
|
6371
6404
|
* @param {Array} datas 数据
|
|
6372
6405
|
*/function loadTableData($xeTable,datas,isReload,isReset){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{keepSource,treeConfig,aggregateConfig,rowGroupConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{initStatus,scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=$xeTable.computeRowOpts;const treeOpts=$xeTable.computeTreeOpts;const expandOpts=$xeTable.computeExpandOpts;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=datas?datas.slice(0):[];// 转为响应式数据
|
|
@@ -6404,7 +6437,7 @@ if(oldScrollYLoad===sYLoad){restoreScrollLocation($xeTable,targetScrollLeft,targ
|
|
|
6404
6437
|
*/function handleLoadDefaults($xeTable){handleDefaultSelectionChecked($xeTable);handleDefaultRadioChecked($xeTable);handleDefaultRowExpand($xeTable);handleDefaultTreeExpand($xeTable);handleDefaultRowGroupExpand($xeTable);handleDefaultMergeCells($xeTable);handleDefaultMergeHeaderItems($xeTable);handleDefaultMergeFooterItems($xeTable);$xeTable.$nextTick(()=>{const internalData=$xeTable;$xeTable.dispatchEvent('init-rendered',{visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);setTimeout(()=>$xeTable.recalculate());});}/**
|
|
6405
6438
|
* 处理初始化的默认行为
|
|
6406
6439
|
* 只会执行一次
|
|
6407
|
-
*/function handleInitDefaults($xeTable){handleDefaultSort($xeTable);}function handleTableColumn($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{visibleColumn,scrollXStore,fullColumnIdData}=internalData;const tableColumn=scrollXLoad?visibleColumn.slice(scrollXStore.startIndex,scrollXStore.endIndex):visibleColumn.slice(0);tableColumn.forEach((column,$index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.$index=$index;}});reactData.tableColumn=tableColumn;}function handleUpdateColumn($xeTable){const internalData=$xeTable;const columnList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(internalData.collectColumn,'renderSortNumber');internalData.collectColumn=columnList;const
|
|
6440
|
+
*/function handleInitDefaults($xeTable){handleDefaultSort($xeTable);}function handleTableColumn($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad}=reactData;const{visibleColumn,scrollXStore,fullColumnIdData}=internalData;const tableColumn=scrollXLoad?visibleColumn.slice(scrollXStore.startIndex,scrollXStore.endIndex):visibleColumn.slice(0);tableColumn.forEach((column,$index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.$index=$index;}});reactData.tableColumn=tableColumn;}function handleUpdateColumn($xeTable){const reactData=$xeTable;const internalData=$xeTable;const columnList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(internalData.collectColumn,'renderSortNumber');internalData.collectColumn=columnList;const tFullColumn=getColumnList(columnList);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;cacheColumnMap($xeTable);}function loadScrollXData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isScrollXBig}=reactData;const{mergeBodyList,mergeFooterList,scrollXStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollXStore;const{toVisibleIndex,visibleSize}=handleVirtualXVisible($xeTable);const offsetItem={startIndex:Math.max(0,isScrollXBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollXBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+offsetSize+preloadSize};scrollXStore.visibleStartIndex=toVisibleIndex-1;scrollXStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList),offsetItem,'col');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollXStore.startIndex=offsetStartIndex;scrollXStore.endIndex=offsetEndIndex;$xeTable.updateScrollXData();}}$xeTable.closeTooltip();}function parseColumns($xeTable,isReset){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;// const { showOverflow } = props
|
|
6408
6441
|
// const rowOpts = $xeTable.computeRowOpts
|
|
6409
6442
|
const leftList=[];const centerList=[];const rightList=[];const{isGroup,columnStore}=reactData;const{collectColumn,tableFullColumn,scrollXStore,fullColumnIdData}=internalData;// 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
|
|
6410
6443
|
if(isGroup){const leftGroupList=[];const centerGroupList=[];const rightGroupList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const isColGroup=hasChildrenList(column);// 如果是分组,必须按组设置固定列,不允许给子列设置固定
|
|
@@ -6425,7 +6458,7 @@ tableFullColumn.forEach(column=>{if(column.visible){if(column.fixed==='left'){le
|
|
|
6425
6458
|
// }
|
|
6426
6459
|
if(props.spanMethod){warnLog('vxe.error.scrollErrProp',['span-method']);}if(props.footerSpanMethod){warnLog('vxe.error.scrollErrProp',['footer-span-method']);}if(isReset){const{visibleSize}=handleVirtualXVisible($xeTable);scrollXStore.startIndex=0;scrollXStore.endIndex=visibleSize;scrollXStore.visibleSize=visibleSize;scrollXStore.visibleStartIndex=0;scrollXStore.visibleEndIndex=visibleSize;}}// 如果列被显示/隐藏,则清除合并状态
|
|
6427
6460
|
// 如果列被设置为固定,则清除合并状态
|
|
6428
|
-
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($xeTable);handleUpdateAggValues($xeTable);if(isReset){return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();}function initColumnHierarchy($xeTable){const internalData=$xeTable;const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;}function handleInitColumn($xeTable,collectColumn){const props=$xeTable;const $xeToolbar=$xeTable.$refs.$xeToolbar;const reactData=$xeTable;const internalData=$xeTable;const expandOpts=$xeTable.computeExpandOpts;internalData.collectColumn=collectColumn;const
|
|
6461
|
+
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($xeTable);handleUpdateAggValues($xeTable);if(isReset){return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();}function initColumnHierarchy($xeTable){const internalData=$xeTable;const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;}function handleInitColumn($xeTable,collectColumn){const props=$xeTable;const $xeToolbar=$xeTable.$refs.$xeToolbar;const reactData=$xeTable;const internalData=$xeTable;const expandOpts=$xeTable.computeExpandOpts;internalData.collectColumn=collectColumn;const tFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy($xeTable);return Promise.resolve(restoreCustomStorage($xeTable)).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;cacheColumnMap($xeTable);parseColumns($xeTable,true).then(()=>{if(reactData.scrollXLoad){loadScrollXData($xeTable);}});$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return $xeTable.$nextTick().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}const columnOpts=$xeTable.computeColumnOpts;if(props.showCustomHeader&&reactData.isGroup&&(columnOpts.resizable||props.resizable)){warnLog('vxe.error.notConflictProp',['show-custom-header & colgroup','column-config.resizable=false']);}reactData.isColLoading=false;return handleLazyRecalculate($xeTable,false,true,true);});});}/**
|
|
6429
6462
|
* 纵向 Y 可视渲染处理
|
|
6430
6463
|
*/function loadScrollYData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isAllOverflow,isScrollYBig}=reactData;const{mergeBodyList,scrollYStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollYStore;const autoOffsetYSize=isAllOverflow?offsetSize:offsetSize+1;const{toVisibleIndex,visibleSize}=handleVirtualYVisible($xeTable);const offsetItem={startIndex:Math.max(0,isScrollYBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollYBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+autoOffsetYSize+preloadSize};scrollYStore.visibleStartIndex=toVisibleIndex-1;scrollYStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList,offsetItem,'row');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollYStore.startIndex=offsetStartIndex;scrollYStore.endIndex=offsetEndIndex;$xeTable.updateScrollYData();}}}const createGetRowCacheProp=prop=>{return function(row){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;if(row){const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest[prop];}}return-1;};};const createGetColumnCacheProp=prop=>{return function(column){const $xeTable=this;const internalData=$xeTable;const{fullColumnIdData}=internalData;if(column){const colRest=fullColumnIdData[column.id];if(colRest){return colRest[prop];}}return-1;};};function lazyScrollXData($xeTable){const internalData=$xeTable;const{lxTimeout,lxRunTime,scrollXStore}=internalData;const{visibleSize}=scrollXStore;const fpsTime=visibleSize>26?26:visibleSize>16?14:6;if(lxTimeout){clearTimeout(lxTimeout);}if(!lxRunTime||lxRunTime+fpsTime<Date.now()){internalData.lxRunTime=Date.now();loadScrollXData($xeTable);}internalData.lxTimeout=setTimeout(()=>{internalData.lxTimeout=undefined;internalData.lxRunTime=undefined;loadScrollXData($xeTable);},fpsTime);}function lazyScrollYData($xeTable){const internalData=$xeTable;const{lyTimeout,lyRunTime,scrollYStore}=internalData;const{visibleSize}=scrollYStore;const fpsTime=visibleSize>30?32:visibleSize>20?18:8;if(lyTimeout){clearTimeout(lyTimeout);}if(!lyRunTime||lyRunTime+fpsTime<Date.now()){internalData.lyRunTime=Date.now();loadScrollYData($xeTable);}internalData.lyTimeout=setTimeout(()=>{internalData.lyTimeout=undefined;internalData.lyRunTime=undefined;loadScrollYData($xeTable);},fpsTime);}function handleSyncScroll($xeTable,isRollX,isRollY){const reactData=$xeTable;const internalData=$xeTable;const{scrollXLoad,scrollYLoad,isAllOverflow}=reactData;internalData.lcsRunTime=Date.now();internalData.lcsTimeout=undefined;internalData.intoRunScroll=false;internalData.inVirtualScroll=false;internalData.inWheelScroll=false;internalData.inHeaderScroll=false;internalData.inBodyScroll=false;internalData.inFooterScroll=false;reactData.lazScrollLoading=false;internalData.scrollRenderType='';let xRest=null;let yRest=null;if(!isAllOverflow){calcCellHeight($xeTable);updateRowOffsetTop($xeTable);}if(isRollX&&scrollXLoad){xRest=$xeTable.updateScrollXData();}if(isRollY&&scrollYLoad){yRest=$xeTable.updateScrollYData().then(()=>{if(!isAllOverflow){calcCellHeight($xeTable);updateRowOffsetTop($xeTable);}return $xeTable.updateScrollYSpace();});}updateRowExpandStyle($xeTable);return Promise.all([xRest,yRest,$xeTable.updateCellAreas()]);}function checkLastSyncScroll($xeTable,isRollX,isRollY){const reactData=$xeTable;const internalData=$xeTable;const{lcsTimeout}=internalData;reactData.lazScrollLoading=true;if(lcsTimeout){clearTimeout(lcsTimeout);}internalData.lcsTimeout=setTimeout(()=>{handleSyncScroll($xeTable,isRollX,isRollY).then(()=>{if(reactData.scrollXLoad||reactData.scrollYLoad){$xeTable.$nextTick(()=>{updateRowExpandStyle($xeTable);if(!internalData.lcsTimeout){handleSyncScroll($xeTable,isRollX,isRollY);}});}});},200);}const getWheelSpeed=lastScrollTime=>{let multiple=1;const currTime=Date.now();if(lastScrollTime+25>currTime){multiple=1.18;}else if(lastScrollTime+30>currTime){multiple=1.15;}else if(lastScrollTime+40>currTime){multiple=1.12;}else if(lastScrollTime+55>currTime){multiple=1.09;}else if(lastScrollTime+75>currTime){multiple=1.06;}else if(lastScrollTime+100>currTime){multiple=1.03;}return multiple;};const wheelScrollLeftTo=(scrollLeft,cb)=>{requestAnimationFrame(()=>{cb(scrollLeft);});};const syncGanttScrollTop=($xeTable,scrollTop)=>{const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;if($xeGanttView){const ganttInternalData=$xeGanttView.internalData;const{elemStore:ganttElemStore}=ganttInternalData;const ganttBodyScrollElem=getRefElem(ganttElemStore['main-body-scroll']);if(ganttBodyScrollElem){ganttBodyScrollElem.scrollTop=scrollTop;}}};function updateHeight($xeTable){const reactData=$xeTable;const internalData=$xeTable;internalData.customHeight=calcTableHeight($xeTable,'height');internalData.customMinHeight=calcTableHeight($xeTable,'minHeight');internalData.customMaxHeight=calcTableHeight($xeTable,'maxHeight');// 如果启用虚拟滚动,纠正高度
|
|
6431
6464
|
if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight||internalData.customMaxHeight)){internalData.customHeight=300;}}/**
|
|
@@ -6436,7 +6469,7 @@ if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHei
|
|
|
6436
6469
|
$xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function handleUpdateRowResize($xeTable,evnt,params){const reactData=$xeTable;reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});}function updateColumnOffsetLeft($xeTable){const internalData=$xeTable;const{visibleColumn,fullColumnIdData}=internalData;let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}}function updateRowOffsetTop($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{handleGetRowId}=createHandleGetRowId($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;// 是否展开行
|
|
6437
6470
|
if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expandOpts.height||0;}}}/**
|
|
6438
6471
|
* 更新展开行样式
|
|
6439
|
-
*/function updateRowExpandStyle($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight
|
|
6472
|
+
*/function updateRowExpandStyle($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=toCssUnit(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;$xeTable.$nextTick(()=>{updateRowOffsetTop($xeTable);});}}}}/**
|
|
6440
6473
|
* 更新树连接线样式
|
|
6441
6474
|
*/function updateTreeLineStyle($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;if(!treeConfig){return;}const{tableData}=reactData;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const{handleGetRowId}=createHandleGetRowId($xeTable);const expParentList=[];const handleNodeRow=(row,rIndex,rows)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};const childList=row[transform?mapChildrenField:childrenField];const prevRow=rows[rIndex-1]||null;const nextRow=rows[rIndex+1]||null;if(childList&&childList.length&&treeExpandedMaps[rowid]){expParentList.push({row,prevRow,nextRow});childList.forEach((childRow,crIndex)=>{const childRowid=handleGetRowId(childRow);if(treeExpandedMaps[childRowid]){handleNodeRow(childRow,crIndex,childList);}});}else{if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);rowRest.oHeight=currCellHeight;rowRest.lineHeight=Math.floor(currCellHeight/2+nextCellHeight/2);}else{rowRest.oHeight=0;rowRest.lineHeight=0;}}};tableData.forEach((row,rIndex)=>{handleNodeRow(row,rIndex,tableData);});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastArrayEach(expParentList,({row,nextRow})=>{const rowid=handleGetRowId(row);const childList=row[transform?mapChildrenField:childrenField];const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);let countOffsetHeight=currCellHeight;let countLineHeight=0;childList.forEach(childRow=>{const childRowid=handleGetRowId(childRow);const childRowRest=fullAllDataRowIdData[childRowid]||{};const childList=childRow[transform?mapChildrenField:childrenField];if(treeExpandedMaps[childRowid]&&childList&&childList.length){countOffsetHeight+=childRowRest.oHeight||0;countLineHeight+=childRowRest.oHeight||0;}else{const cellHeight=getCellRestHeight(childRowRest,cellOpts,rowOpts,defaultRowHeight);childRowRest.oHeight=cellHeight;childRowRest.lineHeight=cellHeight;countOffsetHeight+=cellHeight;countLineHeight+=cellHeight;}});if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);countOffsetHeight+=currCellHeight;countLineHeight+=Math.floor(currCellHeight/2+nextCellHeight/2);}rowRest.lineHeight=countLineHeight;rowRest.oHeight=countOffsetHeight;}});}function handleRowExpandScroll($xeTable){const internalData=$xeTable;const{elemStore}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}}function handleColumnVisible(visible){return function(fieldOrColumn){const $xeTable=this;let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{item.visible=visible;item.renderVisible=visible;});}else{column.visible=visible;column.renderVisible=visible;}if(!status){status=true;}}});if(status){return $xeTable.handleCustom();}return $xeTable.$nextTick();};}const tableMethods={callSlot(slotFunc,params,h,vNodes){const $xeTable=this;// const slots = $xeTable.$scopedSlots
|
|
6442
6475
|
const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const $xeGGWrapper=$xeGrid||$xeGantt;if(slotFunc){if($xeGGWrapper){return $xeGGWrapper.callSlot(slotFunc,params,h);}// if (XEUtils.isString(slotFunc)) {
|
|
@@ -6531,8 +6564,8 @@ $getColumnIndex(column){warnLog('vxe.error.delFunc',['$getColumnIndex','getVMCol
|
|
|
6531
6564
|
*/isSeqColumn(column){return column&&column.type==='seq';},/**
|
|
6532
6565
|
* 定义行数据中的列属性,如果不存在则定义
|
|
6533
6566
|
* @param {Row} records 行数据
|
|
6534
|
-
*/defineField(records){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const expandOpts=$xeTable.computeExpandOpts;const treeOpts=$xeTable.computeTreeOpts;const radioOpts=$xeTable.computeRadioOpts;const checkboxOpts=$xeTable.computeCheckboxOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const rowkey=getRowkey($xeTable);if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)){records=[records||{}];}return records.map(record=>{internalData.tableFullColumn.forEach(column=>{const{field,editRender}=column;if(field&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().has(record,field)){let cellValue=null;if(editRender){const{defaultValue}=editRender;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(defaultValue)){cellValue=defaultValue({column});}else if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(defaultValue)){cellValue=defaultValue;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,field,cellValue);}});const otherFields=[radioOpts.labelField,checkboxOpts.checkField,checkboxOpts.labelField,expandOpts.labelField];otherFields.forEach(key=>{if(key&&eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record,key))){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,key,null);}});if(treeConfig&&treeOpts.lazy&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(record[childrenField])){record[childrenField]=null;}// 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
|
|
6535
|
-
if(eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record,rowkey))){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,rowkey,
|
|
6567
|
+
*/defineField(records){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const expandOpts=$xeTable.computeExpandOpts;const treeOpts=$xeTable.computeTreeOpts;const radioOpts=$xeTable.computeRadioOpts;const rowOpts=$xeTable.computeRowOpts;const checkboxOpts=$xeTable.computeCheckboxOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const rowkey=getRowkey($xeTable);if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)){records=[records||{}];}return records.map(record=>{internalData.tableFullColumn.forEach(column=>{const{field,editRender}=column;if(field&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().has(record,field)){let cellValue=null;if(editRender){const{defaultValue}=editRender;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(defaultValue)){cellValue=defaultValue({column});}else if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(defaultValue)){cellValue=defaultValue;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,field,cellValue);}});const otherFields=[radioOpts.labelField,checkboxOpts.checkField,checkboxOpts.labelField,expandOpts.labelField];otherFields.forEach(key=>{if(key&&eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record,key))){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,key,null);}});if(treeConfig&&treeOpts.lazy&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(record[childrenField])){record[childrenField]=null;}// 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
|
|
6568
|
+
if(eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record,rowkey))){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,rowkey,createRowId(rowOpts,record,rowkey));}return record;});},/**
|
|
6536
6569
|
* 创建 data 对象
|
|
6537
6570
|
* 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
|
|
6538
6571
|
* @param {Array} records 新数据
|
|
@@ -6562,8 +6595,8 @@ if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_defau
|
|
|
6562
6595
|
* 删除所有新增的临时数据
|
|
6563
6596
|
*/removeInsertRow(){const $xeTable=this;const internalData=$xeTable;const{insertRowMaps}=internalData;return $xeTable.remove(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(insertRowMaps));},/**
|
|
6564
6597
|
* 检查行或列数据是否发生改变
|
|
6565
|
-
*/isUpdateByRow(rowOrId,field){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{keepSource}=props;const{
|
|
6566
|
-
if(!rowRest){return false;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid];if(oRow){if(arguments.length>1){return!eqCellValue(oRow,row,field);}for(let
|
|
6598
|
+
*/isUpdateByRow(rowOrId,field){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{keepSource,editConfig}=props;const{fullDataRowIdData,sourceDataRowIdData}=internalData;const keepFields=$xeTable.computeKeepFields;if(keepSource&&editConfig){const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrId)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowOrId)?rowOrId:getRowid($xeTable,rowOrId);const rowRest=fullDataRowIdData[rowid];// 新增的数据不需要检测
|
|
6599
|
+
if(!rowRest){return false;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid];if(oRow){if(arguments.length>1){return!eqCellValue(oRow,row,field);}for(let i=0;i<keepFields.length;i++){if(!eqCellValue(oRow,row,keepFields[i])){return true;}}}}return false;},/**
|
|
6567
6600
|
* 获取表格的可视列,也可以指定索引获取列
|
|
6568
6601
|
* @param {Number} columnIndex 索引
|
|
6569
6602
|
*/getColumns(columnIndex){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(columnIndex)?visibleColumn.slice(0):visibleColumn[columnIndex];},/**
|
|
@@ -6677,9 +6710,9 @@ if(!isClear){isClear=getEventTargetNode(evnt,el,'vxe-footer--row').flag;}// 如
|
|
|
6677
6710
|
if(!isClear&&props.height&&!reactData.overflowY){const bodyWrapperElem=evnt.target;if(hasClass(bodyWrapperElem,'vxe-table--body-wrapper')){isClear=evnt.offsetY<bodyWrapperElem.clientHeight;}}if(isClear||// 如果点击了当前表格之外
|
|
6678
6711
|
!getEventTargetNode(evnt,el).flag){setTimeout(()=>{$xeTable.handleClearEdit(evnt).then(()=>{// 如果存在校验,点击了表格之外则清除
|
|
6679
6712
|
if(!internalData.isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}});});}});}}}}}else if(mouseConfig){if(!getEventTargetNode(evnt,el).flag&&!($xeGGWrapper&&getEventTargetNode(evnt,$xeGGWrapper.$el).flag)&&!(tableMenu&&getEventTargetNode(evnt,tableMenu.$el).flag)&&!(this.$toolbar&&getEventTargetNode(evnt,this.$toolbar.$el).flag)){if($xeTable.clearSelected){$xeTable.clearSelected();}if(areaOpts.autoClear){if($xeTable.getCellAreas){const cellAreas=$xeTable.getCellAreas();if(cellAreas&&cellAreas.length&&!getEventTargetNode(evnt,document.body,'vxe-table--ignore-areas-clear').flag){$xeTable.preventEvent(evnt,'event.clearAreas',{},()=>{$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();$xeTable.dispatchEvent('clear-cell-area-selection',{cellAreas},evnt);});}}}}}// 如果配置了快捷菜单且,点击了其他地方则关闭
|
|
6680
|
-
if(ctxMenuStore.visible&&tableMenu&&!getEventTargetNode(evnt,tableMenu.$el).flag){$xeTable.closeMenu();}const isActivated=getEventTargetNode(evnt,($xeGGWrapper||$xeTable).$el).flag;// 如果存在校验,点击了表格之外则清除
|
|
6713
|
+
if(ctxMenuStore.visible&&tableMenu&&!getEventTargetNode(evnt,tableMenu.$el).flag){$xeTable.closeMenu();}if(!(actived.row&&getEventTargetNode(evnt,document.body,'vxe-table--ignore-clear').flag)){const isActivated=getEventTargetNode(evnt,($xeGGWrapper||$xeTable).$el).flag;// 如果存在校验,点击了表格之外则清除
|
|
6681
6714
|
if(!isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}// 最后激活的表格
|
|
6682
|
-
internalData.isActivated=isActivated;},/**
|
|
6715
|
+
internalData.isActivated=isActivated;}},/**
|
|
6683
6716
|
* 窗口失焦事件处理
|
|
6684
6717
|
*/handleGlobalBlurEvent(){const $xeTable=this;$xeTable.closeFilter();$xeTable.closeMenu();},/**
|
|
6685
6718
|
* 全局滚动事件
|
|
@@ -6691,24 +6724,26 @@ if(actived.row){const params=actived.args;this.handleClearEdit(evnt);// 如果
|
|
|
6691
6724
|
if(mouseConfig&&mouseOpts.selected){this.$nextTick(()=>this.handleSelected(params,evnt));}}}}$xeTable.dispatchEvent('keydown',{},evnt);$xeTable.dispatchEvent('keydown-end',{},evnt);});}},contextMenuEvent(evnt){const $xeTable=this;$xeTable.dispatchEvent('context-menu',{},evnt);},/**
|
|
6692
6725
|
* 全局键盘事件
|
|
6693
6726
|
*/handleGlobalKeydownEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;// 该行为只对当前激活的表格有效
|
|
6694
|
-
if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore,currentRow}=reactData;const{afterFullData}=internalData;const isContentMenu=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const hasBackspaceKey=keyCode===8;const isTab=keyCode===9;const isEnter=keyCode===13;const isEsc=keyCode===27;const isSpacebar=keyCode===32;const isLeftArrow=keyCode===37;const isUpArrow=keyCode===38;const isRightArrow=keyCode===39;const isDwArrow=keyCode===40;const hasDeleteKey=keyCode===46;const isF2=keyCode===113;const isContextMenu=keyCode===93;const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
|
|
6727
|
+
if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore,currentRow}=reactData;const{afterFullData,visibleColumn}=internalData;const isContentMenu=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const hasBackspaceKey=keyCode===8;const isTab=keyCode===9;const isEnter=keyCode===13;const isEsc=keyCode===27;const isSpacebar=keyCode===32;const isLeftArrow=keyCode===37;const isUpArrow=keyCode===38;const isRightArrow=keyCode===39;const isDwArrow=keyCode===40;const hasDeleteKey=keyCode===46;const isF2=keyCode===113;const isContextMenu=keyCode===93;const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
|
|
6695
6728
|
evnt.preventDefault();if(ctxMenuStore.showChild&&hasChildrenList(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKeyboardCellAreaEvent){$xeTable.handleKeyboardCellAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
6696
6729
|
if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
|
|
6697
6730
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
6698
6731
|
if(mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}else if(keyboardConfig&&isSpacebar&&keyboardOpts.isChecked&&selected.row&&selected.column&&(selected.column.type==='checkbox'||selected.column.type==='radio')){// 空格键支持选中复选框
|
|
6699
6732
|
evnt.preventDefault();if(selected.column.type==='checkbox'){$xeTable.handleToggleCheckRowEvent(evnt,selected.args);}else{$xeTable.triggerRadioRowEvent(evnt,selected.args);}}else if(isF2&&isEnableConf(editConfig)){if(!isEditStatus){// 如果按下了 F2 键
|
|
6700
6733
|
if(selected.row&&selected.column){evnt.stopPropagation();evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
|
|
6701
|
-
internalData._keyCtx=selected.row&&selected.column&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!hasAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&¤tRow)){
|
|
6734
|
+
internalData._keyCtx=selected.row&&selected.column&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!hasAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&¤tRow)){// 退出选中
|
|
6702
6735
|
if(isControlKey){// 如果是激活编辑状态,则取消编辑
|
|
6703
6736
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
6704
6737
|
if(mouseConfig&&mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}else{// 如果是激活状态,退则出到上一行/下一行
|
|
6705
|
-
if(selected.row||actived.row){const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{
|
|
6706
|
-
if(
|
|
6738
|
+
if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);if(keyboardOpts.enterToTab){const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
|
|
6739
|
+
if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}else{const etrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeEnterMethod||beforeEnterMethod(etrParams)!==false){evnt.preventDefault();// 最后一行按下回车键,自动追加一行
|
|
6740
|
+
if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,selected.column);$xeTable.handleSelected({...activeParams,row:newRow},evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}if(enterMethod){enterMethod(etrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveEnterSelected(activeParams,isLeftArrow,false,isRightArrow,true,evnt);}}}}}else if(treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&¤tRow){// 如果是树形表格当前行回车移动到子节点
|
|
6707
6741
|
const childrens=currentRow[childrenField];if(childrens&&childrens.length){evnt.preventDefault();const targetRow=childrens[0];const params={$table:$xeTable,row:targetRow,rowIndex:$xeTable.getRowIndex(targetRow),$rowIndex:$xeTable.getVMRowIndex(targetRow)};$xeTable.setTreeExpand(currentRow,true).then(()=>$xeTable.scrollToRow(targetRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}}}else if(operArrow&&keyboardConfig&&keyboardOpts.isArrow){if(!isEditStatus){// 如果按下了方向键
|
|
6708
6742
|
if(mouseOpts.selected&&selected.row&&selected.column){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
|
|
6709
6743
|
if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
|
|
6710
6744
|
if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
|
|
6711
|
-
if(selected.row||
|
|
6745
|
+
if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;const activeParams=selected.row?selected.args:actived.args;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
|
|
6746
|
+
if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&isEnableConf(editConfig)&&(selected.row||selected.column)){// 如果是删除键
|
|
6712
6747
|
if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selected.column,columnIndex:$xeTable.getColumnIndex(selected.column),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
|
|
6713
6748
|
if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{setCellValue(selected.row,selected.column,null);}// 如果按下 del 键,更新表尾数据
|
|
6714
6749
|
$xeTable.updateFooter();$xeTable.dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selected.row||selected.column)){if(!isEditStatus){const{editMode,backMethod}=keyboardOpts;// 如果是删除键
|
|
@@ -6790,7 +6825,7 @@ if(!isSelected&&!halfSelect&&showReserveStatus){halfSelect=!external_root_XEUtil
|
|
|
6790
6825
|
*/clearCheckboxRow(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{tableFullData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkField,reserve}=checkboxOpts;// indeterminateField 仅支持读取
|
|
6791
6826
|
const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;if(checkField){const handleClearChecked=item=>{if(treeConfig&&indeterminateField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,indeterminateField,false);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,checkField,false);};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData,handleClearChecked,{children:childrenField});}else{tableFullData.forEach(handleClearChecked);}}if(reserve){tableFullData.forEach(row=>this.handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return this.$nextTick();},/**
|
|
6792
6827
|
* 单选,行选中事件
|
|
6793
|
-
*/triggerRadioRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=$xeTable.computeRadioOpts;const{trigger,checkMethod}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(!checkMethod||checkMethod({$table:$xeTable,row})){let newValue=row;let isChange=oldValue!==newValue;if(isChange){handleCheckedRadioRow($xeTable,newValue);}else if(!
|
|
6828
|
+
*/triggerRadioRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=$xeTable.computeRadioOpts;const{trigger,strict,checkMethod}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(!checkMethod||checkMethod({$table:$xeTable,row})){let newValue=row;let isChange=oldValue!==newValue;if(isChange){handleCheckedRadioRow($xeTable,newValue);}else if(!strict){isChange=oldValue===newValue;if(isChange){newValue=null;$xeTable.clearRadioRow();}}if(isChange){$xeTable.dispatchEvent('radio-change',{oldValue,newValue,...params},evnt);}}},triggerCurrentColumnEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentColumn:oldValue}=reactData;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;const beforeRowMethod=currentColumnOpts.beforeSelectMethod||columnOpts.currentMethod;const{column:newValue}=params;const{trigger,strict}=currentColumnOpts;if(trigger==='manual'){return;}let isChange=oldValue!==newValue;const selected=!isChange;if(!beforeRowMethod||beforeRowMethod({column:newValue,selected,$table:$xeTable})){if(strict){$xeTable.setCurrentColumn(newValue);}else{isChange=true;if(selected){$xeTable.clearCurrentColumn();}else{$xeTable.setCurrentColumn(newValue);}}if(isChange){$xeTable.dispatchEvent('current-column-change',{oldValue,newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentRow:oldValue}=reactData;const rowOpts=$xeTable.computeRowOpts;const currentRowOpts=$xeTable.computeCurrentRowOpts;const beforeRowMethod=currentRowOpts.beforeSelectMethod||rowOpts.currentMethod;const{row:newValue}=params;const{trigger,strict}=currentRowOpts;if(trigger==='manual'){return;}let isChange=oldValue!==newValue;const selected=!isChange;if(!beforeRowMethod||beforeRowMethod({row:newValue,selected,$table:$xeTable})){if(strict){$xeTable.setCurrentRow(newValue);}else{isChange=true;if(selected){$xeTable.clearCurrentRow();}else{$xeTable.setCurrentRow(newValue);}}if(isChange){$xeTable.dispatchEvent('current-row-change',{oldValue,newValue,...params},evnt);// 已废弃
|
|
6794
6829
|
$xeTable.dispatchEvent('current-change',{oldValue,newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-row-disabled',params,evnt);}},/**
|
|
6795
6830
|
* 用于当前行,设置某一行为高亮状态
|
|
6796
6831
|
* @param {Row} row 行对象
|
|
@@ -6847,12 +6882,12 @@ if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&acti
|
|
|
6847
6882
|
if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid]||{};const _dragRowIndex=dragRowRest._index;let dragRowHeight=0;let dragOffsetTop=-1;if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);const oldTrEl=el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);if(oldTrEl){dragOffsetTop=oldTrEl.offsetTop;}}let oafIndex=-1;let nafIndex=-1;const oldRest=dragRowRest;const newRowid=getRowid($xeTable,prevDragRow);const newRest=fullAllDataRowIdData[newRowid];const oldAllMaps={};let isSelfToChildStatus=false;// 如果为树结构
|
|
6848
6883
|
if(treeConfig){if(transform){if(oldRest&&newRest){const{level:oldLevel}=oldRest;const{level:newLevel}=newRest;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragRow],item=>{oldAllMaps[getRowid($xeTable,item)]=item;},{children:mapChildrenField});if(oldLevel&&newLevel){// 子到子
|
|
6849
6884
|
if(isPeerDrag&&!isCrossDrag){if(oldRest.row[parentField]!==newRest.row[parentField]){// 非同级
|
|
6850
|
-
return errRest;}}else{if(!isCrossDrag){return errRest;}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}return errRest;}}}}else if(oldLevel){// 子到根
|
|
6851
|
-
if(!isCrossDrag){return errRest;}}else if(newLevel){// 根到子
|
|
6852
|
-
if(!isCrossDrag){return errRest;}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}return errRest;}}}else{// 根到根
|
|
6885
|
+
handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}else{if(!isCrossDrag){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}}}else if(oldLevel){// 子到根
|
|
6886
|
+
if(!isCrossDrag){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}else if(newLevel){// 根到子
|
|
6887
|
+
if(!isCrossDrag){handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}if(oldAllMaps[newRowid]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}handleRowDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}}else{// 根到根
|
|
6853
6888
|
}}}}const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dEndMethod?dEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}// 如果为树结构
|
|
6854
6889
|
if(treeConfig){if(transform){// 移出源位置
|
|
6855
|
-
if(oldRest&&newRest){const fullList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray(internalData.afterTreeFullData,{key:rowField,parentKey:parentField,children:mapChildrenField});// 移出
|
|
6890
|
+
if(oldRest&&newRest){const fullList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray(internalData.afterTreeFullData,{updated:false,key:rowField,parentKey:parentField,children:mapChildrenField});// 移出
|
|
6856
6891
|
const otfIndex=$xeTable.findRowIndexOf(fullList,dragRow);fullList.splice(otfIndex,1);// 插入
|
|
6857
6892
|
const ptfIndex=$xeTable.findRowIndexOf(fullList,prevDragRow);const ntfIndex=ptfIndex+dragOffsetIndex;fullList.splice(ntfIndex,0,dragRow);// 改变层级
|
|
6858
6893
|
if(isSelfToChildStatus&&isCrossDrag&&isSelfToChildDrag){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(dragRow[childrenField],childRow=>{childRow[parentField]=dragRow[parentField];});}dragRow[parentField]=isDragToChildFlag?prevDragRow[rowField]:prevDragRow[parentField];internalData.tableFullTreeData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(fullList,{key:rowField,parentKey:parentField,children:childrenField,mapChildren:mapChildrenField});}}}else{// 移出
|
|
@@ -6933,7 +6968,7 @@ return this.isRowExpandByRow(row);},/**
|
|
|
6933
6968
|
*/getTreeStatus(){if(this.treeConfig){return{config:this.treeOpts,rowExpandeds:this.getTreeExpandRecords()};}return null;},/**
|
|
6934
6969
|
* 判断树节点是否懒加载完成
|
|
6935
6970
|
* @param {Row} row 行对象
|
|
6936
|
-
*/isTreeExpandLoaded(row){const $xeTable=this;const{fullAllDataRowIdData}=this;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform}=treeOpts;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.treeLoaded=false;if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}}});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{rowRest.treeLoaded=false;});
|
|
6971
|
+
*/isTreeExpandLoaded(row){const $xeTable=this;const{fullAllDataRowIdData}=this;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform}=treeOpts;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.treeLoaded=false;if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}}});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{rowRest.treeLoaded=false;});internalData.treeExpandedMaps={};}if(transform){handleVirtualTreeToList($xeTable);$xeTable.handleTableData();}reactData.treeExpandedFlag++;return $xeTable.$nextTick();},/**
|
|
6937
6972
|
* 重新懒加载树节点,并展开该节点
|
|
6938
6973
|
* @param {Row} row 行对象
|
|
6939
6974
|
*/reloadTreeExpand(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{treeExpandLazyLoadedMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform,lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowid=getRowid($xeTable,row);if(lazy&&row[hasChildField]&&!treeExpandLazyLoadedMaps[rowid]){return $xeTable.clearTreeExpandLoaded(row).then(()=>{return handleAsyncTreeExpandChilds($xeTable,row);}).then(()=>{if(transform){handleVirtualTreeToList($xeTable);$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{return $xeTable.recalculate();});}return $xeTable.$nextTick();},reloadTreeChilds(row){const $xeTable=this;warnLog('vxe.error.delFunc',['reloadTreeChilds','reloadTreeExpand']);// 即将废弃
|
|
@@ -6987,18 +7022,18 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
|
|
|
6987
7022
|
* 如果有滚动条,则滚动到对应的行
|
|
6988
7023
|
* @param {Row} row 行对象
|
|
6989
7024
|
* @param {ColumnInfo} column 列配置
|
|
6990
|
-
*/scrollToRow(row,fieldOrColumn){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const rest=[];if(row){if(props.treeConfig){rest.push($xeTable.scrollToTreeRow(row));}else{rest.push(rowToVisible($xeTable,row));}}if(fieldOrColumn){rest.push(handleScrollToRowColumn($xeTable,fieldOrColumn,row));}return Promise.all(rest).then(()=>{if(row){if(!isAllOverflow&&(scrollYLoad||scrollXLoad)){calcCellHeight($xeTable);calcCellWidth($xeTable);}return $xeTable.$nextTick();}});},/**
|
|
7025
|
+
*/scrollToRow(row,fieldOrColumn,options){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const rest=[];if(row){if(props.treeConfig){rest.push($xeTable.scrollToTreeRow(row));}else{rest.push(rowToVisible($xeTable,row));}}if(fieldOrColumn){rest.push(handleScrollToRowColumn($xeTable,fieldOrColumn,row,options));}return Promise.all(rest).then(()=>{if(row){if(!isAllOverflow&&(scrollYLoad||scrollXLoad)){calcCellHeight($xeTable);calcCellWidth($xeTable);}return $xeTable.$nextTick();}});},/**
|
|
6991
7026
|
* 如果有滚动条,则滚动到第一行
|
|
6992
|
-
*/scrollToStartRow(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[0],fieldOrColumn);},/**
|
|
7027
|
+
*/scrollToStartRow(fieldOrColumn,options){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[0],fieldOrColumn,options);},/**
|
|
6993
7028
|
* 如果有滚动条,则滚动到最后一行
|
|
6994
|
-
*/scrollToEndRow(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[afterFullData.length-1],fieldOrColumn);},/**
|
|
7029
|
+
*/scrollToEndRow(fieldOrColumn,options){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[afterFullData.length-1],fieldOrColumn,options);},/**
|
|
6995
7030
|
* 如果有滚动条,则滚动到对应的列
|
|
6996
7031
|
* @param {ColumnInfo} column 列配置
|
|
6997
|
-
*/scrollToColumn(fieldOrColumn){const $xeTable=this;return handleScrollToRowColumn($xeTable,fieldOrColumn);},/**
|
|
7032
|
+
*/scrollToColumn(fieldOrColumn,options){const $xeTable=this;return handleScrollToRowColumn($xeTable,null,fieldOrColumn,options);},/**
|
|
6998
7033
|
* 如果有滚动条,则滚动到第一列
|
|
6999
|
-
*/scrollToStartColumn(){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[0]);},/**
|
|
7034
|
+
*/scrollToStartColumn(options){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[0],options);},/**
|
|
7000
7035
|
* 如果有滚动条,则滚动到最后一列
|
|
7001
|
-
*/scrollToEndColumn(){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length-1]);},/**
|
|
7036
|
+
*/scrollToEndColumn(options){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length-1],options);},/**
|
|
7002
7037
|
* 对于树形结构中,可以直接滚动到指定深层节点中
|
|
7003
7038
|
* 对于某些特定的场景可能会用到,比如定位到某一节点
|
|
7004
7039
|
* @param {Row} row 行对象
|
|
@@ -7010,7 +7045,7 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
|
|
|
7010
7045
|
* 更新列状态 updateStatus({ row, column }, cellValue)
|
|
7011
7046
|
* 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
|
|
7012
7047
|
* 如果单元格配置了校验规则,则会进行校验
|
|
7013
|
-
*/updateStatus(slotParams,cellValue){const $xeTable=this;const props=$xeTable;return this.$nextTick().then(()=>{const{editRules}=props;if(slotParams&&editRules){return $xeTable.handleCellRuleUpdateStatus('change',slotParams,cellValue);}});},/**
|
|
7048
|
+
*/updateStatus(slotParams,cellValue){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;return this.$nextTick().then(()=>{const{editRules}=props;const{isActivated}=internalData;if(isActivated&&slotParams&&editRules){return $xeTable.handleCellRuleUpdateStatus('change',slotParams,cellValue);}});},/**
|
|
7014
7049
|
* 设置合并单元格 [{ row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }]
|
|
7015
7050
|
*/setMergeCells(merges){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;if(props.spanMethod){errLog('vxe.error.errConflicts',['merge-cells','span-method']);}handleBodyMerge($xeTable,merges);$xeTable.handleUpdateBodyMerge();return $xeTable.$nextTick().then(()=>{const{expandColumn}=reactData;const{mergeBodyList}=internalData;if(expandColumn&&mergeBodyList.length){warnLog('vxe.error.errConflicts',['type=expand','merge-cells | span-method']);}$xeTable.updateCellAreas();return updateStyle($xeTable);});},/**
|
|
7016
7051
|
* 移除单元格合并 [{row:Row|number, col:ColumnInfo|number}]
|
|
@@ -7198,7 +7233,8 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
7198
7233
|
afterFullData,
|
|
7199
7234
|
mergeBodyList,
|
|
7200
7235
|
scrollXStore,
|
|
7201
|
-
scrollYStore
|
|
7236
|
+
scrollYStore,
|
|
7237
|
+
keepUpdateFieldMaps
|
|
7202
7238
|
} = tableInternalData;
|
|
7203
7239
|
const cellOpts = $xeTable.computeCellOpts;
|
|
7204
7240
|
const validOpts = $xeTable.computeValidOpts;
|
|
@@ -7228,6 +7264,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
7228
7264
|
selectCellToRow
|
|
7229
7265
|
} = areaOpts;
|
|
7230
7266
|
const {
|
|
7267
|
+
field,
|
|
7231
7268
|
type,
|
|
7232
7269
|
cellRender,
|
|
7233
7270
|
editRender,
|
|
@@ -7408,8 +7445,8 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
|
|
|
7408
7445
|
}
|
|
7409
7446
|
}
|
|
7410
7447
|
// 如果编辑列开启显示状态
|
|
7411
|
-
if (!fixedHiddenColumn && editConfig && (
|
|
7412
|
-
isDirty = $xeTable.isUpdateByRow(row,
|
|
7448
|
+
if (!fixedHiddenColumn && editConfig && (editOpts.showStatus || editOpts.showUpdateStatus) && keepUpdateFieldMaps[field]) {
|
|
7449
|
+
isDirty = $xeTable.isUpdateByRow(row, field);
|
|
7413
7450
|
}
|
|
7414
7451
|
const isVNAutoHeight = !hasEllipsis && (scrollYLoad || scrollXLoad);
|
|
7415
7452
|
let cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
@@ -7715,6 +7752,13 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
7715
7752
|
mode: expandMode
|
|
7716
7753
|
} = expandOpts;
|
|
7717
7754
|
if (expandMode === 'fixed') {
|
|
7755
|
+
const currExpHeight = rowRest.expandHeight;
|
|
7756
|
+
let expHeight = 0;
|
|
7757
|
+
if (rowExpandHeightFlag) {
|
|
7758
|
+
if (currExpHeight || expandHeight) {
|
|
7759
|
+
expHeight = (currExpHeight || expandHeight || 0) + 1;
|
|
7760
|
+
}
|
|
7761
|
+
}
|
|
7718
7762
|
rows.push(h('tr', {
|
|
7719
7763
|
class: 'vxe-body--row-expanded-place',
|
|
7720
7764
|
key: `expand_${rowid}`,
|
|
@@ -7727,7 +7771,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
7727
7771
|
colspan: tableColumn.length
|
|
7728
7772
|
},
|
|
7729
7773
|
style: {
|
|
7730
|
-
height: `${
|
|
7774
|
+
height: `${expHeight}px`
|
|
7731
7775
|
}
|
|
7732
7776
|
})]));
|
|
7733
7777
|
} else {
|
|
@@ -15754,12 +15798,24 @@ const convertToRows = originColumns => {
|
|
|
15754
15798
|
};
|
|
15755
15799
|
return Promise.resolve((beforeQueryAll || ajaxMethods)(params)).then(rest => {
|
|
15756
15800
|
const listProp = resConfigs.list;
|
|
15757
|
-
|
|
15758
|
-
|
|
15759
|
-
|
|
15760
|
-
|
|
15761
|
-
|
|
15762
|
-
|
|
15801
|
+
let tdData = [];
|
|
15802
|
+
if (listProp) {
|
|
15803
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(listProp)) {
|
|
15804
|
+
tdData = listProp({
|
|
15805
|
+
data: rest,
|
|
15806
|
+
$table: $xeTable,
|
|
15807
|
+
$grid: $xeGrid,
|
|
15808
|
+
$gantt: $xeGantt
|
|
15809
|
+
});
|
|
15810
|
+
} else {
|
|
15811
|
+
tdData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest) ? rest : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rest, listProp);
|
|
15812
|
+
}
|
|
15813
|
+
} else {
|
|
15814
|
+
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rest)) {
|
|
15815
|
+
tdData = rest;
|
|
15816
|
+
}
|
|
15817
|
+
}
|
|
15818
|
+
handleOptions.data = tdData;
|
|
15763
15819
|
if (afterQueryAll) {
|
|
15764
15820
|
afterQueryAll(params);
|
|
15765
15821
|
}
|
|
@@ -16144,9 +16200,21 @@ function handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRigh
|
|
|
16144
16200
|
visibleColumn
|
|
16145
16201
|
} = internalData;
|
|
16146
16202
|
const params = Object.assign({}, args);
|
|
16147
|
-
const
|
|
16148
|
-
|
|
16149
|
-
|
|
16203
|
+
const {
|
|
16204
|
+
row,
|
|
16205
|
+
column
|
|
16206
|
+
} = params;
|
|
16207
|
+
const _rowIndex = $xeTable.getVTRowIndex(row);
|
|
16208
|
+
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
16209
|
+
const refTableBody = $xeTable.$refs.refTableBody;
|
|
16210
|
+
const tableBodyElem = refTableBody ? refTableBody.$el : null;
|
|
16211
|
+
const tableWidth = tableBodyElem ? tableBodyElem.clientWidth : 0;
|
|
16212
|
+
let colAlign = isLeftArrow || isRightArrow || column.renderWidth < tableWidth;
|
|
16213
|
+
if (isLeftArrow && _columnIndex >= 0 || isRightArrow && _columnIndex <= visibleColumn.length - 1) {
|
|
16214
|
+
colAlign = false;
|
|
16215
|
+
} else {
|
|
16216
|
+
evnt.preventDefault();
|
|
16217
|
+
}
|
|
16150
16218
|
if (isUpArrow && _rowIndex > 0) {
|
|
16151
16219
|
// 移动到上一行
|
|
16152
16220
|
params.rowIndex = _rowIndex - 1;
|
|
@@ -16164,7 +16232,9 @@ function handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRigh
|
|
|
16164
16232
|
params.columnIndex = _columnIndex + 1;
|
|
16165
16233
|
params.column = visibleColumn[params.columnIndex];
|
|
16166
16234
|
}
|
|
16167
|
-
$xeTable.scrollToRow(params.row, params.column
|
|
16235
|
+
$xeTable.scrollToRow(params.row, params.column, {
|
|
16236
|
+
colAlign
|
|
16237
|
+
}).then(() => {
|
|
16168
16238
|
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
16169
16239
|
$xeTable.handleSelected(params, evnt);
|
|
16170
16240
|
});
|
|
@@ -16766,21 +16836,23 @@ function validRuleValue(rule, val, required) {
|
|
|
16766
16836
|
}
|
|
16767
16837
|
return true;
|
|
16768
16838
|
}
|
|
16769
|
-
function checkRuleStatus(rule, val) {
|
|
16839
|
+
function checkRuleStatus(rule, row, val) {
|
|
16770
16840
|
const {
|
|
16771
|
-
required
|
|
16841
|
+
required,
|
|
16842
|
+
field
|
|
16772
16843
|
} = rule;
|
|
16773
|
-
const
|
|
16844
|
+
const currVal = field ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, field) : val;
|
|
16845
|
+
const isEmptyVal = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(currVal) ? !currVal.length : eqEmptyValue(currVal);
|
|
16774
16846
|
if (required) {
|
|
16775
16847
|
if (isEmptyVal) {
|
|
16776
16848
|
return false;
|
|
16777
16849
|
}
|
|
16778
|
-
if (!validRuleValue(rule,
|
|
16850
|
+
if (!validRuleValue(rule, currVal, required)) {
|
|
16779
16851
|
return false;
|
|
16780
16852
|
}
|
|
16781
16853
|
} else {
|
|
16782
16854
|
if (!isEmptyVal) {
|
|
16783
|
-
if (!validRuleValue(rule,
|
|
16855
|
+
if (!validRuleValue(rule, currVal, required)) {
|
|
16784
16856
|
return false;
|
|
16785
16857
|
}
|
|
16786
16858
|
}
|
|
@@ -17134,7 +17206,7 @@ function beginValidate($xeTable, rows, cols, cb, isFull) {
|
|
|
17134
17206
|
}
|
|
17135
17207
|
}
|
|
17136
17208
|
} else {
|
|
17137
|
-
if (!checkRuleStatus(rule, cellValue)) {
|
|
17209
|
+
if (!checkRuleStatus(rule, row, cellValue)) {
|
|
17138
17210
|
internalData.validRuleErr = true;
|
|
17139
17211
|
errorRules.push(new Rule(rule));
|
|
17140
17212
|
}
|
|
@@ -18106,7 +18178,9 @@ function renderRowExpandedVNs(h, $xeTable) {
|
|
|
18106
18178
|
rowid
|
|
18107
18179
|
},
|
|
18108
18180
|
style: cellStyle
|
|
18109
|
-
},
|
|
18181
|
+
}, [h('div', {
|
|
18182
|
+
class: 'vxe-body--row-expanded-content'
|
|
18183
|
+
}, expandColumn.renderData(h, expandParams))]));
|
|
18110
18184
|
});
|
|
18111
18185
|
}
|
|
18112
18186
|
return h('div', {
|
|
@@ -18280,6 +18354,7 @@ function renderBody(h, $xeTable) {
|
|
|
18280
18354
|
reScrollFlag: 0,
|
|
18281
18355
|
reLayoutFlag: 0,
|
|
18282
18356
|
footFlag: 0,
|
|
18357
|
+
kfFlag: 0,
|
|
18283
18358
|
mergeFooteCellFlag: 0,
|
|
18284
18359
|
crossTableDragRowInfo: crossTableDragRowGlobal
|
|
18285
18360
|
};
|
|
@@ -18508,6 +18583,11 @@ function renderBody(h, $xeTable) {
|
|
|
18508
18583
|
const props = $xeTable;
|
|
18509
18584
|
return Object.assign({}, table_getConfig().table.aggregateConfig || table_getConfig().table.rowGroupConfig, props.aggregateConfig || props.rowGroupConfig);
|
|
18510
18585
|
},
|
|
18586
|
+
computeAggregateAccuracyOpts() {
|
|
18587
|
+
const $xeTable = this;
|
|
18588
|
+
const props = $xeTable;
|
|
18589
|
+
return Object.assign({}, table_getConfig().table.aggregateAccuracyConfig, props.aggregateAccuracyConfig);
|
|
18590
|
+
},
|
|
18511
18591
|
computeRowGroupOpts() {
|
|
18512
18592
|
const $xeTable = this;
|
|
18513
18593
|
return $xeTable.computeAggregateOpts;
|
|
@@ -18615,7 +18695,14 @@ function renderBody(h, $xeTable) {
|
|
|
18615
18695
|
return this.computeEditOpts;
|
|
18616
18696
|
},
|
|
18617
18697
|
computeEditOpts() {
|
|
18618
|
-
|
|
18698
|
+
const $xeTable = this;
|
|
18699
|
+
const props = $xeTable;
|
|
18700
|
+
return Object.assign({}, table_getConfig().table.editConfig, props.editConfig);
|
|
18701
|
+
},
|
|
18702
|
+
computeEditDirtyOpts() {
|
|
18703
|
+
const $xeTable = this;
|
|
18704
|
+
const props = $xeTable;
|
|
18705
|
+
return Object.assign({}, table_getConfig().table.editDirtyConfig, props.editDirtyConfig);
|
|
18619
18706
|
},
|
|
18620
18707
|
sortOpts() {
|
|
18621
18708
|
return this.computeSortOpts;
|
|
@@ -19031,6 +19118,47 @@ function renderBody(h, $xeTable) {
|
|
|
19031
19118
|
}
|
|
19032
19119
|
return false;
|
|
19033
19120
|
},
|
|
19121
|
+
computeKeepFields() {
|
|
19122
|
+
const $xeTable = this;
|
|
19123
|
+
const reactData = $xeTable;
|
|
19124
|
+
const internalData = $xeTable;
|
|
19125
|
+
const {
|
|
19126
|
+
tableFullColumn
|
|
19127
|
+
} = internalData;
|
|
19128
|
+
const {
|
|
19129
|
+
updateColFlag
|
|
19130
|
+
} = reactData;
|
|
19131
|
+
const editDirtyOpts = $xeTable.computeEditDirtyOpts;
|
|
19132
|
+
const {
|
|
19133
|
+
includeFields,
|
|
19134
|
+
excludeFields
|
|
19135
|
+
} = editDirtyOpts;
|
|
19136
|
+
const kpFields = [];
|
|
19137
|
+
if (updateColFlag) {
|
|
19138
|
+
if (includeFields && includeFields.length) {
|
|
19139
|
+
return includeFields;
|
|
19140
|
+
}
|
|
19141
|
+
const exfMaps = {};
|
|
19142
|
+
if (excludeFields && excludeFields.length) {
|
|
19143
|
+
excludeFields.forEach(field => {
|
|
19144
|
+
exfMaps[field] = 1;
|
|
19145
|
+
});
|
|
19146
|
+
}
|
|
19147
|
+
for (let i = 0; i < tableFullColumn.length; i++) {
|
|
19148
|
+
const column = tableFullColumn[i];
|
|
19149
|
+
const {
|
|
19150
|
+
field,
|
|
19151
|
+
type,
|
|
19152
|
+
editRender,
|
|
19153
|
+
cellRender
|
|
19154
|
+
} = column;
|
|
19155
|
+
if (field && !type && (editRender || cellRender) && !exfMaps[field]) {
|
|
19156
|
+
kpFields.push(field);
|
|
19157
|
+
}
|
|
19158
|
+
}
|
|
19159
|
+
}
|
|
19160
|
+
return kpFields;
|
|
19161
|
+
},
|
|
19034
19162
|
computeTableBorder() {
|
|
19035
19163
|
const $xeTable = this;
|
|
19036
19164
|
const props = $xeTable;
|
|
@@ -19248,6 +19376,22 @@ function renderBody(h, $xeTable) {
|
|
|
19248
19376
|
internalData.footerFullDataRowData = {};
|
|
19249
19377
|
$xeTable.updateFooter();
|
|
19250
19378
|
},
|
|
19379
|
+
updateColFlag() {
|
|
19380
|
+
this.kfFlag++;
|
|
19381
|
+
},
|
|
19382
|
+
computeKeepFields() {
|
|
19383
|
+
this.kfFlag++;
|
|
19384
|
+
},
|
|
19385
|
+
kfFlag() {
|
|
19386
|
+
const $xeTable = this;
|
|
19387
|
+
const internalData = $xeTable;
|
|
19388
|
+
const keepFields = $xeTable.computeKeepFields;
|
|
19389
|
+
const kpfMaps = {};
|
|
19390
|
+
keepFields.forEach(field => {
|
|
19391
|
+
kpfMaps[field] = 1;
|
|
19392
|
+
});
|
|
19393
|
+
internalData.keepUpdateFieldMaps = kpfMaps;
|
|
19394
|
+
},
|
|
19251
19395
|
syncResize(value) {
|
|
19252
19396
|
const $xeTable = this;
|
|
19253
19397
|
if (value) {
|
|
@@ -23963,6 +24107,20 @@ function handleNumberCell(h, renderOpts, params) {
|
|
|
23963
24107
|
class: 'is--negative'
|
|
23964
24108
|
} : {});
|
|
23965
24109
|
}
|
|
24110
|
+
function handleFormatDatePicker(renderOpts, params) {
|
|
24111
|
+
const {
|
|
24112
|
+
props = {}
|
|
24113
|
+
} = renderOpts;
|
|
24114
|
+
const {
|
|
24115
|
+
cellValue
|
|
24116
|
+
} = params;
|
|
24117
|
+
if (cellValue) {
|
|
24118
|
+
if (props.type !== 'time') {
|
|
24119
|
+
return getLabelFormatDate(cellValue, props);
|
|
24120
|
+
}
|
|
24121
|
+
}
|
|
24122
|
+
return cellValue;
|
|
24123
|
+
}
|
|
23966
24124
|
function handleFormatSelect(renderOpts, params) {
|
|
23967
24125
|
const {
|
|
23968
24126
|
cellValue
|
|
@@ -24240,6 +24398,7 @@ render_renderer.mixin({
|
|
|
24240
24398
|
}
|
|
24241
24399
|
return getCellLabelVNs(h, renderOpts, params, cellValue);
|
|
24242
24400
|
},
|
|
24401
|
+
tableCellFormatter: handleFormatDatePicker,
|
|
24243
24402
|
renderTableDefault: defaultEditRender,
|
|
24244
24403
|
createTableFilterOptions: defaultFilterOptions,
|
|
24245
24404
|
renderTableFilter: defaultFilterRender,
|
|
@@ -25185,6 +25344,8 @@ const Toolbar = VxeToolbar;
|
|
|
25185
25344
|
uploadErr: '上传失败',
|
|
25186
25345
|
uploadSuccess: '上传成功',
|
|
25187
25346
|
moreBtnText: '更多({0})',
|
|
25347
|
+
moreImgBtnText: '图片({0})',
|
|
25348
|
+
moreFileBtnText: '文件({0})',
|
|
25188
25349
|
viewItemTitle: '点击查看',
|
|
25189
25350
|
morePopup: {
|
|
25190
25351
|
readTitle: '查看列表',
|
|
@@ -25404,6 +25565,8 @@ const Toolbar = VxeToolbar;
|
|
|
25404
25565
|
},
|
|
25405
25566
|
fnr: {
|
|
25406
25567
|
title: '查找和替换',
|
|
25568
|
+
titleFd: '查找',
|
|
25569
|
+
titleRe: '替换',
|
|
25407
25570
|
findLabel: '查找',
|
|
25408
25571
|
replaceLabel: '替换',
|
|
25409
25572
|
findTitle: '查找内容:',
|
|
@@ -25553,6 +25716,8 @@ const Toolbar = VxeToolbar;
|
|
|
25553
25716
|
},
|
|
25554
25717
|
fnr: {
|
|
25555
25718
|
title: '查找和替换',
|
|
25719
|
+
titleFd: '查找',
|
|
25720
|
+
titleRe: '替换',
|
|
25556
25721
|
findLabel: '查找',
|
|
25557
25722
|
replaceLabel: '替换',
|
|
25558
25723
|
findTitle: '查找内容:',
|