vxe-table 3.21.22 → 3.21.23

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 (172) hide show
  1. package/es/{iconfont.1782890276645.ttf → iconfont.1783046294821.ttf} +0 -0
  2. package/es/iconfont.1783046294821.woff +0 -0
  3. package/es/iconfont.1783046294821.woff2 +0 -0
  4. package/es/index.css +1 -1
  5. package/es/index.min.css +1 -1
  6. package/es/locale/lang/ar-EG.js +12 -3
  7. package/es/locale/lang/de-DE.js +12 -3
  8. package/es/locale/lang/en-US.js +16 -7
  9. package/es/locale/lang/es-ES.js +12 -3
  10. package/es/locale/lang/fr-FR.js +12 -3
  11. package/es/locale/lang/hu-HU.js +12 -3
  12. package/es/locale/lang/hy-AM.js +12 -3
  13. package/es/locale/lang/id-ID.js +12 -3
  14. package/es/locale/lang/it-IT.js +11 -2
  15. package/es/locale/lang/ja-JP.js +12 -3
  16. package/es/locale/lang/ko-KR.js +12 -3
  17. package/es/locale/lang/ms-MY.js +12 -3
  18. package/es/locale/lang/nb-NO.js +12 -3
  19. package/es/locale/lang/pt-BR.js +12 -3
  20. package/es/locale/lang/ru-RU.js +12 -3
  21. package/es/locale/lang/th-TH.js +12 -3
  22. package/es/locale/lang/ug-CN.js +12 -3
  23. package/es/locale/lang/uk-UA.js +12 -3
  24. package/es/locale/lang/uz-UZ.js +12 -3
  25. package/es/locale/lang/vi-VN.js +11 -2
  26. package/es/locale/lang/zh-CHT.js +14 -5
  27. package/es/locale/lang/zh-CN.js +14 -5
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/custom/mixin.js +84 -13
  31. package/es/table/module/custom/panel.js +485 -312
  32. package/es/table/src/columnInfo.js +13 -7
  33. package/es/table/src/methods.js +100 -59
  34. package/es/table/src/util.js +31 -1
  35. package/es/table/style.css +96 -49
  36. package/es/table/style.min.css +1 -1
  37. package/es/ui/index.js +16 -4
  38. package/es/ui/src/log.js +1 -1
  39. package/es/vxe-table/style.css +96 -49
  40. package/es/vxe-table/style.min.css +1 -1
  41. package/lib/{iconfont.1782890276645.ttf → iconfont.1783046294821.ttf} +0 -0
  42. package/lib/iconfont.1783046294821.woff +0 -0
  43. package/lib/iconfont.1783046294821.woff2 +0 -0
  44. package/lib/index.css +1 -1
  45. package/lib/index.min.css +1 -1
  46. package/lib/index.umd.js +557 -194
  47. package/lib/index.umd.min.js +1 -1
  48. package/lib/locale/lang/ar-EG.js +12 -3
  49. package/lib/locale/lang/ar-EG.min.js +1 -1
  50. package/lib/locale/lang/ar-EG.umd.js +12 -3
  51. package/lib/locale/lang/de-DE.js +12 -3
  52. package/lib/locale/lang/de-DE.min.js +1 -1
  53. package/lib/locale/lang/de-DE.umd.js +12 -3
  54. package/lib/locale/lang/en-US.js +16 -7
  55. package/lib/locale/lang/en-US.min.js +1 -1
  56. package/lib/locale/lang/en-US.umd.js +16 -7
  57. package/lib/locale/lang/es-ES.js +12 -3
  58. package/lib/locale/lang/es-ES.min.js +1 -1
  59. package/lib/locale/lang/es-ES.umd.js +12 -3
  60. package/lib/locale/lang/fr-FR.js +12 -3
  61. package/lib/locale/lang/fr-FR.min.js +1 -1
  62. package/lib/locale/lang/fr-FR.umd.js +12 -3
  63. package/lib/locale/lang/hu-HU.js +12 -3
  64. package/lib/locale/lang/hu-HU.min.js +1 -1
  65. package/lib/locale/lang/hu-HU.umd.js +12 -3
  66. package/lib/locale/lang/hy-AM.js +12 -3
  67. package/lib/locale/lang/hy-AM.min.js +1 -1
  68. package/lib/locale/lang/hy-AM.umd.js +12 -3
  69. package/lib/locale/lang/id-ID.js +12 -3
  70. package/lib/locale/lang/id-ID.min.js +1 -1
  71. package/lib/locale/lang/id-ID.umd.js +12 -3
  72. package/lib/locale/lang/it-IT.js +11 -2
  73. package/lib/locale/lang/it-IT.min.js +1 -1
  74. package/lib/locale/lang/it-IT.umd.js +11 -2
  75. package/lib/locale/lang/ja-JP.js +12 -3
  76. package/lib/locale/lang/ja-JP.min.js +1 -1
  77. package/lib/locale/lang/ja-JP.umd.js +12 -3
  78. package/lib/locale/lang/ko-KR.js +12 -3
  79. package/lib/locale/lang/ko-KR.min.js +1 -1
  80. package/lib/locale/lang/ko-KR.umd.js +12 -3
  81. package/lib/locale/lang/ms-MY.js +12 -3
  82. package/lib/locale/lang/ms-MY.min.js +1 -1
  83. package/lib/locale/lang/ms-MY.umd.js +12 -3
  84. package/lib/locale/lang/nb-NO.js +12 -3
  85. package/lib/locale/lang/nb-NO.min.js +1 -1
  86. package/lib/locale/lang/nb-NO.umd.js +12 -3
  87. package/lib/locale/lang/pt-BR.js +12 -3
  88. package/lib/locale/lang/pt-BR.min.js +1 -1
  89. package/lib/locale/lang/pt-BR.umd.js +12 -3
  90. package/lib/locale/lang/ru-RU.js +12 -3
  91. package/lib/locale/lang/ru-RU.min.js +1 -1
  92. package/lib/locale/lang/ru-RU.umd.js +12 -3
  93. package/lib/locale/lang/th-TH.js +12 -3
  94. package/lib/locale/lang/th-TH.min.js +1 -1
  95. package/lib/locale/lang/th-TH.umd.js +12 -3
  96. package/lib/locale/lang/ug-CN.js +12 -3
  97. package/lib/locale/lang/ug-CN.min.js +1 -1
  98. package/lib/locale/lang/ug-CN.umd.js +12 -3
  99. package/lib/locale/lang/uk-UA.js +12 -3
  100. package/lib/locale/lang/uk-UA.min.js +1 -1
  101. package/lib/locale/lang/uk-UA.umd.js +12 -3
  102. package/lib/locale/lang/uz-UZ.js +12 -3
  103. package/lib/locale/lang/uz-UZ.min.js +1 -1
  104. package/lib/locale/lang/uz-UZ.umd.js +12 -3
  105. package/lib/locale/lang/vi-VN.js +11 -2
  106. package/lib/locale/lang/vi-VN.min.js +1 -1
  107. package/lib/locale/lang/vi-VN.umd.js +11 -2
  108. package/lib/locale/lang/zh-CHT.js +14 -5
  109. package/lib/locale/lang/zh-CHT.min.js +1 -1
  110. package/lib/locale/lang/zh-CHT.umd.js +14 -5
  111. package/lib/locale/lang/zh-CN.js +14 -5
  112. package/lib/locale/lang/zh-CN.min.js +1 -1
  113. package/lib/locale/lang/zh-CN.umd.js +14 -5
  114. package/lib/style.css +1 -1
  115. package/lib/style.min.css +1 -1
  116. package/lib/table/module/custom/mixin.js +91 -11
  117. package/lib/table/module/custom/mixin.min.js +1 -1
  118. package/lib/table/module/custom/panel.js +376 -158
  119. package/lib/table/module/custom/panel.min.js +1 -1
  120. package/lib/table/src/columnInfo.js +16 -6
  121. package/lib/table/src/columnInfo.min.js +1 -1
  122. package/lib/table/src/methods.js +9 -8
  123. package/lib/table/src/methods.min.js +1 -1
  124. package/lib/table/src/util.js +35 -1
  125. package/lib/table/src/util.min.js +1 -1
  126. package/lib/table/style/style.css +96 -49
  127. package/lib/table/style/style.min.css +1 -1
  128. package/lib/ui/index.js +16 -4
  129. package/lib/ui/index.min.js +1 -1
  130. package/lib/ui/src/log.js +1 -1
  131. package/lib/ui/src/log.min.js +1 -1
  132. package/lib/vxe-table/style/style.css +96 -49
  133. package/lib/vxe-table/style/style.min.css +1 -1
  134. package/package.json +2 -2
  135. package/packages/locale/lang/ar-EG.ts +12 -3
  136. package/packages/locale/lang/de-DE.ts +12 -3
  137. package/packages/locale/lang/en-US.ts +16 -7
  138. package/packages/locale/lang/es-ES.ts +12 -3
  139. package/packages/locale/lang/fr-FR.ts +12 -3
  140. package/packages/locale/lang/hu-HU.ts +12 -3
  141. package/packages/locale/lang/hy-AM.ts +12 -3
  142. package/packages/locale/lang/id-ID.ts +12 -3
  143. package/packages/locale/lang/it-IT.ts +11 -2
  144. package/packages/locale/lang/ja-JP.ts +12 -3
  145. package/packages/locale/lang/ko-KR.ts +12 -3
  146. package/packages/locale/lang/ms-MY.ts +12 -3
  147. package/packages/locale/lang/nb-NO.ts +12 -3
  148. package/packages/locale/lang/pt-BR.ts +12 -3
  149. package/packages/locale/lang/ru-RU.ts +12 -3
  150. package/packages/locale/lang/th-TH.ts +12 -3
  151. package/packages/locale/lang/ug-CN.ts +12 -3
  152. package/packages/locale/lang/uk-UA.ts +12 -3
  153. package/packages/locale/lang/uz-UZ.ts +12 -3
  154. package/packages/locale/lang/vi-VN.ts +11 -2
  155. package/packages/locale/lang/zh-CHT.ts +14 -5
  156. package/packages/locale/lang/zh-CN.ts +14 -5
  157. package/packages/table/module/custom/mixin.ts +85 -14
  158. package/packages/table/module/custom/panel.ts +538 -307
  159. package/packages/table/src/columnInfo.ts +13 -7
  160. package/packages/table/src/methods.ts +116 -60
  161. package/packages/table/src/util.ts +34 -1
  162. package/packages/ui/index.ts +15 -3
  163. package/styles/components/icon.scss +29 -2
  164. package/styles/components/table-module/custom.scss +88 -67
  165. package/styles/icon/iconfont.ttf +0 -0
  166. package/styles/icon/iconfont.woff +0 -0
  167. package/styles/icon/iconfont.woff2 +0 -0
  168. package/styles/theme/base.scss +11 -0
  169. package/es/iconfont.1782890276645.woff +0 -0
  170. package/es/iconfont.1782890276645.woff2 +0 -0
  171. package/lib/iconfont.1782890276645.woff +0 -0
  172. package/lib/iconfont.1782890276645.woff2 +0 -0
