vxe-table 3.21.1 → 3.21.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 (186) 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 +6 -2
  5. package/es/locale/lang/en-US.js +6 -2
  6. package/es/locale/lang/es-ES.js +6 -2
  7. package/es/locale/lang/fr-FR.js +6 -2
  8. package/es/locale/lang/hu-HU.js +6 -2
  9. package/es/locale/lang/hy-AM.js +6 -2
  10. package/es/locale/lang/id-ID.js +6 -2
  11. package/es/locale/lang/it-IT.js +6 -2
  12. package/es/locale/lang/ja-JP.js +6 -2
  13. package/es/locale/lang/ko-KR.js +6 -2
  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 +6 -2
  18. package/es/locale/lang/th-TH.js +6 -2
  19. package/es/locale/lang/ug-CN.js +6 -2
  20. package/es/locale/lang/uk-UA.js +6 -2
  21. package/es/locale/lang/uz-UZ.js +6 -2
  22. package/es/locale/lang/vi-VN.js +6 -2
  23. package/es/locale/lang/zh-CHT.js +6 -2
  24. package/es/locale/lang/zh-CN.js +6 -2
  25. package/es/style.css +1 -1
  26. package/es/style.min.css +1 -1
  27. package/es/table/module/custom/panel.js +29 -22
  28. package/es/table/module/export/export-panel.js +29 -16
  29. package/es/table/module/export/mixin.js +121 -26
  30. package/es/table/module/menu/mixin.js +3 -2
  31. package/es/table/module/validator/mixin.js +4 -4
  32. package/es/table/src/cell.js +1 -1
  33. package/es/table/src/column.js +2 -0
  34. package/es/table/src/columnInfo.js +1 -0
  35. package/es/table/src/methods.js +82 -31
  36. package/es/table/src/table.js +16 -0
  37. package/es/table/src/util.js +3 -1
  38. package/es/table/style.css +1 -1
  39. package/es/table/style.min.css +1 -1
  40. package/es/ui/index.js +1 -1
  41. package/es/ui/src/log.js +1 -1
  42. package/es/vxe-table/style.css +1 -1
  43. package/es/vxe-table/style.min.css +1 -1
  44. package/lib/index.css +1 -1
  45. package/lib/index.min.css +1 -1
  46. package/lib/index.umd.js +235 -75
  47. package/lib/index.umd.min.js +1 -1
  48. package/lib/locale/lang/ar-EG.js +6 -2
  49. package/lib/locale/lang/ar-EG.min.js +1 -1
  50. package/lib/locale/lang/ar-EG.umd.js +6 -2
  51. package/lib/locale/lang/de-DE.js +6 -2
  52. package/lib/locale/lang/de-DE.min.js +1 -1
  53. package/lib/locale/lang/de-DE.umd.js +6 -2
  54. package/lib/locale/lang/en-US.js +6 -2
  55. package/lib/locale/lang/en-US.min.js +1 -1
  56. package/lib/locale/lang/en-US.umd.js +6 -2
  57. package/lib/locale/lang/es-ES.js +6 -2
  58. package/lib/locale/lang/es-ES.min.js +1 -1
  59. package/lib/locale/lang/es-ES.umd.js +6 -2
  60. package/lib/locale/lang/fr-FR.js +6 -2
  61. package/lib/locale/lang/fr-FR.min.js +1 -1
  62. package/lib/locale/lang/fr-FR.umd.js +6 -2
  63. package/lib/locale/lang/hu-HU.js +6 -2
  64. package/lib/locale/lang/hu-HU.min.js +1 -1
  65. package/lib/locale/lang/hu-HU.umd.js +6 -2
  66. package/lib/locale/lang/hy-AM.js +6 -2
  67. package/lib/locale/lang/hy-AM.min.js +1 -1
  68. package/lib/locale/lang/hy-AM.umd.js +6 -2
  69. package/lib/locale/lang/id-ID.js +6 -2
  70. package/lib/locale/lang/id-ID.min.js +1 -1
  71. package/lib/locale/lang/id-ID.umd.js +6 -2
  72. package/lib/locale/lang/it-IT.js +6 -2
  73. package/lib/locale/lang/it-IT.min.js +1 -1
  74. package/lib/locale/lang/it-IT.umd.js +6 -2
  75. package/lib/locale/lang/ja-JP.js +6 -2
  76. package/lib/locale/lang/ja-JP.min.js +1 -1
  77. package/lib/locale/lang/ja-JP.umd.js +6 -2
  78. package/lib/locale/lang/ko-KR.js +6 -2
  79. package/lib/locale/lang/ko-KR.min.js +1 -1
  80. package/lib/locale/lang/ko-KR.umd.js +6 -2
  81. package/lib/locale/lang/ms-MY.js +6 -2
  82. package/lib/locale/lang/ms-MY.min.js +1 -1
  83. package/lib/locale/lang/ms-MY.umd.js +6 -2
  84. package/lib/locale/lang/nb-NO.js +6 -2
  85. package/lib/locale/lang/nb-NO.min.js +1 -1
  86. package/lib/locale/lang/nb-NO.umd.js +6 -2
  87. package/lib/locale/lang/pt-BR.js +6 -2
  88. package/lib/locale/lang/pt-BR.min.js +1 -1
  89. package/lib/locale/lang/pt-BR.umd.js +6 -2
  90. package/lib/locale/lang/ru-RU.js +6 -2
  91. package/lib/locale/lang/ru-RU.min.js +1 -1
  92. package/lib/locale/lang/ru-RU.umd.js +6 -2
  93. package/lib/locale/lang/th-TH.js +6 -2
  94. package/lib/locale/lang/th-TH.min.js +1 -1
  95. package/lib/locale/lang/th-TH.umd.js +6 -2
  96. package/lib/locale/lang/ug-CN.js +6 -2
  97. package/lib/locale/lang/ug-CN.min.js +1 -1
  98. package/lib/locale/lang/ug-CN.umd.js +6 -2
  99. package/lib/locale/lang/uk-UA.js +6 -2
  100. package/lib/locale/lang/uk-UA.min.js +1 -1
  101. package/lib/locale/lang/uk-UA.umd.js +6 -2
  102. package/lib/locale/lang/uz-UZ.js +6 -2
  103. package/lib/locale/lang/uz-UZ.min.js +1 -1
  104. package/lib/locale/lang/uz-UZ.umd.js +6 -2
  105. package/lib/locale/lang/vi-VN.js +6 -2
  106. package/lib/locale/lang/vi-VN.min.js +1 -1
  107. package/lib/locale/lang/vi-VN.umd.js +6 -2
  108. package/lib/locale/lang/zh-CHT.js +6 -2
  109. package/lib/locale/lang/zh-CHT.min.js +1 -1
  110. package/lib/locale/lang/zh-CHT.umd.js +6 -2
  111. package/lib/locale/lang/zh-CN.js +6 -2
  112. package/lib/locale/lang/zh-CN.min.js +1 -1
  113. package/lib/locale/lang/zh-CN.umd.js +6 -2
  114. package/lib/style.css +1 -1
  115. package/lib/style.min.css +1 -1
  116. package/lib/table/module/custom/panel.js +30 -21
  117. package/lib/table/module/custom/panel.min.js +1 -1
  118. package/lib/table/module/export/export-panel.js +26 -13
  119. package/lib/table/module/export/export-panel.min.js +1 -1
  120. package/lib/table/module/export/mixin.js +139 -27
  121. package/lib/table/module/export/mixin.min.js +1 -1
  122. package/lib/table/module/menu/mixin.js +3 -2
  123. package/lib/table/module/menu/mixin.min.js +1 -1
  124. package/lib/table/module/validator/mixin.js +4 -4
  125. package/lib/table/module/validator/mixin.min.js +1 -1
  126. package/lib/table/src/cell.js +1 -1
  127. package/lib/table/src/cell.min.js +1 -1
  128. package/lib/table/src/column.js +2 -0
  129. package/lib/table/src/column.min.js +1 -1
  130. package/lib/table/src/columnInfo.js +1 -0
  131. package/lib/table/src/columnInfo.min.js +1 -1
  132. package/lib/table/src/methods.js +2 -2
  133. package/lib/table/src/methods.min.js +1 -1
  134. package/lib/table/src/table.js +16 -0
  135. package/lib/table/src/table.min.js +1 -1
  136. package/lib/table/src/util.js +3 -1
  137. package/lib/table/src/util.min.js +1 -1
  138. package/lib/table/style/style.css +1 -1
  139. package/lib/table/style/style.min.css +1 -1
  140. package/lib/ui/index.js +1 -1
  141. package/lib/ui/index.min.js +1 -1
  142. package/lib/ui/src/log.js +1 -1
  143. package/lib/ui/src/log.min.js +1 -1
  144. package/lib/vxe-table/style/style.css +1 -1
  145. package/lib/vxe-table/style/style.min.css +1 -1
  146. package/package.json +2 -2
  147. package/packages/locale/lang/ar-EG.ts +6 -2
  148. package/packages/locale/lang/de-DE.ts +6 -2
  149. package/packages/locale/lang/en-US.ts +6 -2
  150. package/packages/locale/lang/es-ES.ts +6 -2
  151. package/packages/locale/lang/fr-FR.ts +6 -2
  152. package/packages/locale/lang/hu-HU.ts +6 -2
  153. package/packages/locale/lang/hy-AM.ts +6 -2
  154. package/packages/locale/lang/id-ID.ts +6 -2
  155. package/packages/locale/lang/it-IT.ts +6 -2
  156. package/packages/locale/lang/ja-JP.ts +6 -2
  157. package/packages/locale/lang/ko-KR.ts +6 -2
  158. package/packages/locale/lang/ms-MY.ts +6 -2
  159. package/packages/locale/lang/nb-NO.ts +6 -2
  160. package/packages/locale/lang/pt-BR.ts +6 -2
  161. package/packages/locale/lang/ru-RU.ts +6 -2
  162. package/packages/locale/lang/th-TH.ts +6 -2
  163. package/packages/locale/lang/ug-CN.ts +6 -2
  164. package/packages/locale/lang/uk-UA.ts +6 -2
  165. package/packages/locale/lang/uz-UZ.ts +6 -2
  166. package/packages/locale/lang/vi-VN.ts +6 -2
  167. package/packages/locale/lang/zh-CHT.ts +6 -2
  168. package/packages/locale/lang/zh-CN.ts +6 -2
  169. package/packages/table/module/custom/panel.ts +30 -23
  170. package/packages/table/module/export/export-panel.ts +29 -17
  171. package/packages/table/module/export/mixin.ts +122 -27
  172. package/packages/table/module/menu/mixin.ts +3 -2
  173. package/packages/table/module/validator/mixin.ts +4 -4
  174. package/packages/table/src/cell.ts +1 -1
  175. package/packages/table/src/column.ts +2 -0
  176. package/packages/table/src/columnInfo.ts +1 -0
  177. package/packages/table/src/methods.ts +82 -31
  178. package/packages/table/src/table.ts +18 -0
  179. package/packages/table/src/util.ts +3 -1
  180. package/styles/components/table-module/export.scss +1 -1
  181. /package/es/{iconfont.1779447236462.ttf → iconfont.1779843521280.ttf} +0 -0
  182. /package/es/{iconfont.1779447236462.woff → iconfont.1779843521280.woff} +0 -0
  183. /package/es/{iconfont.1779447236462.woff2 → iconfont.1779843521280.woff2} +0 -0
  184. /package/lib/{iconfont.1779447236462.ttf → iconfont.1779843521280.ttf} +0 -0
  185. /package/lib/{iconfont.1779447236462.woff → iconfont.1779843521280.woff} +0 -0
  186. /package/lib/{iconfont.1779447236462.woff2 → iconfont.1779843521280.woff2} +0 -0
