vxe-table 3.14.4 → 3.15.0-beta.0

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 (140) hide show
  1. package/es/locale/lang/ar-EG.js +3 -1
  2. package/es/locale/lang/de-DE.js +3 -1
  3. package/es/locale/lang/en-US.js +7 -5
  4. package/es/locale/lang/es-ES.js +3 -1
  5. package/es/locale/lang/fr-FR.js +3 -1
  6. package/es/locale/lang/hu-HU.js +3 -1
  7. package/es/locale/lang/hy-AM.js +3 -1
  8. package/es/locale/lang/id-ID.js +3 -1
  9. package/es/locale/lang/it-IT.js +3 -1
  10. package/es/locale/lang/ja-JP.js +3 -1
  11. package/es/locale/lang/ko-KR.js +3 -1
  12. package/es/locale/lang/nb-NO.js +3 -1
  13. package/es/locale/lang/pt-BR.js +3 -1
  14. package/es/locale/lang/ru-RU.js +3 -1
  15. package/es/locale/lang/th-TH.js +3 -1
  16. package/es/locale/lang/ug-CN.js +3 -1
  17. package/es/locale/lang/uk-UA.js +3 -1
  18. package/es/locale/lang/vi-VN.js +3 -1
  19. package/es/locale/lang/zh-CHT.js +3 -1
  20. package/es/locale/lang/zh-CN.js +3 -1
  21. package/es/style.css +1 -1
  22. package/es/table/module/edit/mixin.js +10 -9
  23. package/es/table/module/export/export-panel.js +32 -17
  24. package/es/table/module/export/mixin.js +17 -12
  25. package/es/table/src/body.js +11 -13
  26. package/es/table/src/footer.js +3 -16
  27. package/es/table/src/methods.js +246 -109
  28. package/es/table/src/table.js +50 -25
  29. package/es/table/src/util.js +0 -13
  30. package/es/ui/index.js +2 -2
  31. package/es/ui/src/log.js +1 -1
  32. package/lib/index.umd.js +410 -247
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/locale/lang/ar-EG.js +3 -1
  35. package/lib/locale/lang/ar-EG.min.js +1 -1
  36. package/lib/locale/lang/de-DE.js +3 -1
  37. package/lib/locale/lang/de-DE.min.js +1 -1
  38. package/lib/locale/lang/en-US.js +7 -5
  39. package/lib/locale/lang/en-US.min.js +1 -1
  40. package/lib/locale/lang/en-US.umd.js +7 -5
  41. package/lib/locale/lang/es-ES.js +3 -1
  42. package/lib/locale/lang/es-ES.min.js +1 -1
  43. package/lib/locale/lang/es-ES.umd.js +3 -1
  44. package/lib/locale/lang/fr-FR.js +3 -1
  45. package/lib/locale/lang/fr-FR.min.js +1 -1
  46. package/lib/locale/lang/hu-HU.js +3 -1
  47. package/lib/locale/lang/hu-HU.min.js +1 -1
  48. package/lib/locale/lang/hu-HU.umd.js +3 -1
  49. package/lib/locale/lang/hy-AM.js +3 -1
  50. package/lib/locale/lang/hy-AM.min.js +1 -1
  51. package/lib/locale/lang/id-ID.js +3 -1
  52. package/lib/locale/lang/id-ID.min.js +1 -1
  53. package/lib/locale/lang/it-IT.js +3 -1
  54. package/lib/locale/lang/it-IT.min.js +1 -1
  55. package/lib/locale/lang/ja-JP.js +3 -1
  56. package/lib/locale/lang/ja-JP.min.js +1 -1
  57. package/lib/locale/lang/ja-JP.umd.js +3 -1
  58. package/lib/locale/lang/ko-KR.js +3 -1
  59. package/lib/locale/lang/ko-KR.min.js +1 -1
  60. package/lib/locale/lang/ko-KR.umd.js +3 -1
  61. package/lib/locale/lang/nb-NO.js +3 -1
  62. package/lib/locale/lang/nb-NO.min.js +1 -1
  63. package/lib/locale/lang/pt-BR.js +3 -1
  64. package/lib/locale/lang/pt-BR.min.js +1 -1
  65. package/lib/locale/lang/pt-BR.umd.js +3 -1
  66. package/lib/locale/lang/ru-RU.js +3 -1
  67. package/lib/locale/lang/ru-RU.min.js +1 -1
  68. package/lib/locale/lang/ru-RU.umd.js +3 -1
  69. package/lib/locale/lang/th-TH.js +3 -1
  70. package/lib/locale/lang/th-TH.min.js +1 -1
  71. package/lib/locale/lang/ug-CN.js +3 -1
  72. package/lib/locale/lang/ug-CN.min.js +1 -1
  73. package/lib/locale/lang/uk-UA.js +3 -1
  74. package/lib/locale/lang/uk-UA.min.js +1 -1
  75. package/lib/locale/lang/uk-UA.umd.js +3 -1
  76. package/lib/locale/lang/vi-VN.js +3 -1
  77. package/lib/locale/lang/vi-VN.min.js +1 -1
  78. package/lib/locale/lang/zh-CHT.js +3 -1
  79. package/lib/locale/lang/zh-CHT.min.js +1 -1
  80. package/lib/locale/lang/zh-CHT.umd.js +3 -1
  81. package/lib/locale/lang/zh-CN.js +3 -1
  82. package/lib/locale/lang/zh-CN.min.js +1 -1
  83. package/lib/locale/lang/zh-CN.umd.js +3 -1
  84. package/lib/style.css +1 -1
  85. package/lib/table/module/edit/mixin.js +9 -9
  86. package/lib/table/module/edit/mixin.min.js +1 -1
  87. package/lib/table/module/export/export-panel.js +29 -17
  88. package/lib/table/module/export/export-panel.min.js +1 -1
  89. package/lib/table/module/export/mixin.js +18 -12
  90. package/lib/table/module/export/mixin.min.js +1 -1
  91. package/lib/table/src/body.js +14 -15
  92. package/lib/table/src/body.min.js +1 -1
  93. package/lib/table/src/footer.js +4 -27
  94. package/lib/table/src/footer.min.js +1 -1
  95. package/lib/table/src/methods.js +278 -114
  96. package/lib/table/src/methods.min.js +1 -1
  97. package/lib/table/src/table.js +52 -25
  98. package/lib/table/src/table.min.js +1 -1
  99. package/lib/table/src/util.js +0 -25
  100. package/lib/table/src/util.min.js +1 -1
  101. package/lib/ui/index.js +2 -2
  102. package/lib/ui/index.min.js +1 -1
  103. package/lib/ui/src/log.js +1 -1
  104. package/lib/ui/src/log.min.js +1 -1
  105. package/package.json +2 -2
  106. package/packages/locale/lang/ar-EG.ts +3 -1
  107. package/packages/locale/lang/de-DE.ts +3 -1
  108. package/packages/locale/lang/en-US.ts +7 -5
  109. package/packages/locale/lang/es-ES.ts +3 -1
  110. package/packages/locale/lang/fr-FR.ts +3 -1
  111. package/packages/locale/lang/hu-HU.ts +3 -1
  112. package/packages/locale/lang/hy-AM.ts +3 -1
  113. package/packages/locale/lang/id-ID.ts +3 -1
  114. package/packages/locale/lang/it-IT.ts +3 -1
  115. package/packages/locale/lang/ja-JP.ts +3 -1
  116. package/packages/locale/lang/ko-KR.ts +3 -1
  117. package/packages/locale/lang/nb-NO.ts +3 -1
  118. package/packages/locale/lang/pt-BR.ts +3 -1
  119. package/packages/locale/lang/ru-RU.ts +3 -1
  120. package/packages/locale/lang/th-TH.ts +3 -1
  121. package/packages/locale/lang/ug-CN.ts +3 -1
  122. package/packages/locale/lang/uk-UA.ts +3 -1
  123. package/packages/locale/lang/vi-VN.ts +3 -1
  124. package/packages/locale/lang/zh-CHT.ts +3 -1
  125. package/packages/locale/lang/zh-CN.ts +3 -1
  126. package/packages/table/module/edit/mixin.ts +10 -9
  127. package/packages/table/module/export/export-panel.ts +33 -17
  128. package/packages/table/module/export/mixin.ts +17 -12
  129. package/packages/table/src/body.ts +11 -13
  130. package/packages/table/src/footer.ts +3 -17
  131. package/packages/table/src/methods.ts +261 -119
  132. package/packages/table/src/table.ts +50 -25
  133. package/packages/table/src/util.ts +0 -14
  134. package/packages/ui/index.ts +1 -1
  135. /package/es/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
  136. /package/es/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
  137. /package/es/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
  138. /package/lib/{iconfont.1743393991959.ttf → iconfont.1743578536739.ttf} +0 -0
  139. /package/lib/{iconfont.1743393991959.woff → iconfont.1743578536739.woff} +0 -0
  140. /package/lib/{iconfont.1743393991959.woff2 → iconfont.1743578536739.woff2} +0 -0
