vxe-table 3.21.2 → 3.21.4

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 (170) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/ar-EG.js +6 -2
  4. package/es/locale/lang/de-DE.js +5 -1
  5. package/es/locale/lang/en-US.js +5 -1
  6. package/es/locale/lang/es-ES.js +4 -0
  7. package/es/locale/lang/fr-FR.js +6 -2
  8. package/es/locale/lang/hu-HU.js +5 -1
  9. package/es/locale/lang/hy-AM.js +5 -1
  10. package/es/locale/lang/id-ID.js +6 -2
  11. package/es/locale/lang/it-IT.js +5 -1
  12. package/es/locale/lang/ja-JP.js +4 -0
  13. package/es/locale/lang/ko-KR.js +5 -1
  14. package/es/locale/lang/ms-MY.js +6 -2
  15. package/es/locale/lang/nb-NO.js +6 -2
  16. package/es/locale/lang/pt-BR.js +6 -2
  17. package/es/locale/lang/ru-RU.js +4 -0
  18. package/es/locale/lang/th-TH.js +5 -1
  19. package/es/locale/lang/ug-CN.js +5 -1
  20. package/es/locale/lang/uk-UA.js +5 -1
  21. package/es/locale/lang/uz-UZ.js +5 -1
  22. package/es/locale/lang/vi-VN.js +4 -0
  23. package/es/locale/lang/zh-CHT.js +4 -0
  24. package/es/locale/lang/zh-CN.js +4 -0
  25. package/es/style.css +1 -1
  26. package/es/style.min.css +1 -1
  27. package/es/table/module/custom/panel.js +28 -20
  28. package/es/table/module/export/export-panel.js +29 -16
  29. package/es/table/module/export/mixin.js +183 -28
  30. package/es/table/src/cell.js +7 -1
  31. package/es/table/src/methods.js +82 -31
  32. package/es/table/src/table.js +16 -0
  33. package/es/table/src/util.js +3 -1
  34. package/es/table/style.css +1 -1
  35. package/es/table/style.min.css +1 -1
  36. package/es/ui/index.js +1 -1
  37. package/es/ui/src/log.js +1 -1
  38. package/es/vxe-table/style.css +1 -1
  39. package/es/vxe-table/style.min.css +1 -1
  40. package/lib/index.css +1 -1
  41. package/lib/index.min.css +1 -1
  42. package/lib/index.umd.js +304 -67
  43. package/lib/index.umd.min.js +1 -1
  44. package/lib/locale/lang/ar-EG.js +6 -2
  45. package/lib/locale/lang/ar-EG.min.js +1 -1
  46. package/lib/locale/lang/ar-EG.umd.js +6 -2
  47. package/lib/locale/lang/de-DE.js +5 -1
  48. package/lib/locale/lang/de-DE.min.js +1 -1
  49. package/lib/locale/lang/de-DE.umd.js +5 -1
  50. package/lib/locale/lang/en-US.js +5 -1
  51. package/lib/locale/lang/en-US.min.js +1 -1
  52. package/lib/locale/lang/en-US.umd.js +5 -1
  53. package/lib/locale/lang/es-ES.js +4 -0
  54. package/lib/locale/lang/es-ES.min.js +1 -1
  55. package/lib/locale/lang/es-ES.umd.js +4 -0
  56. package/lib/locale/lang/fr-FR.js +6 -2
  57. package/lib/locale/lang/fr-FR.min.js +1 -1
  58. package/lib/locale/lang/fr-FR.umd.js +6 -2
  59. package/lib/locale/lang/hu-HU.js +5 -1
  60. package/lib/locale/lang/hu-HU.min.js +1 -1
  61. package/lib/locale/lang/hu-HU.umd.js +5 -1
  62. package/lib/locale/lang/hy-AM.js +5 -1
  63. package/lib/locale/lang/hy-AM.min.js +1 -1
  64. package/lib/locale/lang/hy-AM.umd.js +5 -1
  65. package/lib/locale/lang/id-ID.js +6 -2
  66. package/lib/locale/lang/id-ID.min.js +1 -1
  67. package/lib/locale/lang/id-ID.umd.js +6 -2
  68. package/lib/locale/lang/it-IT.js +5 -1
  69. package/lib/locale/lang/it-IT.min.js +1 -1
  70. package/lib/locale/lang/it-IT.umd.js +5 -1
  71. package/lib/locale/lang/ja-JP.js +4 -0
  72. package/lib/locale/lang/ja-JP.min.js +1 -1
  73. package/lib/locale/lang/ja-JP.umd.js +4 -0
  74. package/lib/locale/lang/ko-KR.js +5 -1
  75. package/lib/locale/lang/ko-KR.min.js +1 -1
  76. package/lib/locale/lang/ko-KR.umd.js +5 -1
  77. package/lib/locale/lang/ms-MY.js +6 -2
  78. package/lib/locale/lang/ms-MY.min.js +1 -1
  79. package/lib/locale/lang/ms-MY.umd.js +6 -2
  80. package/lib/locale/lang/nb-NO.js +6 -2
  81. package/lib/locale/lang/nb-NO.min.js +1 -1
  82. package/lib/locale/lang/nb-NO.umd.js +6 -2
  83. package/lib/locale/lang/pt-BR.js +6 -2
  84. package/lib/locale/lang/pt-BR.min.js +1 -1
  85. package/lib/locale/lang/pt-BR.umd.js +6 -2
  86. package/lib/locale/lang/ru-RU.js +4 -0
  87. package/lib/locale/lang/ru-RU.min.js +1 -1
  88. package/lib/locale/lang/ru-RU.umd.js +4 -0
  89. package/lib/locale/lang/th-TH.js +5 -1
  90. package/lib/locale/lang/th-TH.min.js +1 -1
  91. package/lib/locale/lang/th-TH.umd.js +5 -1
  92. package/lib/locale/lang/ug-CN.js +5 -1
  93. package/lib/locale/lang/ug-CN.min.js +1 -1
  94. package/lib/locale/lang/ug-CN.umd.js +5 -1
  95. package/lib/locale/lang/uk-UA.js +5 -1
  96. package/lib/locale/lang/uk-UA.min.js +1 -1
  97. package/lib/locale/lang/uk-UA.umd.js +5 -1
  98. package/lib/locale/lang/uz-UZ.js +5 -1
  99. package/lib/locale/lang/uz-UZ.min.js +1 -1
  100. package/lib/locale/lang/uz-UZ.umd.js +5 -1
  101. package/lib/locale/lang/vi-VN.js +4 -0
  102. package/lib/locale/lang/vi-VN.min.js +1 -1
  103. package/lib/locale/lang/vi-VN.umd.js +4 -0
  104. package/lib/locale/lang/zh-CHT.js +4 -0
  105. package/lib/locale/lang/zh-CHT.min.js +1 -1
  106. package/lib/locale/lang/zh-CHT.umd.js +4 -0
  107. package/lib/locale/lang/zh-CN.js +4 -0
  108. package/lib/locale/lang/zh-CN.min.js +1 -1
  109. package/lib/locale/lang/zh-CN.umd.js +4 -0
  110. package/lib/style.css +1 -1
  111. package/lib/style.min.css +1 -1
  112. package/lib/table/module/custom/panel.js +29 -18
  113. package/lib/table/module/custom/panel.min.js +1 -1
  114. package/lib/table/module/export/export-panel.js +26 -13
  115. package/lib/table/module/export/export-panel.min.js +1 -1
  116. package/lib/table/module/export/mixin.js +216 -30
  117. package/lib/table/module/export/mixin.min.js +1 -1
  118. package/lib/table/src/cell.js +6 -1
  119. package/lib/table/src/cell.min.js +1 -1
  120. package/lib/table/src/methods.js +2 -2
  121. package/lib/table/src/methods.min.js +1 -1
  122. package/lib/table/src/table.js +16 -0
  123. package/lib/table/src/table.min.js +1 -1
  124. package/lib/table/src/util.js +3 -1
  125. package/lib/table/src/util.min.js +1 -1
  126. package/lib/table/style/style.css +1 -1
  127. package/lib/table/style/style.min.css +1 -1
  128. package/lib/ui/index.js +1 -1
  129. package/lib/ui/index.min.js +1 -1
  130. package/lib/ui/src/log.js +1 -1
  131. package/lib/ui/src/log.min.js +1 -1
  132. package/lib/vxe-table/style/style.css +1 -1
  133. package/lib/vxe-table/style/style.min.css +1 -1
  134. package/package.json +2 -2
  135. package/packages/locale/lang/ar-EG.ts +850 -846
  136. package/packages/locale/lang/de-DE.ts +850 -846
  137. package/packages/locale/lang/en-US.ts +850 -846
  138. package/packages/locale/lang/es-ES.ts +850 -846
  139. package/packages/locale/lang/fr-FR.ts +850 -846
  140. package/packages/locale/lang/hu-HU.ts +850 -846
  141. package/packages/locale/lang/hy-AM.ts +850 -846
  142. package/packages/locale/lang/id-ID.ts +850 -846
  143. package/packages/locale/lang/it-IT.ts +850 -846
  144. package/packages/locale/lang/ja-JP.ts +850 -846
  145. package/packages/locale/lang/ko-KR.ts +850 -846
  146. package/packages/locale/lang/ms-MY.ts +850 -846
  147. package/packages/locale/lang/nb-NO.ts +850 -846
  148. package/packages/locale/lang/pt-BR.ts +850 -846
  149. package/packages/locale/lang/ru-RU.ts +850 -846
  150. package/packages/locale/lang/th-TH.ts +850 -846
  151. package/packages/locale/lang/ug-CN.ts +850 -846
  152. package/packages/locale/lang/uk-UA.ts +850 -846
  153. package/packages/locale/lang/uz-UZ.ts +850 -846
  154. package/packages/locale/lang/vi-VN.ts +850 -846
  155. package/packages/locale/lang/zh-CHT.ts +850 -846
  156. package/packages/locale/lang/zh-CN.ts +4 -0
  157. package/packages/table/module/custom/panel.ts +29 -21
  158. package/packages/table/module/export/export-panel.ts +29 -17
  159. package/packages/table/module/export/mixin.ts +183 -30
  160. package/packages/table/src/cell.ts +6 -1
  161. package/packages/table/src/methods.ts +82 -31
  162. package/packages/table/src/table.ts +18 -0
  163. package/packages/table/src/util.ts +3 -1
  164. package/styles/components/table-module/export.scss +1 -1
  165. /package/es/{iconfont.1779778409753.ttf → iconfont.1779936730544.ttf} +0 -0
  166. /package/es/{iconfont.1779778409753.woff → iconfont.1779936730544.woff} +0 -0
  167. /package/es/{iconfont.1779778409753.woff2 → iconfont.1779936730544.woff2} +0 -0
  168. /package/lib/{iconfont.1779778409753.ttf → iconfont.1779936730544.ttf} +0 -0
  169. /package/lib/{iconfont.1779778409753.woff → iconfont.1779936730544.woff} +0 -0
  170. /package/lib/{iconfont.1779778409753.woff2 → iconfont.1779936730544.woff2} +0 -0
