vxe-table 3.16.6 → 3.16.8

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 (144) hide show
  1. package/es/grid/src/grid.js +52 -10
  2. package/es/locale/lang/ar-EG.js +1 -1
  3. package/es/locale/lang/de-DE.js +1 -1
  4. package/es/locale/lang/en-US.js +1 -1
  5. package/es/locale/lang/es-ES.js +1 -1
  6. package/es/locale/lang/fr-FR.js +1 -1
  7. package/es/locale/lang/hu-HU.js +1 -1
  8. package/es/locale/lang/hy-AM.js +1 -1
  9. package/es/locale/lang/id-ID.js +1 -1
  10. package/es/locale/lang/it-IT.js +1 -1
  11. package/es/locale/lang/ja-JP.js +1 -1
  12. package/es/locale/lang/ko-KR.js +1 -1
  13. package/es/locale/lang/ms-MY.js +1 -1
  14. package/es/locale/lang/nb-NO.js +1 -1
  15. package/es/locale/lang/pt-BR.js +1 -1
  16. package/es/locale/lang/ru-RU.js +1 -1
  17. package/es/locale/lang/th-TH.js +1 -1
  18. package/es/locale/lang/ug-CN.js +1 -1
  19. package/es/locale/lang/uk-UA.js +1 -1
  20. package/es/locale/lang/uz-UZ.js +1 -1
  21. package/es/locale/lang/vi-VN.js +1 -1
  22. package/es/locale/lang/zh-CHT.js +1 -1
  23. package/es/locale/lang/zh-CN.js +1 -1
  24. package/es/style.css +1 -1
  25. package/es/table/src/cell.js +5 -5
  26. package/es/table/src/methods.js +58 -15
  27. package/es/table/src/table.js +4 -1
  28. package/es/ui/index.js +2 -1
  29. package/es/ui/src/log.js +1 -1
  30. package/lib/grid/src/grid.js +62 -16
  31. package/lib/grid/src/grid.min.js +1 -1
  32. package/lib/index.umd.js +139 -39
  33. package/lib/index.umd.min.js +1 -1
  34. package/lib/locale/lang/ar-EG.js +1 -1
  35. package/lib/locale/lang/ar-EG.min.js +1 -1
  36. package/lib/locale/lang/ar-EG.umd.js +1 -1
  37. package/lib/locale/lang/de-DE.js +1 -1
  38. package/lib/locale/lang/de-DE.min.js +1 -1
  39. package/lib/locale/lang/de-DE.umd.js +1 -1
  40. package/lib/locale/lang/en-US.js +1 -1
  41. package/lib/locale/lang/en-US.min.js +1 -1
  42. package/lib/locale/lang/en-US.umd.js +1 -1
  43. package/lib/locale/lang/es-ES.js +1 -1
  44. package/lib/locale/lang/es-ES.min.js +1 -1
  45. package/lib/locale/lang/es-ES.umd.js +1 -1
  46. package/lib/locale/lang/fr-FR.js +1 -1
  47. package/lib/locale/lang/fr-FR.min.js +1 -1
  48. package/lib/locale/lang/fr-FR.umd.js +1 -1
  49. package/lib/locale/lang/hu-HU.js +1 -1
  50. package/lib/locale/lang/hu-HU.min.js +1 -1
  51. package/lib/locale/lang/hu-HU.umd.js +1 -1
  52. package/lib/locale/lang/hy-AM.js +1 -1
  53. package/lib/locale/lang/hy-AM.min.js +1 -1
  54. package/lib/locale/lang/hy-AM.umd.js +1 -1
  55. package/lib/locale/lang/id-ID.js +1 -1
  56. package/lib/locale/lang/id-ID.min.js +1 -1
  57. package/lib/locale/lang/id-ID.umd.js +1 -1
  58. package/lib/locale/lang/it-IT.js +1 -1
  59. package/lib/locale/lang/it-IT.min.js +1 -1
  60. package/lib/locale/lang/it-IT.umd.js +1 -1
  61. package/lib/locale/lang/ja-JP.js +1 -1
  62. package/lib/locale/lang/ja-JP.min.js +1 -1
  63. package/lib/locale/lang/ja-JP.umd.js +1 -1
  64. package/lib/locale/lang/ko-KR.js +1 -1
  65. package/lib/locale/lang/ko-KR.min.js +1 -1
  66. package/lib/locale/lang/ko-KR.umd.js +1 -1
  67. package/lib/locale/lang/ms-MY.js +1 -1
  68. package/lib/locale/lang/ms-MY.min.js +1 -1
  69. package/lib/locale/lang/ms-MY.umd.js +1 -1
  70. package/lib/locale/lang/nb-NO.js +1 -1
  71. package/lib/locale/lang/nb-NO.min.js +1 -1
  72. package/lib/locale/lang/nb-NO.umd.js +1 -1
  73. package/lib/locale/lang/pt-BR.js +1 -1
  74. package/lib/locale/lang/pt-BR.min.js +1 -1
  75. package/lib/locale/lang/pt-BR.umd.js +1 -1
  76. package/lib/locale/lang/ru-RU.js +1 -1
  77. package/lib/locale/lang/ru-RU.min.js +1 -1
  78. package/lib/locale/lang/ru-RU.umd.js +1 -1
  79. package/lib/locale/lang/th-TH.js +1 -1
  80. package/lib/locale/lang/th-TH.min.js +1 -1
  81. package/lib/locale/lang/th-TH.umd.js +1 -1
  82. package/lib/locale/lang/ug-CN.js +1 -1
  83. package/lib/locale/lang/ug-CN.min.js +1 -1
  84. package/lib/locale/lang/ug-CN.umd.js +1 -1
  85. package/lib/locale/lang/uk-UA.js +1 -1
  86. package/lib/locale/lang/uk-UA.min.js +1 -1
  87. package/lib/locale/lang/uk-UA.umd.js +1 -1
  88. package/lib/locale/lang/uz-UZ.js +1 -1
  89. package/lib/locale/lang/uz-UZ.min.js +1 -1
  90. package/lib/locale/lang/uz-UZ.umd.js +1 -1
  91. package/lib/locale/lang/vi-VN.js +1 -1
  92. package/lib/locale/lang/vi-VN.min.js +1 -1
  93. package/lib/locale/lang/vi-VN.umd.js +1 -1
  94. package/lib/locale/lang/zh-CHT.js +1 -1
  95. package/lib/locale/lang/zh-CHT.min.js +1 -1
  96. package/lib/locale/lang/zh-CHT.umd.js +1 -1
  97. package/lib/locale/lang/zh-CN.js +1 -1
  98. package/lib/locale/lang/zh-CN.min.js +1 -1
  99. package/lib/locale/lang/zh-CN.umd.js +1 -1
  100. package/lib/style.css +1 -1
  101. package/lib/table/src/cell.js +5 -4
  102. package/lib/table/src/cell.min.js +1 -1
  103. package/lib/table/src/methods.js +64 -15
  104. package/lib/table/src/methods.min.js +1 -1
  105. package/lib/table/src/table.js +4 -1
  106. package/lib/table/src/table.min.js +1 -1
  107. package/lib/ui/index.js +2 -1
  108. package/lib/ui/index.min.js +1 -1
  109. package/lib/ui/src/log.js +1 -1
  110. package/lib/ui/src/log.min.js +1 -1
  111. package/package.json +1 -1
  112. package/packages/grid/src/grid.ts +54 -10
  113. package/packages/locale/lang/ar-EG.ts +1 -1
  114. package/packages/locale/lang/de-DE.ts +1 -1
  115. package/packages/locale/lang/en-US.ts +1 -1
  116. package/packages/locale/lang/es-ES.ts +1 -1
  117. package/packages/locale/lang/fr-FR.ts +1 -1
  118. package/packages/locale/lang/hu-HU.ts +1 -1
  119. package/packages/locale/lang/hy-AM.ts +1 -1
  120. package/packages/locale/lang/id-ID.ts +1 -1
  121. package/packages/locale/lang/it-IT.ts +1 -1
  122. package/packages/locale/lang/ja-JP.ts +1 -1
  123. package/packages/locale/lang/ko-KR.ts +1 -1
  124. package/packages/locale/lang/ms-MY.ts +1 -1
  125. package/packages/locale/lang/nb-NO.ts +1 -1
  126. package/packages/locale/lang/pt-BR.ts +1 -1
  127. package/packages/locale/lang/ru-RU.ts +1 -1
  128. package/packages/locale/lang/th-TH.ts +1 -1
  129. package/packages/locale/lang/ug-CN.ts +1 -1
  130. package/packages/locale/lang/uk-UA.ts +1 -1
  131. package/packages/locale/lang/uz-UZ.ts +1 -1
  132. package/packages/locale/lang/vi-VN.ts +1 -1
  133. package/packages/locale/lang/zh-CHT.ts +1 -1
  134. package/packages/locale/lang/zh-CN.ts +1 -1
  135. package/packages/table/src/cell.ts +5 -5
  136. package/packages/table/src/methods.ts +68 -14
  137. package/packages/table/src/table.ts +4 -1
  138. package/packages/ui/index.ts +1 -0
  139. /package/es/{iconfont.1753347577985.ttf → iconfont.1753525689466.ttf} +0 -0
  140. /package/es/{iconfont.1753347577985.woff → iconfont.1753525689466.woff} +0 -0
  141. /package/es/{iconfont.1753347577985.woff2 → iconfont.1753525689466.woff2} +0 -0
  142. /package/lib/{iconfont.1753347577985.ttf → iconfont.1753525689466.ttf} +0 -0
  143. /package/lib/{iconfont.1753347577985.woff → iconfont.1753525689466.woff} +0 -0
  144. /package/lib/{iconfont.1753347577985.woff2 → iconfont.1753525689466.woff2} +0 -0
