vxe-table 4.19.1 → 4.19.3

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.
Files changed (181) hide show
  1. package/dist/all.esm.js +31932 -0
  2. package/dist/style.css +1 -0
  3. package/dist/style.min.css +1 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +6 -2
  7. package/es/locale/lang/de-DE.js +6 -2
  8. package/es/locale/lang/en-US.js +6 -2
  9. package/es/locale/lang/es-ES.js +6 -2
  10. package/es/locale/lang/fr-FR.js +6 -2
  11. package/es/locale/lang/hu-HU.js +6 -2
  12. package/es/locale/lang/hy-AM.js +6 -2
  13. package/es/locale/lang/id-ID.js +6 -2
  14. package/es/locale/lang/it-IT.js +6 -2
  15. package/es/locale/lang/ja-JP.js +6 -2
  16. package/es/locale/lang/ko-KR.js +6 -2
  17. package/es/locale/lang/ms-MY.js +6 -2
  18. package/es/locale/lang/nb-NO.js +6 -2
  19. package/es/locale/lang/pt-BR.js +6 -2
  20. package/es/locale/lang/ru-RU.js +6 -2
  21. package/es/locale/lang/th-TH.js +6 -2
  22. package/es/locale/lang/ug-CN.js +6 -2
  23. package/es/locale/lang/uk-UA.js +6 -2
  24. package/es/locale/lang/uz-UZ.js +6 -2
  25. package/es/locale/lang/vi-VN.js +6 -2
  26. package/es/locale/lang/zh-CHT.js +6 -2
  27. package/es/locale/lang/zh-CN.js +6 -2
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/custom/panel.js +29 -22
  31. package/es/table/module/export/export-panel.js +27 -16
  32. package/es/table/module/export/hook.js +120 -27
  33. package/es/table/module/validator/hook.js +2 -2
  34. package/es/table/src/cell.js +1 -1
  35. package/es/table/src/column.js +2 -0
  36. package/es/table/src/columnInfo.js +1 -0
  37. package/es/table/src/table.js +94 -31
  38. package/es/table/src/util.js +3 -1
  39. package/es/table/style.css +1 -1
  40. package/es/table/style.min.css +1 -1
  41. package/es/ui/index.js +1 -1
  42. package/es/ui/src/log.js +1 -1
  43. package/es/vxe-table/style.css +1 -1
  44. package/es/vxe-table/style.min.css +1 -1
  45. package/lib/index.css +1 -1
  46. package/lib/index.min.css +1 -1
  47. package/lib/index.umd.js +213 -75
  48. package/lib/index.umd.min.js +1 -1
  49. package/lib/locale/lang/ar-EG.js +6 -2
  50. package/lib/locale/lang/ar-EG.min.js +1 -1
  51. package/lib/locale/lang/ar-EG.umd.js +6 -2
  52. package/lib/locale/lang/de-DE.js +6 -2
  53. package/lib/locale/lang/de-DE.min.js +1 -1
  54. package/lib/locale/lang/de-DE.umd.js +6 -2
  55. package/lib/locale/lang/en-US.js +6 -2
  56. package/lib/locale/lang/en-US.min.js +1 -1
  57. package/lib/locale/lang/en-US.umd.js +6 -2
  58. package/lib/locale/lang/es-ES.js +6 -2
  59. package/lib/locale/lang/es-ES.min.js +1 -1
  60. package/lib/locale/lang/es-ES.umd.js +6 -2
  61. package/lib/locale/lang/fr-FR.js +6 -2
  62. package/lib/locale/lang/fr-FR.min.js +1 -1
  63. package/lib/locale/lang/fr-FR.umd.js +6 -2
  64. package/lib/locale/lang/hu-HU.js +6 -2
  65. package/lib/locale/lang/hu-HU.min.js +1 -1
  66. package/lib/locale/lang/hu-HU.umd.js +6 -2
  67. package/lib/locale/lang/hy-AM.js +6 -2
  68. package/lib/locale/lang/hy-AM.min.js +1 -1
  69. package/lib/locale/lang/hy-AM.umd.js +6 -2
  70. package/lib/locale/lang/id-ID.js +6 -2
  71. package/lib/locale/lang/id-ID.min.js +1 -1
  72. package/lib/locale/lang/id-ID.umd.js +6 -2
  73. package/lib/locale/lang/it-IT.js +6 -2
  74. package/lib/locale/lang/it-IT.min.js +1 -1
  75. package/lib/locale/lang/it-IT.umd.js +6 -2
  76. package/lib/locale/lang/ja-JP.js +6 -2
  77. package/lib/locale/lang/ja-JP.min.js +1 -1
  78. package/lib/locale/lang/ja-JP.umd.js +6 -2
  79. package/lib/locale/lang/ko-KR.js +6 -2
  80. package/lib/locale/lang/ko-KR.min.js +1 -1
  81. package/lib/locale/lang/ko-KR.umd.js +6 -2
  82. package/lib/locale/lang/ms-MY.js +6 -2
  83. package/lib/locale/lang/ms-MY.min.js +1 -1
  84. package/lib/locale/lang/ms-MY.umd.js +6 -2
  85. package/lib/locale/lang/nb-NO.js +6 -2
  86. package/lib/locale/lang/nb-NO.min.js +1 -1
  87. package/lib/locale/lang/nb-NO.umd.js +6 -2
  88. package/lib/locale/lang/pt-BR.js +6 -2
  89. package/lib/locale/lang/pt-BR.min.js +1 -1
  90. package/lib/locale/lang/pt-BR.umd.js +6 -2
  91. package/lib/locale/lang/ru-RU.js +6 -2
  92. package/lib/locale/lang/ru-RU.min.js +1 -1
  93. package/lib/locale/lang/ru-RU.umd.js +6 -2
  94. package/lib/locale/lang/th-TH.js +6 -2
  95. package/lib/locale/lang/th-TH.min.js +1 -1
  96. package/lib/locale/lang/th-TH.umd.js +6 -2
  97. package/lib/locale/lang/ug-CN.js +6 -2
  98. package/lib/locale/lang/ug-CN.min.js +1 -1
  99. package/lib/locale/lang/ug-CN.umd.js +6 -2
  100. package/lib/locale/lang/uk-UA.js +6 -2
  101. package/lib/locale/lang/uk-UA.min.js +1 -1
  102. package/lib/locale/lang/uk-UA.umd.js +6 -2
  103. package/lib/locale/lang/uz-UZ.js +6 -2
  104. package/lib/locale/lang/uz-UZ.min.js +1 -1
  105. package/lib/locale/lang/uz-UZ.umd.js +6 -2
  106. package/lib/locale/lang/vi-VN.js +6 -2
  107. package/lib/locale/lang/vi-VN.min.js +1 -1
  108. package/lib/locale/lang/vi-VN.umd.js +6 -2
  109. package/lib/locale/lang/zh-CHT.js +6 -2
  110. package/lib/locale/lang/zh-CHT.min.js +1 -1
  111. package/lib/locale/lang/zh-CHT.umd.js +6 -2
  112. package/lib/locale/lang/zh-CN.js +6 -2
  113. package/lib/locale/lang/zh-CN.min.js +1 -1
  114. package/lib/locale/lang/zh-CN.umd.js +6 -2
  115. package/lib/style.css +1 -1
  116. package/lib/style.min.css +1 -1
  117. package/lib/table/module/custom/panel.js +30 -21
  118. package/lib/table/module/custom/panel.min.js +1 -1
  119. package/lib/table/module/export/export-panel.js +22 -13
  120. package/lib/table/module/export/export-panel.min.js +1 -1
  121. package/lib/table/module/export/hook.js +139 -28
  122. package/lib/table/module/export/hook.min.js +1 -1
  123. package/lib/table/module/validator/hook.js +2 -2
  124. package/lib/table/module/validator/hook.min.js +1 -1
  125. package/lib/table/src/cell.js +1 -1
  126. package/lib/table/src/cell.min.js +1 -1
  127. package/lib/table/src/column.js +2 -0
  128. package/lib/table/src/column.min.js +1 -1
  129. package/lib/table/src/columnInfo.js +1 -0
  130. package/lib/table/src/columnInfo.min.js +1 -1
  131. package/lib/table/src/table.js +5 -5
  132. package/lib/table/src/table.min.js +1 -1
  133. package/lib/table/src/util.js +3 -1
  134. package/lib/table/src/util.min.js +1 -1
  135. package/lib/table/style/style.css +1 -1
  136. package/lib/table/style/style.min.css +1 -1
  137. package/lib/ui/index.js +1 -1
  138. package/lib/ui/index.min.js +1 -1
  139. package/lib/ui/src/log.js +1 -1
  140. package/lib/ui/src/log.min.js +1 -1
  141. package/lib/vxe-table/style/style.css +1 -1
  142. package/lib/vxe-table/style/style.min.css +1 -1
  143. package/package.json +5 -2
  144. package/packages/locale/lang/ar-EG.ts +6 -2
  145. package/packages/locale/lang/de-DE.ts +6 -2
  146. package/packages/locale/lang/en-US.ts +6 -2
  147. package/packages/locale/lang/es-ES.ts +6 -2
  148. package/packages/locale/lang/fr-FR.ts +6 -2
  149. package/packages/locale/lang/hu-HU.ts +6 -2
  150. package/packages/locale/lang/hy-AM.ts +6 -2
  151. package/packages/locale/lang/id-ID.ts +6 -2
  152. package/packages/locale/lang/it-IT.ts +6 -2
  153. package/packages/locale/lang/ja-JP.ts +6 -2
  154. package/packages/locale/lang/ko-KR.ts +6 -2
  155. package/packages/locale/lang/ms-MY.ts +6 -2
  156. package/packages/locale/lang/nb-NO.ts +6 -2
  157. package/packages/locale/lang/pt-BR.ts +6 -2
  158. package/packages/locale/lang/ru-RU.ts +6 -2
  159. package/packages/locale/lang/th-TH.ts +6 -2
  160. package/packages/locale/lang/ug-CN.ts +6 -2
  161. package/packages/locale/lang/uk-UA.ts +6 -2
  162. package/packages/locale/lang/uz-UZ.ts +6 -2
  163. package/packages/locale/lang/vi-VN.ts +6 -2
  164. package/packages/locale/lang/zh-CHT.ts +6 -2
  165. package/packages/locale/lang/zh-CN.ts +6 -2
  166. package/packages/table/module/custom/panel.ts +30 -23
  167. package/packages/table/module/export/export-panel.ts +27 -16
  168. package/packages/table/module/export/hook.ts +121 -28
  169. package/packages/table/module/validator/hook.ts +2 -2
  170. package/packages/table/src/cell.ts +1 -1
  171. package/packages/table/src/column.ts +2 -0
  172. package/packages/table/src/columnInfo.ts +1 -0
  173. package/packages/table/src/table.ts +96 -31
  174. package/packages/table/src/util.ts +3 -1
  175. package/styles/components/table-module/export.scss +1 -1
  176. /package/es/{iconfont.1779447258442.ttf → iconfont.1779843543280.ttf} +0 -0
  177. /package/es/{iconfont.1779447258442.woff → iconfont.1779843543280.woff} +0 -0
  178. /package/es/{iconfont.1779447258442.woff2 → iconfont.1779843543280.woff2} +0 -0
  179. /package/lib/{iconfont.1779447258442.ttf → iconfont.1779843543280.ttf} +0 -0
  180. /package/lib/{iconfont.1779447258442.woff → iconfont.1779843543280.woff} +0 -0
  181. /package/lib/{iconfont.1779447258442.woff2 → iconfont.1779843543280.woff2} +0 -0