@@ -19,7 +19,7 @@ export class ColumnInfo {
19
19
  const $xeGantt = $xeTable.$xeGantt
20
20
  const $xeGGWrapper = $xeGrid || $xeGantt
21
21
 
22
- const { type, field, width, visible, aggFunc, formatter, filterMultiple, cellRender, editRender, filterRender } = colConfs
22
+ const { type, field, width, visible, fixed, align, headerAlign, footerAlign, aggFunc, formatter, filterMultiple, cellRender, editRender, filterRender } = colConfs
23
23
 
24
24
  const colId = colConfs.colId || XEUtils.uniqueId('col_')
25
25
 
@@ -94,10 +94,10 @@ export class ColumnInfo {
94
94
  minWidth: colConfs.minWidth,
95
95
  maxWidth: colConfs.maxWidth,
96
96
  resizable: colConfs.resizable,
97
- fixed: colConfs.fixed,
98
- align: colConfs.align,
99
- headerAlign: colConfs.headerAlign,
100
- footerAlign: colConfs.footerAlign,
97
+ fixed,
98
+ align,
99
+ headerAlign,
100
+ footerAlign,
101
101
  showOverflow: colConfs.showOverflow,
102
102
  showHeaderOverflow: colConfs.showHeaderOverflow,
103
103
  showFooterOverflow: colConfs.showFooterOverflow,
@@ -141,7 +141,7 @@ export class ColumnInfo {
141
141
  titlePrefix: colConfs.titlePrefix,
142
142
  titleSuffix: colConfs.titleSuffix,
143
143
 
144
- aggFunc: colConfs.aggFunc,
144
+ aggFunc,
145
145
  copyMethod: colConfs.copyMethod,
146
146
  cutMethod: colConfs.cutMethod,
147
147
  pasteMethod: colConfs.pasteMethod,
@@ -156,7 +156,10 @@ export class ColumnInfo {
156
156
  defaultParentId: null,
157
157
  halfVisible: false,
158
158
  defaultVisible: defaultVisible,
159
- defaultFixed: colConfs.fixed,
159
+ defaultFixed: fixed,
160
+ defaultAlign: align,
161
+ defaultHeaderAlign: headerAlign,
162
+ defaultFooterAlign: footerAlign,
160
163
 
161
164
  defaultAggFunc: colConfs.aggFunc,
162
165
 
@@ -182,6 +185,9 @@ export class ColumnInfo {
182
185
  renderAggDigits: null,
183
186
  renderAggFormat: null,
184
187
 
188
+ renderAlign: '',
189
+ renderHeaderAlign: '',
190
+ renderFooterAlign: '',
185
191
  renderFixed: '',
186
192
  renderVisible: false,
187
193
 
@@ -3,7 +3,7 @@ import { getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollLe
3
3
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils'
4
4
  import { VxeUI } from '../../ui'
5
5
  import Cell from './cell'
6
- import { getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn, getRowMaxHeight } from './util'
6
+ import { getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getRefElem, getCellRestHeight, getLastChildColumn, getRowMaxHeight, handleCustomStoreConfig } from './util'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime'
9
9
  import { createComponentLog } from '../../ui/src/log'
@@ -42,10 +42,6 @@ function eqCellValue (newRow: any, oldRow: any, field: any) {
42
42
  return { newValue: val1, oldValue: val2, result }
43
43
  }
44
44
 
45
- function hangleStorageDefaultValue (value: boolean | null | undefined, isAll: boolean) {
46
- return XEUtils.isBoolean(value) ? value : isAll
47
- }
48
-
49
45
  function getNextSortOrder ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, column: any) {
50
46
  const sortOpts = $xeTable.computeSortOpts
51
47
  const { orders = [] } = sortOpts
@@ -148,19 +144,19 @@ function handleCustomRestore ($xeTable: VxeTableConstructor & VxeTablePrivateMet
148
144
 
149
145
  const { aggregateConfig, rowGroupConfig } = props
150
146
  const { collectColumn } = internalData
151
- const customOpts = $xeTable.computeCustomOpts
152
- const { storage, storeOptions } = customOpts
153
- const isAllCustom = storage === true
154
- const storageOpts: VxeTableDefines.VxeTableCustomStorageObj = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions)
155
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom)
156
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom)
157
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom)
158
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom)
159
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom)
160
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom)
161
- let { resizableData, sortData, visibleData, fixedData, aggGroupData, aggFuncData } = storeData
147
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable)
148
+
149
+ let { alignData, headerAlignData, footerAlignData, resizableData, sortData, visibleData, fixedData, aggGroupData, aggFuncData } = storeData
162
150
  // 处理还原
