vxe-table 4.19.13 → 4.19.15
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/dist/all.esm.js +278 -99
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +7 -0
- package/es/locale/lang/de-DE.js +7 -0
- package/es/locale/lang/en-US.js +7 -0
- package/es/locale/lang/es-ES.js +7 -0
- package/es/locale/lang/fr-FR.js +7 -0
- package/es/locale/lang/hu-HU.js +7 -0
- package/es/locale/lang/hy-AM.js +7 -0
- package/es/locale/lang/id-ID.js +7 -0
- package/es/locale/lang/it-IT.js +7 -0
- package/es/locale/lang/ja-JP.js +7 -0
- package/es/locale/lang/ko-KR.js +7 -0
- package/es/locale/lang/ms-MY.js +7 -0
- package/es/locale/lang/nb-NO.js +7 -0
- package/es/locale/lang/pt-BR.js +7 -0
- package/es/locale/lang/ru-RU.js +7 -0
- package/es/locale/lang/th-TH.js +7 -0
- package/es/locale/lang/ug-CN.js +7 -0
- package/es/locale/lang/uk-UA.js +7 -0
- package/es/locale/lang/uz-UZ.js +7 -0
- package/es/locale/lang/vi-VN.js +7 -0
- package/es/locale/lang/zh-CHT.js +7 -0
- package/es/locale/lang/zh-CN.js +7 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/hook.js +5 -5
- package/es/table/render/index.js +46 -18
- package/es/table/src/table.js +216 -72
- package/es/table/style.css +10 -5
- 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 +10 -5
- 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 +93 -30
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -0
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +7 -0
- package/lib/locale/lang/de-DE.js +7 -0
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +7 -0
- package/lib/locale/lang/en-US.js +7 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -0
- package/lib/locale/lang/es-ES.js +7 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -0
- package/lib/locale/lang/fr-FR.js +7 -0
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +7 -0
- package/lib/locale/lang/hu-HU.js +7 -0
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -0
- package/lib/locale/lang/hy-AM.js +7 -0
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +7 -0
- package/lib/locale/lang/id-ID.js +7 -0
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +7 -0
- package/lib/locale/lang/it-IT.js +7 -0
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +7 -0
- package/lib/locale/lang/ja-JP.js +7 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -0
- package/lib/locale/lang/ko-KR.js +7 -0
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -0
- package/lib/locale/lang/ms-MY.js +7 -0
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +7 -0
- package/lib/locale/lang/nb-NO.js +7 -0
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +7 -0
- package/lib/locale/lang/pt-BR.js +7 -0
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -0
- package/lib/locale/lang/ru-RU.js +7 -0
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -0
- package/lib/locale/lang/th-TH.js +7 -0
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +7 -0
- package/lib/locale/lang/ug-CN.js +7 -0
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +7 -0
- package/lib/locale/lang/uk-UA.js +7 -0
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -0
- package/lib/locale/lang/uz-UZ.js +7 -0
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +7 -0
- package/lib/locale/lang/vi-VN.js +7 -0
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +7 -0
- package/lib/locale/lang/zh-CHT.js +7 -0
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +7 -0
- package/lib/locale/lang/zh-CN.js +7 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/hook.js +5 -0
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/render/index.js +62 -18
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/table.js +18 -11
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +10 -5
- 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 +10 -5
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +7 -0
- package/packages/locale/lang/de-DE.ts +7 -0
- package/packages/locale/lang/en-US.ts +7 -0
- package/packages/locale/lang/es-ES.ts +7 -0
- package/packages/locale/lang/fr-FR.ts +7 -0
- package/packages/locale/lang/hu-HU.ts +7 -0
- package/packages/locale/lang/hy-AM.ts +7 -0
- package/packages/locale/lang/id-ID.ts +7 -0
- package/packages/locale/lang/it-IT.ts +7 -0
- package/packages/locale/lang/ja-JP.ts +7 -0
- package/packages/locale/lang/ko-KR.ts +7 -0
- package/packages/locale/lang/ms-MY.ts +7 -0
- package/packages/locale/lang/nb-NO.ts +7 -0
- package/packages/locale/lang/pt-BR.ts +7 -0
- package/packages/locale/lang/ru-RU.ts +7 -0
- package/packages/locale/lang/th-TH.ts +7 -0
- package/packages/locale/lang/ug-CN.ts +7 -0
- package/packages/locale/lang/uk-UA.ts +7 -0
- package/packages/locale/lang/uz-UZ.ts +7 -0
- package/packages/locale/lang/vi-VN.ts +7 -0
- package/packages/locale/lang/zh-CHT.ts +7 -0
- package/packages/locale/lang/zh-CN.ts +7 -0
- package/packages/table/module/edit/hook.ts +5 -5
- package/packages/table/render/index.ts +46 -18
- package/packages/table/src/table.ts +218 -72
- package/styles/components/table.scss +8 -4
- /package/es/{iconfont.1781229243647.ttf → iconfont.1781675408206.ttf} +0 -0
- /package/es/{iconfont.1781229243647.woff → iconfont.1781675408206.woff} +0 -0
- /package/es/{iconfont.1781229243647.woff2 → iconfont.1781675408206.woff2} +0 -0
- /package/lib/{iconfont.1781229243647.ttf → iconfont.1781675408206.ttf} +0 -0
- /package/lib/{iconfont.1781229243647.woff → iconfont.1781675408206.woff} +0 -0
- /package/lib/{iconfont.1781229243647.woff2 → iconfont.1781675408206.woff2} +0 -0
|
@@ -77,7 +77,7 @@ hooks.add('tableEditModule', {
|
|
|
77
77
|
}
|
|
78
78
|
pChilds[funcName](item);
|
|
79
79
|
pMapChilds[funcName](item);
|
|
80
|
-
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: pChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
80
|
+
const rest = { row: item, rowid, _seq: -1, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: pChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
81
81
|
fullDataRowIdData[rowid] = rest;
|
|
82
82
|
fullAllDataRowIdData[rowid] = rest;
|
|
83
83
|
}
|
|
@@ -87,7 +87,7 @@ hooks.add('tableEditModule', {
|
|
|
87
87
|
}
|
|
88
88
|
afterFullData[funcName](item);
|
|
89
89
|
tableFullTreeData[funcName](item);
|
|
90
|
-
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: tableFullTreeData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
90
|
+
const rest = { row: item, rowid, _seq: -1, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: tableFullTreeData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
91
91
|
fullDataRowIdData[rowid] = rest;
|
|
92
92
|
fullAllDataRowIdData[rowid] = rest;
|
|
93
93
|
}
|
|
@@ -137,7 +137,7 @@ hooks.add('tableEditModule', {
|
|
|
137
137
|
else {
|
|
138
138
|
newRecords.forEach(item => {
|
|
139
139
|
const rowid = getRowid($xeTable, item);
|
|
140
|
-
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
140
|
+
const rest = { row: item, rowid, _seq: -1, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
141
141
|
fullDataRowIdData[rowid] = rest;
|
|
142
142
|
fullAllDataRowIdData[rowid] = rest;
|
|
143
143
|
afterFullData.unshift(item);
|
|
@@ -169,7 +169,7 @@ hooks.add('tableEditModule', {
|
|
|
169
169
|
else {
|
|
170
170
|
newRecords.forEach(item => {
|
|
171
171
|
const rowid = getRowid($xeTable, item);
|
|
172
|
-
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, treeIndex: -1, _tIndex: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
172
|
+
const rest = { row: item, rowid, _seq: -1, seq: -1, index: -1, _index: -1, treeIndex: -1, _tIndex: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
173
173
|
fullDataRowIdData[rowid] = rest;
|
|
174
174
|
fullAllDataRowIdData[rowid] = rest;
|
|
175
175
|
afterFullData.push(item);
|
|
@@ -209,7 +209,7 @@ hooks.add('tableEditModule', {
|
|
|
209
209
|
});
|
|
210
210
|
XEUtils.eachTree(treeRecords, (item) => {
|
|
211
211
|
const rowid = getRowid($xeTable, item);
|
|
212
|
-
const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
212
|
+
const rest = { row: item, rowid, _seq: -1, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
213
213
|
if (item[childrenField]) {
|
|
214
214
|
item[mapChildrenField] = item[childrenField];
|
|
215
215
|
}
|
package/es/table/render/index.js
CHANGED
|
@@ -763,7 +763,7 @@ function handleSetTreeSelectValue(renderOpts, params) {
|
|
|
763
763
|
*/
|
|
764
764
|
renderer.mixin({
|
|
765
765
|
input: {
|
|
766
|
-
tableAutoFocus:
|
|
766
|
+
tableAutoFocus: true,
|
|
767
767
|
renderTableEdit: nativeEditRender,
|
|
768
768
|
renderTableDefault: nativeEditRender,
|
|
769
769
|
createTableFilterOptions: defaultFilterOptions,
|
|
@@ -771,7 +771,7 @@ renderer.mixin({
|
|
|
771
771
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
772
772
|
},
|
|
773
773
|
textarea: {
|
|
774
|
-
tableAutoFocus:
|
|
774
|
+
tableAutoFocus: true,
|
|
775
775
|
renderTableEdit: nativeEditRender
|
|
776
776
|
},
|
|
777
777
|
select: {
|
|
@@ -811,7 +811,7 @@ renderer.mixin({
|
|
|
811
811
|
tableExportMethod: handleExportSelectMethod
|
|
812
812
|
},
|
|
813
813
|
VxeInput: {
|
|
814
|
-
tableAutoFocus:
|
|
814
|
+
tableAutoFocus: true,
|
|
815
815
|
renderTableEdit: defaultEditRender,
|
|
816
816
|
renderTableCell(renderOpts, params) {
|
|
817
817
|
const { props = {} } = renderOpts;
|
|
@@ -851,7 +851,7 @@ renderer.mixin({
|
|
|
851
851
|
}
|
|
852
852
|
},
|
|
853
853
|
VxeNumberInput: {
|
|
854
|
-
tableAutoFocus:
|
|
854
|
+
tableAutoFocus: true,
|
|
855
855
|
renderTableEdit: defaultEditRender,
|
|
856
856
|
renderTableCell: handleNumberCell,
|
|
857
857
|
renderTableFooter(renderOpts, params) {
|
|
@@ -903,7 +903,7 @@ renderer.mixin({
|
|
|
903
903
|
}
|
|
904
904
|
},
|
|
905
905
|
VxeDatePicker: {
|
|
906
|
-
tableAutoFocus:
|
|
906
|
+
tableAutoFocus: true,
|
|
907
907
|
renderTableEdit: defaultEditRender,
|
|
908
908
|
renderTableCell(renderOpts, params) {
|
|
909
909
|
const props = renderOpts.props || {};
|
|
@@ -929,7 +929,7 @@ renderer.mixin({
|
|
|
929
929
|
tableFilterDefaultMethod: handleFilterMethod
|
|
930
930
|
},
|
|
931
931
|
VxeDateRangePicker: {
|
|
932
|
-
tableAutoFocus:
|
|
932
|
+
tableAutoFocus: true,
|
|
933
933
|
renderTableEdit(renderOpts, params) {
|
|
934
934
|
const { startField, endField } = renderOpts;
|
|
935
935
|
const { $table, row, column } = params;
|
|
@@ -1029,7 +1029,7 @@ renderer.mixin({
|
|
|
1029
1029
|
}
|
|
1030
1030
|
},
|
|
1031
1031
|
VxeTextarea: {
|
|
1032
|
-
tableAutoFocus:
|
|
1032
|
+
tableAutoFocus: true,
|
|
1033
1033
|
renderTableDefault: defaultEditRender,
|
|
1034
1034
|
renderTableEdit: defaultEditRender,
|
|
1035
1035
|
renderTableCell(renderOpts, params) {
|
|
@@ -1050,7 +1050,7 @@ renderer.mixin({
|
|
|
1050
1050
|
}
|
|
1051
1051
|
},
|
|
1052
1052
|
VxeSelect: {
|
|
1053
|
-
tableAutoFocus:
|
|
1053
|
+
tableAutoFocus: true,
|
|
1054
1054
|
renderTableEdit: defaultSelectEditRender,
|
|
1055
1055
|
renderTableDefault: defaultSelectEditRender,
|
|
1056
1056
|
renderTableCell(renderOpts, params) {
|
|
@@ -1152,7 +1152,7 @@ renderer.mixin({
|
|
|
1152
1152
|
tableExportMethod: handleExportSelectMethod
|
|
1153
1153
|
},
|
|
1154
1154
|
VxeTreeSelect: {
|
|
1155
|
-
tableAutoFocus:
|
|
1155
|
+
tableAutoFocus: true,
|
|
1156
1156
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
1157
1157
|
renderTableCell(renderOpts, params) {
|
|
1158
1158
|
const { options, optionGroups } = renderOpts;
|
|
@@ -1214,8 +1214,36 @@ renderer.mixin({
|
|
|
1214
1214
|
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1215
1215
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1216
1216
|
},
|
|
1217
|
+
VxeCascader: {
|
|
1218
|
+
tableAutoFocus: true,
|
|
1219
|
+
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
1220
|
+
renderTableCell(renderOpts, params) {
|
|
1221
|
+
const { options, optionGroups } = renderOpts;
|
|
1222
|
+
const { $table, row, column } = params;
|
|
1223
|
+
const opSize = options ? options.length : null;
|
|
1224
|
+
const ogSize = optionGroups ? optionGroups.length : null;
|
|
1225
|
+
const { cellResult } = $table.effectCellData(row, column, {
|
|
1226
|
+
key: 'render_table_cell',
|
|
1227
|
+
isChanged({ oldValue, cellValue }) {
|
|
1228
|
+
return oldValue && oldValue[0] === cellValue && oldValue[1] === opSize && oldValue[2] === ogSize;
|
|
1229
|
+
},
|
|
1230
|
+
setValue({ cellValue }) {
|
|
1231
|
+
return [cellValue, opSize, ogSize];
|
|
1232
|
+
},
|
|
1233
|
+
getResult({ cellValue }) {
|
|
1234
|
+
return handleTreeSelectCellValue(cellValue, renderOpts);
|
|
1235
|
+
}
|
|
1236
|
+
});
|
|
1237
|
+
// const cellResult = getTreeSelectCellValue(renderOpts, params)
|
|
1238
|
+
return getCellLabelVNs(renderOpts, params, cellResult);
|
|
1239
|
+
},
|
|
1240
|
+
tableCellFormatter: handleFormatTreeSelect,
|
|
1241
|
+
tableCellCopyMethod: handleFormatTreeSelect,
|
|
1242
|
+
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
1243
|
+
tableExportMethod: handleExportTreeSelectMethod
|
|
1244
|
+
},
|
|
1217
1245
|
VxeTableSelect: {
|
|
1218
|
-
tableAutoFocus:
|
|
1246
|
+
tableAutoFocus: true,
|
|
1219
1247
|
renderTableEdit: defaultTableOrTreeSelectEditRender,
|
|
1220
1248
|
renderTableCell(renderOpts, params) {
|
|
1221
1249
|
const { options, optionGroups } = renderOpts;
|
|
@@ -1243,7 +1271,7 @@ renderer.mixin({
|
|
|
1243
1271
|
tableExportMethod: handleExportTreeSelectMethod
|
|
1244
1272
|
},
|
|
1245
1273
|
VxeColorPicker: {
|
|
1246
|
-
tableAutoFocus:
|
|
1274
|
+
tableAutoFocus: true,
|
|
1247
1275
|
renderTableEdit(renderOpts, params) {
|
|
1248
1276
|
const { row, column } = params;
|
|
1249
1277
|
const { options } = renderOpts;
|
|
@@ -1268,7 +1296,7 @@ renderer.mixin({
|
|
|
1268
1296
|
}
|
|
1269
1297
|
},
|
|
1270
1298
|
VxeIconPicker: {
|
|
1271
|
-
tableAutoFocus:
|
|
1299
|
+
tableAutoFocus: true,
|
|
1272
1300
|
renderTableEdit(renderOpts, params) {
|
|
1273
1301
|
const { row, column } = params;
|
|
1274
1302
|
const { options } = renderOpts;
|
|
@@ -1342,7 +1370,7 @@ renderer.mixin({
|
|
|
1342
1370
|
},
|
|
1343
1371
|
// 以下已废弃
|
|
1344
1372
|
$input: {
|
|
1345
|
-
tableAutoFocus: '
|
|
1373
|
+
tableAutoFocus: 'input',
|
|
1346
1374
|
renderTableEdit: oldEditRender,
|
|
1347
1375
|
renderTableCell(renderOpts, params) {
|
|
1348
1376
|
var _a;
|
|
@@ -1370,7 +1398,7 @@ renderer.mixin({
|
|
|
1370
1398
|
tableFilterDefaultMethod: handleInputFilterMethod
|
|
1371
1399
|
},
|
|
1372
1400
|
$textarea: {
|
|
1373
|
-
tableAutoFocus: '
|
|
1401
|
+
tableAutoFocus: 'textarea'
|
|
1374
1402
|
},
|
|
1375
1403
|
$button: {
|
|
1376
1404
|
renderTableDefault: oldButtonEditRender
|
|
@@ -1379,7 +1407,7 @@ renderer.mixin({
|
|
|
1379
1407
|
renderTableDefault: oldButtonsEditRender
|
|
1380
1408
|
},
|
|
1381
1409
|
$select: {
|
|
1382
|
-
tableAutoFocus: '
|
|
1410
|
+
tableAutoFocus: 'input',
|
|
1383
1411
|
renderTableEdit: oldSelectEditRender,
|
|
1384
1412
|
renderTableDefault: oldSelectEditRender,
|
|
1385
1413
|
renderTableCell(renderOpts, params) {
|
|
@@ -1397,13 +1425,13 @@ renderer.mixin({
|
|
|
1397
1425
|
tableExportMethod: handleExportSelectMethod
|
|
1398
1426
|
},
|
|
1399
1427
|
$radio: {
|
|
1400
|
-
tableAutoFocus: '
|
|
1428
|
+
tableAutoFocus: 'input'
|
|
1401
1429
|
},
|
|
1402
1430
|
$checkbox: {
|
|
1403
|
-
tableAutoFocus: '
|
|
1431
|
+
tableAutoFocus: 'input'
|
|
1404
1432
|
},
|
|
1405
1433
|
$switch: {
|
|
1406
|
-
tableAutoFocus: '
|
|
1434
|
+
tableAutoFocus: 'button',
|
|
1407
1435
|
renderTableEdit: oldEditRender,
|
|
1408
1436
|
renderTableDefault: oldEditRender
|
|
1409
1437
|
}
|
package/es/table/src/table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, reactive, ref, provide, inject, nextTick, Teleport, onActivated, onDeactivated, onBeforeUnmount, onUnmounted, watch, computed, onMounted } from 'vue';
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
|
-
import XEUtils from 'xe-utils';
|
|
3
|
+
import XEUtils, { isNaN } from 'xe-utils';
|
|
4
4
|
import { initTpImg, getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollTopTo, wheelScrollLeftTo, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement, hasEventInputTarget } from '../../ui/src/dom';
|
|
5
5
|
import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
|
|
6
6
|
import { VxeUI } from '../../ui';
|
|
@@ -584,22 +584,32 @@ export default defineVxeComponent({
|
|
|
584
584
|
const { tableFullColumn } = internalData;
|
|
585
585
|
const { updateColFlag } = reactData;
|
|
586
586
|
const editDirtyOpts = computeEditDirtyOpts.value;
|
|
587
|
-
const { includeFields, excludeFields } = editDirtyOpts;
|
|
587
|
+
const { extraFields, includeFields, excludeFields } = editDirtyOpts;
|
|
588
588
|
const kpFields = [];
|
|
589
589
|
if (updateColFlag) {
|
|
590
590
|
if (includeFields && includeFields.length) {
|
|
591
591
|
return includeFields;
|
|
592
592
|
}
|
|
593
|
-
const
|
|
593
|
+
const excludeFdMaps = {};
|
|
594
594
|
if (excludeFields && excludeFields.length) {
|
|
595
595
|
excludeFields.forEach(field => {
|
|
596
|
-
|
|
596
|
+
excludeFdMaps[field] = 1;
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
const addFdMaps = {};
|
|
600
|
+
if (extraFields && extraFields.length) {
|
|
601
|
+
extraFields.forEach(field => {
|
|
602
|
+
if (!addFdMaps[field]) {
|
|
603
|
+
addFdMaps[field] = 1;
|
|
604
|
+
kpFields.push(field);
|
|
605
|
+
}
|
|
597
606
|
});
|
|
598
607
|
}
|
|
599
608
|
for (let i = 0; i < tableFullColumn.length; i++) {
|
|
600
609
|
const column = tableFullColumn[i];
|
|
601
610
|
const { field, type, editRender, cellRender } = column;
|
|
602
|
-
if (field && !type && (editRender || cellRender) && !
|
|
611
|
+
if (field && !type && (editRender || cellRender) && !addFdMaps[field] && !excludeFdMaps[field]) {
|
|
612
|
+
addFdMaps[field] = 1;
|
|
603
613
|
kpFields.push(field);
|
|
604
614
|
}
|
|
605
615
|
}
|
|
@@ -2071,26 +2081,63 @@ export default defineVxeComponent({
|
|
|
2071
2081
|
return cellValue;
|
|
2072
2082
|
};
|
|
2073
2083
|
};
|
|
2084
|
+
const updateAfterTreeIndex = () => {
|
|
2085
|
+
const { fullDataRowIdData, fullAllDataRowIdData, afterFullData, afterTreeFullData } = internalData;
|
|
2086
|
+
const treeOpts = computeTreeOpts.value;
|
|
2087
|
+
const { transform, mapChildrenField } = treeOpts;
|
|
2088
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2089
|
+
const fullMaps = {};
|
|
2090
|
+
let rowNum = 0;
|
|
2091
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
2092
|
+
XEUtils.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
2093
|
+
const rowid = handleGetRowId(row);
|
|
2094
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
2095
|
+
const seq = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
|
|
2096
|
+
if (rowRest) {
|
|
2097
|
+
rowRest.seq = seq;
|
|
2098
|
+
rowRest._seq = rowNum;
|
|
2099
|
+
rowRest.treeIndex = index;
|
|
2100
|
+
rowRest._tIndex = rowNum;
|
|
2101
|
+
}
|
|
2102
|
+
else {
|
|
2103
|
+
const rest = { row, rowid, _seq: rowNum, seq, index: -1, $index: -1, _index: -1, treeIndex: -1, _tIndex: rowNum, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
2104
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
2105
|
+
fullDataRowIdData[rowid] = rest;
|
|
2106
|
+
}
|
|
2107
|
+
rowNum++;
|
|
2108
|
+
fullMaps[rowid] = row;
|
|
2109
|
+
}, { children: transform ? mapChildrenField : childrenField });
|
|
2110
|
+
if (transform) {
|
|
2111
|
+
afterFullData.forEach((row, index) => {
|
|
2112
|
+
const rowid = handleGetRowId(row);
|
|
2113
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
2114
|
+
if (rowRest) {
|
|
2115
|
+
rowRest._index = index;
|
|
2116
|
+
}
|
|
2117
|
+
});
|
|
2118
|
+
}
|
|
2119
|
+
internalData.afterFullRowMaps = fullMaps;
|
|
2120
|
+
};
|
|
2074
2121
|
const updateAfterListIndex = () => {
|
|
2075
|
-
const { treeConfig } = props;
|
|
2076
2122
|
const { afterFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData;
|
|
2077
2123
|
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
2078
2124
|
const fullMaps = {};
|
|
2125
|
+
let rowNum = 0;
|
|
2079
2126
|
afterFullData.forEach((row, index) => {
|
|
2080
2127
|
const rowid = handleGetRowId(row);
|
|
2081
2128
|
const rowRest = fullAllDataRowIdData[rowid];
|
|
2082
2129
|
const seq = index + 1;
|
|
2083
2130
|
if (rowRest) {
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
}
|
|
2131
|
+
rowRest.seq = seq;
|
|
2132
|
+
rowRest._seq = rowNum;
|
|
2087
2133
|
rowRest._index = index;
|
|
2088
2134
|
}
|
|
2089
2135
|
else {
|
|
2090
|
-
const rest = { row, rowid, seq, index: -1, $index: -1, _index: index, treeIndex: -1, _tIndex: -1, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
2136
|
+
const rest = { row, rowid, _seq: rowNum, seq, index: -1, $index: -1, _index: index, treeIndex: -1, _tIndex: -1, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
2091
2137
|
fullAllDataRowIdData[rowid] = rest;
|
|
2092
2138
|
fullDataRowIdData[rowid] = rest;
|
|
2093
2139
|
}
|
|
2140
|
+
rowNum++;
|
|
2094
2141
|
fullMaps[rowid] = row;
|
|
2095
2142
|
});
|
|
2096
2143
|
internalData.afterFullRowMaps = fullMaps;
|
|
@@ -2101,45 +2148,8 @@ export default defineVxeComponent({
|
|
|
2101
2148
|
*/
|
|
2102
2149
|
const updateAfterDataIndex = () => {
|
|
2103
2150
|
const { treeConfig } = props;
|
|
2104
|
-
const { fullDataRowIdData, fullAllDataRowIdData, afterFullData, afterTreeFullData } = internalData;
|
|
2105
|
-
const treeOpts = computeTreeOpts.value;
|
|
2106
|
-
const { transform } = treeOpts;
|
|
2107
|
-
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
2108
|
-
const fullMaps = {};
|
|
2109
2151
|
if (treeConfig) {
|
|
2110
|
-
|
|
2111
|
-
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
2112
|
-
XEUtils.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
2113
|
-
const rowid = handleGetRowId(row);
|
|
2114
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
2115
|
-
const seq = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
|
|
2116
|
-
if (rowRest) {
|
|
2117
|
-
rowRest.seq = seq;
|
|
2118
|
-
rowRest.treeIndex = index;
|
|
2119
|
-
rowRest._tIndex = _treeIndex;
|
|
2120
|
-
}
|
|
2121
|
-
else {
|
|
2122
|
-
const rest = { row, rowid, seq, index: -1, $index: -1, _index: -1, treeIndex: -1, _tIndex: _treeIndex, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
2123
|
-
fullAllDataRowIdData[rowid] = rest;
|
|
2124
|
-
fullDataRowIdData[rowid] = rest;
|
|
2125
|
-
}
|
|
2126
|
-
_treeIndex++;
|
|
2127
|
-
fullMaps[rowid] = row;
|
|
2128
|
-
}, { children: transform ? treeOpts.mapChildrenField : childrenField });
|
|
2129
|
-
if (transform) {
|
|
2130
|
-
afterFullData.forEach((row, index) => {
|
|
2131
|
-
const rowid = handleGetRowId(row);
|
|
2132
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
2133
|
-
const seq = index + 1;
|
|
2134
|
-
if (rowRest) {
|
|
2135
|
-
if (!treeConfig) {
|
|
2136
|
-
rowRest.seq = seq;
|
|
2137
|
-
}
|
|
2138
|
-
rowRest._index = index;
|
|
2139
|
-
}
|
|
2140
|
-
});
|
|
2141
|
-
}
|
|
2142
|
-
internalData.afterFullRowMaps = fullMaps;
|
|
2152
|
+
updateAfterTreeIndex();
|
|
2143
2153
|
}
|
|
2144
2154
|
else {
|
|
2145
2155
|
updateAfterListIndex();
|
|
@@ -3335,8 +3345,9 @@ export default defineVxeComponent({
|
|
|
3335
3345
|
}
|
|
3336
3346
|
});
|
|
3337
3347
|
};
|
|
3338
|
-
const
|
|
3339
|
-
const handleLazyRecalculate = (reFull, reWidth, reHeight) => {
|
|
3348
|
+
const defaultMinRunDelay = 50;
|
|
3349
|
+
const handleLazyRecalculate = (reFull, reWidth, reHeight, options) => {
|
|
3350
|
+
const minRunDelay = (options ? options.minRunDelay : defaultMinRunDelay) || defaultMinRunDelay;
|
|
3340
3351
|
return new Promise(resolve => {
|
|
3341
3352
|
const $xeGanttView = internalData.xeGanttView;
|
|
3342
3353
|
const { customStore } = reactData;
|
|
@@ -3363,6 +3374,7 @@ export default defineVxeComponent({
|
|
|
3363
3374
|
}
|
|
3364
3375
|
if (rceTimeout) {
|
|
3365
3376
|
clearTimeout(rceTimeout);
|
|
3377
|
+
// 多少毫秒内至少执行一次
|
|
3366
3378
|
if (rceRunTime && rceRunTime + minRunDelay < Date.now()) {
|
|
3367
3379
|
resolve(handleRecalculateStyle(reFull, reWidth, reHeight));
|
|
3368
3380
|
}
|
|
@@ -3387,16 +3399,17 @@ export default defineVxeComponent({
|
|
|
3387
3399
|
}, reDelay);
|
|
3388
3400
|
});
|
|
3389
3401
|
};
|
|
3390
|
-
let resizePending = false;
|
|
3391
3402
|
const handleResizeEvent = () => {
|
|
3392
|
-
if (
|
|
3403
|
+
if (internalData.rsePending) {
|
|
3393
3404
|
return;
|
|
3394
3405
|
}
|
|
3395
|
-
|
|
3396
|
-
handleLazyRecalculate(true, true, true
|
|
3397
|
-
|
|
3406
|
+
internalData.rsePending = true;
|
|
3407
|
+
handleLazyRecalculate(true, true, true, {
|
|
3408
|
+
minRunDelay: 200
|
|
3409
|
+
}).then(() => {
|
|
3410
|
+
internalData.rsePending = false;
|
|
3398
3411
|
}).catch(() => {
|
|
3399
|
-
|
|
3412
|
+
internalData.rsePending = false;
|
|
3400
3413
|
});
|
|
3401
3414
|
};
|
|
3402
3415
|
const handleUpdateAggValues = () => {
|
|
@@ -4984,7 +4997,7 @@ export default defineVxeComponent({
|
|
|
4984
4997
|
XEUtils.eachTree(rows, (childRow, index, items, path, parentItem, nodes) => {
|
|
4985
4998
|
const rowid = getRowid($xeTable, childRow);
|
|
4986
4999
|
const parentRow = parentItem || parentRest.row;
|
|
4987
|
-
const rest = { row: childRow, rowid, seq: -1, index, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items, parent: parentRow, level: parentLevel + nodes.length, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
5000
|
+
const rest = { row: childRow, rowid, _seq: -1, seq: -1, index, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items, parent: parentRow, level: parentLevel + nodes.length, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
4988
5001
|
fullDataRowIdData[rowid] = rest;
|
|
4989
5002
|
fullAllDataRowIdData[rowid] = rest;
|
|
4990
5003
|
}, { children: childrenField });
|
|
@@ -9398,18 +9411,20 @@ export default defineVxeComponent({
|
|
|
9398
9411
|
const fullDataRowIdMaps = {};
|
|
9399
9412
|
const idMaps = {};
|
|
9400
9413
|
const { handleUpdateRowId } = createHandleUpdateRowId($xeTable);
|
|
9414
|
+
let rowNum = 0;
|
|
9401
9415
|
const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
|
|
9402
9416
|
let rowRest = fullAllDataRowIdMaps[rowid];
|
|
9403
9417
|
if (idMaps[rowid]) {
|
|
9404
9418
|
errLog('vxe.error.repeatKey', [currKeyField, rowid]);
|
|
9405
9419
|
}
|
|
9406
9420
|
if (!rowRest) {
|
|
9407
|
-
rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, _tIndex: -1, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
9421
|
+
rowRest = { row, rowid, _seq: -1, seq, index: -1, _index: -1, $index: -1, treeIndex: index, _tIndex: -1, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
|
|
9408
9422
|
fullDataRowIdMaps[rowid] = rowRest;
|
|
9409
9423
|
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
9410
9424
|
}
|
|
9411
9425
|
rowRest.treeLoaded = false;
|
|
9412
9426
|
rowRest.expandLoaded = false;
|
|
9427
|
+
rowRest._seq = rowNum++;
|
|
9413
9428
|
rowRest.row = row;
|
|
9414
9429
|
rowRest.items = items;
|
|
9415
9430
|
rowRest.parent = parentRow;
|
|
@@ -9423,6 +9438,7 @@ export default defineVxeComponent({
|
|
|
9423
9438
|
if (rowExpandedMaps[rowid]) {
|
|
9424
9439
|
rowExpandedMaps[rowid] = row;
|
|
9425
9440
|
}
|
|
9441
|
+
rowNum++;
|
|
9426
9442
|
idMaps[rowid] = true;
|
|
9427
9443
|
fullDataRowIdMaps[rowid] = rowRest;
|
|
9428
9444
|
fullAllDataRowIdMaps[rowid] = rowRest;
|
|
@@ -10723,31 +10739,162 @@ export default defineVxeComponent({
|
|
|
10723
10739
|
const { treeConfig } = props;
|
|
10724
10740
|
const { row } = params;
|
|
10725
10741
|
const { isRowGroupStatus } = reactData;
|
|
10726
|
-
const { afterFullData } = internalData;
|
|
10742
|
+
const { fullAllDataRowIdData, afterFullData, afterTreeFullData, afterGroupFullData } = internalData;
|
|
10727
10743
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
10728
|
-
const
|
|
10744
|
+
const aggregateOpts = computeAggregateOpts.value;
|
|
10745
|
+
const treeOpts = computeTreeOpts.value;
|
|
10746
|
+
const { checkMethod, trigger, checkStrictly } = checkboxOpts;
|
|
10729
10747
|
if (trigger === 'manual') {
|
|
10730
10748
|
return;
|
|
10731
10749
|
}
|
|
10732
10750
|
evnt.stopPropagation();
|
|
10733
|
-
if (checkboxOpts.isShiftKey && evnt.shiftKey
|
|
10751
|
+
if (checkboxOpts.isShiftKey && evnt.shiftKey) {
|
|
10752
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
10734
10753
|
const checkboxRecords = $xeTable.getCheckboxRecords();
|
|
10735
|
-
|
|
10736
|
-
|
|
10737
|
-
|
|
10738
|
-
|
|
10739
|
-
|
|
10754
|
+
let currSeq = -1;
|
|
10755
|
+
let currRow = null;
|
|
10756
|
+
const currRowid = handleGetRowId(row);
|
|
10757
|
+
const rowRest = fullAllDataRowIdData[currRowid];
|
|
10758
|
+
if (rowRest) {
|
|
10759
|
+
currRow = rowRest.row;
|
|
10760
|
+
currSeq = rowRest._seq;
|
|
10761
|
+
}
|
|
10762
|
+
if (currRow && checkboxRecords.length) {
|
|
10763
|
+
let rangeRows = [];
|
|
10764
|
+
let firstSeq = -1;
|
|
10765
|
+
let firstRow = null;
|
|
10766
|
+
let firstRowid = '';
|
|
10767
|
+
let lastSeq = -1;
|
|
10768
|
+
let lastRow = null;
|
|
10769
|
+
let lastRowid = '';
|
|
10770
|
+
// 根据序号取出范围最小/最大的行
|
|
10771
|
+
const selectMaps = {};
|
|
10772
|
+
checkboxRecords.forEach(item => {
|
|
10773
|
+
const rowid = handleGetRowId(item);
|
|
10774
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
10775
|
+
if (rowRest) {
|
|
10776
|
+
if (!firstRow || firstSeq > rowRest._seq) {
|
|
10777
|
+
firstRowid = rowRest.rowid;
|
|
10778
|
+
firstRow = rowRest.row;
|
|
10779
|
+
firstSeq = rowRest._seq;
|
|
10780
|
+
}
|
|
10781
|
+
if (!lastRow || lastSeq < rowRest._seq) {
|
|
10782
|
+
lastRowid = rowRest.rowid;
|
|
10783
|
+
lastRow = rowRest.row;
|
|
10784
|
+
lastSeq = rowRest._seq;
|
|
10785
|
+
}
|
|
10786
|
+
}
|
|
10787
|
+
selectMaps[rowid] = item;
|
|
10788
|
+
});
|
|
10789
|
+
// 如果已选只有一条并选择当前则跳过
|
|
10790
|
+
if (firstRow && lastRow && (checkboxRecords.length > 1 || currRowid !== firstRowid) && (Math.abs(firstSeq - lastSeq) > 1 || Math.abs(currSeq - firstSeq) > 1 || Math.abs(currSeq - lastSeq) > 1)) {
|
|
10791
|
+
// 树与分组
|
|
10792
|
+
if (treeConfig || isRowGroupStatus) {
|
|
10793
|
+
const { transform } = treeOpts;
|
|
10794
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
10795
|
+
const iteratorChildField = treeConfig ? (transform ? treeOpts.mapChildrenField : childrenField) : aggregateOpts.mapChildrenField;
|
|
10796
|
+
let isMatchFirst = false;
|
|
10797
|
+
let matchStartRowid = '';
|
|
10798
|
+
let matchEndRowid = '';
|
|
10799
|
+
const handleGetChildRowid = (rowid, isLast) => {
|
|
10800
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
10801
|
+
if (rowRest) {
|
|
10802
|
+
const item = rowRest.row;
|
|
10803
|
+
const childList = item[iteratorChildField];
|
|
10804
|
+
if (childList && childList.length) {
|
|
10805
|
+
const targetRow = isLast ? XEUtils.last(childList) : XEUtils.first(childList);
|
|
10806
|
+
return handleGetChildRowid(handleGetRowId(targetRow), isLast);
|
|
10807
|
+
}
|
|
10808
|
+
}
|
|
10809
|
+
return rowid;
|
|
10810
|
+
};
|
|
10811
|
+
const handleGetSelectParentRowid = (rowid) => {
|
|
10812
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
10813
|
+
if (rowRest) {
|
|
10814
|
+
const parentItem = rowRest.parent;
|
|
10815
|
+
if (parentItem) {
|
|
10816
|
+
const parentRowid = handleGetRowId(parentItem);
|
|
10817
|
+
if (selectMaps[parentRowid]) {
|
|
10818
|
+
return handleGetSelectParentRowid(parentRowid);
|
|
10819
|
+
}
|
|
10820
|
+
}
|
|
10821
|
+
}
|
|
10822
|
+
return rowid;
|
|
10823
|
+
};
|
|
10824
|
+
const handleGetRootRow = (row) => {
|
|
10825
|
+
const rowid = handleGetRowId(row);
|
|
10826
|
+
if (rowid) {
|
|
10827
|
+
const rest = fullAllDataRowIdData[rowid];
|
|
10828
|
+
if (rest) {
|
|
10829
|
+
return rest.parent ? handleGetRootRow(rest.parent) : rest;
|
|
10830
|
+
}
|
|
10831
|
+
}
|
|
10832
|
+
return null;
|
|
10833
|
+
};
|
|
10834
|
+
if (currSeq < firstSeq) {
|
|
10835
|
+
matchStartRowid = handleGetChildRowid(currRowid, 0);
|
|
10836
|
+
matchEndRowid = handleGetChildRowid(firstRowid, 1);
|
|
10837
|
+
}
|
|
10838
|
+
else {
|
|
10839
|
+
if (currSeq > lastSeq) {
|
|
10840
|
+
matchStartRowid = handleGetSelectParentRowid(lastRowid);
|
|
10841
|
+
}
|
|
10842
|
+
else {
|
|
10843
|
+
matchStartRowid = handleGetChildRowid(firstRowid, 0);
|
|
10844
|
+
}
|
|
10845
|
+
matchEndRowid = handleGetChildRowid(currRowid, 1);
|
|
10846
|
+
}
|
|
10847
|
+
const handleRangeRow = (item) => {
|
|
10848
|
+
const rowid = handleGetRowId(item);
|
|
10849
|
+
const childList = item[iteratorChildField];
|
|
10850
|
+
if (!isMatchFirst && rowid === matchStartRowid) {
|
|
10851
|
+
isMatchFirst = true;
|
|
10852
|
+
}
|
|
10853
|
+
// 如果是父子关联,则排除父节点
|
|
10854
|
+
if (isMatchFirst && (checkStrictly || !childList || !childList.length)) {
|
|
10855
|
+
rangeRows.push(item);
|
|
10856
|
+
}
|
|
10857
|
+
// break
|
|
10858
|
+
return rowid === matchEndRowid;
|
|
10859
|
+
};
|
|
10860
|
+
if (treeConfig) {
|
|
10861
|
+
const matchStartRowRest = fullAllDataRowIdData[matchStartRowid];
|
|
10862
|
+
const firstRootRowRest = matchStartRowRest ? handleGetRootRow(matchStartRowRest.row) : null;
|
|
10863
|
+
if (firstRootRowRest) {
|
|
10864
|
+
// 优化查找复杂度
|
|
10865
|
+
XEUtils.findTree(afterTreeFullData.slice(firstRootRowRest.treeIndex), handleRangeRow, { children: iteratorChildField });
|
|
10866
|
+
}
|
|
10867
|
+
else {
|
|
10868
|
+
XEUtils.findTree(afterTreeFullData, handleRangeRow, { children: iteratorChildField });
|
|
10869
|
+
}
|
|
10870
|
+
}
|
|
10871
|
+
else {
|
|
10872
|
+
XEUtils.findTree(afterGroupFullData, handleRangeRow, { children: iteratorChildField });
|
|
10873
|
+
}
|
|
10874
|
+
}
|
|
10875
|
+
else {
|
|
10876
|
+
const _currRowIndex = $xeTable.getVTRowIndex(currRow);
|
|
10877
|
+
const _firstRowIndex = $xeTable.getVTRowIndex(firstRow);
|
|
10878
|
+
const _lastRowIndex = $xeTable.getVTRowIndex(lastRow);
|
|
10879
|
+
if (_currRowIndex < _firstRowIndex) {
|
|
10880
|
+
rangeRows = afterFullData.slice(_currRowIndex, _firstRowIndex + 1);
|
|
10881
|
+
}
|
|
10882
|
+
else if (_currRowIndex > _lastRowIndex) {
|
|
10883
|
+
rangeRows = afterFullData.slice(_lastRowIndex, _currRowIndex + 1);
|
|
10884
|
+
}
|
|
10885
|
+
else {
|
|
10886
|
+
rangeRows = afterFullData.slice(_firstRowIndex, _currRowIndex + 1);
|
|
10887
|
+
}
|
|
10888
|
+
}
|
|
10740
10889
|
$xeTable.setAllCheckboxRow(false);
|
|
10741
|
-
const rangeRows = _rowIndex < _firstRowIndex ? afterFullData.slice(_rowIndex, _firstRowIndex + 1) : afterFullData.slice(_firstRowIndex, _rowIndex + 1);
|
|
10742
10890
|
nextTick(() => {
|
|
10743
10891
|
handleCheckedCheckboxRow(rangeRows, true, false);
|
|
10744
10892
|
});
|
|
10745
10893
|
dispatchEvent('checkbox-range-select', Object.assign({ rangeRecords: rangeRows }, params), evnt);
|
|
10746
|
-
return;
|
|
10747
10894
|
}
|
|
10748
10895
|
}
|
|
10749
10896
|
}
|
|
10750
|
-
if (
|
|
10897
|
+
if (!checkMethod || checkMethod({ $table: $xeTable, row })) {
|
|
10751
10898
|
$xeTable.handleBatchSelectRows([row], checked);
|
|
10752
10899
|
$xeTable.checkSelectionStatus();
|
|
10753
10900
|
dispatchEvent('checkbox-change', Object.assign({
|
|
@@ -14240,9 +14387,6 @@ export default defineVxeComponent({
|
|
|
14240
14387
|
if (props.editConfig && editOpts.activeMethod) {
|
|
14241
14388
|
warnLog('vxe.error.delProp', ['edit-config.activeMethod', 'edit-config.beforeEditMethod']);
|
|
14242
14389
|
}
|
|
14243
|
-
if (props.treeConfig && checkboxOpts.isShiftKey) {
|
|
14244
|
-
errLog('vxe.error.reqSupportProp', ['tree-config', 'checkbox-config.isShiftKey=false']);
|
|
14245
|
-
}
|
|
14246
14390
|
if (checkboxOpts.halfField) {
|
|
14247
14391
|
warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
|
|
14248
14392
|
}
|