vxe-table 4.13.54 → 4.13.57

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 (136) hide show
  1. package/es/grid/src/grid.js +25 -9
  2. package/es/locale/lang/ar-EG.js +2 -1
  3. package/es/locale/lang/de-DE.js +2 -1
  4. package/es/locale/lang/en-US.js +2 -1
  5. package/es/locale/lang/es-ES.js +2 -1
  6. package/es/locale/lang/fr-FR.js +2 -1
  7. package/es/locale/lang/hu-HU.js +2 -1
  8. package/es/locale/lang/hy-AM.js +2 -1
  9. package/es/locale/lang/id-ID.js +2 -1
  10. package/es/locale/lang/it-IT.js +2 -1
  11. package/es/locale/lang/ja-JP.js +2 -1
  12. package/es/locale/lang/ko-KR.js +2 -1
  13. package/es/locale/lang/ms-MY.js +2 -1
  14. package/es/locale/lang/nb-NO.js +2 -1
  15. package/es/locale/lang/pt-BR.js +2 -1
  16. package/es/locale/lang/ru-RU.js +2 -1
  17. package/es/locale/lang/th-TH.js +2 -1
  18. package/es/locale/lang/ug-CN.js +2 -1
  19. package/es/locale/lang/uk-UA.js +2 -1
  20. package/es/locale/lang/uz-UZ.js +2 -1
  21. package/es/locale/lang/vi-VN.js +2 -1
  22. package/es/locale/lang/zh-CHT.js +2 -1
  23. package/es/locale/lang/zh-CN.js +2 -1
  24. package/es/style.css +1 -1
  25. package/es/table/src/table.js +89 -19
  26. package/es/ui/index.js +2 -1
  27. package/es/ui/src/log.js +1 -1
  28. package/lib/grid/src/grid.js +25 -9
  29. package/lib/grid/src/grid.min.js +1 -1
  30. package/lib/index.umd.js +40 -18
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/locale/lang/ar-EG.js +2 -1
  33. package/lib/locale/lang/ar-EG.min.js +1 -1
  34. package/lib/locale/lang/ar-EG.umd.js +2 -1
  35. package/lib/locale/lang/de-DE.js +2 -1
  36. package/lib/locale/lang/de-DE.min.js +1 -1
  37. package/lib/locale/lang/de-DE.umd.js +2 -1
  38. package/lib/locale/lang/en-US.js +2 -1
  39. package/lib/locale/lang/en-US.min.js +1 -1
  40. package/lib/locale/lang/en-US.umd.js +2 -1
  41. package/lib/locale/lang/es-ES.js +2 -1
  42. package/lib/locale/lang/es-ES.min.js +1 -1
  43. package/lib/locale/lang/es-ES.umd.js +2 -1
  44. package/lib/locale/lang/fr-FR.js +2 -1
  45. package/lib/locale/lang/fr-FR.min.js +1 -1
  46. package/lib/locale/lang/fr-FR.umd.js +2 -1
  47. package/lib/locale/lang/hu-HU.js +2 -1
  48. package/lib/locale/lang/hu-HU.min.js +1 -1
  49. package/lib/locale/lang/hu-HU.umd.js +2 -1
  50. package/lib/locale/lang/hy-AM.js +2 -1
  51. package/lib/locale/lang/hy-AM.min.js +1 -1
  52. package/lib/locale/lang/hy-AM.umd.js +2 -1
  53. package/lib/locale/lang/id-ID.js +2 -1
  54. package/lib/locale/lang/id-ID.min.js +1 -1
  55. package/lib/locale/lang/id-ID.umd.js +2 -1
  56. package/lib/locale/lang/it-IT.js +2 -1
  57. package/lib/locale/lang/it-IT.min.js +1 -1
  58. package/lib/locale/lang/it-IT.umd.js +2 -1
  59. package/lib/locale/lang/ja-JP.js +2 -1
  60. package/lib/locale/lang/ja-JP.min.js +1 -1
  61. package/lib/locale/lang/ja-JP.umd.js +2 -1
  62. package/lib/locale/lang/ko-KR.js +2 -1
  63. package/lib/locale/lang/ko-KR.min.js +1 -1
  64. package/lib/locale/lang/ko-KR.umd.js +2 -1
  65. package/lib/locale/lang/ms-MY.js +2 -1
  66. package/lib/locale/lang/ms-MY.min.js +1 -1
  67. package/lib/locale/lang/ms-MY.umd.js +2 -1
  68. package/lib/locale/lang/nb-NO.js +2 -1
  69. package/lib/locale/lang/nb-NO.min.js +1 -1
  70. package/lib/locale/lang/nb-NO.umd.js +2 -1
  71. package/lib/locale/lang/pt-BR.js +2 -1
  72. package/lib/locale/lang/pt-BR.min.js +1 -1
  73. package/lib/locale/lang/pt-BR.umd.js +2 -1
  74. package/lib/locale/lang/ru-RU.js +2 -1
  75. package/lib/locale/lang/ru-RU.min.js +1 -1
  76. package/lib/locale/lang/ru-RU.umd.js +2 -1
  77. package/lib/locale/lang/th-TH.js +2 -1
  78. package/lib/locale/lang/th-TH.min.js +1 -1
  79. package/lib/locale/lang/th-TH.umd.js +2 -1
  80. package/lib/locale/lang/ug-CN.js +2 -1
  81. package/lib/locale/lang/ug-CN.min.js +1 -1
  82. package/lib/locale/lang/ug-CN.umd.js +2 -1
  83. package/lib/locale/lang/uk-UA.js +2 -1
  84. package/lib/locale/lang/uk-UA.min.js +1 -1
  85. package/lib/locale/lang/uk-UA.umd.js +2 -1
  86. package/lib/locale/lang/uz-UZ.js +2 -1
  87. package/lib/locale/lang/uz-UZ.min.js +1 -1
  88. package/lib/locale/lang/uz-UZ.umd.js +2 -1
  89. package/lib/locale/lang/vi-VN.js +2 -1
  90. package/lib/locale/lang/vi-VN.min.js +1 -1
  91. package/lib/locale/lang/vi-VN.umd.js +2 -1
  92. package/lib/locale/lang/zh-CHT.js +2 -1
  93. package/lib/locale/lang/zh-CHT.min.js +1 -1
  94. package/lib/locale/lang/zh-CHT.umd.js +2 -1
  95. package/lib/locale/lang/zh-CN.js +2 -1
  96. package/lib/locale/lang/zh-CN.min.js +1 -1
  97. package/lib/locale/lang/zh-CN.umd.js +2 -1
  98. package/lib/style.css +1 -1
  99. package/lib/table/src/table.js +10 -6
  100. package/lib/table/src/table.min.js +1 -1
  101. package/lib/ui/index.js +2 -1
  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 +1 -1
  106. package/packages/grid/src/grid.ts +30 -10
  107. package/packages/locale/lang/ar-EG.ts +2 -1
  108. package/packages/locale/lang/de-DE.ts +2 -1
  109. package/packages/locale/lang/en-US.ts +2 -1
  110. package/packages/locale/lang/es-ES.ts +2 -1
  111. package/packages/locale/lang/fr-FR.ts +2 -1
  112. package/packages/locale/lang/hu-HU.ts +2 -1
  113. package/packages/locale/lang/hy-AM.ts +2 -1
  114. package/packages/locale/lang/id-ID.ts +2 -1
  115. package/packages/locale/lang/it-IT.ts +2 -1
  116. package/packages/locale/lang/ja-JP.ts +2 -1
  117. package/packages/locale/lang/ko-KR.ts +2 -1
  118. package/packages/locale/lang/ms-MY.ts +2 -1
  119. package/packages/locale/lang/nb-NO.ts +2 -1
  120. package/packages/locale/lang/pt-BR.ts +2 -1
  121. package/packages/locale/lang/ru-RU.ts +2 -1
  122. package/packages/locale/lang/th-TH.ts +2 -1
  123. package/packages/locale/lang/ug-CN.ts +2 -1
  124. package/packages/locale/lang/uk-UA.ts +2 -1
  125. package/packages/locale/lang/uz-UZ.ts +2 -1
  126. package/packages/locale/lang/vi-VN.ts +2 -1
  127. package/packages/locale/lang/zh-CHT.ts +2 -1
  128. package/packages/locale/lang/zh-CN.ts +2 -1
  129. package/packages/table/src/table.ts +98 -18
  130. package/packages/ui/index.ts +1 -0
  131. /package/es/{iconfont.1753261011546.ttf → iconfont.1754364708207.ttf} +0 -0
  132. /package/es/{iconfont.1753261011546.woff → iconfont.1754364708207.woff} +0 -0
  133. /package/es/{iconfont.1753261011546.woff2 → iconfont.1754364708207.woff2} +0 -0
  134. /package/lib/{iconfont.1753261011546.ttf → iconfont.1754364708207.ttf} +0 -0
  135. /package/lib/{iconfont.1753261011546.woff → iconfont.1754364708207.woff} +0 -0
  136. /package/lib/{iconfont.1753261011546.woff2 → iconfont.1754364708207.woff2} +0 -0