@@ -56,7 +56,7 @@ export default {
56
56
  treeDragChild: 'Cha mẹ không thể kéo đến con cái của họ',
57
57
  reqPlugin: '"{1}" không được cài đặt tại https://vxeui.com/other/khác',
58
58
  errMaxRow: 'Vượt quá khối lượng dữ liệu được hỗ trợ tối đa {0}, điều này có thể gây ra lỗi',
59
- useNew: '{0} 已经不建议使用,请使用新的方式 {1}'
59
+ useNew: '不建议使用 {0},请使用 {1}'
60
60
  },
61
61
  table: {
62
62
  emptyText: 'Chưa có dữ liệu',
@@ -56,7 +56,7 @@ export default {
56
56
  treeDragChild: '父級不能拖拽到自己的子級中',
57
57
  reqPlugin: '擴展插件未安裝 "{1}" https://vxeui.com/other{0}/#/{1}/install',
58
58
  errMaxRow: '超過支持的最大數據量 {0} 行,這可能會導致出現錯誤',
59
- useNew: '{0} 已经不建议使用,请使用新的方式 {1}'
59
+ useNew: '不建议使用 {0},请使用 {1}'
60
60
  },
61
61
  table: {
62
62
  emptyText: '暫無數據',
@@ -56,7 +56,7 @@ export default {
56
56
  treeDragChild: '父级不能拖拽到自己的子级中',
57
57
  reqPlugin: '扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',
58
58
  errMaxRow: '超过支持的最大数据量 {0} 行,这可能会导致出现错误',
59
- useNew: '{0} 已经不建议使用,请使用新的方式 {1}'
59
+ useNew: '不建议使用 {0},请使用 {1}'
60
60
  },
61
61
  table: {
62
62
  emptyText: '暂无数据',
@@ -395,7 +395,7 @@ export const Cell = {
395
395
  const { fullColumnFieldData } = tableInternalData
396
396
  const aggregateOpts = $table.computeAggregateOpts
397
397
  const { mode, showTotal, totalMethod, countFields, contentMethod, mapChildrenField } = aggregateOpts
398
- const aggMethod = aggregateOpts.aggregateMethod || aggregateOpts.countMethod
398
+ const aggCalcMethod = (aggregateOpts as any).calcValuesMethod || aggregateOpts.countMethod || aggregateOpts.aggregateMethod
399
399
  const groupField = aggRow.groupField
400
400
  const groupContent = aggRow.groupContent
401
401
  const childList = mapChildrenField ? (aggRow[mapChildrenField] || []) : []
@@ -428,9 +428,9 @@ export const Cell = {
428
428
  } else if ($table.getPivotTableAggregateCellAggValue) {
429
429
  cellValue = $table.getPivotTableAggregateCellAggValue(params)
430
430
  } else if (aggFunc === true || (countFields && countFields.includes(field))) {
431
- if (aggMethod) {
431
+ if (aggCalcMethod) {
432
432
  ctParams.aggValue = childCount
433
- cellValue = `${aggMethod(ctParams)}`
433
+ cellValue = `${aggCalcMethod(ctParams)}`
434
434
  }
435
435
  }
436
436
  } else {
@@ -480,14 +480,14 @@ export const Cell = {
480
480
  const { rowGroupExpandedFlag } = tableReactData
481
481
  const { rowGroupExpandedMaps } = tableInternalData
482
482
  const aggregateOpts = $table.computeAggregateOpts
483
- const { padding, indent } = aggregateOpts
483
+ const { mode, padding, indent } = aggregateOpts
484
484
  const rowid = getRowid($table, row)
485
485
  const isExpand = !!rowGroupExpandedFlag && !!rowGroupExpandedMaps[rowid]
486
486
  return h('div', {
487
487
  class: ['vxe-row-group--tree-node', {
488
488
  'is--expanded': isExpand
489
489
  }],
490
- style: padding && indent
490
+ style: mode !== 'column' && padding && indent
491
491
  ? {
492
492
  paddingLeft: `${level * indent}px`
493
493
  }
@@ -2039,16 +2039,25 @@ function removeFooterMerges ($xeTable: VxeTableConstructor & VxeTablePrivateMeth
2039
2039
  }
2040
2040
 
2041
2041
  function handleSortEvent ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, evnt: Event | null, sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], isUpdate?: boolean) {
2042
+ const internalData = $xeTable as unknown as TableInternalData
2043
+
2044
+ const { tableFullColumn } = internalData
2042
2045
  const sortOpts = $xeTable.computeSortOpts
2043
2046
  const { multiple, remote, orders } = sortOpts
2044
2047
  if (!XEUtils.isArray(sortConfs)) {
2045
2048
  sortConfs = [sortConfs]
2046
2049
  }
2047
2050
  if (sortConfs && sortConfs.length) {
2051
+ const orderActiveMaps: Record<string, VxeTableDefines.ColumnInfo> = {}
2048
2052
  if (!multiple) {
2049
2053
  sortConfs = [sortConfs[0]]
2050
- clearAllSort($xeTable)
2054
+ tableFullColumn.forEach((column) => {
2055
+ if (column.order) {
2056
+ orderActiveMaps[column.id] = column
2057
+ }
2058
+ })
2051
2059
  }
2060
+ const sortColMpps: Record<string, VxeTableDefines.ColumnInfo> = {}
2052
2061
  let firstColumn: any = null
2053
2062
  sortConfs.forEach((confs: any, index: number) => {
2054
2063
  let { field, order } = confs
@@ -2067,8 +2076,16 @@ function handleSortEvent ($xeTable: VxeTableConstructor & VxeTablePrivateMethods
2067
2076
  column.order = order
2068
2077
  }
2069
2078
  column.sortTime = Date.now() + index
2079
+ sortColMpps[column.id] = column
2070
2080
  }
2071
2081
  })
2082
+ if (!multiple) {
2083
+ XEUtils.each(orderActiveMaps, (oaCol: VxeTableDefines.ColumnInfo, oaId) => {
2084
+ if (!sortColMpps[oaId]) {
2085
+ oaCol.order = null
2086
+ }
2087
+ })
2088
+ }
2072
2089
  if (isUpdate) {
2073
2090
  if (!remote) {
2074
2091
  $xeTable.handleTableData(true)
@@ -8948,10 +8965,10 @@ const Methods = {
8948
8965
 
8949
8966
  return handleSortEvent($xeTable, null, sortConfs, isUpdate)
8950
8967
  },
8951
- setSortByEvent (evnt: Event, sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[], isUpdate?: boolean) {
8968
+ setSortByEvent (evnt: Event, sortConfs: VxeTableDefines.SortConfs | VxeTableDefines.SortConfs[]) {
8952
8969
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
8953
8970
 
8954
- return handleSortEvent($xeTable, evnt, sortConfs, isUpdate)
8971
+ return handleSortEvent($xeTable, evnt, sortConfs, true)
8955
8972
  },
8956
8973
  /**
8957
8974
  * 清空指定列的排序条件
@@ -8984,6 +9001,7 @@ const Methods = {
8984
9001
 
8985
9002
  const { tableFullColumn } = internalData
8986
9003
  const sortOpts = $xeTable.computeSortOpts
9004
+ const { multiple } = sortOpts
8987
9005
  const sortCols: VxeTableDefines.ColumnInfo[] = []
8988
9006
  let column: VxeTableDefines.ColumnInfo<any> | null = null
8989
9007
  if (evnt) {
@@ -9003,11 +9021,18 @@ const Methods = {
9003
9021
  if (!sortOpts.remote) {
9004
9022
  $xeTable.handleTableData(true)
9005
9023
  }
9006
- if (sortCols.length) {
9024
+
9025
+ if (!multiple) {
9026
+ column = sortCols[0]
9027
+ }
9028
+
9029
+ if (column) {
9030
+ $xeTable.handleColumnSortEvent(evnt, column)
9031
+ }
9032
+
9033
+ if (multiple && sortCols.length) {
9007
9034
  const params = { $table: $xeTable, $event: evnt, cols: sortCols, sortList: [] }
9008
9035
  $xeTable.dispatchEvent('clear-all-sort', params, evnt)
9009
- } else if (column) {
9010
- $xeTable.handleColumnSortEvent(evnt, column)
9011
9036
  }
9012
9037
  }
9013
9038
  return $xeTable.$nextTick().then(() => {
@@ -9041,15 +9066,13 @@ const Methods = {
9041
9066
  }
9042
9067
  return sortList
9043
9068
  },
9044
- setFilterByEvent (evnt: Event, fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>, options: VxeColumnPropTypes.FilterItem[], isUpdate?: boolean) {
9069
+ setFilterByEvent (evnt: Event, fieldOrColumn: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo<any>, options: VxeColumnPropTypes.FilterItem[]) {
9045
9070
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
9046
9071
 
9047
9072
  const column = handleFieldOrColumn($xeTable, fieldOrColumn)
9048
9073
  if (column && column.filters) {
9049
9074
  column.filters = toFilters(options || [])
9050
- if (isUpdate) {
9051
- return $xeTable.handleColumnConfirmFilter(column, evnt)
9052
- }
9075
+ return $xeTable.handleColumnConfirmFilter(column, evnt)
9053
9076
  }
9054
9077
  return $xeTable.$nextTick()
9055
9078
  },
@@ -9101,6 +9124,7 @@ const Methods = {
9101
9124
  const { filterStore } = reactData
9102
9125
  const { tableFullColumn } = internalData
9103
9126
  const filterOpts = $xeTable.computeFilterOpts
9127
+ const { multiple } = filterOpts
9104
9128
  const filterCols: VxeTableDefines.ColumnInfo[] = []
9105
9129
  let column: VxeTableDefines.ColumnInfo<any> | null = null
9106
9130
  if (fieldOrColumn) {
@@ -9123,19 +9147,49 @@ const Methods = {
9123
9147
  style: null,
9124
9148
  options: [],
9125
9149
  column: null,
9126
- multiple: false,
9150
+ multiple: false, // 选项是覅多选
9127
9151
  visible: false
9128
9152
  })
9129
9153
  }
9154
+
9130
9155
  if (!filterOpts.remote) {
9131
9156
  $xeTable.updateData()
9132
9157
  }
9133
- if (filterCols.length) {
9158
+
9159
+ if (!multiple) {
9160
+ column = filterCols[0]
9161
+ }
9162
+
9163
+ if (column) {
9164
+ const filterList = () => $xeTable.getCheckedFilters()
9165
+ const values: any[] = []
9166
+ const datas: any[] = []
9167
+ column.filters.forEach((item: any) => {
9168
+ if (item.checked) {
9169
+ values.push(item.value)
9170
+ datas.push(item.data)
9171
+ }
9172
+ })
9173
+ const params = {
9174
+ $table: $xeTable,
9175
+ $event: evnt as Event,
9176
+ column,
9177
+ field: column.field,
9178
+ property: column.field,
9179
+ values,
9180
+ datas,
9181
+ filters: filterList,
9182
+ filterList
9183
+ }
9184
+ $xeTable.dispatchEvent('filter-change', params, evnt)
9185
+ $xeTable.dispatchEvent('clear-filter', params, evnt)
9186
+ }
9187
+
9188
+ if (multiple && filterCols.length) {
9134
9189
  const params = { $table: $xeTable, $event: evnt, cols: filterCols, filterList: [] }
9135
9190
  $xeTable.dispatchEvent('clear-all-filter', params, evnt)
9136
- } else if (column) {
9137
- $xeTable.dispatchEvent('clear-filter', { filterList: () => $xeTable.getCheckedFilters() }, evnt)
9138
9191
  }
9192
+
9139
9193
  return $xeTable.$nextTick()
9140
9194
  },
9141
9195
  /**
@@ -1724,7 +1724,10 @@ export default {
1724
1724
  warnLog('vxe.error.delProp', ['row-group-config.countFields', 'column.agg-func'])
1725
1725
  }
1726
1726
  if (aggregateOpts.aggregateMethod) {
1727
- warnLog('vxe.error.delProp', ['row-group-config.aggregateMethod', 'aggregate-config.countMethod'])
1727
+ warnLog('vxe.error.delProp', ['row-group-config.aggregateMethod', 'aggregate-config.calcValuesMethod'])
1728
+ }
1729
+ if (aggregateOpts.countMethod) {
1730
+ warnLog('vxe.error.delProp', ['aggregate-config.countMethod', 'aggregate-config.calcValuesMethod'])
1728
1731
  }
1729
1732
  if (props.treeConfig && treeOpts.children) {
1730
1733
  warnLog('vxe.error.delProp', ['tree-config.children', 'tree-config.childrenField'])
@@ -140,6 +140,7 @@ VxeUI.setConfig({
140
140
  // filterMethod: null,
141
141
  // destroyOnClose: false,
142
142
  // isEvery: false,
143
+ multiple: true,
143
144
  showIcon: true
144
145
  },
145
146
  aggregateConfig: {