163
- if ((isCustomResizable && resizableData) || (isCustomSort && sortData) || (isCustomVisible && visibleData) || (isCustomFixed && fixedData) || (isCustomAggGroup && aggGroupData) || (isCustomAggFunc && aggFuncData)) {
151
+ if ((isCustomAlign && alignData) ||
152
+ (isCustomHeaderAlign && headerAlignData) ||
153
+ (isCustomFooterAlign && footerAlignData) ||
154
+ (isCustomResizable && resizableData) ||
155
+ (isCustomSort && sortData) ||
156
+ (isCustomVisible && visibleData) ||
157
+ (isCustomFixed && fixedData) ||
158
+ (isCustomAggGroup && aggGroupData) ||
159
+ (isCustomAggFunc && aggFuncData)) {
164
160
  const sortColMaps: Record<string, {
165
161
  key: string
166
162
  sNum: number
@@ -249,15 +245,22 @@ function restoreCustomStorage ($xeTable: VxeTableConstructor & VxeTablePrivateMe
249
245
  const { customConfig } = props
250
246
  const tableId = $xeTable.computeTableId
251
247
  const customOpts = $xeTable.computeCustomOpts
252
- const { storage, restoreStore, storeOptions } = customOpts
253
- const isAllCustom = storage === true
254
- const storageOpts: VxeTableDefines.VxeTableCustomStorageObj = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions)
255
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom)
256
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom)
257
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom)
258
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom)
259
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom)
260
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort || isCustomAggFunc)) {
248
+ const { storage, restoreStore } = customOpts
249
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable)
250
+
251
+ if (storage &&
252
+ (customConfig ? isEnableConf(customOpts) : customOpts.enabled) &&
253
+ (
254
+ isCustomAlign ||
255
+ isCustomHeaderAlign ||
256
+ isCustomFooterAlign ||
257
+ isCustomResizable ||
258
+ isCustomVisible ||
259
+ isCustomFixed ||
260
+ isCustomSort ||
261
+ isCustomAggGroup ||
262
+ isCustomAggFunc)
263
+ ) {
261
264
  if (!tableId) {
262
265
  errLog('vxe.error.reqProp', ['id'])
263
266
  return
@@ -6661,15 +6664,23 @@ const tableMethods: any = {
6661
6664
  const { customConfig } = props
6662
6665
  const tableId = $xeTable.computeTableId
6663
6666
  const customOpts = $xeTable.computeCustomOpts
6664
- const { storage, restoreStore, storeOptions } = customOpts
6665
- const isAllCustom = storage === true
6666
- const storageOpts: VxeTableDefines.VxeTableCustomStorageObj = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions)
6667
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom)
6668
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom)
6669
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom)
6670
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom)
6671
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom)
6672
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomAggGroup || isCustomSort)) {
6667
+ const { storage, restoreStore } = customOpts
6668
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable)
6669
+
6670
+ if (storage &&
6671
+ (customConfig ? isEnableConf(customOpts) : customOpts.enabled) &&
6672
+ (
6673
+ isCustomAlign ||
6674
+ isCustomHeaderAlign ||
6675
+ isCustomFooterAlign ||
6676
+ isCustomResizable ||
6677
+ isCustomVisible ||
6678
+ isCustomFixed ||
6679
+ isCustomSort ||
6680
+ isCustomAggGroup ||
6681
+ isCustomAggFunc
6682
+ )
6683
+ ) {
6673
6684
  if (!tableId) {
6674
6685
  errLog('vxe.error.reqProp', ['id'])
6675
6686
  return
@@ -6716,6 +6727,9 @@ const tableMethods: any = {
6716
6727
  if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
6717
6728
  column.visible = column.defaultVisible
6718
6729
  }
6730
+ column.align = column.defaultAlign
6731
+ column.headerAlign = column.defaultHeaderAlign
6732
+ column.footerAlign = column.defaultFooterAlign
6719
6733
  column.aggFunc = column.defaultAggFunc
6720
6734
  column.renderAggFn = column.defaultAggFunc
6721
6735
  column.renderResizeWidth = column.renderWidth
@@ -6763,22 +6777,23 @@ const tableMethods: any = {
6763
6777
  const customOpts = $xeTable.computeCustomOpts
6764
6778
  const { isRowGroupStatus, rowGroupList } = reactData
6765
6779
  const { fullColumnFieldData, collectColumn } = internalData
6766
- const { storage, checkMethod, storeOptions } = customOpts
6767
- const isAllCustom = storage === true
6768
- const storageOpts: VxeTableDefines.VxeTableCustomStorageObj = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions)
6769
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom)
6770
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom)
6771
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom)
6772
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom)
6773
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom)
6774
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom)
6780
+ const { storage, checkMethod } = customOpts
6781
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable)
6782
+
6783
+ const alignData: Record<string, VxeColumnPropTypes.Align> = {}
6784
+ const headerAlignData: Record<string, VxeColumnPropTypes.HeaderAlign> = {}
6785
+ const footerAlignData: Record<string, VxeColumnPropTypes.FooterAlign> = {}
6775
6786
  const resizableData: Record<string, number> = {}