@@ -3191,12 +3191,12 @@ function updateGroupData($xeTable) {
3191
3191
  handleeGroupSummary($xeTable, aggList);
3192
3192
  }
3193
3193
  }
3194
- function handleGroupData($xeTable, list, rowGroups) {
3194
+ function handleGroupData($xeTable, list, rowGroups, isCombinedField) {
3195
3195
  let fullData = list;
3196
3196
  let treeData = list;
3197
3197
  if (rowGroups) {
3198
3198
  const aggregateOpts = $xeTable.computeAggregateOpts;
3199
- const { rowField, parentField, childrenField, mapChildrenField } = aggregateOpts;
3199
+ const { rowField, parentField, separator, childrenField, mapChildrenField } = aggregateOpts;
3200
3200
  const rowOpts = $xeTable.computeRowOpts;
3201
3201
  const checkboxOpts = $xeTable.computeCheckboxOpts;
3202
3202
  const { checkField } = checkboxOpts;
@@ -3208,11 +3208,26 @@ function handleGroupData($xeTable, list, rowGroups) {
3208
3208
  const groupField = rgItem.field;
3209
3209
  const groupColumn = $xeTable.getColumnByField(groupField);
3210
3210
  const groupMaps = {};
3211
+ const groupCombinedMaps = {};
3211
3212
  const aggList = [];
3212
3213
  const rowkey = getRowkey($xeTable);
3213
3214
  list.forEach((row) => {
3214
3215
  const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : XEUtils.get(row, groupField);
3215
- const groupValue = XEUtils.eqNull(cellValue) ? '' : cellValue;
3216
+ let groupValue = XEUtils.eqNull(cellValue) ? '' : cellValue;
3217
+ if (isCombinedField) {
3218
+ const groupVals = [groupValue];
3219
+ rowGroups.slice(1).forEach(ogItem => {
3220
+ const ogField = ogItem.field;
3221
+ const ogColumn = $xeTable.getColumnByField(ogField);
3222
+ const ocValue = ogColumn ? $xeTable.getCellLabel(row, ogColumn) : XEUtils.get(row, ogField);
3223
+ const ogValue = XEUtils.eqNull(ocValue) ? '' : ocValue;
3224
+ groupValue += (separator || ' / ') + ogValue;
3225
+ groupVals.push(ogValue);
3226
+ });
3227
+ if (!groupCombinedMaps[groupValue]) {
3228
+ groupCombinedMaps[groupValue] = groupVals;
3229
+ }
3230
+ }
3216
3231
  let childList = groupMaps[groupValue];
3217
3232
  if (!childList) {
3218
3233
  childList = [];
@@ -3223,33 +3238,62 @@ function handleGroupData($xeTable, list, rowGroups) {
3223
3238
  }
3224
3239
  childList.push(row);
3225
3240
  });
3226
- XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3227
- const { fullData: childFullData, treeData: childTreeData } = handleGroupData($xeTable, childList, rowGroups.slice(1));
3228
- const aggRow = {
3229
- isAggregate: true,
3230
- aggData: {},
3231
- groupContent: groupValue,
3232
- groupField,
3233
- childCount: 0,
3234
- [rowField]: getRowUniqueId(),
3235
- [parentField]: null,
3236
- [childrenField]: childTreeData,
3237
- [mapChildrenField]: childTreeData
3238
- };
3239
- aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3240
- if (checkField) {
3241
- aggRow[checkField] = false;
3242
- }
3243
- if (indeterminateField) {
3244
- aggRow[indeterminateField] = false;
3245
- }
3246
- aggList.push(aggRow);
3247
- treeData.push(aggRow);
3248
- fullData.push(aggRow);
3249
- if (childFullData.length) {
3250
- fullData.push(...childFullData);
3251
- }
3252
- });
3241
+ if (isCombinedField) {
3242
+ XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3243
+ const aggRow = {
3244
+ isAggregate: true,
3245
+ aggData: {},
3246
+ groupContent: groupValue,
3247
+ groupCombineds: groupCombinedMaps[groupValue],
3248
+ groupField,
3249
+ childCount: 0,
3250
+ [rowField]: getRowUniqueId(),
3251
+ [parentField]: null,
3252
+ [childrenField]: childList,
3253
+ [mapChildrenField]: childList
3254
+ };
3255
+ aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3256
+ if (checkField) {
3257
+ aggRow[checkField] = false;
3258
+ }
3259
+ if (indeterminateField) {
3260
+ aggRow[indeterminateField] = false;
3261
+ }
3262
+ aggList.push(aggRow);
3263
+ treeData.push(aggRow);
3264
+ fullData.push(aggRow);
3265
+ });
3266
+ }
3267
+ else {
3268
+ XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3269
+ const { fullData: childFullData, treeData: childTreeData } = handleGroupData($xeTable, childList, rowGroups.slice(1));
3270
+ const aggRow = {
3271
+ isAggregate: true,
3272
+ aggData: {},
3273
+ groupContent: groupValue,
3274
+ groupCombineds: [],
3275
+ groupField,
3276
+ childCount: 0,
3277
+ [rowField]: getRowUniqueId(),
3278
+ [parentField]: null,
3279
+ [childrenField]: childTreeData,
3280
+ [mapChildrenField]: childTreeData
3281
+ };
3282
+ aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey);
3283
+ if (checkField) {
3284
+ aggRow[checkField] = false;
3285
+ }
3286
+ if (indeterminateField) {
3287
+ aggRow[indeterminateField] = false;
3288
+ }
3289
+ aggList.push(aggRow);
3290
+ treeData.push(aggRow);
3291
+ fullData.push(aggRow);
3292
+ if (childFullData.length) {
3293
+ fullData.push(...childFullData);
3294
+ }
3295
+ });
3296
+ }
3253
3297
  handleeGroupSummary($xeTable, aggList);