@@ -511,11 +511,39 @@ export default defineVxeComponent({
511
511
  })
512
512
 
513
513
  const computeVirtualXOpts = computed(() => {
514
- return Object.assign({}, getConfig().table.virtualXConfig || getConfig().table.scrollX, props.virtualXConfig || props.scrollX) as VxeTablePropTypes.VirtualXConfig & { gt: number }
514
+ const { virtualXConfig, scrollX } = props
515
+ const globalVirtualXConfig = getConfig().table.virtualXConfig
516
+ const globalScrollX = getConfig().table.scrollX
517
+ if (virtualXConfig) {
518
+ return Object.assign({}, globalVirtualXConfig, virtualXConfig) as VxeTablePropTypes.VirtualXConfig & { gt: number }
519
+ }
520
+ if (scrollX) {
521
+ // 已废弃,保留兼容
522
+ return Object.assign({}, globalScrollX, scrollX) as VxeTablePropTypes.VirtualXConfig & { gt: number }
523
+ }
524
+ if (globalVirtualXConfig) {
525
+ return Object.assign({}, globalVirtualXConfig, virtualXConfig) as VxeTablePropTypes.VirtualXConfig & { gt: number }
526
+ }
527
+ // 已废弃,保留兼容
528
+ return Object.assign({}, globalScrollX, scrollX) as VxeTablePropTypes.VirtualXConfig & { gt: number }
515
529
  })