6776
6787
  const sortData: VxeTableDefines.CustomSortStoreObj[] = []
6777
6788
  const visibleData: Record<string, boolean> = {}
6778
6789
  const fixedData: Record<string, VxeColumnPropTypes.Fixed> = {}
6779
6790
  const aggGroupData: Record<string, boolean> = {}
6780
6791
  const aggFuncData: Record<string, VxeColumnPropTypes.AggFunc> = {}
6792
+
6781
6793
  const storeData: VxeTableDefines.CustomStoreData = {
6794
+ alignData: undefined,
6795
+ headerAlignData: undefined,
6796
+ footerAlignData: undefined,
6782
6797
  resizableData: undefined,
6783
6798
  sortData: undefined,
6784
6799
  visibleData: undefined,
@@ -6792,6 +6807,9 @@ const tableMethods: any = {
6792
6807
  }
6793
6808
  return storeData
6794
6809
  }
6810
+ let hasAlign = 0
6811
+ let hasHeaderAlign = 0
6812
+ let hasFooterAlign = 0
6795
6813
  let hasResizable = 0
6796
6814
  let hasSort = 0
6797
6815
  let hasFixed = 0
@@ -6831,6 +6849,18 @@ const tableMethods: any = {
6831
6849
  fixedData[colKey] = column.fixed
6832
6850
  }