3254
3298
  }
3255
3299
  }
@@ -3258,6 +3302,13 @@ function handleGroupData($xeTable, list, rowGroups) {
3258
3302
  fullData
3259
3303
  };
3260
3304
  }
3305
+ function initGroupData($xeTable, list, rowGroups) {
3306
+ const aggregateOpts = $xeTable.computeAggregateOpts;
3307
+ const { mode } = aggregateOpts;
3308
+ const isCombinedField = mode === 'combined';
3309
+ const groupRest = handleGroupData($xeTable, list, rowGroups, isCombinedField);
3310
+ return groupRest;
3311
+ }
3261
3312
  /**
3262
3313
  * 加载表格数据
3263
3314
  * @param {Array} datas 数据
@@ -3324,7 +3375,7 @@ function loadTableData($xeTable, datas, isReload, isReset) {
3324
3375
  }
3325
3376
  }
3326
3377
  else if ((aggregateConfig || rowGroupConfig) && rowGroupList.length) {
3327
- const groupRest = handleGroupData($xeTable, fullData, rowGroupList);
3378
+ const groupRest = initGroupData($xeTable, fullData, rowGroupList);
3328
3379
  treeData = groupRest.treeData;
3329
3380
  fullData = groupRest.fullData;
3330
3381
  isRGroup = true;
@@ -758,6 +758,11 @@ export default {
758
758
  const props = $xeTable;
759
759
  return Object.assign({}, getConfig().table.aggregateConfig || getConfig().table.rowGroupConfig, props.aggregateConfig || props.rowGroupConfig);
760
760
  },
761
+ computeAggregateMode() {
762
+ const $xeTable = this;
763
+ const aggregateOpts = $xeTable.computeAggregateOpts;
764
+ return aggregateOpts.mode;
765
+ },
761
766
  computeAggregateAccuracyOpts() {
762
767
  const $xeTable = this;
763
768
  const props = $xeTable;
@@ -1523,6 +1528,14 @@ export default {
1523
1528
  $xeTable.reloadData(tableFullData);
1524
1529
  });
1525
1530
  }
1531
+ },
1532
+ computeAggregateMode() {
1533
+ const $xeTable = this;
1534
+ const reactData = $xeTable;
1535
+ const internalData = $xeTable;
1536
+ if (reactData.isRowGroupStatus) {
1537
+ this.loadTableData(internalData.tableSynchData, false, true);
1538
+ }
1526
1539
  }
1527
1540
  },
1528
1541
  created() {
@@ -1636,6 +1649,9 @@ export default {
1636
1649
  if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1637
1650
  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(',')]);
1638
1651
  }
1652
+ if (exportConfig && XEUtils.isBoolean(exportOpts.isAllExpand)) {
1653
+ warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
1654
+ }
1639
1655
  if (!props.id) {
1640
1656
  if ((props.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
1641
1657
  errLog('vxe.error.reqProp', ['id']);
@@ -322,6 +322,7 @@ export function createReactData() {
322
322
  hasFooter: false,
323
323
  hasMerge: false,
324
324
  hasTree: false,
325
+ hasRowGroup: false,
325
326
  hasColgroup: false,
326
327
  visible: false
327
328
  },
@@ -332,7 +333,8 @@ export function createReactData() {
332
333
  type: '',
333
334
  isColgroup: false,
334
335
  isMerge: false,
335
- isAllExpand: false,
336
+ isTreeAllExpanded: false,
337
+ isRowGroupAllExpanded: false,
336
338
  useStyle: false,
337
339
  original: false,
338
340
  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%;