@@ -216,20 +216,22 @@ function renderRowExpandedVNs (h: CreateElement, $xeTable: VxeTableConstructor &
216
216
  const { transform, seqMode } = treeOpts
217
217
  const cellStyle: Record<string, string> = {}
218
218
  const rowid = handleGetRowId(row)
219
- const rest = fullAllDataRowIdData[rowid]
219
+ const rowRest = fullAllDataRowIdData[rowid]
220
220
  let rowLevel = 0
221
221
  let seq: string | number = -1
222
- let _rowIndex = 0
223
- const rowIndex = $xeTable.getRowIndex(row)
224
- const $rowIndex = $xeTable.getVMRowIndex(row)
225
- if (rest) {
226
- rowLevel = rest.level
222
+ let _rowIndex = -1
223
+ let rowIndex = -1
224
+ let $rowIndex = -1
225
+ if (rowRest) {
226
+ rowLevel = rowRest.level
227
227
  if (treeConfig && transform && seqMode === 'increasing') {
228
- seq = rest._index + 1
228
+ seq = rowRest._index + 1
229
229
  } else {
230
- seq = rest.seq
230
+ seq = rowRest.seq
231
231
  }
232
- _rowIndex = rest._index
232
+ rowIndex = rowRest.index
233
+ $rowIndex = rowRest.$index
234
+ _rowIndex = rowRest._index
233
235
  }
234
236
  if (expandHeight) {
235
237
  cellStyle.height = `${expandHeight}px`
@@ -479,10 +481,6 @@ export default {
479
481
  hasFixedColumn: false,
480
482
  // 树节点列信息
481
483
  treeNodeColumn: null,
482
- // 合并单元格的对象集
483
- mergeList: [],
484
- // 合并表尾数据的对象集
485
- mergeFooterList: [],
486
484
  // 初始化标识
487
485
  initStore: {
488
486
  filter: false,
@@ -625,6 +623,7 @@ export default {
625
623
  original: false,
626
624
  message: true,
627
625
  isHeader: false,
626
+ isTitle: false,
628
627
  isFooter: false
629
628
  },
630
629
 
@@ -632,6 +631,10 @@ export default {
632
631
  treeExpandedFlag: 1,
633
632
  updateCheckboxFlag: 1,
634
633
  pendingRowFlag: 1,
634
+ insertRowFlag: 1,
635
+ removeRowFlag: 1,
636
+ mergeBodyFlag: 1,
637
+ mergeFootFlag: 1,
635
638
 
636
639
  rowHeightStore: {
637
640
  default: 48,
@@ -1097,20 +1100,22 @@ export default {
1097
1100
  },
1098
1101
  computeTableRowExpandedList () {
1099
1102
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
1103
+ const props = $xeTable
1100
1104
  const reactData = $xeTable as unknown as TableReactData
1101
1105
  const internalData = $xeTable as unknown as TableInternalData
1102
1106
 
1103
- const { rowExpandedFlag, tableData, expandColumn } = reactData
1104
- const { rowExpandedMaps } = internalData
1105
- const { handleGetRowId } = createHandleGetRowId($xeTable)
1107
+ const { treeConfig } = props
1108
+ const { rowExpandedFlag, expandColumn } = reactData
1109
+ const { visibleDataRowIdData, rowExpandedMaps } = internalData
1110
+ const treeOpts = $xeTable.computeTreeOpts
1111
+ const { transform } = treeOpts
1106
1112
  const expandList: any[] = []
1107
1113
  if (expandColumn && rowExpandedFlag) {
1108
- const rowKeys: Record<string, boolean> = {}
1109
- tableData.forEach(row => {
1110
- rowKeys[handleGetRowId(row)] = true
1111
- })
1114
+ if (treeConfig && !transform) {
1115
+ return XEUtils.values(rowExpandedMaps)
1116
+ }
1112
1117
  XEUtils.each(rowExpandedMaps, (row, rowid) => {
1113
- if (rowKeys[rowid]) {
1118
+ if (visibleDataRowIdData[rowid]) {
1114
1119
  expandList.push(row)
1115
1120
  }
1116
1121
  })
@@ -1385,14 +1390,27 @@ export default {
1385
1390
  tableFullColumn: [],
1386
1391
  // 渲染所有列
1387
1392
  visibleColumn: [],
1388
- // 总的缓存数据集
1393
+ // 全量数据集(包括当前和已删除)
1389
1394
  fullAllDataRowIdData: {},
1395
+ // 数据集(仅当前)
1396
+ fullDataRowIdData: {},
1397
+ // 数据集(仅可视)
1398
+ visibleDataRowIdData: {},
1390
1399
  // 渲染中缓存数据
1391
1400
  sourceDataRowIdData: {},
1392
- fullDataRowIdData: {},
1393
1401
  fullColumnIdData: {},
1394
1402
  fullColumnFieldData: {},
1395
1403
 
1404
+ // 合并单元格的数据
1405
+ mergeBodyList: [],
1406
+ mergeBodyMaps: {},
1407
+ // 合并表尾的数据
1408
+ mergeFooterList: [],
1409
+ mergeFooterMaps: {},
1410
+ // 已合并单元格数据集合
1411
+ mergeBodyCellMaps: {},
1412
+ // 已合并表尾数据集合
1413
+ mergeFooterCellMaps: {},
1396
1414
  // 已展开的行集合
1397
1415
  rowExpandedMaps: {},
1398
1416
  // 懒加载中的展开行的集合
@@ -1432,6 +1450,7 @@ export default {
1432
1450
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts
1433
1451
  const virtualXOpts = $xeTable.computeVirtualXOpts
1434
1452
  const virtualYOpts = $xeTable.computeVirtualYOpts
1453
+ const keyboardOpts = $xeTable.computeKeyboardOpts
1435
1454
 
1436
1455
  if (props.rowId) {
1437
1456
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField'])
@@ -1475,6 +1494,12 @@ export default {
1475
1494
  if (this.highlightHoverColumn) {
1476
1495
  warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover'])
1477
1496
  }
1497
+ // if (props.scrollY) {
1498
+ // warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
1499
+ // }
1500
+ // if (props.scrollX) {
1501
+ // warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
1502
+ // }
1478
1503
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1479
1504
  if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1480
1505
  warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)).join(',') || XEUtils.keys(importOpts._typeMaps).join(',')])
@@ -1569,10 +1594,10 @@ export default {
1569
1594
  warnLog('vxe.error.errProp', [`table.empty-render=${props.emptyRender}`, 'table.empty-render={}'])
1570
1595
  }
1571
1596
 
1572
- if ((rowOpts.isCurrent || highlightCurrentRow) && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1597
+ if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1573
1598
  warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected'])
1574
1599
  }
1575
- if ((columnOpts.isCurrent || highlightCurrentColumn) && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1600
+ if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1576
1601
  warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected'])
1577
1602
  }
1578
1603
 
@@ -390,20 +390,6 @@ export function calcTreeLine (params: VxeTableDefines.CellRenderBodyParams, prev
390
390
  return cellHeight * expandSize - (prevRow ? 1 : (12 - getOffsetSize($table)))
391
391
  }
392
392
 
393
- export function mergeBodyMethod (mergeList: any, _rowIndex: any, _columnIndex: any) {
394
- for (let mIndex = 0; mIndex < mergeList.length; mIndex++) {
395
- const { row: mergeRowIndex, col: mergeColIndex, rowspan: mergeRowspan, colspan: mergeColspan } = mergeList[mIndex]
396
- if (mergeColIndex > -1 && mergeRowIndex > -1 && mergeRowspan && mergeColspan) {
397
- if (mergeRowIndex === _rowIndex && mergeColIndex === _columnIndex) {
398
- return { rowspan: mergeRowspan, colspan: mergeColspan }
399
- }
400
- if (_rowIndex >= mergeRowIndex && _rowIndex < mergeRowIndex + mergeRowspan && _columnIndex >= mergeColIndex && _columnIndex < mergeColIndex + mergeColspan) {
401
- return { rowspan: 0, colspan: 0 }
402
- }
403
- }
404
- }
405
- }
406
-
407
393
  export function getCellValue (row: any, column: any) {
408
394
  return XEUtils.get(row, column.field)
409
395
  }
@@ -199,7 +199,7 @@ VxeUI.setConfig({
199
199
  },
200
200
  virtualXConfig: {
201
201
  enabled: true,
202
- gt: 60,
202
+ gt: 28,
203
203
  preSize: 0,
204
204
  oSize: 1
205
205
  },