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
@@ -195,10 +195,12 @@ export default {
195
195
  expOptFooter: '表尾',
196
196
  expFooterTitle: '是否需要表尾',
197
197
  expOptColgroup: '分組表頭',
198
+ expOptTitle: '列标题',
199
+ expTitleTitle: '是否为列标题,否则显示为列的字段名',
198
200
  expColgroupTitle: '如果存在,則支援帶有分組結構的表頭',
199
201
  expOptMerge: '合併',
200
202
  expMergeTitle: '如果存在,則支援帶有合併結構的儲存格',
201
- expOptAllExpand: '展開層級',
203
+ expOptAllExpand: '展开树',
202
204
  expAllExpandTitle: '如果存在,則支援將帶有層級結構的資料全部展開',
203
205
  expOptUseStyle: '樣式',
204
206
  expUseStyleTitle: '如果存在,則支援帶有樣式的儲存格',
@@ -195,10 +195,12 @@ export default {
195
195
  expOptFooter: '表尾',
196
196
  expFooterTitle: '是否需要表尾',
197
197
  expOptColgroup: '分组表头',
198
+ expOptTitle: '列标题',
199
+ expTitleTitle: '是否为列标题,否则显示为列的字段名',
198
200
  expColgroupTitle: '如果存在,则支持带有分组结构的表头',
199
201
  expOptMerge: '合并',
200
202
  expMergeTitle: '如果存在,则支持带有合并结构的单元格',
201
- expOptAllExpand: '展开层级',
203
+ expOptAllExpand: '展开树',
202
204
  expAllExpandTitle: '如果存在,则支持将带有层级结构的数据全部展开',
203
205
  expOptUseStyle: '样式',
204
206
  expUseStyleTitle: '如果存在,则支持带样式的单元格',
@@ -338,27 +338,27 @@ export default {
338
338
  }),
339
339
  h('vxe-checkbox', {
340
340
  props: {
341
- value: defaultOptions.isFooter,
342
- disabled: !storeData.hasFooter,
343
- title: getI18n('vxe.export.expFooterTitle'),
344
- content: getI18n('vxe.export.expOptFooter')
341
+ value: isHeader ? defaultOptions.isTitle : false,
342
+ disabled: !isHeader,
343
+ title: getI18n('vxe.export.expTitleTitle'),
344
+ content: getI18n('vxe.export.expOptTitle')
345
345
  },
346
346
  on: {
347
347
  input (value: any) {
348
- defaultOptions.isFooter = value
348
+ defaultOptions.isTitle = value
349
349
  }
350
350
  }
351
351
  }),
352
352
  h('vxe-checkbox', {
353
353
  props: {
354
- value: hasEmptyData ? false : defaultOptions.original,
355
- disabled: hasEmptyData,
356
- title: getI18n('vxe.export.expOriginalTitle'),
357
- content: getI18n('vxe.export.expOptOriginal')
354
+ value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
355
+ disabled: !isHeader || !hasColgroup || !supportMerge,
356
+ title: getI18n('vxe.export.expColgroupTitle'),
357
+ content: getI18n('vxe.export.expOptColgroup')
358
358
  },
359
359
  on: {
360
360
  input (value: any) {
361
- defaultOptions.original = value
361
+ defaultOptions.isColgroup = value
362
362
  }
363
363
  }
364
364
  })
@@ -368,16 +368,14 @@ export default {
368
368
  }, [
369
369
  h('vxe-checkbox', {
370
370
  props: {
371
- // value: supportGroup || (isHeader && hasColgroup && supportMerge) ? defaultOptions.isColgroup : false,
372
- // disabled: !supportGroup && (!isHeader || !hasColgroup || !supportMerge),
373
- value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
374
- disabled: !isHeader || !hasColgroup || !supportMerge,
375
- title: getI18n('vxe.export.expColgroupTitle'),
376
- content: getI18n('vxe.export.expOptColgroup')
371
+ value: hasEmptyData ? false : defaultOptions.original,
372
+ disabled: hasEmptyData,
373
+ title: getI18n('vxe.export.expOriginalTitle'),
374
+ content: getI18n('vxe.export.expOptOriginal')
377
375
  },
378
376
  on: {
379
377
  input (value: any) {
380
- defaultOptions.isColgroup = value
378
+ defaultOptions.original = value
381
379
  }
382
380
  }
383
381
  }),
@@ -422,6 +420,24 @@ export default {
422
420
  }
423
421
  }
424
422
  })
