vxe-table 3.14.4 → 3.14.5

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 (123) 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/export/export-panel.js +32 -17
  23. package/es/table/module/export/mixin.js +3 -1
  24. package/es/table/src/methods.js +44 -42
  25. package/es/table/src/table.js +10 -2
  26. package/es/ui/index.js +1 -1
  27. package/es/ui/src/log.js +1 -1
  28. package/lib/index.umd.js +94 -66
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/locale/lang/ar-EG.js +3 -1
  31. package/lib/locale/lang/ar-EG.min.js +1 -1
  32. package/lib/locale/lang/de-DE.js +3 -1
  33. package/lib/locale/lang/de-DE.min.js +1 -1
  34. package/lib/locale/lang/en-US.js +7 -5
  35. package/lib/locale/lang/en-US.min.js +1 -1
  36. package/lib/locale/lang/en-US.umd.js +7 -5
  37. package/lib/locale/lang/es-ES.js +3 -1
  38. package/lib/locale/lang/es-ES.min.js +1 -1
  39. package/lib/locale/lang/es-ES.umd.js +3 -1
  40. package/lib/locale/lang/fr-FR.js +3 -1
  41. package/lib/locale/lang/fr-FR.min.js +1 -1
  42. package/lib/locale/lang/hu-HU.js +3 -1
  43. package/lib/locale/lang/hu-HU.min.js +1 -1
  44. package/lib/locale/lang/hu-HU.umd.js +3 -1
  45. package/lib/locale/lang/hy-AM.js +3 -1
  46. package/lib/locale/lang/hy-AM.min.js +1 -1
  47. package/lib/locale/lang/id-ID.js +3 -1
  48. package/lib/locale/lang/id-ID.min.js +1 -1
  49. package/lib/locale/lang/it-IT.js +3 -1
  50. package/lib/locale/lang/it-IT.min.js +1 -1
  51. package/lib/locale/lang/ja-JP.js +3 -1
  52. package/lib/locale/lang/ja-JP.min.js +1 -1
  53. package/lib/locale/lang/ja-JP.umd.js +3 -1
  54. package/lib/locale/lang/ko-KR.js +3 -1
  55. package/lib/locale/lang/ko-KR.min.js +1 -1
  56. package/lib/locale/lang/ko-KR.umd.js +3 -1
  57. package/lib/locale/lang/nb-NO.js +3 -1
  58. package/lib/locale/lang/nb-NO.min.js +1 -1
  59. package/lib/locale/lang/pt-BR.js +3 -1
  60. package/lib/locale/lang/pt-BR.min.js +1 -1
  61. package/lib/locale/lang/pt-BR.umd.js +3 -1
  62. package/lib/locale/lang/ru-RU.js +3 -1
  63. package/lib/locale/lang/ru-RU.min.js +1 -1
  64. package/lib/locale/lang/ru-RU.umd.js +3 -1
  65. package/lib/locale/lang/th-TH.js +3 -1
  66. package/lib/locale/lang/th-TH.min.js +1 -1
  67. package/lib/locale/lang/ug-CN.js +3 -1
  68. package/lib/locale/lang/ug-CN.min.js +1 -1
  69. package/lib/locale/lang/uk-UA.js +3 -1
  70. package/lib/locale/lang/uk-UA.min.js +1 -1
  71. package/lib/locale/lang/uk-UA.umd.js +3 -1
  72. package/lib/locale/lang/vi-VN.js +3 -1
  73. package/lib/locale/lang/vi-VN.min.js +1 -1
  74. package/lib/locale/lang/zh-CHT.js +3 -1
  75. package/lib/locale/lang/zh-CHT.min.js +1 -1
  76. package/lib/locale/lang/zh-CHT.umd.js +3 -1
  77. package/lib/locale/lang/zh-CN.js +3 -1
  78. package/lib/locale/lang/zh-CN.min.js +1 -1
  79. package/lib/locale/lang/zh-CN.umd.js +3 -1
  80. package/lib/style.css +1 -1
  81. package/lib/table/module/export/export-panel.js +29 -17
  82. package/lib/table/module/export/export-panel.min.js +1 -1
  83. package/lib/table/module/export/mixin.js +3 -1
  84. package/lib/table/module/export/mixin.min.js +1 -1
  85. package/lib/table/src/methods.js +47 -43
  86. package/lib/table/src/methods.min.js +1 -1
  87. package/lib/table/src/table.js +10 -2
  88. package/lib/table/src/table.min.js +1 -1
  89. package/lib/ui/index.js +1 -1
  90. package/lib/ui/index.min.js +1 -1
  91. package/lib/ui/src/log.js +1 -1
  92. package/lib/ui/src/log.min.js +1 -1
  93. package/package.json +2 -2
  94. package/packages/locale/lang/ar-EG.ts +3 -1
  95. package/packages/locale/lang/de-DE.ts +3 -1
  96. package/packages/locale/lang/en-US.ts +7 -5
  97. package/packages/locale/lang/es-ES.ts +3 -1
  98. package/packages/locale/lang/fr-FR.ts +3 -1
  99. package/packages/locale/lang/hu-HU.ts +3 -1
  100. package/packages/locale/lang/hy-AM.ts +3 -1
  101. package/packages/locale/lang/id-ID.ts +3 -1
  102. package/packages/locale/lang/it-IT.ts +3 -1
  103. package/packages/locale/lang/ja-JP.ts +3 -1
  104. package/packages/locale/lang/ko-KR.ts +3 -1
  105. package/packages/locale/lang/nb-NO.ts +3 -1
  106. package/packages/locale/lang/pt-BR.ts +3 -1
  107. package/packages/locale/lang/ru-RU.ts +3 -1
  108. package/packages/locale/lang/th-TH.ts +3 -1
  109. package/packages/locale/lang/ug-CN.ts +3 -1
  110. package/packages/locale/lang/uk-UA.ts +3 -1
  111. package/packages/locale/lang/vi-VN.ts +3 -1
  112. package/packages/locale/lang/zh-CHT.ts +3 -1
  113. package/packages/locale/lang/zh-CN.ts +3 -1
  114. package/packages/table/module/export/export-panel.ts +33 -17
  115. package/packages/table/module/export/mixin.ts +3 -1
  116. package/packages/table/src/methods.ts +43 -41
  117. package/packages/table/src/table.ts +10 -2
  118. /package/es/{iconfont.1743393991959.ttf → iconfont.1743479120369.ttf} +0 -0
  119. /package/es/{iconfont.1743393991959.woff → iconfont.1743479120369.woff} +0 -0
  120. /package/es/{iconfont.1743393991959.woff2 → iconfont.1743479120369.woff2} +0 -0
  121. /package/lib/{iconfont.1743393991959.ttf → iconfont.1743479120369.ttf} +0 -0
  122. /package/lib/{iconfont.1743393991959.woff → iconfont.1743479120369.woff} +0 -0
  123. /package/lib/{iconfont.1743393991959.woff2 → iconfont.1743479120369.woff2} +0 -0
