vxe-table 3.14.3 → 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 (127) hide show
  1. package/es/locale/lang/ar-EG.js +4 -1
  2. package/es/locale/lang/de-DE.js +4 -1
  3. package/es/locale/lang/en-US.js +8 -5
  4. package/es/locale/lang/es-ES.js +4 -1
  5. package/es/locale/lang/fr-FR.js +4 -1
  6. package/es/locale/lang/hu-HU.js +4 -1
  7. package/es/locale/lang/hy-AM.js +4 -1
  8. package/es/locale/lang/id-ID.js +4 -1
  9. package/es/locale/lang/it-IT.js +4 -1
  10. package/es/locale/lang/ja-JP.js +4 -1
  11. package/es/locale/lang/ko-KR.js +4 -1
  12. package/es/locale/lang/nb-NO.js +4 -1
  13. package/es/locale/lang/pt-BR.js +4 -1
  14. package/es/locale/lang/ru-RU.js +4 -1
  15. package/es/locale/lang/th-TH.js +4 -1
  16. package/es/locale/lang/ug-CN.js +4 -1
  17. package/es/locale/lang/uk-UA.js +4 -1
  18. package/es/locale/lang/vi-VN.js +4 -1
  19. package/es/locale/lang/zh-CHT.js +4 -1
  20. package/es/locale/lang/zh-CN.js +4 -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/module/keyboard/mixin.js +27 -9
  25. package/es/table/src/methods.js +44 -42
  26. package/es/table/src/table.js +50 -17
  27. package/es/ui/index.js +1 -1
  28. package/es/ui/src/log.js +1 -1
  29. package/lib/index.umd.js +165 -90
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/locale/lang/ar-EG.js +4 -1
  32. package/lib/locale/lang/ar-EG.min.js +1 -1
  33. package/lib/locale/lang/de-DE.js +4 -1
  34. package/lib/locale/lang/de-DE.min.js +1 -1
  35. package/lib/locale/lang/en-US.js +8 -5
  36. package/lib/locale/lang/en-US.min.js +1 -1
  37. package/lib/locale/lang/en-US.umd.js +8 -5
  38. package/lib/locale/lang/es-ES.js +4 -1
  39. package/lib/locale/lang/es-ES.min.js +1 -1
  40. package/lib/locale/lang/es-ES.umd.js +4 -1
  41. package/lib/locale/lang/fr-FR.js +4 -1
  42. package/lib/locale/lang/fr-FR.min.js +1 -1
  43. package/lib/locale/lang/hu-HU.js +4 -1
  44. package/lib/locale/lang/hu-HU.min.js +1 -1
  45. package/lib/locale/lang/hu-HU.umd.js +4 -1
  46. package/lib/locale/lang/hy-AM.js +4 -1
  47. package/lib/locale/lang/hy-AM.min.js +1 -1
  48. package/lib/locale/lang/id-ID.js +4 -1
  49. package/lib/locale/lang/id-ID.min.js +1 -1
  50. package/lib/locale/lang/it-IT.js +4 -1
  51. package/lib/locale/lang/it-IT.min.js +1 -1
  52. package/lib/locale/lang/ja-JP.js +4 -1
  53. package/lib/locale/lang/ja-JP.min.js +1 -1
  54. package/lib/locale/lang/ja-JP.umd.js +4 -1
  55. package/lib/locale/lang/ko-KR.js +4 -1
  56. package/lib/locale/lang/ko-KR.min.js +1 -1
  57. package/lib/locale/lang/ko-KR.umd.js +4 -1
  58. package/lib/locale/lang/nb-NO.js +4 -1
  59. package/lib/locale/lang/nb-NO.min.js +1 -1
  60. package/lib/locale/lang/pt-BR.js +4 -1
  61. package/lib/locale/lang/pt-BR.min.js +1 -1
  62. package/lib/locale/lang/pt-BR.umd.js +4 -1
  63. package/lib/locale/lang/ru-RU.js +4 -1
  64. package/lib/locale/lang/ru-RU.min.js +1 -1
  65. package/lib/locale/lang/ru-RU.umd.js +4 -1
  66. package/lib/locale/lang/th-TH.js +4 -1
  67. package/lib/locale/lang/th-TH.min.js +1 -1
  68. package/lib/locale/lang/ug-CN.js +4 -1
  69. package/lib/locale/lang/ug-CN.min.js +1 -1
  70. package/lib/locale/lang/uk-UA.js +4 -1
  71. package/lib/locale/lang/uk-UA.min.js +1 -1
  72. package/lib/locale/lang/uk-UA.umd.js +4 -1
  73. package/lib/locale/lang/vi-VN.js +4 -1
  74. package/lib/locale/lang/vi-VN.min.js +1 -1
  75. package/lib/locale/lang/zh-CHT.js +4 -1
  76. package/lib/locale/lang/zh-CHT.min.js +1 -1
  77. package/lib/locale/lang/zh-CHT.umd.js +4 -1
  78. package/lib/locale/lang/zh-CN.js +4 -1
  79. package/lib/locale/lang/zh-CN.min.js +1 -1
  80. package/lib/locale/lang/zh-CN.umd.js +4 -1
  81. package/lib/style.css +1 -1
  82. package/lib/table/module/export/export-panel.js +29 -17
  83. package/lib/table/module/export/export-panel.min.js +1 -1
  84. package/lib/table/module/export/mixin.js +3 -1
  85. package/lib/table/module/export/mixin.min.js +1 -1
  86. package/lib/table/module/keyboard/mixin.js +28 -9
  87. package/lib/table/module/keyboard/mixin.min.js +1 -1
  88. package/lib/table/src/methods.js +47 -43
  89. package/lib/table/src/methods.min.js +1 -1
  90. package/lib/table/src/table.js +52 -17
  91. package/lib/table/src/table.min.js +1 -1
  92. package/lib/ui/index.js +1 -1
  93. package/lib/ui/index.min.js +1 -1
  94. package/lib/ui/src/log.js +1 -1
  95. package/lib/ui/src/log.min.js +1 -1
  96. package/package.json +2 -2
  97. package/packages/locale/lang/ar-EG.ts +4 -1
  98. package/packages/locale/lang/de-DE.ts +4 -1
  99. package/packages/locale/lang/en-US.ts +8 -5
  100. package/packages/locale/lang/es-ES.ts +4 -1
  101. package/packages/locale/lang/fr-FR.ts +4 -1
  102. package/packages/locale/lang/hu-HU.ts +4 -1
  103. package/packages/locale/lang/hy-AM.ts +4 -1
  104. package/packages/locale/lang/id-ID.ts +4 -1
  105. package/packages/locale/lang/it-IT.ts +4 -1
  106. package/packages/locale/lang/ja-JP.ts +4 -1
  107. package/packages/locale/lang/ko-KR.ts +4 -1
  108. package/packages/locale/lang/nb-NO.ts +4 -1
  109. package/packages/locale/lang/pt-BR.ts +4 -1
  110. package/packages/locale/lang/ru-RU.ts +4 -1
  111. package/packages/locale/lang/th-TH.ts +4 -1
  112. package/packages/locale/lang/ug-CN.ts +4 -1
  113. package/packages/locale/lang/uk-UA.ts +4 -1
  114. package/packages/locale/lang/vi-VN.ts +4 -1
  115. package/packages/locale/lang/zh-CHT.ts +4 -1
  116. package/packages/locale/lang/zh-CN.ts +4 -1
  117. package/packages/table/module/export/export-panel.ts +33 -17
  118. package/packages/table/module/export/mixin.ts +3 -1
  119. package/packages/table/module/keyboard/mixin.ts +25 -9
  120. package/packages/table/src/methods.ts +43 -41
  121. package/packages/table/src/table.ts +52 -17
  122. /package/es/{iconfont.1743389110592.ttf → iconfont.1743479120369.ttf} +0 -0
  123. /package/es/{iconfont.1743389110592.woff → iconfont.1743479120369.woff} +0 -0
  124. /package/es/{iconfont.1743389110592.woff2 → iconfont.1743479120369.woff2} +0 -0
  125. /package/lib/{iconfont.1743389110592.ttf → iconfont.1743479120369.ttf} +0 -0
  126. /package/lib/{iconfont.1743389110592.woff → iconfont.1743479120369.woff} +0 -0
  127. /package/lib/{iconfont.1743389110592.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,
@@ -301,28 +301,46 @@ export default {
301
301
  const props = $xeTable;
302
302
  const { highlightCurrentRow, highlightCurrentColumn } = props;
303
303
  const rowOpts = $xeTable.computeRowOpts;
304
+ const currentRowOpts = $xeTable.computeCurrentRowOpts;
304
305
  const columnOpts = $xeTable.computeColumnOpts;
305
- handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
306
- // 当前行按键上下移动
307
- if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
308
- $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
306
+ const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
307
+ const params = handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
308
+ if (rowOpts.isCurrent || highlightCurrentRow) {
309
+ if (currentRowOpts.isFollowSelected) {
310
+ $xeTable.triggerCurrentRowEvent(evnt, params);
311
+ }
312
+ else {
313
+ // 当前行按键上下移动
314
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
315
+ $xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
316
+ }
317
+ }
309
318
  }
310
- // 当前行按键左右移动
311
- if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
312
- $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
319
+ if (columnOpts.isCurrent || highlightCurrentColumn) {
320
+ if (currentColumnOpts.isFollowSelected) {
321
+ $xeTable.triggerCurrentColumnEvent(evnt, params);
322
+ }
323
+ else {
324
+ // 当前行按键左右移动
325
+ if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
326
+ $xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
327
+ }
328
+ }
313
329
  }