516
530
 
517
531
  const computeVirtualYOpts = computed(() => {
518
- return Object.assign({}, getConfig().table.virtualYConfig || getConfig().table.scrollY, props.virtualYConfig || props.scrollY) as VxeTablePropTypes.VirtualYConfig & { gt: number }
532
+ const { virtualYConfig, scrollY } = props
533
+ const globalVirtualYConfig = getConfig().table.virtualYConfig
534
+ const globalScrollY = getConfig().table.scrollY
535
+ if (virtualYConfig) {
536
+ return Object.assign({}, globalVirtualYConfig, virtualYConfig) as VxeTablePropTypes.VirtualYConfig & { gt: number }
537
+ }
538
+ if (scrollY) {
539
+ // 已废弃,保留兼容
540
+ return Object.assign({}, globalScrollY, scrollY) as VxeTablePropTypes.VirtualYConfig & { gt: number }
541
+ }
542
+ if (globalVirtualYConfig) {
543
+ return Object.assign({}, globalVirtualYConfig, virtualYConfig) as VxeTablePropTypes.VirtualYConfig & { gt: number }
544
+ }
545
+ // 已废弃,保留兼容
546
+ return Object.assign({}, globalScrollY, scrollY) as VxeTablePropTypes.VirtualYConfig & { gt: number }
519
547
  })
520
548
 