@@ -326,27 +326,27 @@ export default {
326
326
  }),
327
327
  h('vxe-checkbox', {
328
328
  props: {
329
- value: defaultOptions.isFooter,
330
- disabled: !storeData.hasFooter,
331
- title: getI18n('vxe.export.expFooterTitle'),
332
- content: getI18n('vxe.export.expOptFooter')
329
+ value: isHeader ? defaultOptions.isTitle : false,
330
+ disabled: !isHeader,
331
+ title: getI18n('vxe.export.expTitleTitle'),
332
+ content: getI18n('vxe.export.expOptTitle')
333
333
  },
334
334
  on: {
335
335
  input(value) {
336
- defaultOptions.isFooter = value;
336
+ defaultOptions.isTitle = value;
337
337
  }
338
338
  }
339
339
  }),
340
340
  h('vxe-checkbox', {
341
341
  props: {
342
- value: hasEmptyData ? false : defaultOptions.original,
343
- disabled: hasEmptyData,
344
- title: getI18n('vxe.export.expOriginalTitle'),
345
- content: getI18n('vxe.export.expOptOriginal')
342
+ value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
343
+ disabled: !isHeader || !hasColgroup || !supportMerge,
344
+ title: getI18n('vxe.export.expColgroupTitle'),
345
+ content: getI18n('vxe.export.expOptColgroup')
346
346
  },
347
347
  on: {
348
348
  input(value) {
349
- defaultOptions.original = value;
349
+ defaultOptions.isColgroup = value;
350
350
  }
351
351
  }
352
352
  })