314
330
  },
315
331
  moveEnterSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
316
332
  const $xeTable = this;
333
+ const props = $xeTable;
334
+ const { highlightCurrentRow, highlightCurrentColumn } = props;
317
335
  const rowOpts = $xeTable.computeRowOpts;
318
336
  const currentRowOpts = $xeTable.computeCurrentRowOpts;
319
337
  const columnOpts = $xeTable.computeColumnOpts;
320
338
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
321
339
  const params = handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
322
- if ((rowOpts.isCurrent && currentRowOpts.isFollowSelected)) {
340
+ if (((rowOpts.isCurrent || highlightCurrentRow) && currentRowOpts.isFollowSelected)) {
323
341
  $xeTable.triggerCurrentRowEvent(evnt, params);
324
342
  }
325
- if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
343
+ if ((columnOpts.isCurrent || highlightCurrentColumn) && currentColumnOpts.isFollowSelected) {
326
344
  $xeTable.triggerCurrentColumnEvent(evnt, params);
327
345
  }
328
346
  },
@@ -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,
@@ -1328,8 +1329,9 @@ export default {
1328
1329
  swYInterval: 0,
1329
1330
  swYTotal: 0
1330
1331
  });
1331
- const { data, exportConfig, importConfig, treeConfig, showOverflow } = props;
1332
+ const { data, exportConfig, importConfig, treeConfig, showOverflow, highlightCurrentRow, highlightCurrentColumn } = props;
1332
1333
  const { scrollXStore, scrollYStore } = internalData;