@@ -3327,12 +3327,12 @@ function updateGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
3327
3327
  }
3328
3328
  }
3329
3329
 
3330
- function handleGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, list: any[], rowGroups: VxeTableDefines.RowGroupItem[]) {
3330
+ function handleGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, list: any[], rowGroups: VxeTableDefines.RowGroupItem[], isCombinedField?: boolean) {
3331
3331
  let fullData = list
3332
3332
  let treeData = list
3333
3333
  if (rowGroups) {
3334
3334
  const aggregateOpts = $xeTable.computeAggregateOpts
3335
- const { rowField, parentField, childrenField, mapChildrenField } = aggregateOpts
3335
+ const { rowField, parentField, separator, childrenField, mapChildrenField } = aggregateOpts
3336
3336
  const rowOpts = $xeTable.computeRowOpts
3337
3337
  const checkboxOpts = $xeTable.computeCheckboxOpts
3338
3338
  const { checkField } = checkboxOpts
@@ -3344,11 +3344,26 @@ function handleGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
3344
3344
  const groupField = rgItem.field
3345
3345
  const groupColumn = $xeTable.getColumnByField(groupField)
3346
3346
  const groupMaps: Record<string, any[]> = {}
3347
+ const groupCombinedMaps: Record<string, any[]> = {}
3347
3348
  const aggList: VxeTableDefines.AggregateRowInfo[] = []
3348
3349
  const rowkey = getRowkey($xeTable)
3349
3350
  list.forEach((row) => {
3350
3351
  const cellValue = groupColumn ? $xeTable.getCellLabel(row, groupColumn) : XEUtils.get(row, groupField)
3351
- const groupValue = XEUtils.eqNull(cellValue) ? '' : cellValue
3352
+ let groupValue = XEUtils.eqNull(cellValue) ? '' : cellValue
3353
+ if (isCombinedField) {
3354
+ const groupVals = [groupValue]
3355
+ rowGroups.slice(1).forEach(ogItem => {
3356
+ const ogField = ogItem.field
3357
+ const ogColumn = $xeTable.getColumnByField(ogField)
3358
+ const ocValue = ogColumn ? $xeTable.getCellLabel(row, ogColumn) : XEUtils.get(row, ogField)
3359
+ const ogValue = XEUtils.eqNull(ocValue) ? '' : ocValue
3360
+ groupValue += (separator || ' / ') + ogValue
3361
+ groupVals.push(ogValue)
3362
+ })
3363
+ if (!groupCombinedMaps[groupValue]) {
3364
+ groupCombinedMaps[groupValue] = groupVals
3365
+ }
3366
+ }
3352
3367
  let childList = groupMaps[groupValue]
3353
3368
  if (!childList) {
3354
3369
  childList = []
@@ -3359,33 +3374,61 @@ function handleGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
3359
3374
  }
3360
3375
  childList.push(row)
3361
3376
  })
3362
- XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3363
- const { fullData: childFullData, treeData: childTreeData } = handleGroupData($xeTable, childList, rowGroups.slice(1))
3364
- const aggRow: VxeTableDefines.AggregateRowInfo = {
3365
- isAggregate: true,
3366
- aggData: {},
3367
- groupContent: groupValue,
3368
- groupField,
3369
- childCount: 0,
3370
- [rowField]: getRowUniqueId(),
3371
- [parentField]: null,
3372
- [childrenField]: childTreeData,
3373
- [mapChildrenField]: childTreeData
3374
- }
3375
- aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey)
3376
- if (checkField) {
3377
- aggRow[checkField] = false
3378
- }
3379
- if (indeterminateField) {
3380
- aggRow[indeterminateField] = false
3381
- }
3382
- aggList.push(aggRow)
3383
- treeData.push(aggRow)
3384
- fullData.push(aggRow)
3385
- if (childFullData.length) {
3386
- fullData.push(...childFullData)
3387
- }
3388
- })
3377
+ if (isCombinedField) {
3378
+ XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3379
+ const aggRow: VxeTableDefines.AggregateRowInfo = {
3380
+ isAggregate: true,
3381
+ aggData: {},
3382
+ groupContent: groupValue,
3383
+ groupCombineds: groupCombinedMaps[groupValue],
3384
+ groupField,
3385
+ childCount: 0,
3386
+ [rowField]: getRowUniqueId(),
3387
+ [parentField]: null,
3388
+ [childrenField]: childList,
3389
+ [mapChildrenField]: childList
3390
+ }
3391
+ aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey)
3392
+ if (checkField) {
3393
+ aggRow[checkField] = false
3394
+ }
3395
+ if (indeterminateField) {
3396
+ aggRow[indeterminateField] = false
3397
+ }
3398
+ aggList.push(aggRow)
3399
+ treeData.push(aggRow)
3400
+ fullData.push(aggRow)
3401
+ })
3402
+ } else {
3403
+ XEUtils.objectEach(groupMaps, (childList, groupValue) => {
3404
+ const { fullData: childFullData, treeData: childTreeData } = handleGroupData($xeTable, childList, rowGroups.slice(1))
3405
+ const aggRow: VxeTableDefines.AggregateRowInfo = {
3406
+ isAggregate: true,
3407
+ aggData: {},
3408
+ groupContent: groupValue,
3409
+ groupCombineds: [],
3410
+ groupField,
3411
+ childCount: 0,
3412
+ [rowField]: getRowUniqueId(),
3413
+ [parentField]: null,
3414
+ [childrenField]: childTreeData,
3415
+ [mapChildrenField]: childTreeData
3416
+ }
3417
+ aggRow[rowkey] = createRowId(rowOpts, aggRow, rowkey)
3418
+ if (checkField) {
3419
+ aggRow[checkField] = false
3420
+ }
3421
+ if (indeterminateField) {
3422
+ aggRow[indeterminateField] = false
3423
+ }
3424
+ aggList.push(aggRow)
3425
+ treeData.push(aggRow)
3426
+ fullData.push(aggRow)
3427
+ if (childFullData.length) {
3428
+ fullData.push(...childFullData)
3429
+ }
3430
+ })
3431
+ }
3389
3432
  handleeGroupSummary($xeTable, aggList)