@@ -356,16 +356,14 @@ export default {
356
356
  }, [
357
357
  h('vxe-checkbox', {
358
358
  props: {
359
- // value: supportGroup || (isHeader && hasColgroup && supportMerge) ? defaultOptions.isColgroup : false,
360
- // disabled: !supportGroup && (!isHeader || !hasColgroup || !supportMerge),
361
- value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
362
- disabled: !isHeader || !hasColgroup || !supportMerge,
363
- title: getI18n('vxe.export.expColgroupTitle'),
364
- content: getI18n('vxe.export.expOptColgroup')
359
+ value: hasEmptyData ? false : defaultOptions.original,
360
+ disabled: hasEmptyData,
361
+ title: getI18n('vxe.export.expOriginalTitle'),
362
+ content: getI18n('vxe.export.expOptOriginal')
365
363
  },
366
364
  on: {
367
365
  input(value) {
368
- defaultOptions.isColgroup = value;
366
+ defaultOptions.original = value;
369
367
  }
370
368
  }
371
369
  }),
@@ -410,6 +408,23 @@ export default {
410
408
  }
411
409
  }
412
410
  })
411
+ ]),
412
+ h('div', {
413
+ class: 'vxe-table-export--panel-option-row'
414
+ }, [
415
+ h('vxe-checkbox', {
416
+ props: {
417
+ value: defaultOptions.isFooter,
418
+ disabled: !storeData.hasFooter,
419
+ title: getI18n('vxe.export.expFooterTitle'),
420
+ content: getI18n('vxe.export.expOptFooter')
421
+ },
422
+ on: {
423
+ input(value) {
424
+ defaultOptions.isFooter = value;
425
+ }
426
+ }
427
+ })
413
428
  ])
414
429
  ])
415
430
  ])
@@ -209,7 +209,7 @@ function getBooleanValue(cellValue) {
209
209
  function getHeaderTitle($xeTable, opts, column) {
210
210
  const columnOpts = $xeTable.computeColumnOpts;
211
211
  const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
212
- return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.original ? column.field : column.getTitle()) || '');
212
+ return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ? column.getTitle() : column.field) || '');
213
213
  }