1334
+ const columnOpts = $xeTable.computeColumnOpts;
1333
1335
  const editOpts = $xeTable.computeEditOpts;
1334
1336
  const treeOpts = $xeTable.computeTreeOpts;
1335
1337
  const radioOpts = $xeTable.computeRadioOpts;
@@ -1340,6 +1342,11 @@ export default {
1340
1342
  const mouseOpts = $xeTable.computeMouseOpts;
1341
1343
  const exportOpts = $xeTable.computeExportOpts;
1342
1344
  const importOpts = $xeTable.computeImportOpts;
1345
+ const currentRowOpts = $xeTable.computeCurrentRowOpts;
1346
+ const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
1347
+ const virtualXOpts = $xeTable.computeVirtualXOpts;
1348
+ const virtualYOpts = $xeTable.computeVirtualYOpts;
1349
+ const keyboardOpts = $xeTable.computeKeyboardOpts;
1343
1350
  if (props.rowId) {
1344
1351
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
1345
1352
  }
@@ -1382,6 +1389,12 @@ export default {
1382
1389
  if (this.highlightHoverColumn) {
1383
1390
  warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover']);
1384
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
+ // }
1385
1398
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1386
1399
  if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1387
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(',')]);
@@ -1449,29 +1462,49 @@ export default {
1449
1462
  warnLog('vxe.error.errProp', [`table.context-menu=${this.contextMenu}`, 'table.context-menu={}']);
1450
1463
  }
1451
1464
  }