6833
6851
  }
6852
+ if (isCustomAlign && column.align) {
6853
+ hasAlign = 1
6854
+ alignData[colKey] = column.align
6855
+ }
6856
+ if (isCustomHeaderAlign && column.headerAlign) {
6857
+ hasHeaderAlign = 1
6858
+ headerAlignData[colKey] = column.headerAlign
6859
+ }
6860
+ if (isCustomFooterAlign && column.footerAlign) {
6861
+ hasFooterAlign = 1
6862
+ footerAlignData[colKey] = column.footerAlign
6863
+ }
6834
6864
  if (isCustomResizable && column.resizeWidth) {
6835
6865
  hasResizable = 1
6836
6866
  resizableData[colKey] = column.renderWidth
@@ -6849,6 +6879,15 @@ const tableMethods: any = {
6849
6879
  aggFuncData[colKey] = column.aggFunc
6850
6880
  }
6851
6881
  })
6882
+ if (hasAlign) {
6883
+ storeData.alignData = alignData
6884
+ }
6885
+ if (hasHeaderAlign) {
6886
+ storeData.headerAlignData = headerAlignData
6887
+ }
6888
+ if (hasFooterAlign) {
6889
+ storeData.footerAlignData = footerAlignData
6890
+ }
6852
6891
  if (hasResizable) {
6853
6892
  storeData.resizableData = resizableData
6854
6893
  }