@@ -260,6 +260,10 @@ export default defineVxeComponent({
260
260
  const computeRowGroupOpts = computed(() => {
261
261
  return computeAggregateOpts.value;
262
262
  });
263
+ const computeAggregateMode = computed(() => {
264
+ const aggregateOpts = computeAggregateOpts.value;
265
+ return aggregateOpts.mode;
266
+ });
263
267
  const computeAggregateAccuracyOpts = computed(() => {
264
268
  return Object.assign({}, getConfig().table.aggregateAccuracyConfig, props.aggregateAccuracyConfig);
265
269
  });
@@ -3453,12 +3457,12 @@ export default defineVxeComponent({
3453
3457
  handleeGroupSummary(aggList);
3454
3458
  }
3455
3459
  };
3456
- const handleGroupData = (list, rowGroups) => {
3460
+ const handleGroupData = (list, rowGroups, isCombinedField) => {
3457
3461
  let fullData = list;
3458
3462
  let treeData = list;
3459
3463
  if (rowGroups) {
3460
3464
  const aggregateOpts = computeAggregateOpts.value;
3461
- const { rowField, parentField, childrenField, mapChildrenField } = aggregateOpts;
3465
+ const { rowField, parentField, separator, childrenField, mapChildrenField } = aggregateOpts;
3462
3466
  const rowOpts = computeRowOpts.value;
3463
3467
  const checkboxOpts = computeCheckboxOpts.value;
3464
3468
  const { checkField } = checkboxOpts;
@@ -3470,11 +3474,26 @@ export default defineVxeComponent({
3470
3474
  const groupField = rgItem.field;
3471
3475
  const groupColumn = $xeTable.getColumnByField(groupField);
3472
3476
  const groupMaps = {};
3477
+ const groupCombinedMaps = {};
3473
3478
  const aggList = [];
3474
3479
  const rowkey = getRowkey($xeTable);
3475
3480
  list.forEach((row) => {
3476
3481
  const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : XEUtils.get(row, groupField);
3477
- const groupValue = XEUtils.eqNull(cellValue) ? '' : cellValue;
3482
+ let groupValue = XEUtils.eqNull(cellValue) ? '' : cellValue;
3483
+ if (isCombinedField) {
3484
+ const groupVals = [groupValue];
3485
+ rowGroups.slice(1).forEach(ogItem => {
3486
+ const ogField = ogItem.field;
3487
+ const ogColumn = $xeTable.getColumnByField(ogField);
3488
+ const ocValue = ogColumn ? $xeTable.getCellLabel(row, ogColumn) : XEUtils.get(row, ogField);
3489
+ const ogValue = XEUtils.eqNull(ocValue) ? '' : ocValue;
3490
+ groupValue += (separator || ' / ') + ogValue;
3491
+ groupVals.push(ogValue);
3492
+ });
3493
+ if (!groupCombinedMaps[groupValue]) {
3494
+ groupCombinedMaps[groupValue] = groupVals;
3495
+ }
3496
+ }
3478
3497
  let childList = groupMaps[groupValue];
3479
3498
  if (!childList) {
3480
3499
  childList = [];
@@ -3485,33 +3504,62 @@ export default defineVxeComponent({
3485
3504
  }
3486
3505
  childList.push(row);
3487
3506
  });
3488
- XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3489
- const { fullData: childFullData, treeData: childTreeData } = handleGroupData(childList, rowGroups.slice(1));
3490
- const aggRow = {
3491
- isAggregate: true,
3492
- aggData: {},
3493
- groupContent: groupValue,
3494
- groupField,
3495
- childCount: 0,
3496
- [rowField]: getRowUniqueId(),
3497
- [parentField]: null,
3498
- [childrenField]: childTreeData,
3499
- [mapChildrenField]: childTreeData
3500
- };
3501
- aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3502
- if (checkField) {
3503
- aggRow[checkField] = false;
3504
- }
3505
- if (indeterminateField) {
3506
- aggRow[indeterminateField] = false;
3507
- }
3508
- aggList.push(aggRow);
3509
- treeData.push(aggRow);
3510
- fullData.push(aggRow);
3511
- if (childFullData.length) {
3512
- fullData.push(...childFullData);
3513
- }
3514
- });
3507
+ if (isCombinedField) {
3508
+ XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3509
+ const aggRow = {
3510
+ isAggregate: true,
3511
+ aggData: {},
3512
+ groupContent: groupValue,
3513
+ groupCombineds: groupCombinedMaps[groupValue],
3514
+ groupField,
3515
+ childCount: 0,
3516
+ [rowField]: getRowUniqueId(),
3517
+ [parentField]: null,
3518
+ [childrenField]: childList,
3519
+ [mapChildrenField]: childList
3520
+ };
3521
+ aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3522
+ if (checkField) {
3523
+ aggRow[checkField] = false;
3524
+ }
3525
+ if (indeterminateField) {
3526
+ aggRow[indeterminateField] = false;
3527
+ }
3528
+ aggList.push(aggRow);
3529
+ treeData.push(aggRow);
3530
+ fullData.push(aggRow);
3531
+ });
3532
+ }
3533
+ else {
3534
+ XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3535
+ const { fullData: childFullData, treeData: childTreeData } = handleGroupData(childList, rowGroups.slice(1));
3536
+ const aggRow = {
3537
+ isAggregate: true,
3538
+ aggData: {},
3539
+ groupContent: groupValue,
3540
+ groupCombineds: [],
3541
+ groupField,
3542
+ childCount: 0,
3543
+ [rowField]: getRowUniqueId(),
3544
+ [parentField]: null,
3545
+ [childrenField]: childTreeData,
3546
+ [mapChildrenField]: childTreeData
3547
+ };
3548
+ aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3549
+ if (checkField) {
3550
+ aggRow[checkField] = false;
3551
+ }
3552
+ if (indeterminateField) {
3553
+ aggRow[indeterminateField] = false;
3554
+ }
3555
+ aggList.push(aggRow);
3556
+ treeData.push(aggRow);
3557
+ fullData.push(aggRow);
3558
+ if (childFullData.length) {
3559
+ fullData.push(...childFullData);
3560
+ }
3561
+ });
3562
+ }
3515
3563
  handleeGroupSummary(aggList);
3516
3564
  }
3517
3565
  }
@@ -3520,6 +3568,13 @@ export default defineVxeComponent({
3520
3568
  fullData
3521
3569
  };
3522
3570
  };
3571
+ const initGroupData = (list, rowGroups) => {
3572
+ const aggregateOpts = computeAggregateOpts.value;
3573
+ const { mode } = aggregateOpts;
3574
+ const isCombinedField = mode === 'combined';
3575
+ const groupRest = handleGroupData(list, rowGroups, isCombinedField);
3576
+ return groupRest;
3577
+ };
3523
3578
  const initData = () => {
3524
3579
  const { data } = props;
3525
3580
  loadTableData(data || [], true, true).then(() => {
@@ -3602,7 +3657,7 @@ export default defineVxeComponent({
3602
3657
  }
3603
3658
  }
3604
3659
  else if ((aggregateConfig || rowGroupConfig) && rowGroupList.length) {
3605
- const groupRest = handleGroupData(fullData, rowGroupList);
3660
+ const groupRest = initGroupData(fullData, rowGroupList);
3606
3661
  treeData = groupRest.treeData;
3607
3662
  fullData = groupRest.fullData;
3608
3663
  isRGroup = true;
@@ -13665,6 +13720,11 @@ export default defineVxeComponent({
13665
13720
  });
13666
13721
  internalData.keepUpdateFieldMaps = kpfMaps;
13667
13722
  });
13723
+ watch(computeAggregateMode, () => {
13724
+ if (reactData.isRowGroupStatus) {
13725
+ loadTableData(internalData.tableSynchData, false, true);
13726
+ }
13727
+ });
13668
13728
  if ($xeTabs) {
13669
13729
  watch(() => $xeTabs ? $xeTabs.reactData.resizeFlag : null, () => {
13670
13730
  handleGlobalResizeEvent();
@@ -13816,6 +13876,9 @@ export default defineVxeComponent({
13816
13876
  if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
13817
13877
  warnLog('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)).join(',') || XEUtils.keys(exportOpts._typeMaps).join(',')]);
13818
13878
  }
13879
+ if (exportConfig && XEUtils.isBoolean(exportOpts.isAllExpand)) {
13880
+ warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
13881
+ }
13819
13882
  if (!props.id) {
13820
13883
  if ((props.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
13821
13884
  errLog('vxe.error.reqProp', ['id']);
@@ -323,6 +323,7 @@ export function createReactData() {
323
323
  hasFooter: false,
324
324
  hasMerge: false,
325
325
  hasTree: false,
326
+ hasRowGroup: false,
326
327
  hasColgroup: false,
327
328
  visible: false
328
329
  },
@@ -333,7 +334,8 @@ export function createReactData() {
333
334
  type: '',
334
335
  isColgroup: false,
335
336
  isMerge: false,
336
- isAllExpand: false,
337
+ isTreeAllExpanded: false,
338
+ isRowGroupAllExpanded: false,
337
339
  useStyle: false,
338
340
  original: false,
339
341
  message: true,
@@ -1364,7 +1364,7 @@
1364
1364
  width: 80%;
1365
1365
  }
1366
1366
  .vxe-table-export--panel .vxe-table-export--panel-table tr td > .vxe-table-export--panel-option-row {
1367
- padding: 0.25em 0;
1367
+ padding: 0.5em 0;
1368
1368
  }
1369
1369
  .vxe-table-export--panel .vxe-table-export--panel-column {
1370
1370
  width: 80%;