3390
3433
  }
3391
3434
  }
@@ -3395,6 +3438,14 @@ function handleGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
3395
3438
  }
3396
3439
  }
3397
3440
 
3441
+ function initGroupData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, list: any[], rowGroups: VxeTableDefines.RowGroupItem[]) {
3442
+ const aggregateOpts = $xeTable.computeAggregateOpts
3443
+ const { mode } = aggregateOpts
3444
+ const isCombinedField = mode === 'combined'
3445
+ const groupRest = handleGroupData($xeTable, list, rowGroups, isCombinedField)
3446
+ return groupRest
3447
+ }
3448
+
3398
3449
  /**
3399
3450
  * 加载表格数据
3400
3451
  * @param {Array} datas 数据
@@ -3460,7 +3511,7 @@ function loadTableData ($xeTable: VxeTableConstructor & VxeTablePrivateMethods,
3460
3511
  treeData = fullData.slice(0)
3461
3512
  }
3462
3513
  } else if ((aggregateConfig || rowGroupConfig) && rowGroupList.length) {
3463
- const groupRest = handleGroupData($xeTable, fullData, rowGroupList)
3514
+ const groupRest = initGroupData($xeTable, fullData, rowGroupList)
3464
3515
  treeData = groupRest.treeData
3465
3516
  fullData = groupRest.fullData
3466
3517
  isRGroup = true
@@ -828,6 +828,12 @@ export default {
828
828
 
829
829
  return Object.assign({}, getConfig().table.aggregateConfig || getConfig().table.rowGroupConfig, props.aggregateConfig || props.rowGroupConfig)
830
830
  },
831
+ computeAggregateMode () {
832
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
833
+
834
+ const aggregateOpts = $xeTable.computeAggregateOpts
835
+ return aggregateOpts.mode
836
+ },
831
837
  computeAggregateAccuracyOpts () {
832
838
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
833
839
  const props = $xeTable
@@ -1651,6 +1657,15 @@ export default {
1651
1657
  $xeTable.reloadData(tableFullData)
1652
1658
  })
1653
1659
  }
1660
+ },
1661
+ computeAggregateMode () {
1662
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
1663
+ const reactData = $xeTable as unknown as TableReactData
1664
+ const internalData = $xeTable as unknown as TableInternalData
1665
+
1666
+ if (reactData.isRowGroupStatus) {
1667
+ this.loadTableData(internalData.tableSynchData, false, true)
1668
+ }
1654
1669
  }
1655
1670
  } as any,
1656
1671
  created () {
@@ -1768,6 +1783,9 @@ export default {
1768
1783
  if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1769
1784
  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(',')])
1770
1785
  }
1786
+ if (exportConfig && XEUtils.isBoolean((exportOpts as any).isAllExpand)) {
1787
+ warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded'])
1788
+ }
1771
1789
 
1772
1790
  if (!props.id) {
1773
1791
  if ((props.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
@@ -340,6 +340,7 @@ export function createReactData (): TableReactData {
340
340
  hasFooter: false,
341
341
  hasMerge: false,
342
342
  hasTree: false,
343
+ hasRowGroup: false,
343
344
  hasColgroup: false,
344
345
  visible: false
345
346
  },
@@ -350,7 +351,8 @@ export function createReactData (): TableReactData {
350
351
  type: '',
351
352
  isColgroup: false,
352
353
  isMerge: false,
353
- isAllExpand: false,
354
+ isTreeAllExpanded: false,
355
+ isRowGroupAllExpanded: false,
354
356
  useStyle: false,
355
357
  original: false,
356
358
  message: true,
@@ -37,7 +37,7 @@
37
37
  width: 80%;
38
38
  }
39
39
  & > .vxe-table-export--panel-option-row {
40
- padding: 0.25em 0;
40
+ padding: 0.5em 0;
41
41
  }
42
42
  }
43
43
  }