@@ -6886,33 +6925,44 @@ const tableMethods: any = {
6886
6925
  const { customConfig } = props
6887
6926
  const tableId = $xeTable.computeTableId
6888
6927
  const customOpts = $xeTable.computeCustomOpts
6889
- const { updateStore, storage, storeOptions } = customOpts
6890
- const isAllCustom = storage === true
6891
- const storageOpts: VxeTableDefines.VxeTableCustomStorageObj = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions)
6892
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom)
6893
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom)
6894
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom)
6895
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom)
6896
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom)
6897
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom)
6928
+ const { updateStore, storage } = customOpts
6929
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable)
6930
+
6898
6931
  if (type !== 'reset') {
6932
+ // fix:修复拖动列宽,重置按钮无法点击的问题
6899
6933
  reactData.isCustomStatus = true
6900
6934
  }
6901
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort || isCustomAggGroup || isCustomAggFunc)) {
6935
+ if (storage &&
6936
+ (customConfig ? isEnableConf(customOpts) : customOpts.enabled) &&
6937
+ (
6938
+ isCustomAlign ||
6939
+ isCustomHeaderAlign ||
6940
+ isCustomFooterAlign ||
6941
+ isCustomResizable ||
6942
+ isCustomVisible ||
6943
+ isCustomFixed ||
6944
+ isCustomSort ||
6945
+ isCustomAggGroup ||
6946
+ isCustomAggFunc
6947
+ )
6948
+ ) {
6902
6949
  if (!tableId) {
6903
6950
  errLog('vxe.error.reqProp', ['id'])
6904
- return this.$nextTick()
6951
+ return $xeTable.$nextTick()
6905
6952
  }
6906
6953
  const storeData: VxeTableDefines.CustomStoreData = type === 'reset'
6907
6954
  ? {
6955
+ alignData: {},
6956
+ headerAlignData: {},
6957
+ footerAlignData: {},
6908
6958
  resizableData: {},
6909
- sortData: {},
6959
+ sortData: [],
6910
6960
  visibleData: {},
6911
6961
  fixedData: {},
6912
6962
  aggGroupData: {},
6913
6963
  aggFuncData: {}
6914
6964
  }
6915
- : this.getCustomStoreData()
6965
+ : $xeTable.getCustomStoreData()
6916
6966
  if (updateStore) {
6917
6967
  return updateStore({
6918
6968
  $table: $xeTable,
@@ -6924,13 +6974,19 @@ const tableMethods: any = {
6924
6974
  setCustomStorageMap(tableId, type === 'reset' ? null : storeData)
6925
6975
  }
6926
6976
  }
6927
- return this.$nextTick()
6977
+ return $xeTable.$nextTick()
6928
6978
  },
6929
6979
  handleUpdateDataQueue () {
6930
- this.upDataFlag++
6980
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
6981
+ const reactData = $xeTable as unknown as TableReactData
6982
+
6983
+ reactData.upDataFlag++
6931
6984
  },
6932
6985
  handleRefreshColumnQueue () {
6933
- this.reColumnFlag++
6986
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
6987
+ const reactData = $xeTable as unknown as TableReactData
6988
+
6989
+ reactData.reColumnFlag++
6934
6990
  },
6935
6991
  handleFilterOptions (column: VxeTableDefines.ColumnInfo) {
6936
6992
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
@@ -240,7 +240,8 @@ export function createReactData (): TableReactData {
240
240
  activeWrapper: false,
241
241
  visible: false,
242
242
  maxHeight: null,
243
- popupStyle: {},
243
+ defPopupStyle: {},
244
+ panePopupStyle: {},
244
245
  oldSortMaps: {},
245
246
  oldFixedMaps: {},
246
247
  oldVisibleMaps: {}
@@ -1101,3 +1102,35 @@ export function colToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMet
1101
1102
  }
1102
1103
  return Promise.resolve()
1103
1104
  }
1105
+
1106
+ function hangleBolleanDefaultValue (currVal: boolean | null | undefined, defVal: boolean | null | undefined) {
1107
+ return XEUtils.isBoolean(currVal) ? currVal : defVal
1108
+ }
1109
+
1110
+ export function handleCustomStoreConfig ($xeTable: VxeTableConstructor) {
1111
+ const customOpts = $xeTable.computeCustomOpts
1112
+ const { storage, storeOptions } = customOpts
1113
+
1114
+ const isAllCustom = storage === true
1115
+ const storageOpts: VxeTableDefines.VxeTableCustomStorageObj = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions)
1116
+ const isCustomAlign = hangleBolleanDefaultValue(storageOpts.align, isAllCustom)
1117
+ const isCustomHeaderAlign = hangleBolleanDefaultValue(storageOpts.headerAlign, isAllCustom)
1118
+ const isCustomFooterAlign = hangleBolleanDefaultValue(storageOpts.footerAlign, isAllCustom)
1119
+ const isCustomResizable = hangleBolleanDefaultValue(storageOpts.resizable, isAllCustom)
1120
+ const isCustomVisible = hangleBolleanDefaultValue(storageOpts.visible, isAllCustom)
1121
+ const isCustomFixed = hangleBolleanDefaultValue(storageOpts.fixed, isAllCustom)
1122
+ const isCustomSort = hangleBolleanDefaultValue(storageOpts.sort, isAllCustom)
1123
+ const isCustomAggGroup = hangleBolleanDefaultValue(storageOpts.aggGroup, isAllCustom)
1124
+ const isCustomAggFunc = hangleBolleanDefaultValue(storageOpts.aggFunc, isAllCustom)
1125
+ return {
1126
+ isCustomAlign,
1127
+ isCustomHeaderAlign,
1128
+ isCustomFooterAlign,
1129
+ isCustomResizable,
1130
+ isCustomVisible,
1131
+ isCustomFixed,
1132
+ isCustomSort,
1133
+ isCustomAggGroup,
1134
+ isCustomAggFunc
1135
+ }
1136
+ }
@@ -118,6 +118,7 @@ VxeUI.setConfig({
118
118
  allowResizable: true,
119
119
  allowFixed: true,
120
120
  allowSort: true,
121
+ allowAlign: true,
121
122
  showSortDragButton: true,
122
123
  showFooter: true,
123
124
  placement: 'top-right',
@@ -126,9 +127,11 @@ VxeUI.setConfig({
126
127
  visible: true,
127
128
  resizable: true,
128
129
  sort: true,
129
- fixed: true
130
- // rowGroup: false,
131
- // aggFunc: false
130
+ fixed: true,
131
+ align: true,
132
+ headerAlign: true,
133
+ footerAlign: true,
134
+ aggFunc: true
132
135
  },
133
136
  // autoAggGroupValues: false,
134
137
  // checkMethod () {},
@@ -355,6 +358,15 @@ VxeUI.setIcon({
355
358
  TABLE_RADIO_UNCHECKED: iconPrefix + 'radio-unchecked',
356
359
  TABLE_RADIO_DISABLED_UNCHECKED: iconPrefix + 'radio-unchecked-fill',
357
360
  TABLE_CUSTOM_SORT: iconPrefix + 'drag-handle',
361
+ TABLE_CUSTOM_FIXED_LEFT: iconPrefix + 'fixed-left',
362
+ TABLE_CUSTOM_FIXED_RIGHT: iconPrefix + 'fixed-right',
363
+ TABLE_CUSTOM_ALIGN_LEFT: iconPrefix + 'align-left',
364
+ TABLE_CUSTOM_ALIGN_CENTER: iconPrefix + 'align-center',
365
+ TABLE_CUSTOM_ALIGN_RIGHT: iconPrefix + 'align-right',
366
+ TABLE_CUSTOM_MOVE_UP: iconPrefix + 'arrows-up',
367
+ TABLE_CUSTOM_MOVE_DN: iconPrefix + 'arrows-down',
368
+ TABLE_CUSTOM_PUT_TOP: iconPrefix + 'top',
369
+ TABLE_CUSTOM_PUT_BOTTOM: iconPrefix + 'bottom',
358
370
  TABLE_MENU_OPTIONS: iconPrefix + 'arrow-right',
359
371
  TABLE_MENU_OPTION_LOADING: iconPrefix + 'repeat roll',
360
372
  TABLE_DRAG_ROW: iconPrefix + 'drag-handle',
@@ -4,8 +4,7 @@
4
4
 
5
5
  @font-face {
6
6
  font-family: "vxetableiconfont";
7
- src:
8
- url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
7
+ src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
9
8
  }
10
9
 
11
10
  @keyframes rollCircle {
@@ -79,6 +78,34 @@ $btnThemeList: (
79
78
  }
80
79
  }
81
80
 
81
+ .vxe-table-icon-top:before {
82
+ content: "\e614";
83
+ }
84
+
85
+ .vxe-table-icon-arrows-up:before {
86
+ content: "\f297";
87
+ }
88
+
89
+ .vxe-table-icon-arrows-down:before {
90
+ content: "\f298";
91
+ }
92
+
93
+ .vxe-table-icon-bottom:before {
94
+ content: "\f29b";
95
+ }
96
+
97
+ .vxe-table-icon-align-center:before {
98
+ content: "\e610";
99
+ }
100
+
101
+ .vxe-table-icon-align-right:before {
102
+ content: "\e6b9";
103
+ }
104
+
105
+ .vxe-table-icon-align-left:before {
106
+ content: "\e6bb";
107
+ }
108
+
82
109
  .vxe-table-icon-radio-unchecked-fill:before {
83
110
  content: "\e699";
84
111
  }