vxe-table 3.13.4 → 3.13.6
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 +2 -1
- package/es/locale/lang/de-DE.js +2 -1
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/id-ID.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/export/export-panel.js +7 -4
- package/es/table/module/export/mixin.js +2 -2
- package/es/table/src/methods.js +287 -252
- package/es/table/src/table.js +1 -1
- package/es/table/style.css +1 -1
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +1 -1
- 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 +340 -313
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +2 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/export/export-panel.js +7 -4
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +2 -2
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/methods.js +324 -301
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +1 -1
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +1 -1
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +1 -1
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -1
- package/packages/locale/lang/de-DE.ts +2 -1
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/id-ID.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/export/export-panel.ts +7 -4
- package/packages/table/module/export/mixin.ts +2 -2
- package/packages/table/src/methods.ts +306 -255
- package/packages/table/src/table.ts +1 -1
- package/styles/components/table.scss +1 -1
- package/styles/theme/base.scss +1 -1
- /package/es/{iconfont.1740013687420.ttf → iconfont.1740103990490.ttf} +0 -0
- /package/es/{iconfont.1740013687420.woff → iconfont.1740103990490.woff} +0 -0
- /package/es/{iconfont.1740013687420.woff2 → iconfont.1740103990490.woff2} +0 -0
- /package/lib/{iconfont.1740013687420.ttf → iconfont.1740103990490.ttf} +0 -0
- /package/lib/{iconfont.1740013687420.woff → iconfont.1740103990490.woff} +0 -0
- /package/lib/{iconfont.1740013687420.woff2 → iconfont.1740103990490.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -2220,7 +2220,7 @@ function getClass(property, params) {
|
|
|
2220
2220
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
2221
2221
|
|
|
2222
2222
|
|
|
2223
|
-
const version = "3.13.
|
|
2223
|
+
const version = "3.13.6";
|
|
2224
2224
|
core_.VxeUI.version = version;
|
|
2225
2225
|
core_.VxeUI.tableVersion = version;
|
|
2226
2226
|
core_.VxeUI.setConfig({
|
|
@@ -2843,7 +2843,7 @@ function isNodeElement(elem) {
|
|
|
2843
2843
|
const {
|
|
2844
2844
|
log: log_log
|
|
2845
2845
|
} = core_.VxeUI;
|
|
2846
|
-
const log_version = `table v${"3.13.
|
|
2846
|
+
const log_version = `table v${"3.13.6"}`;
|
|
2847
2847
|
const warnLog = log_log.create('warn', log_version);
|
|
2848
2848
|
const errLog = log_log.create('error', log_version);
|
|
2849
2849
|
;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
|
|
@@ -5124,10 +5124,11 @@ const setCustomStorageMap = (id, data) => {
|
|
|
5124
5124
|
maps._v = version;
|
|
5125
5125
|
localStorage.setItem(customStorageKey, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toJSONString(maps));
|
|
5126
5126
|
};
|
|
5127
|
-
const getRecoverRowMaps = (
|
|
5127
|
+
const getRecoverRowMaps = ($xeTable, keyMaps) => {
|
|
5128
|
+
const internalData = $xeTable;
|
|
5128
5129
|
const {
|
|
5129
5130
|
fullAllDataRowIdData
|
|
5130
|
-
} =
|
|
5131
|
+
} = internalData;
|
|
5131
5132
|
const restKeys = {};
|
|
5132
5133
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps, (row, rowid) => {
|
|
5133
5134
|
if (fullAllDataRowIdData[rowid]) {
|
|
@@ -5136,10 +5137,11 @@ const getRecoverRowMaps = (_vm, keyMaps) => {
|
|
|
5136
5137
|
});
|
|
5137
5138
|
return restKeys;
|
|
5138
5139
|
};
|
|
5139
|
-
function handleReserveRow(
|
|
5140
|
+
function handleReserveRow($xeTable, reserveRowMap) {
|
|
5141
|
+
const internalData = $xeTable;
|
|
5140
5142
|
const {
|
|
5141
5143
|
fullDataRowIdData
|
|
5142
|
-
} =
|
|
5144
|
+
} = internalData;
|
|
5143
5145
|
const reserveList = [];
|
|
5144
5146
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(reserveRowMap, (item, rowid) => {
|
|
5145
5147
|
if (fullDataRowIdData[rowid] && reserveList.indexOf(fullDataRowIdData[rowid].row) === -1) {
|
|
@@ -5929,6 +5931,253 @@ function updateStyle($xeTable) {
|
|
|
5929
5931
|
}
|
|
5930
5932
|
return $xeTable.$nextTick();
|
|
5931
5933
|
}
|
|
5934
|
+
function handleRadioReserveRow($xeTable, row) {
|
|
5935
|
+
const internalData = $xeTable;
|
|
5936
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
5937
|
+
if (radioOpts.reserve) {
|
|
5938
|
+
internalData.radioReserveRow = row;
|
|
5939
|
+
}
|
|
5940
|
+
}
|
|
5941
|
+
function handleCheckboxReserveRow($xeTable, row, checked) {
|
|
5942
|
+
const internalData = $xeTable;
|
|
5943
|
+
const {
|
|
5944
|
+
checkboxReserveRowMap
|
|
5945
|
+
} = internalData;
|
|
5946
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
5947
|
+
if (checkboxOpts.reserve) {
|
|
5948
|
+
const rowid = getRowid($xeTable, row);
|
|
5949
|
+
if (checked) {
|
|
5950
|
+
checkboxReserveRowMap[rowid] = row;
|
|
5951
|
+
} else if (checkboxReserveRowMap[rowid]) {
|
|
5952
|
+
delete checkboxReserveRowMap[rowid];
|
|
5953
|
+
}
|
|
5954
|
+
}
|
|
5955
|
+
}
|
|
5956
|
+
function handleCheckedRadioRow($xeTable, row, isForce) {
|
|
5957
|
+
const reactData = $xeTable;
|
|
5958
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
5959
|
+
const {
|
|
5960
|
+
checkMethod
|
|
5961
|
+
} = radioOpts;
|
|
5962
|
+
if (row && (isForce || !checkMethod || checkMethod({
|
|
5963
|
+
row
|
|
5964
|
+
}))) {
|
|
5965
|
+
reactData.selectRadioRow = row;
|
|
5966
|
+
handleRadioReserveRow($xeTable, row);
|
|
5967
|
+
}
|
|
5968
|
+
return $xeTable.$nextTick();
|
|
5969
|
+
}
|
|
5970
|
+
function handleCheckedCheckboxRow($xeTable, rows, value, isForce) {
|
|
5971
|
+
if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
5972
|
+
rows = [rows];
|
|
5973
|
+
}
|
|
5974
|
+
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
5975
|
+
$xeTable.checkSelectionStatus();
|
|
5976
|
+
return $xeTable.$nextTick();
|
|
5977
|
+
}
|
|
5978
|
+
function handleCheckedAllCheckboxRow($xeTable, checked, isForce) {
|
|
5979
|
+
const props = $xeTable;
|
|
5980
|
+
const reactData = $xeTable;
|
|
5981
|
+
const internalData = $xeTable;
|
|
5982
|
+
const {
|
|
5983
|
+
treeConfig
|
|
5984
|
+
} = props;
|
|
5985
|
+
const {
|
|
5986
|
+
selectCheckboxMaps
|
|
5987
|
+
} = reactData;
|
|
5988
|
+
const {
|
|
5989
|
+
afterFullData,
|
|
5990
|
+
checkboxReserveRowMap
|
|
5991
|
+
} = internalData;
|
|
5992
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
5993
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
5994
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
5995
|
+
const {
|
|
5996
|
+
checkField,
|
|
5997
|
+
reserve,
|
|
5998
|
+
checkMethod
|
|
5999
|
+
} = checkboxOpts;
|
|
6000
|
+
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
6001
|
+
const selectRowMaps = {};
|
|
6002
|
+
/**
|
|
6003
|
+
* 绑定属性方式(高性能,有污染)
|
|
6004
|
+
* 必须在行数据存在对应的属性,否则将不响应
|
|
6005
|
+
*/
|
|
6006
|
+
if (checkField) {
|
|
6007
|
+
const checkValFn = row => {
|
|
6008
|
+
if (isForce || !checkMethod || checkMethod({
|
|
6009
|
+
row
|
|
6010
|
+
})) {
|
|
6011
|
+
if (checked) {
|
|
6012
|
+
selectRowMaps[getRowid($xeTable, row)] = row;
|
|
6013
|
+
}
|
|
6014
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, checked);
|
|
6015
|
+
}
|
|
6016
|
+
if (treeConfig && indeterminateField) {
|
|
6017
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
6018
|
+
}
|
|
6019
|
+
};
|
|
6020
|
+
// 如果存在选中方法
|
|
6021
|
+
// 如果方法成立,则更新值,否则忽略该数据
|
|
6022
|
+
if (treeConfig) {
|
|
6023
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, {
|
|
6024
|
+
children: childrenField
|
|
6025
|
+
});
|
|
6026
|
+
} else {
|
|
6027
|
+
afterFullData.forEach(checkValFn);
|
|
6028
|
+
}
|
|
6029
|
+
} else {
|
|
6030
|
+
/**
|
|
6031
|
+
* 默认方式(低性能,无污染)
|
|
6032
|
+
* 无需任何属性,直接绑定
|
|
6033
|
+
*/
|
|
6034
|
+
if (treeConfig) {
|
|
6035
|
+
if (checked) {
|
|
6036
|
+
/**
|
|
6037
|
+
* 如果是树勾选
|
|
6038
|
+
* 如果方法成立,则添加到临时集合中
|
|
6039
|
+
*/
|
|
6040
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, row => {
|
|
6041
|
+
if (isForce || !checkMethod || checkMethod({
|
|
6042
|
+
row
|
|
6043
|
+
})) {
|
|
6044
|
+
selectRowMaps[getRowid($xeTable, row)] = row;
|
|
6045
|
+
}
|
|
6046
|
+
}, {
|
|
6047
|
+
children: childrenField
|
|
6048
|
+
});
|
|
6049
|
+
} else {
|
|
6050
|
+
/**
|
|
6051
|
+
* 如果是树取消
|
|
6052
|
+
* 如果方法成立,则不添加到临时集合中
|
|
6053
|
+
*/
|
|
6054
|
+
if (!isForce && checkMethod) {
|
|
6055
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, row => {
|
|
6056
|
+
const rowid = getRowid($xeTable, row);
|
|
6057
|
+
if (checkMethod({
|
|
6058
|
+
row
|
|
6059
|
+
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
6060
|
+
selectRowMaps[rowid] = row;
|
|
6061
|
+
}
|
|
6062
|
+
}, {
|
|
6063
|
+
children: childrenField
|
|
6064
|
+
});
|
|
6065
|
+
}
|
|
6066
|
+
}
|
|
6067
|
+
} else {
|
|
6068
|
+
if (checked) {
|
|
6069
|
+
/**
|
|
6070
|
+
* 如果是行勾选
|
|
6071
|
+
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
6072
|
+
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
6073
|
+
*/
|
|
6074
|
+
if (!isForce && checkMethod) {
|
|
6075
|
+
afterFullData.forEach(row => {
|
|
6076
|
+
const rowid = getRowid($xeTable, row);
|
|
6077
|
+
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
6078
|
+
row
|
|
6079
|
+
})) {
|
|
6080
|
+
selectRowMaps[rowid] = row;
|
|
6081
|
+
}
|
|
6082
|
+
});
|
|
6083
|
+
} else {
|
|
6084
|
+
afterFullData.forEach(row => {
|
|
6085
|
+
selectRowMaps[getRowid($xeTable, row)] = row;
|
|
6086
|
+
});
|
|
6087
|
+
}
|
|
6088
|
+
} else {
|
|
6089
|
+
/**
|
|
6090
|
+
* 如果是行取消
|
|
6091
|
+
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
6092
|
+
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
6093
|
+
*/
|
|
6094
|
+
if (!isForce && checkMethod) {
|
|
6095
|
+
afterFullData.forEach(row => {
|
|
6096
|
+
const rowid = getRowid($xeTable, row);
|
|
6097
|
+
if (checkMethod({
|
|
6098
|
+
row
|
|
6099
|
+
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
6100
|
+
selectRowMaps[rowid] = row;
|
|
6101
|
+
}
|
|
6102
|
+
});
|
|
6103
|
+
}
|
|
6104
|
+
}
|
|
6105
|
+
}
|
|
6106
|
+
}
|
|
6107
|
+
if (reserve) {
|
|
6108
|
+
if (checked) {
|
|
6109
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps, (row, rowid) => {
|
|
6110
|
+
checkboxReserveRowMap[rowid] = row;
|
|
6111
|
+
});
|
|
6112
|
+
} else {
|
|
6113
|
+
afterFullData.forEach(row => handleCheckboxReserveRow($xeTable, row, false));
|
|
6114
|
+
}
|
|
6115
|
+
}
|
|
6116
|
+
reactData.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
6117
|
+
reactData.isAllSelected = checked;
|
|
6118
|
+
reactData.isIndeterminate = false;
|
|
6119
|
+
reactData.treeIndeterminateMaps = {};
|
|
6120
|
+
internalData.treeIndeterminateRowMaps = {};
|
|
6121
|
+
$xeTable.checkSelectionStatus();
|
|
6122
|
+
return $xeTable.$nextTick();
|
|
6123
|
+
}
|
|
6124
|
+
// 还原展开、选中等相关状态
|
|
6125
|
+
function handleReserveStatus($xeTable) {
|
|
6126
|
+
const props = $xeTable;
|
|
6127
|
+
const reactData = $xeTable;
|
|
6128
|
+
const internalData = $xeTable;
|
|
6129
|
+
const {
|
|
6130
|
+
treeConfig
|
|
6131
|
+
} = props;
|
|
6132
|
+
const {
|
|
6133
|
+
expandColumn,
|
|
6134
|
+
currentRow,
|
|
6135
|
+
selectCheckboxMaps,
|
|
6136
|
+
selectRadioRow,
|
|
6137
|
+
rowExpandedMaps,
|
|
6138
|
+
treeExpandedMaps
|
|
6139
|
+
} = reactData;
|
|
6140
|
+
const {
|
|
6141
|
+
fullDataRowIdData,
|
|
6142
|
+
fullAllDataRowIdData,
|
|
6143
|
+
radioReserveRow
|
|
6144
|
+
} = internalData;
|
|
6145
|
+
const expandOpts = $xeTable.computeExpandOpts;
|
|
6146
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
6147
|
+
const radioOpts = $xeTable.computeRadioOpts;
|
|
6148
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
6149
|
+
// 单选框
|
|
6150
|
+
if (selectRadioRow && !fullAllDataRowIdData[getRowid($xeTable, selectRadioRow)]) {
|
|
6151
|
+
reactData.selectRadioRow = null; // 刷新单选行状态
|
|
6152
|
+
}
|
|
6153
|
+
// 还原保留选中状态
|
|
6154
|
+
if (radioOpts.reserve && radioReserveRow) {
|
|
6155
|
+
const rowid = getRowid($xeTable, radioReserveRow);
|
|
6156
|
+
if (fullDataRowIdData[rowid]) {
|
|
6157
|
+
handleCheckedRadioRow($xeTable, fullDataRowIdData[rowid].row, true);
|
|
6158
|
+
}
|
|
6159
|
+
}
|
|
6160
|
+
// 复选框
|
|
6161
|
+
reactData.selectCheckboxMaps = getRecoverRowMaps($xeTable, selectCheckboxMaps); // 刷新多选行状态
|
|
6162
|
+
// 还原保留选中状态
|
|
6163
|
+
if (checkboxOpts.reserve) {
|
|
6164
|
+
handleCheckedCheckboxRow($xeTable, handleReserveRow($xeTable, internalData.checkboxReserveRowMap), true, true);
|
|
6165
|
+
}
|
|
6166
|
+
if (currentRow && !fullAllDataRowIdData[getRowid($xeTable, currentRow)]) {
|
|
6167
|
+
reactData.currentRow = null; // 刷新当前行状态
|
|
6168
|
+
}
|
|
6169
|
+
// 行展开
|
|
6170
|
+
reactData.rowExpandedMaps = expandColumn ? getRecoverRowMaps($xeTable, rowExpandedMaps) : {}; // 刷新行展开状态
|
|
6171
|
+
// 还原保留状态
|
|
6172
|
+
if (expandColumn && expandOpts.reserve) {
|
|
6173
|
+
$xeTable.setRowExpand(handleReserveRow($xeTable, internalData.rowExpandedReserveRowMap), true);
|
|
6174
|
+
}
|
|
6175
|
+
// 树展开
|
|
6176
|
+
reactData.treeExpandedMaps = treeConfig ? getRecoverRowMaps($xeTable, treeExpandedMaps) : {}; // 刷新树展开状态
|
|
6177
|
+
if (treeConfig && treeOpts.reserve) {
|
|
6178
|
+
$xeTable.setTreeExpand(handleReserveRow($xeTable, internalData.treeExpandedReserveRowMap), true);
|
|
6179
|
+
}
|
|
6180
|
+
}
|
|
5932
6181
|
function calcVarRowHeightConfig($xeTable, sizeKey, sizeEl) {
|
|
5933
6182
|
const reactData = $xeTable;
|
|
5934
6183
|
const {
|
|
@@ -7523,15 +7772,11 @@ const Methods = {
|
|
|
7523
7772
|
internalData.tableFullData = fullData;
|
|
7524
7773
|
internalData.tableFullTreeData = treeData;
|
|
7525
7774
|
// 缓存数据
|
|
7526
|
-
$xeTable.cacheRowMap(true
|
|
7775
|
+
$xeTable.cacheRowMap(true);
|
|
7527
7776
|
// 原始数据
|
|
7528
7777
|
internalData.tableSynchData = datas;
|
|
7529
7778
|
if (isReset) {
|
|
7530
7779
|
internalData.isResizeCellHeight = false;
|
|
7531
|
-
reactData.rowExpandedMaps = {};
|
|
7532
|
-
reactData.rowExpandLazyLoadedMaps = {};
|
|
7533
|
-
reactData.treeExpandedMaps = {};
|
|
7534
|
-
reactData.treeExpandLazyLoadedMaps = {};
|
|
7535
7780
|
}
|
|
7536
7781
|
// 克隆原数据,用于显示编辑状态,与编辑值做对比
|
|
7537
7782
|
if (keepSource) {
|
|
@@ -7576,7 +7821,7 @@ const Methods = {
|
|
|
7576
7821
|
}
|
|
7577
7822
|
}
|
|
7578
7823
|
}
|
|
7579
|
-
|
|
7824
|
+
handleReserveStatus($xeTable);
|
|
7580
7825
|
this.checkSelectionStatus();
|
|
7581
7826
|
return new Promise(resolve => {
|
|
7582
7827
|
this.$nextTick().then(() => this.recalculate()).then(() => {
|
|
@@ -7716,22 +7961,27 @@ const Methods = {
|
|
|
7716
7961
|
/**
|
|
7717
7962
|
* 更新数据行的 Map
|
|
7718
7963
|
*/
|
|
7719
|
-
cacheRowMap(
|
|
7964
|
+
cacheRowMap() {
|
|
7965
|
+
const $xeTable = this;
|
|
7966
|
+
const props = $xeTable;
|
|
7967
|
+
const internalData = $xeTable;
|
|
7968
|
+
const {
|
|
7969
|
+
treeConfig
|
|
7970
|
+
} = props;
|
|
7971
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
7720
7972
|
const {
|
|
7721
|
-
treeConfig,
|
|
7722
|
-
treeOpts,
|
|
7723
|
-
tableFullData,
|
|
7724
7973
|
fullAllDataRowIdData,
|
|
7974
|
+
tableFullData,
|
|
7725
7975
|
tableFullTreeData
|
|
7726
|
-
} =
|
|
7976
|
+
} = internalData;
|
|
7727
7977
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
7728
7978
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
7729
|
-
const rowkey = getRowkey(
|
|
7979
|
+
const rowkey = getRowkey($xeTable);
|
|
7730
7980
|
const isLazy = treeConfig && treeOpts.lazy;
|
|
7731
7981
|
const fullAllDataRowIdMaps = {};
|
|
7732
7982
|
const fullDataRowIdMaps = {};
|
|
7733
|
-
const
|
|
7734
|
-
let rowid = getRowid(
|
|
7983
|
+
const handleRow = (row, index, items, path, parentRow, nodes) => {
|
|
7984
|
+
let rowid = getRowid($xeTable, row);
|
|
7735
7985
|
const seq = treeConfig && path ? toTreePathSeq(path) : index + 1;
|
|
7736
7986
|
const level = nodes ? nodes.length - 1 : 0;
|
|
7737
7987
|
if (eqEmptyValue(rowid)) {
|
|
@@ -7741,9 +7991,9 @@ const Methods = {
|
|
|
7741
7991
|
if (isLazy && row[hasChildField] && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(row[childrenField])) {
|
|
7742
7992
|
row[childrenField] = null;
|
|
7743
7993
|
}
|
|
7744
|
-
let
|
|
7745
|
-
if (
|
|
7746
|
-
|
|
7994
|
+
let rowRest = fullAllDataRowIdData[rowid];
|
|
7995
|
+
if (!rowRest) {
|
|
7996
|
+
rowRest = {
|
|
7747
7997
|
row,
|
|
7748
7998
|
rowid,
|
|
7749
7999
|
seq,
|
|
@@ -7760,26 +8010,22 @@ const Methods = {
|
|
|
7760
8010
|
expandHeight: 0
|
|
7761
8011
|
};
|
|
7762
8012
|
}
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
}
|
|
7771
|
-
fullAllDataRowIdMaps[rowid] = cacheItem;
|
|
8013
|
+
rowRest.row = row;
|
|
8014
|
+
rowRest.items = items;
|
|
8015
|
+
rowRest.parent = parentRow;
|
|
8016
|
+
rowRest.level = level;
|
|
8017
|
+
rowRest.index = treeConfig && parentRow ? -1 : index;
|
|
8018
|
+
fullDataRowIdMaps[rowid] = rowRest;
|
|
8019
|
+
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
7772
8020
|
};
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
}
|
|
7776
|
-
this.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
8021
|
+
internalData.fullDataRowIdData = fullDataRowIdMaps;
|
|
8022
|
+
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps;
|
|
7777
8023
|
if (treeConfig) {
|
|
7778
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,
|
|
8024
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData, handleRow, {
|
|
7779
8025
|
children: childrenField
|
|
7780
8026
|
});
|
|
7781
8027
|
} else {
|
|
7782
|
-
tableFullData.forEach(
|
|
8028
|
+
tableFullData.forEach(handleRow);
|
|
7783
8029
|
}
|
|
7784
8030
|
},
|
|
7785
8031
|
cacheSourceMap(fullData) {
|
|
@@ -8784,7 +9030,7 @@ const Methods = {
|
|
|
8784
9030
|
treeConfig
|
|
8785
9031
|
} = props;
|
|
8786
9032
|
const {
|
|
8787
|
-
|
|
9033
|
+
fullAllDataRowIdData
|
|
8788
9034
|
} = internalData;
|
|
8789
9035
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
8790
9036
|
const {
|
|
@@ -8800,7 +9046,7 @@ const Methods = {
|
|
|
8800
9046
|
rowid = getRowid($xeTable, rowOrRowid);
|
|
8801
9047
|
}
|
|
8802
9048
|
if (rowid) {
|
|
8803
|
-
const rest =
|
|
9049
|
+
const rest = fullAllDataRowIdData[rowid];
|
|
8804
9050
|
const row = rest ? rest.row : null;
|
|
8805
9051
|
if (row) {
|
|
8806
9052
|
return row[transform ? mapChildrenField : childrenField] || [];
|
|
@@ -8820,7 +9066,7 @@ const Methods = {
|
|
|
8820
9066
|
treeConfig
|
|
8821
9067
|
} = props;
|
|
8822
9068
|
const {
|
|
8823
|
-
|
|
9069
|
+
fullAllDataRowIdData
|
|
8824
9070
|
} = internalData;
|
|
8825
9071
|
if (rowOrRowid && treeConfig) {
|
|
8826
9072
|
let rowid;
|
|
@@ -8830,7 +9076,7 @@ const Methods = {
|
|
|
8830
9076
|
rowid = getRowid($xeTable, rowOrRowid);
|
|
8831
9077
|
}
|
|
8832
9078
|
if (rowid) {
|
|
8833
|
-
const rest =
|
|
9079
|
+
const rest = fullAllDataRowIdData[rowid];
|
|
8834
9080
|
return rest ? rest.parent : null;
|
|
8835
9081
|
}
|
|
8836
9082
|
}
|
|
@@ -8849,10 +9095,10 @@ const Methods = {
|
|
|
8849
9095
|
const $xeTable = this;
|
|
8850
9096
|
const internalData = $xeTable;
|
|
8851
9097
|
const {
|
|
8852
|
-
|
|
9098
|
+
fullAllDataRowIdData
|
|
8853
9099
|
} = internalData;
|
|
8854
9100
|
const rowid = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue) ? '' : encodeURIComponent(cellValue);
|
|
8855
|
-
return
|
|
9101
|
+
return fullAllDataRowIdData[rowid] ? fullAllDataRowIdData[rowid].row : null;
|
|
8856
9102
|
},
|
|
8857
9103
|
/**
|
|
8858
9104
|
* 根据行获取行的唯一主键
|
|
@@ -10849,6 +11095,7 @@ const Methods = {
|
|
|
10849
11095
|
* 处理默认勾选
|
|
10850
11096
|
*/
|
|
10851
11097
|
handleDefaultSelectionChecked() {
|
|
11098
|
+
const $xeTable = this;
|
|
10852
11099
|
const {
|
|
10853
11100
|
fullDataRowIdData,
|
|
10854
11101
|
checkboxOpts
|
|
@@ -10858,7 +11105,7 @@ const Methods = {
|
|
|
10858
11105
|
checkRowKeys
|
|
10859
11106
|
} = checkboxOpts;
|
|
10860
11107
|
if (checkAll) {
|
|
10861
|
-
|
|
11108
|
+
handleCheckedAllCheckboxRow($xeTable, true, true);
|
|
10862
11109
|
} else if (checkRowKeys) {
|
|
10863
11110
|
const defSelection = [];
|
|
10864
11111
|
checkRowKeys.forEach(rowid => {
|
|
@@ -10866,17 +11113,12 @@ const Methods = {
|
|
|
10866
11113
|
defSelection.push(fullDataRowIdData[rowid].row);
|
|
10867
11114
|
}
|
|
10868
11115
|
});
|
|
10869
|
-
|
|
11116
|
+
handleCheckedCheckboxRow($xeTable, defSelection, true, true);
|
|
10870
11117
|
}
|
|
10871
11118
|
},
|
|
10872
11119
|
handleCheckedCheckboxRow(rows, value, isForce) {
|
|
10873
11120
|
const $xeTable = this;
|
|
10874
|
-
|
|
10875
|
-
rows = [rows];
|
|
10876
|
-
}
|
|
10877
|
-
$xeTable.handleBatchSelectRows(rows, !!value, isForce);
|
|
10878
|
-
$xeTable.checkSelectionStatus();
|
|
10879
|
-
return this.$nextTick();
|
|
11121
|
+
return handleCheckedCheckboxRow($xeTable, rows, value, isForce);
|
|
10880
11122
|
},
|
|
10881
11123
|
/**
|
|
10882
11124
|
* 用于多选行,设置行为选中状态,第二个参数为选中与否
|
|
@@ -10888,7 +11130,7 @@ const Methods = {
|
|
|
10888
11130
|
if (rows && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
10889
11131
|
rows = [rows];
|
|
10890
11132
|
}
|
|
10891
|
-
return $xeTable
|
|
11133
|
+
return handleCheckedCheckboxRow($xeTable, rows, checked, true);
|
|
10892
11134
|
},
|
|
10893
11135
|
setCheckboxRowKey(keys, checked) {
|
|
10894
11136
|
const $xeTable = this;
|
|
@@ -10906,7 +11148,7 @@ const Methods = {
|
|
|
10906
11148
|
rows.push(rowRest.row);
|
|
10907
11149
|
}
|
|
10908
11150
|
});
|
|
10909
|
-
return $xeTable
|
|
11151
|
+
return handleCheckedCheckboxRow($xeTable, rows, checked, true);
|
|
10910
11152
|
},
|
|
10911
11153
|
isCheckedByCheckboxRow(row) {
|
|
10912
11154
|
const $xeTable = this;
|
|
@@ -11002,7 +11244,7 @@ const Methods = {
|
|
|
11002
11244
|
if (indeterminateField) {
|
|
11003
11245
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
11004
11246
|
}
|
|
11005
|
-
$xeTable
|
|
11247
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
11006
11248
|
}
|
|
11007
11249
|
}, {
|
|
11008
11250
|
children: transform ? mapChildrenField : childrenField
|
|
@@ -11016,7 +11258,7 @@ const Methods = {
|
|
|
11016
11258
|
row
|
|
11017
11259
|
})) {
|
|
11018
11260
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, checked);
|
|
11019
|
-
$xeTable
|
|
11261
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
11020
11262
|
}
|
|
11021
11263
|
});
|
|
11022
11264
|
}
|
|
@@ -11038,7 +11280,7 @@ const Methods = {
|
|
|
11038
11280
|
delete selectRowMaps[rowid];
|
|
11039
11281
|
}
|
|
11040
11282
|
}
|
|
11041
|
-
$xeTable
|
|
11283
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
11042
11284
|
}
|
|
11043
11285
|
}, {
|
|
11044
11286
|
children: transform ? mapChildrenField : childrenField
|
|
@@ -11061,7 +11303,7 @@ const Methods = {
|
|
|
11061
11303
|
delete selectRowMaps[rowid];
|
|
11062
11304
|
}
|
|
11063
11305
|
}
|
|
11064
|
-
$xeTable
|
|
11306
|
+
handleCheckboxReserveRow($xeTable, row, checked);
|
|
11065
11307
|
}
|
|
11066
11308
|
});
|
|
11067
11309
|
reactData.selectCheckboxMaps = selectRowMaps;
|
|
@@ -11105,6 +11347,7 @@ const Methods = {
|
|
|
11105
11347
|
}
|
|
11106
11348
|
},
|
|
11107
11349
|
triggerCheckRowEvent(evnt, params, checked) {
|
|
11350
|
+
const $xeTable = this;
|
|
11108
11351
|
const {
|
|
11109
11352
|
checkboxOpts,
|
|
11110
11353
|
afterFullData
|
|
@@ -11129,7 +11372,7 @@ const Methods = {
|
|
|
11129
11372
|
if (_rowIndex !== _firstRowIndex) {
|
|
11130
11373
|
this.setAllCheckboxRow(false);
|
|
11131
11374
|
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
11132
|
-
|
|
11375
|
+
handleCheckedCheckboxRow($xeTable, rangeRows, true, false);
|
|
11133
11376
|
this.emitEvent('checkbox-range-select', Object.assign({
|
|
11134
11377
|
rangeRecords: rangeRows
|
|
11135
11378
|
}, params), evnt);
|
|
@@ -11167,168 +11410,13 @@ const Methods = {
|
|
|
11167
11410
|
$xeTable.checkSelectionStatus();
|
|
11168
11411
|
return $xeTable.$nextTick();
|
|
11169
11412
|
},
|
|
11170
|
-
handleCheckedAllCheckboxRow(checked, isForce) {
|
|
11171
|
-
const $xeTable = this;
|
|
11172
|
-
const reactData = $xeTable;
|
|
11173
|
-
const {
|
|
11174
|
-
afterFullData,
|
|
11175
|
-
treeConfig,
|
|
11176
|
-
treeOpts,
|
|
11177
|
-
selectCheckboxMaps,
|
|
11178
|
-
checkboxReserveRowMap,
|
|
11179
|
-
checkboxOpts,
|
|
11180
|
-
afterFullRowMaps
|
|
11181
|
-
} = this;
|
|
11182
|
-
const {
|
|
11183
|
-
checkField,
|
|
11184
|
-
reserve,
|
|
11185
|
-
checkStrictly,
|
|
11186
|
-
checkMethod
|
|
11187
|
-
} = checkboxOpts;
|
|
11188
|
-
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
|
|
11189
|
-
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
11190
|
-
const selectRowMaps = {};
|
|
11191
|
-
// 疑惑!
|
|
11192
|
-
if (!treeConfig) {
|
|
11193
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, (row, rowid) => {
|
|
11194
|
-
if (!afterFullRowMaps[rowid]) {
|
|
11195
|
-
selectRowMaps[rowid] = row;
|
|
11196
|
-
}
|
|
11197
|
-
});
|
|
11198
|
-
}
|
|
11199
|
-
// 疑惑!
|
|
11200
|
-
if (checkStrictly) {
|
|
11201
|
-
this.isAllSelected = checked;
|
|
11202
|
-
} else {
|
|
11203
|
-
/**
|
|
11204
|
-
* 绑定属性方式(高性能,有污染)
|
|
11205
|
-
* 必须在行数据存在对应的属性,否则将不响应
|
|
11206
|
-
*/
|
|
11207
|
-
if (checkField) {
|
|
11208
|
-
const checkValFn = row => {
|
|
11209
|
-
if (isForce || !checkMethod || checkMethod({
|
|
11210
|
-
row
|
|
11211
|
-
})) {
|
|
11212
|
-
if (checked) {
|
|
11213
|
-
selectRowMaps[getRowid(this, row)] = row;
|
|
11214
|
-
}
|
|
11215
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, checkField, checked);
|
|
11216
|
-
}
|
|
11217
|
-
if (treeConfig && indeterminateField) {
|
|
11218
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, indeterminateField, false);
|
|
11219
|
-
}
|
|
11220
|
-
};
|
|
11221
|
-
// 如果存在选中方法
|
|
11222
|
-
// 如果方法成立,则更新值,否则忽略该数据
|
|
11223
|
-
if (treeConfig) {
|
|
11224
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, checkValFn, {
|
|
11225
|
-
children: childrenField
|
|
11226
|
-
});
|
|
11227
|
-
} else {
|
|
11228
|
-
afterFullData.forEach(checkValFn);
|
|
11229
|
-
}
|
|
11230
|
-
} else {
|
|
11231
|
-
/**
|
|
11232
|
-
* 默认方式(低性能,无污染)
|
|
11233
|
-
* 无需任何属性,直接绑定
|
|
11234
|
-
*/
|
|
11235
|
-
if (treeConfig) {
|
|
11236
|
-
if (checked) {
|
|
11237
|
-
/**
|
|
11238
|
-
* 如果是树勾选
|
|
11239
|
-
* 如果方法成立,则添加到临时集合中
|
|
11240
|
-
*/
|
|
11241
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, row => {
|
|
11242
|
-
if (isForce || !checkMethod || checkMethod({
|
|
11243
|
-
row
|
|
11244
|
-
})) {
|
|
11245
|
-
selectRowMaps[getRowid(this, row)] = row;
|
|
11246
|
-
}
|
|
11247
|
-
}, {
|
|
11248
|
-
children: childrenField
|
|
11249
|
-
});
|
|
11250
|
-
} else {
|
|
11251
|
-
/**
|
|
11252
|
-
* 如果是树取消
|
|
11253
|
-
* 如果方法成立,则不添加到临时集合中
|
|
11254
|
-
*/
|
|
11255
|
-
if (!isForce && checkMethod) {
|
|
11256
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData, row => {
|
|
11257
|
-
const rowid = getRowid(this, row);
|
|
11258
|
-
if (checkMethod({
|
|
11259
|
-
row
|
|
11260
|
-
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
11261
|
-
selectRowMaps[rowid] = row;
|
|
11262
|
-
}
|
|
11263
|
-
}, {
|
|
11264
|
-
children: childrenField
|
|
11265
|
-
});
|
|
11266
|
-
}
|
|
11267
|
-
}
|
|
11268
|
-
} else {
|
|
11269
|
-
if (checked) {
|
|
11270
|
-
/**
|
|
11271
|
-
* 如果是行勾选
|
|
11272
|
-
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
11273
|
-
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
11274
|
-
*/
|
|
11275
|
-
if (!isForce && checkMethod) {
|
|
11276
|
-
afterFullData.forEach(row => {
|
|
11277
|
-
const rowid = getRowid(this, row);
|
|
11278
|
-
if (selectCheckboxMaps[rowid] || checkMethod({
|
|
11279
|
-
row
|
|
11280
|
-
})) {
|
|
11281
|
-
selectRowMaps[rowid] = row;
|
|
11282
|
-
}
|
|
11283
|
-
});
|
|
11284
|
-
} else {
|
|
11285
|
-
afterFullData.forEach(row => {
|
|
11286
|
-
selectRowMaps[getRowid(this, row)] = row;
|
|
11287
|
-
});
|
|
11288
|
-
}
|
|
11289
|
-
} else {
|
|
11290
|
-
/**
|
|
11291
|
-
* 如果是行取消
|
|
11292
|
-
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
11293
|
-
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
11294
|
-
*/
|
|
11295
|
-
if (!isForce && checkMethod) {
|
|
11296
|
-
afterFullData.forEach(row => {
|
|
11297
|
-
const rowid = getRowid(this, row);
|
|
11298
|
-
if (checkMethod({
|
|
11299
|
-
row
|
|
11300
|
-
}) ? 0 : selectCheckboxMaps[rowid]) {
|
|
11301
|
-
selectRowMaps[rowid] = row;
|
|
11302
|
-
}
|
|
11303
|
-
});
|
|
11304
|
-
}
|
|
11305
|
-
}
|
|
11306
|
-
}
|
|
11307
|
-
}
|
|
11308
|
-
if (reserve) {
|
|
11309
|
-
if (checked) {
|
|
11310
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps, (row, rowid) => {
|
|
11311
|
-
checkboxReserveRowMap[rowid] = row;
|
|
11312
|
-
});
|
|
11313
|
-
} else {
|
|
11314
|
-
afterFullData.forEach(row => this.handleCheckboxReserveRow(row, false));
|
|
11315
|
-
}
|
|
11316
|
-
}
|
|
11317
|
-
this.selectCheckboxMaps = checkField ? {} : selectRowMaps;
|
|
11318
|
-
}
|
|
11319
|
-
reactData.isAllSelected = checked;
|
|
11320
|
-
reactData.isIndeterminate = false;
|
|
11321
|
-
this.treeIndeterminateMaps = {};
|
|
11322
|
-
this.treeIndeterminateRowMaps = {};
|
|
11323
|
-
this.checkSelectionStatus();
|
|
11324
|
-
return this.$nextTick();
|
|
11325
|
-
},
|
|
11326
11413
|
/**
|
|
11327
11414
|
* 用于多选行,设置所有行的选中状态
|
|
11328
11415
|
* @param {Boolean} value 是否选中
|
|
11329
11416
|
*/
|
|
11330
11417
|
setAllCheckboxRow(value) {
|
|
11331
|
-
|
|
11418
|
+
const $xeTable = this;
|
|
11419
|
+
return handleCheckedAllCheckboxRow($xeTable, value, true);
|
|
11332
11420
|
},
|
|
11333
11421
|
updateCheckboxStatus() {
|
|
11334
11422
|
const $xeTable = this;
|
|
@@ -11507,57 +11595,6 @@ const Methods = {
|
|
|
11507
11595
|
$xeTable.updateCheckboxStatus();
|
|
11508
11596
|
$xeTable.updateAllCheckboxStatus();
|
|
11509
11597
|
},
|
|
11510
|
-
// 还原展开、选中等相关状态
|
|
11511
|
-
handleReserveStatus() {
|
|
11512
|
-
const $xeTable = this;
|
|
11513
|
-
const {
|
|
11514
|
-
expandColumn,
|
|
11515
|
-
treeOpts,
|
|
11516
|
-
treeConfig,
|
|
11517
|
-
fullDataRowIdData,
|
|
11518
|
-
fullAllDataRowIdData,
|
|
11519
|
-
currentRow,
|
|
11520
|
-
selectRadioRow,
|
|
11521
|
-
radioReserveRow,
|
|
11522
|
-
radioOpts,
|
|
11523
|
-
checkboxOpts,
|
|
11524
|
-
selectCheckboxMaps,
|
|
11525
|
-
rowExpandedMaps,
|
|
11526
|
-
treeExpandedMaps,
|
|
11527
|
-
expandOpts
|
|
11528
|
-
} = this;
|
|
11529
|
-
// 单选框
|
|
11530
|
-
if (selectRadioRow && !fullAllDataRowIdData[getRowid($xeTable, selectRadioRow)]) {
|
|
11531
|
-
this.selectRadioRow = null; // 刷新单选行状态
|
|
11532
|
-
}
|
|
11533
|
-
// 还原保留选中状态
|
|
11534
|
-
if (radioOpts.reserve && radioReserveRow) {
|
|
11535
|
-
const rowid = getRowid(this, radioReserveRow);
|
|
11536
|
-
if (fullDataRowIdData[rowid]) {
|
|
11537
|
-
this.handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
|
|
11538
|
-
}
|
|
11539
|
-
}
|
|
11540
|
-
// 复选框
|
|
11541
|
-
this.selectCheckboxMaps = getRecoverRowMaps(this, selectCheckboxMaps); // 刷新多选行状态
|
|
11542
|
-
// 还原保留选中状态
|
|
11543
|
-
if (checkboxOpts.reserve) {
|
|
11544
|
-
this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
|
|
11545
|
-
}
|
|
11546
|
-
if (currentRow && !this.fullAllDataRowIdData[getRowid($xeTable, currentRow)]) {
|
|
11547
|
-
this.currentRow = null; // 刷新当前行状态
|
|
11548
|
-
}
|
|
11549
|
-
// 行展开
|
|
11550
|
-
this.rowExpandedMaps = expandColumn ? getRecoverRowMaps(this, rowExpandedMaps) : []; // 刷新行展开状态
|
|
11551
|
-
// 还原保留状态
|
|
11552
|
-
if (expandColumn && expandOpts.reserve) {
|
|
11553
|
-
this.setRowExpand(handleReserveRow(this, this.rowExpandedReserveRowMap), true);
|
|
11554
|
-
}
|
|
11555
|
-
// 树展开
|
|
11556
|
-
this.treeExpandedMaps = treeConfig ? getRecoverRowMaps(this, treeExpandedMaps) : []; // 刷新树展开状态
|
|
11557
|
-
if (treeConfig && treeOpts.reserve) {
|
|
11558
|
-
this.setTreeExpand(handleReserveRow(this, this.treeExpandedReserveRowMap), true);
|
|
11559
|
-
}
|
|
11560
|
-
},
|
|
11561
11598
|
/**
|
|
11562
11599
|
* 获取单选框保留选中的行
|
|
11563
11600
|
*/
|
|
@@ -11599,14 +11636,6 @@ const Methods = {
|
|
|
11599
11636
|
this.radioReserveRow = null;
|
|
11600
11637
|
return this.$nextTick();
|
|
11601
11638
|
},
|
|
11602
|
-
handleRadioReserveRow(row) {
|
|
11603
|
-
const {
|
|
11604
|
-
radioOpts
|
|
11605
|
-
} = this;
|
|
11606
|
-
if (radioOpts.reserve) {
|
|
11607
|
-
this.radioReserveRow = row;
|
|
11608
|
-
}
|
|
11609
|
-
},
|
|
11610
11639
|
/**
|
|
11611
11640
|
* 获取复选框保留选中的行
|
|
11612
11641
|
*/
|
|
@@ -11669,12 +11698,13 @@ const Methods = {
|
|
|
11669
11698
|
}
|
|
11670
11699
|
},
|
|
11671
11700
|
handleCheckAllEvent(evnt, value) {
|
|
11672
|
-
this
|
|
11701
|
+
const $xeTable = this;
|
|
11702
|
+
handleCheckedAllCheckboxRow($xeTable, value);
|
|
11673
11703
|
if (evnt) {
|
|
11674
|
-
|
|
11675
|
-
records:
|
|
11676
|
-
reserves:
|
|
11677
|
-
indeterminates:
|
|
11704
|
+
$xeTable.dispatchEvent('checkbox-all', {
|
|
11705
|
+
records: $xeTable.getCheckboxRecords(),
|
|
11706
|
+
reserves: $xeTable.getCheckboxReserveRecords(),
|
|
11707
|
+
indeterminates: $xeTable.getCheckboxIndeterminateRecords(),
|
|
11678
11708
|
checked: value
|
|
11679
11709
|
}, evnt);
|
|
11680
11710
|
}
|
|
@@ -11683,6 +11713,7 @@ const Methods = {
|
|
|
11683
11713
|
* 多选,选中所有事件
|
|
11684
11714
|
*/
|
|
11685
11715
|
triggerCheckAllEvent(evnt, value) {
|
|
11716
|
+
const $xeTable = this;
|
|
11686
11717
|
const {
|
|
11687
11718
|
checkboxOpts
|
|
11688
11719
|
} = this;
|
|
@@ -11695,7 +11726,7 @@ const Methods = {
|
|
|
11695
11726
|
if (evnt) {
|
|
11696
11727
|
evnt.stopPropagation();
|
|
11697
11728
|
}
|
|
11698
|
-
|
|
11729
|
+
$xeTable.handleCheckAllEvent(evnt, value);
|
|
11699
11730
|
},
|
|
11700
11731
|
/**
|
|
11701
11732
|
* 多选,切换所有行的选中状态
|
|
@@ -11749,6 +11780,7 @@ const Methods = {
|
|
|
11749
11780
|
* 处理单选框默认勾选
|
|
11750
11781
|
*/
|
|
11751
11782
|
handleDefaultRadioChecked() {
|
|
11783
|
+
const $xeTable = this;
|
|
11752
11784
|
const {
|
|
11753
11785
|
radioOpts,
|
|
11754
11786
|
fullDataRowIdData
|
|
@@ -11759,7 +11791,7 @@ const Methods = {
|
|
|
11759
11791
|
} = radioOpts;
|
|
11760
11792
|
if (rowid) {
|
|
11761
11793
|
if (fullDataRowIdData[rowid]) {
|
|
11762
|
-
|
|
11794
|
+
handleCheckedRadioRow($xeTable, fullDataRowIdData[rowid].row, true);
|
|
11763
11795
|
}
|
|
11764
11796
|
if (reserve) {
|
|
11765
11797
|
const rowkey = getRowkey(this);
|
|
@@ -11773,6 +11805,7 @@ const Methods = {
|
|
|
11773
11805
|
* 单选,行选中事件
|
|
11774
11806
|
*/
|
|
11775
11807
|
triggerRadioRowEvent(evnt, params) {
|
|
11808
|
+
const $xeTable = this;
|
|
11776
11809
|
const {
|
|
11777
11810
|
selectRadioRow: oldValue,
|
|
11778
11811
|
radioOpts
|
|
@@ -11790,7 +11823,7 @@ const Methods = {
|
|
|
11790
11823
|
let newValue = row;
|
|
11791
11824
|
let isChange = oldValue !== newValue;
|
|
11792
11825
|
if (isChange) {
|
|
11793
|
-
|
|
11826
|
+
handleCheckedRadioRow($xeTable, newValue);
|
|
11794
11827
|
} else if (!radioOpts.strict) {
|
|
11795
11828
|
isChange = oldValue === newValue;
|
|
11796
11829
|
if (isChange) {
|
|
@@ -11889,28 +11922,13 @@ const Methods = {
|
|
|
11889
11922
|
}
|
|
11890
11923
|
return false;
|
|
11891
11924
|
},
|
|
11892
|
-
handleCheckedRadioRow(row, isForce) {
|
|
11893
|
-
const {
|
|
11894
|
-
radioOpts
|
|
11895
|
-
} = this;
|
|
11896
|
-
const {
|
|
11897
|
-
checkMethod
|
|
11898
|
-
} = radioOpts;
|
|
11899
|
-
if (row && (isForce || !checkMethod || checkMethod({
|
|
11900
|
-
row
|
|
11901
|
-
}))) {
|
|
11902
|
-
this.selectRadioRow = row;
|
|
11903
|
-
this.handleRadioReserveRow(row);
|
|
11904
|
-
}
|
|
11905
|
-
return this.$nextTick();
|
|
11906
|
-
},
|
|
11907
11925
|
/**
|
|
11908
11926
|
* 用于单选行,设置某一行为选中状态
|
|
11909
11927
|
* @param {Row} row 行对象
|
|
11910
11928
|
*/
|
|
11911
11929
|
setRadioRow(row) {
|
|
11912
11930
|
const $xeTable = this;
|
|
11913
|
-
return $xeTable
|
|
11931
|
+
return handleCheckedRadioRow($xeTable, row, true);
|
|
11914
11932
|
},
|
|
11915
11933
|
/**
|
|
11916
11934
|
* 用于单选行,设置某一行为选中状态
|
|
@@ -11924,7 +11942,7 @@ const Methods = {
|
|
|
11924
11942
|
} = internalData;
|
|
11925
11943
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
11926
11944
|
if (rowRest) {
|
|
11927
|
-
return $xeTable
|
|
11945
|
+
return handleCheckedRadioRow($xeTable, rowRest.row, true);
|
|
11928
11946
|
}
|
|
11929
11947
|
return $xeTable.$nextTick();
|
|
11930
11948
|
},
|
|
@@ -13830,9 +13848,6 @@ const Methods = {
|
|
|
13830
13848
|
const $xeTable = this;
|
|
13831
13849
|
const reactData = $xeTable;
|
|
13832
13850
|
const internalData = $xeTable;
|
|
13833
|
-
const tExpandedMaps = {
|
|
13834
|
-
...reactData.treeExpandedMaps
|
|
13835
|
-
};
|
|
13836
13851
|
const {
|
|
13837
13852
|
fullAllDataRowIdData
|
|
13838
13853
|
} = internalData;
|
|
@@ -13840,7 +13855,11 @@ const Methods = {
|
|
|
13840
13855
|
const {
|
|
13841
13856
|
transform
|
|
13842
13857
|
} = treeOpts;
|
|
13858
|
+
let tExpandedMaps = {};
|
|
13843
13859
|
if (rows) {
|
|
13860
|
+
tExpandedMaps = {
|
|
13861
|
+
...reactData.treeExpandedMaps
|
|
13862
|
+
};
|
|
13844
13863
|
if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)) {
|
|
13845
13864
|
rows = [rows];
|
|
13846
13865
|
}
|
|
@@ -13854,8 +13873,12 @@ const Methods = {
|
|
|
13854
13873
|
}
|
|
13855
13874
|
}
|
|
13856
13875
|
});
|
|
13876
|
+
} else {
|
|
13877
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData, rowRest => {
|
|
13878
|
+
rowRest.treeLoaded = false;
|
|
13879
|
+
});
|
|
13857
13880
|
}
|
|
13858
|
-
reactData.treeExpandedMaps =
|
|
13881
|
+
reactData.treeExpandedMaps = {};
|
|
13859
13882
|
if (transform) {
|
|
13860
13883
|
handleVirtualTreeToList($xeTable);
|
|
13861
13884
|
return $xeTable.handleTableData();
|
|
@@ -14017,7 +14040,7 @@ const Methods = {
|
|
|
14017
14040
|
}
|
|
14018
14041
|
// 如果当前节点已选中,则展开后子节点也被选中
|
|
14019
14042
|
if (!checkStrictly && this.isCheckedByCheckboxRow(row)) {
|
|
14020
|
-
|
|
14043
|
+
handleCheckedCheckboxRow($xeTable, childRows, true);
|
|
14021
14044
|
}
|
|
14022
14045
|
return this.$nextTick().then(() => {
|
|
14023
14046
|
if (transform) {
|
|
@@ -19355,6 +19378,7 @@ const {
|
|
|
19355
19378
|
columns,
|
|
19356
19379
|
params: defaultOptions.params
|
|
19357
19380
|
};
|
|
19381
|
+
const hasEmptyData = defaultOptions.mode === 'empty';
|
|
19358
19382
|
return h('div', {
|
|
19359
19383
|
class: 'vxe-table-export--panel'
|
|
19360
19384
|
}, [topSlot ? h('div', {
|
|
@@ -19441,7 +19465,8 @@ const {
|
|
|
19441
19465
|
class: 'vxe-table-export--panel-option-row'
|
|
19442
19466
|
}, [h('vxe-checkbox', {
|
|
19443
19467
|
props: {
|
|
19444
|
-
value: isHeader,
|
|
19468
|
+
value: hasEmptyData || isHeader,
|
|
19469
|
+
disabled: hasEmptyData,
|
|
19445
19470
|
title: export_panel_getI18n('vxe.export.expHeaderTitle'),
|
|
19446
19471
|
content: export_panel_getI18n('vxe.export.expOptHeader')
|
|
19447
19472
|
},
|
|
@@ -19464,7 +19489,8 @@ const {
|
|
|
19464
19489
|
}
|
|
19465
19490
|
}), h('vxe-checkbox', {
|
|
19466
19491
|
props: {
|
|
19467
|
-
value: defaultOptions.original,
|
|
19492
|
+
value: hasEmptyData ? false : defaultOptions.original,
|
|
19493
|
+
disabled: hasEmptyData,
|
|
19468
19494
|
title: export_panel_getI18n('vxe.export.expOriginalTitle'),
|
|
19469
19495
|
content: export_panel_getI18n('vxe.export.expOptOriginal')
|
|
19470
19496
|
},
|
|
@@ -19492,7 +19518,7 @@ const {
|
|
|
19492
19518
|
}), h('vxe-checkbox', {
|
|
19493
19519
|
props: {
|
|
19494
19520
|
value: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
|
|
19495
|
-
disabled: !hasMerge || !supportMerge || !checkedAll,
|
|
19521
|
+
disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
|
|
19496
19522
|
title: export_panel_getI18n('vxe.export.expMergeTitle'),
|
|
19497
19523
|
content: export_panel_getI18n('vxe.export.expOptMerge')
|
|
19498
19524
|
},
|
|
@@ -19516,7 +19542,7 @@ const {
|
|
|
19516
19542
|
}), h('vxe-checkbox', {
|
|
19517
19543
|
props: {
|
|
19518
19544
|
value: hasTree ? defaultOptions.isAllExpand : false,
|
|
19519
|
-
disabled: !hasTree,
|
|
19545
|
+
disabled: hasEmptyData || !hasTree,
|
|
19520
19546
|
title: export_panel_getI18n('vxe.export.expAllExpandTitle'),
|
|
19521
19547
|
content: export_panel_getI18n('vxe.export.expOptAllExpand')
|
|
19522
19548
|
},
|
|
@@ -22995,7 +23021,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
|
|
|
22995
23021
|
isMerge: hasMerge,
|
|
22996
23022
|
useStyle: true,
|
|
22997
23023
|
current: 'current',
|
|
22998
|
-
modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : [])
|
|
23024
|
+
modes: ['current', 'selected', 'empty'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : [])
|
|
22999
23025
|
}, options);
|
|
23000
23026
|
const types = defOpts.types || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(exportOpts._typeMaps);
|
|
23001
23027
|
const modes = defOpts.modes || [];
|
|
@@ -23187,7 +23213,7 @@ const convertToRows = originColumns => {
|
|
|
23187
23213
|
isMerge: hasMerge,
|
|
23188
23214
|
useStyle: true,
|
|
23189
23215
|
current: 'current',
|
|
23190
|
-
modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []),
|
|
23216
|
+
modes: ['current', 'selected', 'empty'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : []),
|
|
23191
23217
|
download: true,
|
|
23192
23218
|
type: 'csv'
|
|
23193
23219
|
// filename: '',
|
|
@@ -26276,7 +26302,7 @@ function renderBody(h, $xeTable) {
|
|
|
26276
26302
|
if (value && value.length >= 50000) {
|
|
26277
26303
|
warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)']);
|
|
26278
26304
|
}
|
|
26279
|
-
this.loadTableData(value || [],
|
|
26305
|
+
this.loadTableData(value || [], false).then(() => {
|
|
26280
26306
|
const {
|
|
26281
26307
|
scrollXLoad,
|
|
26282
26308
|
scrollYLoad,
|
|
@@ -30740,7 +30766,7 @@ const Toolbar = VxeToolbar;
|
|
|
30740
30766
|
treeNotImp: '树表格不支持导入',
|
|
30741
30767
|
treeCrossDrag: '只能拖拽第一层级',
|
|
30742
30768
|
treeDragChild: '父级不能拖拽到自己的子级中',
|
|
30743
|
-
reqPlugin: '
|
|
30769
|
+
reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install'
|
|
30744
30770
|
},
|
|
30745
30771
|
table: {
|
|
30746
30772
|
emptyText: '暂无数据',
|
|
@@ -30860,6 +30886,7 @@ const Toolbar = VxeToolbar;
|
|
|
30860
30886
|
pdf: 'PDF (*.pdf)'
|
|
30861
30887
|
},
|
|
30862
30888
|
modes: {
|
|
30889
|
+
empty: '空数据',
|
|
30863
30890
|
current: '当前数据(当前页的数据)',
|
|
30864
30891
|
selected: '选中数据(当前页选中的数据)',
|
|
30865
30892
|
all: '全量数据(包括所有分页的数据)'
|