1452
- if (this.menuConfig && !XEUtils.isObject(this.menuConfig)) {
1453
- warnLog('vxe.error.errProp', [`table.menu-config=${this.menuConfig}`, 'table.menu-config={}']);
1465
+ if (props.menuConfig && !XEUtils.isObject(props.menuConfig)) {
1466
+ warnLog('vxe.error.errProp', [`table.menu-config=${props.menuConfig}`, 'table.menu-config={}']);
1467
+ }
1468
+ if (props.exportConfig && !XEUtils.isObject(props.exportConfig)) {
1469
+ warnLog('vxe.error.errProp', [`table.export-config=${props.exportConfig}`, 'table.export-config={}']);
1470
+ }
1471
+ if (props.importConfig && !XEUtils.isObject(props.importConfig)) {
1472
+ warnLog('vxe.error.errProp', [`table.import-config=${props.importConfig}`, 'table.import-config={}']);
1473
+ }
1474
+ if (props.printConfig && !XEUtils.isObject(props.printConfig)) {
1475
+ warnLog('vxe.error.errProp', [`table.print-config=${props.printConfig}`, 'table.print-config={}']);
1454
1476
  }
1455
- if (this.exportConfig && !XEUtils.isObject(this.exportConfig)) {
1456
- warnLog('vxe.error.errProp', [`table.export-config=${this.exportConfig}`, 'table.export-config={}']);
1477
+ if (props.treeConfig && !XEUtils.isObject(props.treeConfig)) {
1478
+ warnLog('vxe.error.errProp', [`table.tree-config=${props.treeConfig}`, 'table.tree-config={}']);
1457
1479
  }
1458
- if (this.importConfig && !XEUtils.isObject(this.importConfig)) {
1459
- warnLog('vxe.error.errProp', [`table.import-config=${this.importConfig}`, 'table.import-config={}']);
1480
+ if (props.customConfig && !XEUtils.isObject(props.customConfig)) {
1481
+ warnLog('vxe.error.errProp', [`table.custom-config=${props.customConfig}`, 'table.custom-config={}']);
1460
1482
  }
1461
- if (this.printConfig && !XEUtils.isObject(this.printConfig)) {
1462
- warnLog('vxe.error.errProp', [`table.print-config=${this.printConfig}`, 'table.print-config={}']);
1483
+ if (props.editConfig && !XEUtils.isObject(props.editConfig)) {
1484
+ warnLog('vxe.error.errProp', [`table.edit-config=${props.editConfig}`, 'table.edit-config={}']);
1463
1485
  }
1464
- if (this.treeConfig && !XEUtils.isObject(this.treeConfig)) {
1465
- warnLog('vxe.error.errProp', [`table.tree-config=${this.treeConfig}`, 'table.tree-config={}']);
1486
+ if (props.emptyRender && !XEUtils.isObject(props.emptyRender)) {
1487
+ warnLog('vxe.error.errProp', [`table.empty-render=${props.emptyRender}`, 'table.empty-render={}']);
1466
1488
  }
1467
- if (this.customConfig && !XEUtils.isObject(this.customConfig)) {
1468
- warnLog('vxe.error.errProp', [`table.custom-config=${this.customConfig}`, 'table.custom-config={}']);
1489
+ if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1490
+ warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
1469
1491
  }
1470
- if (this.editConfig && !XEUtils.isObject(this.editConfig)) {
1471
- warnLog('vxe.error.errProp', [`table.edit-config=${this.editConfig}`, 'table.edit-config={}']);
1492
+ if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1493
+ warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected']);
1472
1494
  }
1473
- if (this.emptyRender && !XEUtils.isObject(this.emptyRender)) {
1474
- warnLog('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}']);
1495
+ // 如果不支持虚拟滚动
1496
+ if (props.spanMethod) {
1497
+ if (virtualXOpts.enabled) {
1498
+ warnLog('vxe.error.notConflictProp', ['span-method', 'virtual-x-config.enabled=false']);
1499
+ }
1500
+ if (virtualYOpts.enabled) {
1501
+ warnLog('vxe.error.notConflictProp', ['span-method', 'virtual-y-config.enabled=false']);
1502
+ }
1503
+ }
1504
+ if (props.footerSpanMethod) {
1505
+ if (virtualXOpts.enabled) {
1506
+ warnLog('vxe.error.notConflictProp', ['footer-span-method', 'virtual-x-config.enabled=false']);
1507
+ }
1475
1508
  }
1476
1509
  // 检查是否有安装需要的模块
1477
1510
  if (props.editConfig && !$xeTable.insert) {
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.3";
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.3"}`;
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);