423
+ ]),
424
+
425
+ h('div', {
426
+ class: 'vxe-table-export--panel-option-row'
427
+ }, [
428
+ h('vxe-checkbox', {
429
+ props: {
430
+ value: defaultOptions.isFooter,
431
+ disabled: !storeData.hasFooter,
432
+ title: getI18n('vxe.export.expFooterTitle'),
433
+ content: getI18n('vxe.export.expOptFooter')
434
+ },
435
+ on: {
436
+ input (value: any) {
437
+ defaultOptions.isFooter = value
438
+ }
439
+ }
440
+ })
425
441
  ])
426
442
  ])
427
443
  ])
@@ -220,7 +220,7 @@ function getBooleanValue (cellValue: any) {
220
220
  function getHeaderTitle ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, opts: any, column: any) {
221
221
  const columnOpts = $xeTable.computeColumnOpts
222
222
  const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod
223
- return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.original ? column.field : column.getTitle()) || '')
223
+ return headExportMethod ? headExportMethod({ column, options: opts, $table: $xeTable }) : ((opts.isTitle ? column.getTitle() : column.field) || '')
224
224
  }
225
225
 
226
226
  function getFooterCellValue ($xeTable: any, opts: any, row: any, column: any) {
@@ -1083,6 +1083,7 @@ function handleExportAndPrint ($xeTable: VxeTableConstructor, options: VxeTableP
1083
1083
  const defOpts = Object.assign({
1084
1084
  message: true,
1085
1085
  isHeader: showHeader,
1086
+ isTitle: showHeader,
1086
1087
  isFooter: showFooter,
1087
1088
  isColgroup: isGroup,
1088
1089
  isMerge: hasMerge,
@@ -1261,6 +1262,7 @@ export default {
1261
1262
  const opts = Object.assign({
1262
1263
  message: true,
1263
1264
  isHeader: showHeader,
1265
+ isTitle: showHeader,
1264
1266
  isFooter: showFooter,
1265
1267
  isColgroup: isGroup,
1266
1268
  isMerge: hasMerge,
@@ -249,39 +249,33 @@ function cacheColumnMap ($xeTable: VxeTableConstructor) {
249
249
  htmlColumn = column
250
250
  }
251
251
  if (treeNode) {
252
- if (process.env.VUE_APP_VXE_ENV === 'development') {
253
- if (treeNodeColumn) {
254
- warnLog('vxe.error.colRepet', ['tree-node', treeNode])
255
- }
252
+ if (treeNodeColumn) {
253
+ warnLog('vxe.error.colRepet', ['tree-node', treeNode])
256
254
  }
257
255
  if (!treeNodeColumn) {
258
256
  treeNodeColumn = column
259
257
  }
260
258
  } else if (type === 'expand') {
261
- if (process.env.VUE_APP_VXE_ENV === 'development') {
262
- if (expandColumn) {
263
- warnLog('vxe.error.colRepet', ['type', type])
264
- }
259
+ if (expandColumn) {
260
+ warnLog('vxe.error.colRepet', ['type', type])
265
261
  }
266
262
  if (!expandColumn) {
267
263
  expandColumn = column
268
264
  }
269
265
  }
270
- if (process.env.VUE_APP_VXE_ENV === 'development') {
271
- if (type === 'checkbox') {
272
- if (checkboxColumn) {
273
- warnLog('vxe.error.colRepet', ['type', type])
274
- }
275
- if (!checkboxColumn) {
276
- checkboxColumn = column
277
- }
278
- } else if (type === 'radio') {
279
- if (radioColumn) {
280
- warnLog('vxe.error.colRepet', ['type', type])
281
- }
282
- if (!radioColumn) {
283
- radioColumn = column
284
- }
266
+ if (type === 'checkbox') {
267
+ if (checkboxColumn) {
268
+ warnLog('vxe.error.colRepet', ['type', type])
269
+ }
270
+ if (!checkboxColumn) {
271
+ checkboxColumn = column
272
+ }
273
+ } else if (type === 'radio') {
274
+ if (radioColumn) {
275
+ warnLog('vxe.error.colRepet', ['type', type])
276
+ }
277
+ if (!radioColumn) {
278
+ radioColumn = column
285
279
  }
286
280
  }
287
281
  if (isAllOverflow && column.showOverflow === false) {
@@ -2789,6 +2783,7 @@ const Methods = {
2789
2783
  const { scrollYLoad: oldScrollYLoad } = reactData
2790
2784
  const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
2791
2785
  const treeOpts = $xeTable.computeTreeOpts
2786
+ const expandOpts = $xeTable.computeExpandOpts
2792
2787
  const { transform } = treeOpts
2793
2788
  const childrenField = treeOpts.children || treeOpts.childrenField
2794
2789
  let treeData = []
@@ -2875,6 +2870,9 @@ const Methods = {
2875
2870
  }
2876
2871
 
2877
2872
  if (sYLoad) {
2873
+ if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
2874
+ errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"'])
2875
+ }
2878
2876
  // if (showOverflow) {
2879
2877
  // if (!rowOpts.height) {
2880
2878
  // const errColumn = internalData.tableFullColumn.find((column: any) => column.showOverflow === false)
@@ -3814,9 +3812,11 @@ const Methods = {
3814
3812
  getCheckboxRecords (isFull: boolean) {
3815
3813
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
3816
3814
  const props = $xeTable
3815
+ const reactData = $xeTable as unknown as TableReactData
3817
3816
  const internalData = $xeTable as unknown as TableInternalData
3818
3817
 
3819
3818
  const { treeConfig } = props
3819
+ const { updateCheckboxFlag } = reactData
3820
3820
  const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps, selectCheckboxMaps } = internalData
3821
3821
  const treeOpts = $xeTable.computeTreeOpts
3822
3822
  const checkboxOpts = $xeTable.computeCheckboxOpts
@@ -3824,26 +3824,28 @@ const Methods = {
3824
3824
  const { checkField } = checkboxOpts
3825
3825
  const childrenField = treeOpts.children || treeOpts.childrenField
3826
3826
  let rowList: any[] = []
3827
- if (checkField) {
3828
- if (treeConfig) {
3829
- const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
3830
- rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField })
3831
- } else {
3832
- const currTableData = isFull ? tableFullData : afterFullData
3833
- rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
3834
- }
3835
- } else {
3836
- XEUtils.each(selectCheckboxMaps, (row, rowid) => {
3837
- if (isFull) {
3838
- if (fullDataRowIdData[rowid]) {
3839
- rowList.push(fullDataRowIdData[rowid].row)
3840
- }
3827
+ if (updateCheckboxFlag) {
3828
+ if (checkField) {
3829
+ if (treeConfig) {
3830
+ const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
3831
+ rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField })
3841
3832
  } else {
3842
- if (afterFullRowMaps[rowid]) {
3843
- rowList.push(afterFullRowMaps[rowid])
3844
- }
3833
+ const currTableData = isFull ? tableFullData : afterFullData
3834
+ rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
3845
3835
  }
3846
- })
3836
+ } else {
3837
+ XEUtils.each(selectCheckboxMaps, (row, rowid) => {
3838
+ if (isFull) {
3839
+ if (fullDataRowIdData[rowid]) {
3840
+ rowList.push(fullDataRowIdData[rowid].row)
3841
+ }
3842
+ } else {
3843
+ if (afterFullRowMaps[rowid]) {
3844
+ rowList.push(afterFullRowMaps[rowid])
3845
+ }
3846
+ }
3847
+ })
3848
+ }
3847
3849
  }
3848
3850
  return rowList
3849
3851
  },
@@ -625,6 +625,7 @@ export default {
625
625
  original: false,
626
626
  message: true,
627
627
  isHeader: false,
628
+ isTitle: false,
628
629
  isFooter: false
629
630
  },
630
631
 
@@ -1432,6 +1433,7 @@ export default {
1432
1433
  const currentColumnOpts = $xeTable.computeCurrentColumnOpts
1433
1434
  const virtualXOpts = $xeTable.computeVirtualXOpts
1434
1435
  const virtualYOpts = $xeTable.computeVirtualYOpts
1436
+ const keyboardOpts = $xeTable.computeKeyboardOpts
1435
1437
 
1436
1438
  if (props.rowId) {
1437
1439
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField'])
@@ -1475,6 +1477,12 @@ export default {
1475
1477
  if (this.highlightHoverColumn) {
1476
1478
  warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover'])
1477
1479
  }
1480
+ // if (props.scrollY) {
1481
+ // warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
1482
+ // }
1483
+ // if (props.scrollX) {
1484
+ // warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
1485
+ // }
1478
1486
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1479
1487
  if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1480
1488
  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 +1577,10 @@ export default {
1569
1577
  warnLog('vxe.error.errProp', [`table.empty-render=${props.emptyRender}`, 'table.empty-render={}'])
1570
1578
  }
1571
1579
 
1572
- if ((rowOpts.isCurrent || highlightCurrentRow) && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1580
+ if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1573
1581
  warnLog('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected'])
1574
1582
  }
1575
- if ((columnOpts.isCurrent || highlightCurrentColumn) && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1583
+ if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1576
1584
  warnLog('vxe.error.notConflictProp', ['column-config.isCurrent', 'current-column-config.isFollowSelected'])
1577
1585
  }
1578
1586