521
549
  const computeScrollbarOpts = computed(() => {
@@ -1420,16 +1448,23 @@ export default defineVxeComponent({
1420
1448
  }
1421
1449
 
1422
1450
  const handleSortEvent = (evnt: Event | null, sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], isUpdate?: boolean) => {
1451
+ const { tableFullColumn } = internalData
1423
1452
  const sortOpts = computeSortOpts.value
1424
1453
  const { multiple, remote, orders } = sortOpts
1425
1454
  if (!XEUtils.isArray(sortConfs)) {
1426
1455
  sortConfs = [sortConfs]
1427
1456
  }
1428
1457
  if (sortConfs && sortConfs.length) {
1458
+ const orderActiveMaps: Record<string, VxeTableDefines.ColumnInfo> = {}
1429
1459
  if (!multiple) {
1430
1460
  sortConfs = [sortConfs[0]]
1431
- clearAllSort()
1461
+ tableFullColumn.forEach((column) => {
1462
+ if (column.order) {
1463
+ orderActiveMaps[column.id] = column
1464
+ }
1465
+ })
1432
1466
  }
1467
+ const sortColMpps: Record<string, VxeTableDefines.ColumnInfo> = {}
1433
1468
  let firstColumn: any = null
1434
1469
  sortConfs.forEach((confs: any, index: number) => {
1435
1470
  let { field, order } = confs
@@ -1448,8 +1483,16 @@ export default defineVxeComponent({
1448
1483
  column.order = order
1449
1484
  }
1450
1485
  column.sortTime = Date.now() + index
1486
+ sortColMpps[column.id] = column
1451
1487
  }
1452
1488
  })
1489
+ if (!multiple) {
1490
+ XEUtils.each(orderActiveMaps, (oaCol: VxeTableDefines.ColumnInfo, oaId) => {
1491
+ if (!sortColMpps[oaId]) {
1492
+ oaCol.order = null
1493
+ }
1494
+ })
1495
+ }
1453
1496
  if (isUpdate) {
1454
1497
  if (!remote) {
1455
1498
  $xeTable.handleTableData(true)
@@ -1677,10 +1720,10 @@ export default defineVxeComponent({
1677
1720
 
1678
1721
  if (htmlColumn) {
1679
1722
  if (!columnOpts.useKey) {
1680
- errLog('vxe.error.reqProp', ['column-config.useKey & column.type=html'])
1723
+ errLog('vxe.error.notSupportProp', ['column.type=html', 'column-config.useKey=false', 'column-config.useKey=true'])
1681
1724
  }
1682
1725
  if (!rowOpts.useKey) {
1683
- errLog('vxe.error.reqProp', ['row-config.useKey & column.type=html'])
1726
+ errLog('vxe.error.notSupportProp', ['column.type=html', 'row-config.useKey=false', 'row-config.useKey=true'])
1684
1727
  }
1685
1728
  }
1686
1729
 
@@ -5887,8 +5930,8 @@ export default defineVxeComponent({
5887
5930
  setSort (sortConfs, isUpdate) {
5888
5931
  return handleSortEvent(null, sortConfs, isUpdate)
5889
5932
  },
5890
- setSortByEvent (evnt, sortConfs, isUpdate) {
5891
- return handleSortEvent(evnt, sortConfs, isUpdate)
5933
+ setSortByEvent (evnt, sortConfs) {
5934
+ return handleSortEvent(evnt, sortConfs, true)
5892
5935
  },
5893
5936
  /**
5894
5937
  * 清空指定列的排序条件
@@ -5916,6 +5959,7 @@ export default defineVxeComponent({
5916
5959
  clearSortByEvent (evnt, fieldOrColumn) {
5917
5960
  const { tableFullColumn } = internalData
5918
5961
  const sortOpts = computeSortOpts.value
5962
+ const { multiple } = sortOpts
5919
5963
  const sortCols: VxeTableDefines.ColumnInfo[] = []
5920
5964
  let column: VxeTableDefines.ColumnInfo<any> | null = null
5921
5965
  if (evnt) {
@@ -5935,11 +5979,18 @@ export default defineVxeComponent({
5935
5979
  if (!sortOpts.remote) {
5936
5980
  $xeTable.handleTableData(true)
5937
5981
  }
5938
- if (sortCols.length) {
5982
+
5983
+ if (!multiple) {
5984
+ column = sortCols[0]
5985
+ }
5986
+
5987
+ if (column) {
5988
+ $xeTable.handleColumnSortEvent(evnt, column)
5989
+ }
5990
+
5991
+ if (multiple && sortCols.length) {
5939
5992
  const params = { $table: $xeTable, $event: evnt, cols: sortCols, sortList: [] }
5940
5993
  dispatchEvent('clear-all-sort', params, evnt)
5941
- } else if (column) {
5942
- $xeTable.handleColumnSortEvent(evnt, column)
5943
5994
  }
5944
5995
  }
5945
5996
  return nextTick().then(() => {
@@ -5970,13 +6021,11 @@ export default defineVxeComponent({
5970
6021
  }
5971
6022
  return sortList
5972
6023
  },
5973
- setFilterByEvent (evnt, fieldOrColumn, options, isUpdate) {
6024
+ setFilterByEvent (evnt, fieldOrColumn, options) {
5974
6025
  const column = handleFieldOrColumn($xeTable, fieldOrColumn)
5975
6026
  if (column && column.filters) {
5976
6027
  column.filters = toFilters(options || [])
5977
- if (isUpdate) {
5978
- return $xeTable.handleColumnConfirmFilter(column, evnt)
5979
- }
6028
+ return $xeTable.handleColumnConfirmFilter(column, evnt)
5980
6029
  }
5981
6030
  return nextTick()
5982
6031
  },
@@ -6020,6 +6069,7 @@ export default defineVxeComponent({
6020
6069
  const { filterStore } = reactData
6021
6070
  const { tableFullColumn } = internalData
6022
6071
  const filterOpts = computeFilterOpts.value
6072
+ const { multiple } = filterOpts
6023
6073
  const filterCols: VxeTableDefines.ColumnInfo[] = []
6024
6074
  let column: VxeTableDefines.ColumnInfo<any> | null = null
6025
6075
  if (fieldOrColumn) {
@@ -6042,19 +6092,49 @@ export default defineVxeComponent({
6042
6092
  style: null,
6043
6093
  options: [],
6044
6094
  column: null,
6045
- multiple: false,
6095
+ multiple: false, // 选项是覅多选
6046
6096
  visible: false
6047
6097
  })
6048
6098
  }
6099
+
6049
6100
  if (!filterOpts.remote) {
6050
6101
  $xeTable.updateData()
6051
6102
  }
6052
- if (filterCols.length) {
6103
+
6104
+ if (!multiple) {
6105
+ column = filterCols[0]
6106
+ }
6107
+
6108
+ if (column) {
6109
+ const filterList = () => $xeTable.getCheckedFilters()
6110
+ const values: any[] = []
6111
+ const datas: any[] = []
6112
+ column.filters.forEach((item: any) => {
6113
+ if (item.checked) {
6114
+ values.push(item.value)
6115
+ datas.push(item.data)
6116
+ }
6117
+ })
6118
+ const params = {
6119
+ $table: $xeTable,
6120
+ $event: evnt as Event,
6121
+ column,
6122
+ field: column.field,
6123
+ property: column.field,
6124
+ values,
6125
+ datas,
6126
+ filters: filterList,
6127
+ filterList
6128
+ }
6129
+ $xeTable.dispatchEvent('filter-change', params, evnt)
6130
+ $xeTable.dispatchEvent('clear-filter', params, evnt)
6131
+ }
6132
+
6133
+ if (multiple && filterCols.length) {
6053
6134
  const params = { $table: $xeTable, $event: evnt, cols: filterCols, filterList: [] }
6054
6135
  dispatchEvent('clear-all-filter', params, evnt)
6055
- } else if (column) {
6056
- $xeTable.dispatchEvent('clear-filter', { filterList: () => $xeTable.getCheckedFilters() }, evnt)
6057
6136
  }
6137
+
6058
6138
  return nextTick()
6059
6139
  },
6060
6140
  /**
@@ -139,6 +139,7 @@ VxeUI.setConfig({
139
139
  // filterMethod: null,
140
140
  // destroyOnClose: false,
141
141
  // isEvery: false,
142
+ multiple: true,
142
143
  showIcon: true
143
144
  },
144
145
  aggregateConfig: {