214
214
  function getFooterCellValue($xeTable, opts, row, column) {
215
215
  const columnOpts = $xeTable.computeColumnOpts;
@@ -1016,6 +1016,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
1016
1016
  const defOpts = Object.assign({
1017
1017
  message: true,
1018
1018
  isHeader: showHeader,
1019
+ isTitle: showHeader,
1019
1020
  isFooter: showFooter,
1020
1021
  isColgroup: isGroup,
1021
1022
  isMerge: hasMerge,
@@ -1192,6 +1193,7 @@ export default {
1192
1193
  const opts = Object.assign({
1193
1194
  message: true,
1194
1195
  isHeader: showHeader,
1196
+ isTitle: showHeader,
1195
1197
  isFooter: showFooter,
1196
1198
  isColgroup: isGroup,
1197
1199
  isMerge: hasMerge,
@@ -230,41 +230,35 @@ function cacheColumnMap($xeTable) {
230
230
  htmlColumn = column;
231
231
  }
232
232
  if (treeNode) {
233
- if (process.env.NODE_ENV === 'development') {
234
- if (treeNodeColumn) {
235
- warnLog('vxe.error.colRepet', ['tree-node', treeNode]);
236
- }
233
+ if (treeNodeColumn) {
234
+ warnLog('vxe.error.colRepet', ['tree-node', treeNode]);
237
235
  }
238
236
  if (!treeNodeColumn) {
239
237
  treeNodeColumn = column;
240
238
  }
241
239
  }
242
240
  else if (type === 'expand') {
243
- if (process.env.NODE_ENV === 'development') {
244
- if (expandColumn) {
245
- warnLog('vxe.error.colRepet', ['type', type]);
246
- }
241
+ if (expandColumn) {
242
+ warnLog('vxe.error.colRepet', ['type', type]);
247
243
  }
248
244
  if (!expandColumn) {
249
245
  expandColumn = column;
250
246
  }
251
247
  }
252
- if (process.env.NODE_ENV === 'development') {
253
- if (type === 'checkbox') {
254
- if (checkboxColumn) {
255
- warnLog('vxe.error.colRepet', ['type', type]);
256
- }
257
- if (!checkboxColumn) {
258
- checkboxColumn = column;
259
- }
248
+ if (type === 'checkbox') {
249
+ if (checkboxColumn) {
250
+ warnLog('vxe.error.colRepet', ['type', type]);
260
251
  }
261
- else if (type === 'radio') {
262
- if (radioColumn) {
263
- warnLog('vxe.error.colRepet', ['type', type]);
264
- }
265
- if (!radioColumn) {
266
- radioColumn = column;
267
- }
252
+ if (!checkboxColumn) {
253
+ checkboxColumn = column;
254
+ }
255
+ }
256
+ else if (type === 'radio') {
257
+ if (radioColumn) {
258
+ warnLog('vxe.error.colRepet', ['type', type]);
259
+ }
260
+ if (!radioColumn) {
261
+ radioColumn = column;
268
262
  }
269
263
  }
270
264
  if (isAllOverflow && column.showOverflow === false) {
@@ -2656,6 +2650,7 @@ const Methods = {
2656
2650
  const { scrollYLoad: oldScrollYLoad } = reactData;
2657
2651
  const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData;
2658
2652
  const treeOpts = $xeTable.computeTreeOpts;
2653
+ const expandOpts = $xeTable.computeExpandOpts;
2659
2654
  const { transform } = treeOpts;
2660
2655
  const childrenField = treeOpts.children || treeOpts.childrenField;
2661
2656
  let treeData = [];
@@ -2742,6 +2737,9 @@ const Methods = {
2742
2737
  scrollYStore.endIndex = scrollYStore.visibleSize;
2743
2738
  }
2744
2739
  if (sYLoad) {
2740
+ if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
2741
+ errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"']);
2742
+ }
2745
2743
  // if (showOverflow) {
2746
2744
  // if (!rowOpts.height) {
2747
2745
  // const errColumn = internalData.tableFullColumn.find((column: any) => column.showOverflow === false)
@@ -3652,8 +3650,10 @@ const Methods = {
3652
3650
  getCheckboxRecords(isFull) {
3653
3651
  const $xeTable = this;
3654
3652
  const props = $xeTable;
3653
+ const reactData = $xeTable;
3655
3654
  const internalData = $xeTable;
3656
3655
  const { treeConfig } = props;
3656
+ const { updateCheckboxFlag } = reactData;
3657
3657
  const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps, selectCheckboxMaps } = internalData;
3658
3658
  const treeOpts = $xeTable.computeTreeOpts;
3659
3659
  const checkboxOpts = $xeTable.computeCheckboxOpts;
@@ -3661,29 +3661,31 @@ const Methods = {
3661
3661
  const { checkField } = checkboxOpts;
3662
3662
  const childrenField = treeOpts.children || treeOpts.childrenField;
3663
3663
  let rowList = [];
3664
- if (checkField) {
3665
- if (treeConfig) {
3666
- const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData);
3667
- rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField });
3664
+ if (updateCheckboxFlag) {
3665
+ if (checkField) {
3666
+ if (treeConfig) {
3667
+ const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData);
3668
+ rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField });
3669
+ }
3670
+ else {
3671
+ const currTableData = isFull ? tableFullData : afterFullData;
3672
+ rowList = currTableData.filter((row) => XEUtils.get(row, checkField));
3673
+ }
3668
3674
  }
3669
3675
  else {
3670
- const currTableData = isFull ? tableFullData : afterFullData;
3671
- rowList = currTableData.filter((row) => XEUtils.get(row, checkField));
3672
- }
3673
- }
3674
- else {
3675
- XEUtils.each(selectCheckboxMaps, (row, rowid) => {
3676
- if (isFull) {
3677
- if (fullDataRowIdData[rowid]) {
3678
- rowList.push(fullDataRowIdData[rowid].row);
3676
+ XEUtils.each(selectCheckboxMaps, (row, rowid) => {
3677
+ if (isFull) {
3678
+ if (fullDataRowIdData[rowid]) {
3679
+ rowList.push(fullDataRowIdData[rowid].row);
3680
+ }
3679
3681
  }
3680
- }
3681
- else {
3682
- if (afterFullRowMaps[rowid]) {
3683
- rowList.push(afterFullRowMaps[rowid]);
3682
+ else {
3683
+ if (afterFullRowMaps[rowid]) {
3684
+ rowList.push(afterFullRowMaps[rowid]);
3685
+ }
3684
3686
  }
3685
- }
3686
- });
3687
+ });
3688
+ }
3687
3689
  }
3688
3690
  return rowList;
3689
3691
  },
@@ -599,6 +599,7 @@ export default {
599
599
  original: false,
600
600
  message: true,
601
601
  isHeader: false,
602
+ isTitle: false,
602
603
  isFooter: false
603
604
  },
604
605
  rowExpandedFlag: 1,
@@ -1345,6 +1346,7 @@ export default {
1345
1346
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
1346
1347
  const virtualXOpts = $xeTable.computeVirtualXOpts;
1347
1348
  const virtualYOpts = $xeTable.computeVirtualYOpts;
1349
+ const keyboardOpts = $xeTable.computeKeyboardOpts;
1348
1350
  if (props.rowId) {
1349
1351
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
1350
1352
  }
@@ -1387,6 +1389,12 @@ export default {
1387
1389
  if (this.highlightHoverColumn) {
1388
1390
  warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover']);
1389
1391
  }
1392
+ // if (props.scrollY) {
1393
+ // warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
1394
+ // }
1395
+ // if (props.scrollX) {
1396
+ // warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
1397
+ // }
1390
1398
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1391
1399
  if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1392
1400
  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(',')]);
@@ -1478,10 +1486,10 @@ export default {
1478
1486
  if (props.emptyRender && !XEUtils.isObject(props.emptyRender)) {
1479
1487
  warnLog('vxe.error.errProp', [`table.empty-render=${props.emptyRender}`, 'table.empty-render={}']);
1480
1488
  }
1481
- if ((rowOpts.isCurrent || highlightCurrentRow) && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1489
+ if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1482
1490
  warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
1483
1491
  }
1484
- if ((columnOpts.isCurrent || highlightCurrentColumn) && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1492
+ if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1485
1493
  warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected']);
1486
1494
  }
1487
1495
  // 如果不支持虚拟滚动
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "3.14.4";
3
+ export const version = "3.14.5";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.14.4"}`;
3
+ const version = `table v${"3.14.5"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
package/lib/index.umd.js CHANGED
@@ -2220,7 +2220,7 @@ function getClass(property, params) {
2220
2220
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2221
2221
 
2222
2222
 
2223
- const version = "3.14.4";
2223
+ const version = "3.14.5";
2224
2224
  core_.VxeUI.version = version;
2225
2225
  core_.VxeUI.tableVersion = version;
2226
2226
  core_.VxeUI.setConfig({
@@ -2843,7 +2843,7 @@ function isNodeElement(elem) {
2843
2843
  const {
2844
2844
  log: log_log
2845
2845
  } = core_.VxeUI;
2846
- const log_version = `table v${"3.14.4"}`;
2846
+ const log_version = `table v${"3.14.5"}`;
2847
2847
  const warnLog = log_log.create('warn', log_version);
2848
2848
  const errLog = log_log.create('error', log_version);
2849
2849
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -5451,39 +5451,33 @@ function cacheColumnMap($xeTable) {
5451
5451
  htmlColumn = column;
5452
5452
  }
5453
5453
  if (treeNode) {
5454
- if (true) {
5455
- if (treeNodeColumn) {
5456
- warnLog('vxe.error.colRepet', ['tree-node', treeNode]);
5457
- }
5454
+ if (treeNodeColumn) {
5455
+ warnLog('vxe.error.colRepet', ['tree-node', treeNode]);
5458
5456
  }
5459
5457
  if (!treeNodeColumn) {
5460
5458
  treeNodeColumn = column;
5461
5459
  }
5462
5460
  } else if (type === 'expand') {
5463
- if (true) {
5464
- if (expandColumn) {
5465
- warnLog('vxe.error.colRepet', ['type', type]);
5466
- }
5461
+ if (expandColumn) {
5462
+ warnLog('vxe.error.colRepet', ['type', type]);
5467
5463
  }
5468
5464
  if (!expandColumn) {
5469
5465
  expandColumn = column;
5470
5466
  }
5471
5467
  }
5472
- if (true) {
5473
- if (type === 'checkbox') {
5474
- if (checkboxColumn) {
5475
- warnLog('vxe.error.colRepet', ['type', type]);
5476
- }
5477
- if (!checkboxColumn) {
5478
- checkboxColumn = column;
5479
- }
5480
- } else if (type === 'radio') {
5481
- if (radioColumn) {
5482
- warnLog('vxe.error.colRepet', ['type', type]);
5483
- }
5484
- if (!radioColumn) {
5485
- radioColumn = column;
5486
- }
5468
+ if (type === 'checkbox') {
5469
+ if (checkboxColumn) {
5470
+ warnLog('vxe.error.colRepet', ['type', type]);
5471
+ }
5472
+ if (!checkboxColumn) {
5473
+ checkboxColumn = column;
5474
+ }
5475
+ } else if (type === 'radio') {
5476
+ if (radioColumn) {
5477
+ warnLog('vxe.error.colRepet', ['type', type]);
5478
+ }
5479
+ if (!radioColumn) {
5480
+ radioColumn = column;
5487
5481
  }
5488
5482
  }
5489
5483
  if (isAllOverflow && column.showOverflow === false) {
@@ -8259,6 +8253,7 @@ const Methods = {
8259
8253
  lastScrollTop
8260
8254
  } = internalData;
8261
8255
  const treeOpts = $xeTable.computeTreeOpts;
8256
+ const expandOpts = $xeTable.computeExpandOpts;
8262
8257
  const {
8263
8258
  transform
8264
8259
  } = treeOpts;
@@ -8346,6 +8341,9 @@ const Methods = {
8346
8341
  scrollYStore.endIndex = scrollYStore.visibleSize;
8347
8342
  }
8348
8343
  if (sYLoad) {
8344
+ if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
8345
+ errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"']);
8346
+ }
8349
8347
  // if (showOverflow) {
8350
8348
  // if (!rowOpts.height) {
8351
8349
  // const errColumn = internalData.tableFullColumn.find((column: any) => column.showOverflow === false)
@@ -9384,10 +9382,14 @@ const Methods = {
9384
9382
  getCheckboxRecords(isFull) {
9385
9383
  const $xeTable = this;
9386
9384
  const props = $xeTable;
9385
+ const reactData = $xeTable;
9387
9386
  const internalData = $xeTable;
9388
9387
  const {
9389
9388
  treeConfig
9390
9389
  } = props;
9390
+ const {
9391
+ updateCheckboxFlag
9392
+ } = reactData;
9391
9393
  const {
9392
9394
  tableFullData,
9393
9395
  afterFullData,
@@ -9408,28 +9410,30 @@ const Methods = {
9408
9410
  } = checkboxOpts;
9409
9411
  const childrenField = treeOpts.children || treeOpts.childrenField;
9410
9412
  let rowList = [];
9411
- if (checkField) {
9412
- if (treeConfig) {
9413
- const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
9414
- rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData, row => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField), {
9415
- children: transform ? mapChildrenField : childrenField
9416
- });
9417
- } else {
9418
- const currTableData = isFull ? tableFullData : afterFullData;
9419
- rowList = currTableData.filter(row => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField));
9420
- }
9421
- } else {
9422
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, (row, rowid) => {
9423
- if (isFull) {
9424
- if (fullDataRowIdData[rowid]) {
9425
- rowList.push(fullDataRowIdData[rowid].row);
9426
- }
9413
+ if (updateCheckboxFlag) {
9414
+ if (checkField) {
9415
+ if (treeConfig) {
9416
+ const currTableData = isFull ? transform ? tableFullTreeData : tableFullData : transform ? afterTreeFullData : afterFullData;
9417
+ rowList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData, row => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField), {
9418
+ children: transform ? mapChildrenField : childrenField
9419
+ });
9427
9420
  } else {
9428
- if (afterFullRowMaps[rowid]) {
9429
- rowList.push(afterFullRowMaps[rowid]);
9430
- }
9421
+ const currTableData = isFull ? tableFullData : afterFullData;
9422
+ rowList = currTableData.filter(row => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, checkField));
9431
9423
  }
9432
- });
9424
+ } else {
9425
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, (row, rowid) => {
9426
+ if (isFull) {
9427
+ if (fullDataRowIdData[rowid]) {
9428
+ rowList.push(fullDataRowIdData[rowid].row);
9429
+ }
9430
+ } else {
9431
+ if (afterFullRowMaps[rowid]) {
9432
+ rowList.push(afterFullRowMaps[rowid]);
9433
+ }
9434
+ }
9435
+ });
9436
+ }
9433
9437
  }
9434
9438
  return rowList;
9435
9439
  },
@@ -20078,42 +20082,40 @@ const {
20078
20082
  }
20079
20083
  }), h('vxe-checkbox', {
20080
20084
  props: {
20081
- value: defaultOptions.isFooter,
20082
- disabled: !storeData.hasFooter,
20083
- title: export_panel_getI18n('vxe.export.expFooterTitle'),
20084
- content: export_panel_getI18n('vxe.export.expOptFooter')
20085
+ value: isHeader ? defaultOptions.isTitle : false,
20086
+ disabled: !isHeader,
20087
+ title: export_panel_getI18n('vxe.export.expTitleTitle'),
20088
+ content: export_panel_getI18n('vxe.export.expOptTitle')
20085
20089
  },
20086
20090
  on: {
20087
20091
  input(value) {
20088
- defaultOptions.isFooter = value;
20092
+ defaultOptions.isTitle = value;
20089
20093
  }
20090
20094
  }
20091
20095
  }), h('vxe-checkbox', {
20092
20096
  props: {
20093
- value: hasEmptyData ? false : defaultOptions.original,
20094
- disabled: hasEmptyData,
20095
- title: export_panel_getI18n('vxe.export.expOriginalTitle'),
20096
- content: export_panel_getI18n('vxe.export.expOptOriginal')
20097
+ value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
20098
+ disabled: !isHeader || !hasColgroup || !supportMerge,
20099
+ title: export_panel_getI18n('vxe.export.expColgroupTitle'),
20100
+ content: export_panel_getI18n('vxe.export.expOptColgroup')
20097
20101
  },
20098
20102
  on: {
20099
20103
  input(value) {
20100
- defaultOptions.original = value;
20104
+ defaultOptions.isColgroup = value;
20101
20105
  }
20102
20106
  }
20103
20107
  })]), h('div', {
20104
20108
  class: 'vxe-table-export--panel-option-row'
20105
20109
  }, [h('vxe-checkbox', {
20106
20110
  props: {
20107
- // value: supportGroup || (isHeader && hasColgroup && supportMerge) ? defaultOptions.isColgroup : false,
20108
- // disabled: !supportGroup && (!isHeader || !hasColgroup || !supportMerge),
20109
- value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
20110
- disabled: !isHeader || !hasColgroup || !supportMerge,
20111
- title: export_panel_getI18n('vxe.export.expColgroupTitle'),
20112
- content: export_panel_getI18n('vxe.export.expOptColgroup')
20111
+ value: hasEmptyData ? false : defaultOptions.original,
20112
+ disabled: hasEmptyData,
20113
+ title: export_panel_getI18n('vxe.export.expOriginalTitle'),
20114
+ content: export_panel_getI18n('vxe.export.expOptOriginal')
20113
20115
  },
20114
20116
  on: {
20115
20117
  input(value) {
20116
- defaultOptions.isColgroup = value;
20118
+ defaultOptions.original = value;
20117
20119
  }
20118
20120
  }
20119
20121
  }), h('vxe-checkbox', {
@@ -20152,6 +20154,20 @@ const {
20152
20154
  defaultOptions.isAllExpand = value;
20153
20155
  }
20154
20156
  }
20157
+ })]), h('div', {
20158
+ class: 'vxe-table-export--panel-option-row'
20159
+ }, [h('vxe-checkbox', {
20160
+ props: {
20161
+ value: defaultOptions.isFooter,
20162
+ disabled: !storeData.hasFooter,
20163
+ title: export_panel_getI18n('vxe.export.expFooterTitle'),
20164
+ content: export_panel_getI18n('vxe.export.expOptFooter')
20165
+ },
20166
+ on: {
20167
+ input(value) {
20168
+ defaultOptions.isFooter = value;
20169
+ }
20170
+ }
20155
20171
  })])])])]])])]), bottomSlot ? h('div', {
20156
20172
  class: 'vxe-table-export--panel-bottom'
20157
20173
  }, $xeTable.callSlot(bottomSlot, params, h)) : export_panel_renderEmptyElement(this)]);
@@ -22670,7 +22686,7 @@ function getHeaderTitle($xeTable, opts, column) {
22670
22686
  column,
22671
22687
  options: opts,
22672
22688
  $table: $xeTable
22673
- }) : (opts.original ? column.field : column.getTitle()) || '';
22689
+ }) : (opts.isTitle ? column.getTitle() : column.field) || '';
22674
22690
  }
22675
22691
  function getFooterCellValue($xeTable, opts, row, column) {
22676
22692
  const columnOpts = $xeTable.computeColumnOpts;
@@ -23636,6 +23652,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
23636
23652
  const defOpts = Object.assign({
23637
23653
  message: true,
23638
23654
  isHeader: showHeader,
23655
+ isTitle: showHeader,
23639
23656
  isFooter: showFooter,
23640
23657
  isColgroup: isGroup,
23641
23658
  isMerge: hasMerge,
@@ -23828,6 +23845,7 @@ const convertToRows = originColumns => {
23828
23845
  const opts = Object.assign({
23829
23846
  message: true,
23830
23847
  isHeader: showHeader,
23848
+ isTitle: showHeader,
23831
23849
  isFooter: showFooter,
23832
23850
  isColgroup: isGroup,
23833
23851
  isMerge: hasMerge,
@@ -26457,6 +26475,7 @@ function renderBody(h, $xeTable) {
26457
26475
  original: false,
26458
26476
  message: true,
26459
26477
  isHeader: false,
26478
+ isTitle: false,
26460
26479
  isFooter: false
26461
26480
  },
26462
26481
  rowExpandedFlag: 1,
@@ -27287,6 +27306,7 @@ function renderBody(h, $xeTable) {
27287
27306
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
27288
27307
  const virtualXOpts = $xeTable.computeVirtualXOpts;
27289
27308
  const virtualYOpts = $xeTable.computeVirtualYOpts;
27309
+ const keyboardOpts = $xeTable.computeKeyboardOpts;
27290
27310
  if (props.rowId) {
27291
27311
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
27292
27312
  }
@@ -27329,6 +27349,12 @@ function renderBody(h, $xeTable) {
27329
27349
  if (this.highlightHoverColumn) {
27330
27350
  warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover']);
27331
27351
  }
27352
+ // if (props.scrollY) {
27353
+ // warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
27354
+ // }
27355
+ // if (props.scrollX) {
27356
+ // warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
27357
+ // }
27332
27358
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
27333
27359
  if (importConfig && importOpts.types && !importOpts.importMethod && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includeArrays(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(importOpts._typeMaps), importOpts.types)) {
27334
27360
  warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter(type => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().includes(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(importOpts._typeMaps), type)).join(',') || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(importOpts._typeMaps).join(',')]);
@@ -27420,10 +27446,10 @@ function renderBody(h, $xeTable) {
27420
27446
  if (props.emptyRender && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isObject(props.emptyRender)) {
27421
27447
  warnLog('vxe.error.errProp', [`table.empty-render=${props.emptyRender}`, 'table.empty-render={}']);
27422
27448
  }
27423
- if ((rowOpts.isCurrent || highlightCurrentRow) && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(currentRowOpts.isFollowSelected)) {
27449
+ if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(currentRowOpts.isFollowSelected)) {
27424
27450
  warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
27425
27451
  }
27426
- if ((columnOpts.isCurrent || highlightCurrentColumn) && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(currentColumnOpts.isFollowSelected)) {
27452
+ if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(currentColumnOpts.isFollowSelected)) {
27427
27453
  warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected']);
27428
27454
  }
27429
27455
  // 如果不支持虚拟滚动
@@ -31746,10 +31772,12 @@ const Toolbar = VxeToolbar;
31746
31772
  expOptFooter: '表尾',
31747
31773
  expFooterTitle: '是否需要表尾',
31748
31774
  expOptColgroup: '分组表头',
31775
+ expOptTitle: '列标题',
31776
+ expTitleTitle: '是否为列标题,否则显示为列的字段名',
31749
31777
  expColgroupTitle: '如果存在,则支持带有分组结构的表头',
31750
31778
  expOptMerge: '合并',
31751
31779
  expMergeTitle: '如果存在,则支持带有合并结构的单元格',
31752
- expOptAllExpand: '展开层级',
31780
+ expOptAllExpand: '展开树',
31753
31781
  expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
31754
31782
  expOptUseStyle: '样式',
31755
31783
  expUseStyleTitle: '如果存在,则支持带样式的单元格',