vxe-table 4.19.22 → 4.19.24

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 (183) hide show
  1. package/dist/all.esm.js +634 -335
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/{iconfont.1782890314097.ttf → iconfont.1783331249334.ttf} +0 -0
  5. package/es/iconfont.1783331249334.woff +0 -0
  6. package/es/iconfont.1783331249334.woff2 +0 -0
  7. package/es/index.css +1 -1
  8. package/es/index.min.css +1 -1
  9. package/es/locale/lang/ar-EG.js +12 -3
  10. package/es/locale/lang/de-DE.js +12 -3
  11. package/es/locale/lang/en-US.js +16 -7
  12. package/es/locale/lang/es-ES.js +12 -3
  13. package/es/locale/lang/fr-FR.js +12 -3
  14. package/es/locale/lang/hu-HU.js +12 -3
  15. package/es/locale/lang/hy-AM.js +12 -3
  16. package/es/locale/lang/id-ID.js +12 -3
  17. package/es/locale/lang/it-IT.js +11 -2
  18. package/es/locale/lang/ja-JP.js +12 -3
  19. package/es/locale/lang/ko-KR.js +12 -3
  20. package/es/locale/lang/ms-MY.js +12 -3
  21. package/es/locale/lang/nb-NO.js +12 -3
  22. package/es/locale/lang/pt-BR.js +12 -3
  23. package/es/locale/lang/ru-RU.js +12 -3
  24. package/es/locale/lang/th-TH.js +12 -3
  25. package/es/locale/lang/ug-CN.js +12 -3
  26. package/es/locale/lang/uk-UA.js +12 -3
  27. package/es/locale/lang/uz-UZ.js +12 -3
  28. package/es/locale/lang/vi-VN.js +11 -2
  29. package/es/locale/lang/zh-CHT.js +14 -5
  30. package/es/locale/lang/zh-CN.js +14 -5
  31. package/es/style.css +1 -1
  32. package/es/style.min.css +1 -1
  33. package/es/table/module/custom/hook.js +83 -12
  34. package/es/table/module/custom/panel.js +398 -257
  35. package/es/table/src/cell.js +2 -2
  36. package/es/table/src/columnInfo.js +14 -8
  37. package/es/table/src/emits.js +3 -0
  38. package/es/table/src/table.js +78 -46
  39. package/es/table/src/util.js +32 -1
  40. package/es/table/style.css +96 -49
  41. package/es/table/style.min.css +1 -1
  42. package/es/ui/index.js +16 -4
  43. package/es/ui/src/log.js +1 -1
  44. package/es/vxe-table/style.css +96 -49
  45. package/es/vxe-table/style.min.css +1 -1
  46. package/lib/{iconfont.1782890314097.ttf → iconfont.1783331249334.ttf} +0 -0
  47. package/lib/iconfont.1783331249334.woff +0 -0
  48. package/lib/iconfont.1783331249334.woff2 +0 -0
  49. package/lib/index.css +1 -1
  50. package/lib/index.min.css +1 -1
  51. package/lib/index.umd.js +521 -181
  52. package/lib/index.umd.min.js +1 -1
  53. package/lib/locale/lang/ar-EG.js +12 -3
  54. package/lib/locale/lang/ar-EG.min.js +1 -1
  55. package/lib/locale/lang/ar-EG.umd.js +12 -3
  56. package/lib/locale/lang/de-DE.js +12 -3
  57. package/lib/locale/lang/de-DE.min.js +1 -1
  58. package/lib/locale/lang/de-DE.umd.js +12 -3
  59. package/lib/locale/lang/en-US.js +16 -7
  60. package/lib/locale/lang/en-US.min.js +1 -1
  61. package/lib/locale/lang/en-US.umd.js +16 -7
  62. package/lib/locale/lang/es-ES.js +12 -3
  63. package/lib/locale/lang/es-ES.min.js +1 -1
  64. package/lib/locale/lang/es-ES.umd.js +12 -3
  65. package/lib/locale/lang/fr-FR.js +12 -3
  66. package/lib/locale/lang/fr-FR.min.js +1 -1
  67. package/lib/locale/lang/fr-FR.umd.js +12 -3
  68. package/lib/locale/lang/hu-HU.js +12 -3
  69. package/lib/locale/lang/hu-HU.min.js +1 -1
  70. package/lib/locale/lang/hu-HU.umd.js +12 -3
  71. package/lib/locale/lang/hy-AM.js +12 -3
  72. package/lib/locale/lang/hy-AM.min.js +1 -1
  73. package/lib/locale/lang/hy-AM.umd.js +12 -3
  74. package/lib/locale/lang/id-ID.js +12 -3
  75. package/lib/locale/lang/id-ID.min.js +1 -1
  76. package/lib/locale/lang/id-ID.umd.js +12 -3
  77. package/lib/locale/lang/it-IT.js +11 -2
  78. package/lib/locale/lang/it-IT.min.js +1 -1
  79. package/lib/locale/lang/it-IT.umd.js +11 -2
  80. package/lib/locale/lang/ja-JP.js +12 -3
  81. package/lib/locale/lang/ja-JP.min.js +1 -1
  82. package/lib/locale/lang/ja-JP.umd.js +12 -3
  83. package/lib/locale/lang/ko-KR.js +12 -3
  84. package/lib/locale/lang/ko-KR.min.js +1 -1
  85. package/lib/locale/lang/ko-KR.umd.js +12 -3
  86. package/lib/locale/lang/ms-MY.js +12 -3
  87. package/lib/locale/lang/ms-MY.min.js +1 -1
  88. package/lib/locale/lang/ms-MY.umd.js +12 -3
  89. package/lib/locale/lang/nb-NO.js +12 -3
  90. package/lib/locale/lang/nb-NO.min.js +1 -1
  91. package/lib/locale/lang/nb-NO.umd.js +12 -3
  92. package/lib/locale/lang/pt-BR.js +12 -3
  93. package/lib/locale/lang/pt-BR.min.js +1 -1
  94. package/lib/locale/lang/pt-BR.umd.js +12 -3
  95. package/lib/locale/lang/ru-RU.js +12 -3
  96. package/lib/locale/lang/ru-RU.min.js +1 -1
  97. package/lib/locale/lang/ru-RU.umd.js +12 -3
  98. package/lib/locale/lang/th-TH.js +12 -3
  99. package/lib/locale/lang/th-TH.min.js +1 -1
  100. package/lib/locale/lang/th-TH.umd.js +12 -3
  101. package/lib/locale/lang/ug-CN.js +12 -3
  102. package/lib/locale/lang/ug-CN.min.js +1 -1
  103. package/lib/locale/lang/ug-CN.umd.js +12 -3
  104. package/lib/locale/lang/uk-UA.js +12 -3
  105. package/lib/locale/lang/uk-UA.min.js +1 -1
  106. package/lib/locale/lang/uk-UA.umd.js +12 -3
  107. package/lib/locale/lang/uz-UZ.js +12 -3
  108. package/lib/locale/lang/uz-UZ.min.js +1 -1
  109. package/lib/locale/lang/uz-UZ.umd.js +12 -3
  110. package/lib/locale/lang/vi-VN.js +11 -2
  111. package/lib/locale/lang/vi-VN.min.js +1 -1
  112. package/lib/locale/lang/vi-VN.umd.js +11 -2
  113. package/lib/locale/lang/zh-CHT.js +14 -5
  114. package/lib/locale/lang/zh-CHT.min.js +1 -1
  115. package/lib/locale/lang/zh-CHT.umd.js +14 -5
  116. package/lib/locale/lang/zh-CN.js +14 -5
  117. package/lib/locale/lang/zh-CN.min.js +1 -1
  118. package/lib/locale/lang/zh-CN.umd.js +14 -5
  119. package/lib/style.css +1 -1
  120. package/lib/style.min.css +1 -1
  121. package/lib/table/module/custom/hook.js +90 -10
  122. package/lib/table/module/custom/hook.min.js +1 -1
  123. package/lib/table/module/custom/panel.js +333 -141
  124. package/lib/table/module/custom/panel.min.js +1 -1
  125. package/lib/table/src/cell.js +2 -1
  126. package/lib/table/src/cell.min.js +1 -1
  127. package/lib/table/src/columnInfo.js +17 -7
  128. package/lib/table/src/columnInfo.min.js +1 -1
  129. package/lib/table/src/emits.js +1 -1
  130. package/lib/table/src/emits.min.js +1 -1
  131. package/lib/table/src/table.js +10 -10
  132. package/lib/table/src/table.min.js +1 -1
  133. package/lib/table/src/util.js +38 -1
  134. package/lib/table/src/util.min.js +1 -1
  135. package/lib/table/style/style.css +96 -49
  136. package/lib/table/style/style.min.css +1 -1
  137. package/lib/ui/index.js +16 -4
  138. package/lib/ui/index.min.js +1 -1
  139. package/lib/ui/src/log.js +1 -1
  140. package/lib/ui/src/log.min.js +1 -1
  141. package/lib/vxe-table/style/style.css +96 -49
  142. package/lib/vxe-table/style/style.min.css +1 -1
  143. package/package.json +2 -2
  144. package/packages/locale/lang/ar-EG.ts +12 -3
  145. package/packages/locale/lang/de-DE.ts +12 -3
  146. package/packages/locale/lang/en-US.ts +16 -7
  147. package/packages/locale/lang/es-ES.ts +12 -3
  148. package/packages/locale/lang/fr-FR.ts +12 -3
  149. package/packages/locale/lang/hu-HU.ts +12 -3
  150. package/packages/locale/lang/hy-AM.ts +12 -3
  151. package/packages/locale/lang/id-ID.ts +12 -3
  152. package/packages/locale/lang/it-IT.ts +11 -2
  153. package/packages/locale/lang/ja-JP.ts +12 -3
  154. package/packages/locale/lang/ko-KR.ts +12 -3
  155. package/packages/locale/lang/ms-MY.ts +12 -3
  156. package/packages/locale/lang/nb-NO.ts +12 -3
  157. package/packages/locale/lang/pt-BR.ts +12 -3
  158. package/packages/locale/lang/ru-RU.ts +12 -3
  159. package/packages/locale/lang/th-TH.ts +12 -3
  160. package/packages/locale/lang/ug-CN.ts +12 -3
  161. package/packages/locale/lang/uk-UA.ts +12 -3
  162. package/packages/locale/lang/uz-UZ.ts +12 -3
  163. package/packages/locale/lang/vi-VN.ts +11 -2
  164. package/packages/locale/lang/zh-CHT.ts +14 -5
  165. package/packages/locale/lang/zh-CN.ts +14 -5
  166. package/packages/table/module/custom/hook.ts +83 -12
  167. package/packages/table/module/custom/panel.ts +481 -286
  168. package/packages/table/src/cell.ts +2 -2
  169. package/packages/table/src/columnInfo.ts +14 -8
  170. package/packages/table/src/emits.ts +3 -0
  171. package/packages/table/src/table.ts +89 -47
  172. package/packages/table/src/util.ts +35 -1
  173. package/packages/ui/index.ts +15 -3
  174. package/styles/components/icon.scss +29 -2
  175. package/styles/components/table-module/custom.scss +88 -67
  176. package/styles/icon/iconfont.ttf +0 -0
  177. package/styles/icon/iconfont.woff +0 -0
  178. package/styles/icon/iconfont.woff2 +0 -0
  179. package/styles/theme/base.scss +11 -0
  180. package/es/iconfont.1782890314097.woff +0 -0
  181. package/es/iconfont.1782890314097.woff2 +0 -0
  182. package/lib/iconfont.1782890314097.woff +0 -0
  183. package/lib/iconfont.1782890314097.woff2 +0 -0
@@ -536,7 +536,7 @@ export const Cell = {
536
536
  const { treeExpandedFlag } = tableReactData;
537
537
  const { fullAllDataRowIdData, treeExpandedMaps, treeExpandLazyLoadedMaps } = tableInternalData;
538
538
  const treeOpts = computeTreeOpts.value;
539
- const { padding, indent, lazy, trigger, iconLoaded, showIcon, iconOpen, iconClose } = treeOpts;
539
+ const { padding, indent, lazy, trigger, visibleMethod, iconLoaded, showIcon, iconOpen, iconClose } = treeOpts;
540
540
  const childrenField = treeOpts.children || treeOpts.childrenField;
541
541
  const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
542
542
  const rowChilds = row[childrenField];
@@ -571,7 +571,7 @@ export const Cell = {
571
571
  }
572
572
  : undefined
573
573
  }, [
574
- showIcon && (lazy ? (isLazyLoaded ? hasChild : (hasChild || hasLazyChilds)) : hasChild)
574
+ showIcon && (lazy ? (isLazyLoaded ? hasChild : (hasChild || hasLazyChilds)) : hasChild) && (!visibleMethod || visibleMethod(params))
575
575
  ? [
576
576
  h('div', Object.assign({ class: 'vxe-cell--tree-btn' }, ons), [
577
577
  h('i', {
@@ -13,7 +13,7 @@ export class ColumnInfo {
13
13
  const $xeGrid = $xeTable.xeGrid;
14
14
  const $xeGantt = $xeTable.xeGantt;
15
15
  const $xeGGWrapper = $xeGrid || $xeGantt;
16
- const { type, field, width, visible, aggFunc, formatter, filterMultiple, cellRender, editRender, filterRender } = colConfs;
16
+ const { type, field, width, visible, fixed, align, headerAlign, footerAlign, aggFunc, formatter, filterMultiple, cellRender, editRender, filterRender } = colConfs;
17
17
  const colId = colConfs.colId || XEUtils.uniqueId('col_');
18
18
  const defaultVisible = XEUtils.isBoolean(visible) ? visible : true;
19
19
  const defaultRenderWidth = width && isPx(width) && width !== 'auto' ? Math.max(0, XEUtils.toInteger(width)) : 0;
@@ -75,10 +75,10 @@ export class ColumnInfo {
75
75
  minWidth: colConfs.minWidth,
76
76
  maxWidth: colConfs.maxWidth,
77
77
  resizable: colConfs.resizable,
78
- fixed: colConfs.fixed,
79
- align: colConfs.align,
80
- headerAlign: colConfs.headerAlign,
81
- footerAlign: colConfs.footerAlign,
78
+ fixed,
79
+ align,
80
+ headerAlign,
81
+ footerAlign,
82
82
  showOverflow: colConfs.showOverflow,
83
83
  showHeaderOverflow: colConfs.showHeaderOverflow,
84
84
  showFooterOverflow: colConfs.showFooterOverflow,
@@ -115,7 +115,7 @@ export class ColumnInfo {
115
115
  titleHelp: colConfs.titleHelp,
116
116
  titlePrefix: colConfs.titlePrefix,
117
117
  titleSuffix: colConfs.titleSuffix,
118
- aggFunc: colConfs.aggFunc,
118
+ aggFunc,
119
119
  copyMethod: colConfs.copyMethod,
120
120
  cutMethod: colConfs.cutMethod,
121
121
  pasteMethod: colConfs.pasteMethod,
@@ -129,8 +129,11 @@ export class ColumnInfo {
129
129
  defaultParentId: null,
130
130
  halfVisible: false,
131
131
  defaultVisible: defaultVisible,
132
- defaultFixed: colConfs.fixed,
133
- defaultAggFunc: colConfs.aggFunc,
132
+ defaultFixed: fixed,
133
+ defaultAlign: align,
134
+ defaultHeaderAlign: headerAlign,
135
+ defaultFooterAlign: footerAlign,
136
+ defaultAggFunc: aggFunc,
134
137
  checked: false,
135
138
  halfChecked: false,
136
139
  disabled: false,
@@ -149,6 +152,9 @@ export class ColumnInfo {
149
152
  renderAggFn: '',
150
153
  renderAggDigits: null,
151
154
  renderAggFormat: null,
155
+ renderAlign: '',
156
+ renderHeaderAlign: '',
157
+ renderFooterAlign: '',
152
158
  renderFixed: '',
153
159
  renderVisible: false,
154
160
  renderWidth: defaultRenderWidth,
@@ -83,6 +83,9 @@ export const tableEmits = [
83
83
  'custom-visible-all',
84
84
  'custom-fixed-change',
85
85
  'custom-sort-change',
86
+ 'custom-align-change',
87
+ 'custom-header-align-change',
88
+ 'custom-footer-align-change',
86
89
  'change-fnr', // 废弃
87
90
  'open-fnr',
88
91
  'show-fnr',
@@ -4,7 +4,7 @@ import XEUtils from 'xe-utils';
4
4
  import { initTpImg, getTpImg, isPx, isScale, hasClass, addClass, removeClass, wheelScrollTopTo, wheelScrollLeftTo, getEventTargetNode, getPaddingTopBottomSize, setScrollTop, setScrollLeft, toCssUnit, hasControlKey, checkTargetElement, hasEventInputTarget } from '../../ui/src/dom';
5
5
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
6
6
  import { VxeUI } from '../../ui';
7
- import { createReactData, createInternalData, getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight, getLastChildColumn, getRowMaxHeight } from './util';
7
+ import { createReactData, createInternalData, getRowUniqueId, createRowId, clearTableAllStatus, getColumnList, toFilters, hasDeepKey, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, getColReMaxWidth, createHandleUpdateRowId, createHandleGetRowId, getCalcHeight, getCellRestHeight, getLastChildColumn, getRowMaxHeight, handleCustomStoreConfig } from './util';
8
8
  import { getSlotVNs } from '../../ui/src/vn';
9
9
  import { moveRowAnimateToTb, clearRowAnimate, moveColAnimateToLr, clearColAnimate } from '../../ui/src/anime';
10
10
  import { createComponentLog } from '../../ui/src/log';
@@ -832,9 +832,6 @@ export default defineVxeComponent({
832
832
  internalData.currKeyField = keyField;
833
833
  internalData.isCurrDeepKey = hasDeepKey(keyField);
834
834
  };
835
- const hangleStorageDefaultValue = (value, isAll) => {
836
- return XEUtils.isBoolean(value) ? value : isAll;
837
- };
838
835
  const getNextSortOrder = (column) => {
839
836
  const sortOpts = computeSortOpts.value;
840
837
  const { orders = [] } = sortOpts;
@@ -1490,19 +1487,18 @@ export default defineVxeComponent({
1490
1487
  const handleCustomRestore = (storeData) => {
1491
1488
  const { aggregateConfig, rowGroupConfig } = props;
1492
1489
  const { collectColumn } = internalData;
1493
- const customOpts = computeCustomOpts.value;
1494
- const { storage, storeOptions } = customOpts;
1495
- const isAllCustom = storage === true;
1496
- const storageOpts = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions);
1497
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom);
1498
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
1499
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
1500
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
1501
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
1502
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
1503
- let { resizableData, sortData, visibleData, fixedData, aggGroupData, aggFuncData } = storeData;
1490
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
1491
+ let { alignData, headerAlignData, footerAlignData, resizableData, sortData, visibleData, fixedData, aggGroupData, aggFuncData } = storeData;
1504
1492
  // 处理还原
1505
- if ((isCustomResizable && resizableData) || (isCustomSort && sortData) || (isCustomVisible && visibleData) || (isCustomFixed && fixedData) || (isCustomAggGroup && aggGroupData) || (isCustomAggFunc && aggFuncData)) {
1493
+ if ((isCustomAlign && alignData) ||
1494
+ (isCustomHeaderAlign && headerAlignData) ||
1495
+ (isCustomFooterAlign && footerAlignData) ||
1496
+ (isCustomResizable && resizableData) ||
1497
+ (isCustomSort && sortData) ||
1498
+ (isCustomVisible && visibleData) ||
1499
+ (isCustomFixed && fixedData) ||
1500
+ (isCustomAggGroup && aggGroupData) ||
1501
+ (isCustomAggFunc && aggFuncData)) {
1506
1502
  const sortColMaps = {};
1507
1503
  if (isCustomSort && sortData) {
1508
1504
  // 转换兼容老版本数据,即将废弃兼容
@@ -1585,16 +1581,19 @@ export default defineVxeComponent({
1585
1581
  const { customConfig } = props;
1586
1582
  const tableId = computeTableId.value;
1587
1583
  const customOpts = computeCustomOpts.value;
1588
- const { storage, restoreStore, storeOptions } = customOpts;
1589
- const isAllCustom = storage === true;
1590
- const storageOpts = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions);
1591
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom);
1592
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
1593
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
1594
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
1595
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
1596
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
1597
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort || isCustomAggGroup || isCustomAggFunc)) {
1584
+ const { storage, restoreStore } = customOpts;
1585
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
1586
+ if (storage &&
1587
+ (customConfig ? isEnableConf(customOpts) : customOpts.enabled) &&
1588
+ (isCustomAlign ||
1589
+ isCustomHeaderAlign ||
1590
+ isCustomFooterAlign ||
1591
+ isCustomResizable ||
1592
+ isCustomVisible ||
1593
+ isCustomFixed ||
1594
+ isCustomSort ||
1595
+ isCustomAggGroup ||
1596
+ isCustomAggFunc)) {
1598
1597
  if (!tableId) {
1599
1598
  errLog('vxe.error.reqProp', ['id']);
1600
1599
  return;
@@ -4224,8 +4223,9 @@ export default defineVxeComponent({
4224
4223
  const result = [];
4225
4224
  const columnIndex = $xeTable.getColumnIndex(treeNodeColumn);
4226
4225
  const $columnIndex = $xeTable.getVMColumnIndex(treeNodeColumn);
4226
+ const _columnIndex = $xeTable.getVTColumnIndex(treeNodeColumn);
4227
4227
  const { handleGetRowId } = createHandleGetRowId($xeTable);
4228
- let validRows = toggleMethod ? rows.filter((row) => toggleMethod({ $table: $xeTable, expanded, column: treeNodeColumn, columnIndex, $columnIndex, row })) : rows;
4228
+ let validRows = toggleMethod ? rows.filter((row) => toggleMethod({ $table: $xeTable, expanded, column: treeNodeColumn, columnIndex, $columnIndex, _columnIndex, row })) : rows;
4229
4229
  if (accordion) {
4230
4230
  validRows = validRows.length ? [validRows[validRows.length - 1]] : [];
4231
4231
  // 同一级只能展开一个
@@ -7986,6 +7986,9 @@ export default defineVxeComponent({
7986
7986
  if (!checkMethod || checkMethod({ $table: $xeTable, column })) {
7987
7987
  column.visible = column.defaultVisible;
7988
7988
  }
7989
+ column.align = column.defaultAlign;
7990
+ column.headerAlign = column.defaultHeaderAlign;
7991
+ column.footerAlign = column.defaultFooterAlign;
7989
7992
  column.aggFunc = column.defaultAggFunc;
7990
7993
  column.renderAggFn = column.defaultAggFunc;
7991
7994
  column.renderResizeWidth = column.renderWidth;
@@ -8027,15 +8030,11 @@ export default defineVxeComponent({
8027
8030
  const customOpts = computeCustomOpts.value;
8028
8031
  const { isRowGroupStatus, rowGroupList } = reactData;
8029
8032
  const { fullColumnFieldData, collectColumn } = internalData;
8030
- const { storage, checkMethod, storeOptions } = customOpts;
8031
- const isAllCustom = storage === true;
8032
- const storageOpts = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions);
8033
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom);
8034
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
8035
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
8036
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
8037
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
8038
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
8033
+ const { storage, checkMethod } = customOpts;
8034
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
8035
+ const alignData = {};
8036
+ const headerAlignData = {};
8037
+ const footerAlignData = {};
8039
8038
  const resizableData = {};
8040
8039
  const sortData = [];
8041
8040
  const visibleData = {};
@@ -8043,6 +8042,9 @@ export default defineVxeComponent({
8043
8042
  const aggGroupData = {};
8044
8043
  const aggFuncData = {};
8045
8044
  const storeData = {
8045
+ alignData: undefined,
8046
+ headerAlignData: undefined,
8047
+ footerAlignData: undefined,
8046
8048
  resizableData: undefined,
8047
8049
  sortData: undefined,
8048
8050
  visibleData: undefined,
@@ -8056,6 +8058,9 @@ export default defineVxeComponent({
8056
8058
  }
8057
8059
  return storeData;
8058
8060
  }
8061
+ let hasAlign = 0;
8062
+ let hasHeaderAlign = 0;
8063
+ let hasFooterAlign = 0;
8059
8064
  let hasResizable = 0;
8060
8065
  let hasSort = 0;
8061
8066
  let hasFixed = 0;
@@ -8096,6 +8101,18 @@ export default defineVxeComponent({
8096
8101
  fixedData[colKey] = column.fixed;
8097
8102
  }
8098
8103
  }
8104
+ if (isCustomAlign && column.align) {
8105
+ hasAlign = 1;
8106
+ alignData[colKey] = column.align;
8107
+ }
8108
+ if (isCustomHeaderAlign && column.headerAlign) {
8109
+ hasHeaderAlign = 1;
8110
+ headerAlignData[colKey] = column.headerAlign;
8111
+ }
8112
+ if (isCustomFooterAlign && column.footerAlign) {
8113
+ hasFooterAlign = 1;
8114
+ footerAlignData[colKey] = column.footerAlign;
8115
+ }
8099
8116
  if (isCustomResizable && column.resizeWidth) {
8100
8117
  hasResizable = 1;
8101
8118
  resizableData[colKey] = column.renderWidth;
@@ -8115,6 +8132,15 @@ export default defineVxeComponent({
8115
8132
  aggFuncData[colKey] = column.aggFunc;
8116
8133
  }
8117
8134
  });
8135
+ if (hasAlign) {
8136
+ storeData.alignData = alignData;
8137
+ }
8138
+ if (hasHeaderAlign) {
8139
+ storeData.headerAlignData = headerAlignData;
8140
+ }
8141
+ if (hasFooterAlign) {
8142
+ storeData.footerAlignData = footerAlignData;
8143
+ }
8118
8144
  if (hasResizable) {
8119
8145
  storeData.resizableData = resizableData;
8120
8146
  }
@@ -10004,26 +10030,32 @@ export default defineVxeComponent({
10004
10030
  const { customConfig } = props;
10005
10031
  const tableId = computeTableId.value;
10006
10032
  const customOpts = computeCustomOpts.value;
10007
- const { updateStore, storage, storeOptions } = customOpts;
10008
- const isAllCustom = storage === true;
10009
- const storageOpts = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions);
10010
- const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom);
10011
- const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
10012
- const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
10013
- const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
10014
- const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
10015
- const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
10033
+ const { updateStore, storage } = customOpts;
10034
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
10016
10035
  if (type !== 'reset') {
10017
10036
  // fix:修复拖动列宽,重置按钮无法点击的问题
10018
10037
  reactData.isCustomStatus = true;
10019
10038
  }
10020
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort || isCustomAggGroup || isCustomAggFunc)) {
10039
+ if (storage &&
10040
+ (customConfig ? isEnableConf(customOpts) : customOpts.enabled) &&
10041
+ (isCustomAlign ||
10042
+ isCustomHeaderAlign ||
10043
+ isCustomFooterAlign ||
10044
+ isCustomResizable ||
10045
+ isCustomVisible ||
10046
+ isCustomFixed ||
10047
+ isCustomSort ||
10048
+ isCustomAggGroup ||
10049
+ isCustomAggFunc)) {
10021
10050
  if (!tableId) {
10022
10051
  errLog('vxe.error.reqProp', ['id']);
10023
10052
  return nextTick();
10024
10053
  }
10025
10054
  const storeData = type === 'reset'
10026
10055
  ? {
10056
+ alignData: {},
10057
+ headerAlignData: {},
10058
+ footerAlignData: {},
10027
10059
  resizableData: {},
10028
10060
  sortData: [],
10029
10061
  visibleData: {},
@@ -219,7 +219,8 @@ export function createReactData() {
219
219
  activeWrapper: false,
220
220
  visible: false,
221
221
  maxHeight: null,
222
- popupStyle: {},
222
+ defPopupStyle: {},
223
+ panePopupStyle: {},
223
224
  oldSortMaps: {},
224
225
  oldFixedMaps: {},
225
226
  oldVisibleMaps: {}
@@ -1019,3 +1020,33 @@ export function colToVisible($xeTable, isForce, column, row) {
1019
1020
  }
1020
1021
  return Promise.resolve();
1021
1022
  }
1023
+ function hangleBolleanDefaultValue(currVal, defVal) {
1024
+ return XEUtils.isBoolean(currVal) ? currVal : defVal;
1025
+ }
1026
+ export function handleCustomStoreConfig($xeTable) {
1027
+ const { computeCustomOpts } = $xeTable.getComputeMaps();
1028
+ const customOpts = computeCustomOpts.value;
1029
+ const { storage, storeOptions } = customOpts;
1030
+ const isAllCustom = storage === true;
1031
+ const storageOpts = Object.assign({}, isAllCustom ? {} : storage || {}, storeOptions);
1032
+ const isCustomAlign = hangleBolleanDefaultValue(storageOpts.align, isAllCustom);
1033
+ const isCustomHeaderAlign = hangleBolleanDefaultValue(storageOpts.headerAlign, isAllCustom);
1034
+ const isCustomFooterAlign = hangleBolleanDefaultValue(storageOpts.footerAlign, isAllCustom);
1035
+ const isCustomResizable = hangleBolleanDefaultValue(storageOpts.resizable, isAllCustom);
1036
+ const isCustomVisible = hangleBolleanDefaultValue(storageOpts.visible, isAllCustom);
1037
+ const isCustomFixed = hangleBolleanDefaultValue(storageOpts.fixed, isAllCustom);
1038
+ const isCustomSort = hangleBolleanDefaultValue(storageOpts.sort, isAllCustom);
1039
+ const isCustomAggGroup = hangleBolleanDefaultValue(storageOpts.aggGroup, isAllCustom);
1040
+ const isCustomAggFunc = hangleBolleanDefaultValue(storageOpts.aggFunc, isAllCustom);
1041
+ return {
1042
+ isCustomAlign,
1043
+ isCustomHeaderAlign,
1044
+ isCustomFooterAlign,
1045
+ isCustomResizable,
1046
+ isCustomVisible,
1047
+ isCustomFixed,
1048
+ isCustomSort,
1049
+ isCustomAggGroup,
1050
+ isCustomAggFunc
1051
+ };
1052
+ }
@@ -543,7 +543,7 @@
543
543
 
544
544
  @font-face {
545
545
  font-family: "vxetableiconfont";
546
- src: url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2");
546
+ src: url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2");
547
547
  }
548
548
  @keyframes rollCircle {
549
549
  0% {
@@ -599,6 +599,34 @@
599
599
  color: var(--vxe-ui-status-error-color);
600
600
  }
601
601
 
602
+ .vxe-table-icon-top:before {
603
+ content: "\e614";
604
+ }
605
+
606
+ .vxe-table-icon-arrows-up:before {
607
+ content: "\f297";
608
+ }
609
+
610
+ .vxe-table-icon-arrows-down:before {
611
+ content: "\f298";
612
+ }
613
+
614
+ .vxe-table-icon-bottom:before {
615
+ content: "\f29b";
616
+ }
617
+
618
+ .vxe-table-icon-align-center:before {
619
+ content: "\e610";
620
+ }
621
+
622
+ .vxe-table-icon-align-right:before {
623
+ content: "\e6b9";
624
+ }
625
+
626
+ .vxe-table-icon-align-left:before {
627
+ content: "\e6bb";
628
+ }
629
+
602
630
  .vxe-table-icon-radio-unchecked-fill:before {
603
631
  content: "\e699";
604
632
  }
@@ -743,6 +771,27 @@
743
771
  content: "\f291";
744
772
  }
745
773
 
774
+ .vxe-table-custom-wrapper,
775
+ .vxe-table-custom-popup--body-wrapper {
776
+ --vxe-ui-table-custom-current-font-size: var(--vxe-ui-font-size-default);
777
+ --vxe-ui-table-custom-current-row-height: var(--vxe-ui-table-row-height-default);
778
+ }
779
+ .vxe-table-custom-wrapper.size--medium,
780
+ .vxe-table-custom-popup--body-wrapper.size--medium {
781
+ --vxe-ui-table-custom-current-font-size: var(--vxe-ui-font-size-medium);
782
+ --vxe-ui-table-custom-current-row-height: var(--vxe-ui-table-row-height-medium);
783
+ }
784
+ .vxe-table-custom-wrapper.size--small,
785
+ .vxe-table-custom-popup--body-wrapper.size--small {
786
+ --vxe-ui-table-custom-current-font-size: var(--vxe-ui-font-size-small);
787
+ --vxe-ui-table-custom-current-row-height: var(--vxe-ui-table-row-height-small);
788
+ }
789
+ .vxe-table-custom-wrapper.size--mini,
790
+ .vxe-table-custom-popup--body-wrapper.size--mini {
791
+ --vxe-ui-table-custom-current-font-size: var(--vxe-ui-font-size-mini);
792
+ --vxe-ui-table-custom-current-row-height: var(--vxe-ui-table-row-height-mini);
793
+ }
794
+
746
795
  .vxe-table-custom--option {
747
796
  position: relative;
748
797
  display: flex;
@@ -791,6 +840,7 @@
791
840
  text-align: left;
792
841
  background-color: var(--vxe-ui-layout-background-color);
793
842
  z-index: 19;
843
+ font-size: var(--vxe-ui-table-custom-current-font-size);
794
844
  color: var(--vxe-ui-font-color);
795
845
  border: 1px solid var(--vxe-ui-table-border-color);
796
846
  border-radius: var(--vxe-ui-border-radius);
@@ -847,8 +897,8 @@
847
897
  padding: 0;
848
898
  }
849
899
  .vxe-table-custom--panel-list > li {
850
- max-width: 28em;
851
- min-width: 18em;
900
+ max-width: var(--vxe-ui-vxe-table-custom-default-max-width);
901
+ min-width: var(--vxe-ui-vxe-table-custom-default-min-width);
852
902
  padding: 0.2em 1em 0.2em 1em;
853
903
  }
854
904
  .vxe-table-custom--panel-list > li.level--2 {
@@ -1007,6 +1057,7 @@
1007
1057
  position: relative;
1008
1058
  display: flex;
1009
1059
  flex-direction: row;
1060
+ font-size: var(--vxe-ui-table-custom-current-font-size);
1010
1061
  overflow: hidden;
1011
1062
  height: 100%;
1012
1063
  outline: 0;
@@ -1033,37 +1084,40 @@
1033
1084
  border-collapse: separate;
1034
1085
  box-sizing: border-box;
1035
1086
  }
1036
- .vxe-table-custom-popup--table-wrapper table th {
1087
+ .vxe-table-custom-popup--table-wrapper th {
1037
1088
  position: sticky;
1038
1089
  top: 0;
1039
- text-align: left;
1090
+ text-align: center;
1040
1091
  border-top: 1px solid var(--vxe-ui-table-border-color);
1041
1092
  border-bottom: 1px solid var(--vxe-ui-table-border-color);
1042
1093
  border-left: 1px solid var(--vxe-ui-table-border-color);
1043
1094
  background-color: var(--vxe-ui-table-header-background-color);
1044
1095
  z-index: 7;
1045
1096
  }
1046
- .vxe-table-custom-popup--table-wrapper table td {
1097
+ .vxe-table-custom-popup--table-wrapper th.col--title {
1098
+ text-align: left;
1099
+ }
1100
+ .vxe-table-custom-popup--table-wrapper td {
1047
1101
  border-top: 1px solid var(--vxe-ui-table-border-color);
1048
1102
  border-left: 1px solid var(--vxe-ui-table-border-color);
1049
1103
  }
1050
- .vxe-table-custom-popup--table-wrapper table tr {
1104
+ .vxe-table-custom-popup--table-wrapper tr {
1051
1105
  box-sizing: border-box;
1052
1106
  }
1053
- .vxe-table-custom-popup--table-wrapper table tr:first-child td {
1107
+ .vxe-table-custom-popup--table-wrapper tr:first-child td {
1054
1108
  border-top: 0;
1055
1109
  }
1056
- .vxe-table-custom-popup--table-wrapper table tr:hover {
1110
+ .vxe-table-custom-popup--table-wrapper tr:hover {
1057
1111
  background-color: var(--vxe-ui-table-row-hover-background-color);
1058
1112
  }
1059
- .vxe-table-custom-popup--table-wrapper table th,
1060
- .vxe-table-custom-popup--table-wrapper table td {
1061
- height: 44px;
1113
+ .vxe-table-custom-popup--table-wrapper th,
1114
+ .vxe-table-custom-popup--table-wrapper td {
1115
+ height: var(--vxe-ui-table-custom-current-row-height);
1062
1116
  padding: 0 0.6em;
1063
1117
  box-sizing: border-box;
1064
1118
  }
1065
- .vxe-table-custom-popup--table-wrapper table th:last-child,
1066
- .vxe-table-custom-popup--table-wrapper table td:last-child {
1119
+ .vxe-table-custom-popup--table-wrapper th:last-child,
1120
+ .vxe-table-custom-popup--table-wrapper td:last-child {
1067
1121
  border-right: 1px solid var(--vxe-ui-table-border-color);
1068
1122
  }
1069
1123
 
@@ -1213,35 +1267,36 @@
1213
1267
  padding-left: 192px;
1214
1268
  }
1215
1269
 
1216
- .vxe-table-custom-popup--column-item {
1270
+ .vxe-table-custom-popup--column-td {
1217
1271
  position: relative;
1218
- }
1219
- .vxe-table-custom-popup--column-item.col--visible, .vxe-table-custom-popup--column-item.col--resizable, .vxe-table-custom-popup--column-item.col--fixed {
1220
1272
  text-align: center;
1221
1273
  }
1222
- .vxe-table-custom-popup--column-item.col--resizable > .vxe-input, .vxe-table-custom-popup--column-item.col--resizable > .vxe-number-input {
1274
+ .vxe-table-custom-popup--column-td.col--name {
1275
+ text-align: left;
1276
+ }
1277
+ .vxe-table-custom-popup--column-td.col--resizable > .vxe-input, .vxe-table-custom-popup--column-td.col--resizable > .vxe-number-input {
1223
1278
  width: 100%;
1224
1279
  }
1225
1280
 
1226
- .vxe-table-custom-popup--row.active--drag-origin .vxe-table-custom-popup--column-item {
1281
+ .vxe-table-custom-popup--row.active--drag-origin .vxe-table-custom-popup--column-td {
1227
1282
  opacity: 0.5;
1228
1283
  }
1229
- .vxe-table-custom-popup--row.active--drag-target[drag-pos=top] .vxe-table-custom-popup--column-item::after {
1284
+ .vxe-table-custom-popup--row.active--drag-target[drag-pos=top] .vxe-table-custom-popup--column-td::after {
1230
1285
  display: block;
1231
1286
  top: -2px;
1232
1287
  }
1233
- .vxe-table-custom-popup--row.active--drag-target[drag-pos=bottom] .vxe-table-custom-popup--column-item::after {
1288
+ .vxe-table-custom-popup--row.active--drag-target[drag-pos=bottom] .vxe-table-custom-popup--column-td::after {
1234
1289
  display: block;
1235
1290
  bottom: -2px;
1236
1291
  }
1237
- .vxe-table-custom-popup--row:first-child[drag-pos=top] .vxe-table-custom-popup--column-item::after {
1292
+ .vxe-table-custom-popup--row:first-child[drag-pos=top] .vxe-table-custom-popup--column-td::after {
1238
1293
  top: 0;
1239
1294
  }
1240
- .vxe-table-custom-popup--row:last-child[drag-pos=bottom] .vxe-table-custom-popup--column-item::after {
1295
+ .vxe-table-custom-popup--row:last-child[drag-pos=bottom] .vxe-table-custom-popup--column-td::after {
1241
1296
  bottom: 0;
1242
1297
  }
1243
1298
 
1244
- .vxe-table-custom-popup--column-item::after {
1299
+ .vxe-table-custom-popup--column-td::after {
1245
1300
  display: none;
1246
1301
  content: "";
1247
1302
  position: absolute;
@@ -1251,7 +1306,7 @@
1251
1306
  background-color: var(--vxe-ui-font-primary-color);
1252
1307
  z-index: 12;
1253
1308
  }
1254
- .vxe-table-custom-popup--column-item:last-child::after {
1309
+ .vxe-table-custom-popup--column-td:last-child::after {
1255
1310
  width: 100%;
1256
1311
  }
1257
1312
 
@@ -1293,37 +1348,29 @@
1293
1348
  cursor: help;
1294
1349
  }
1295
1350
 
1296
- .vxe-table-custom-popup--table-col-seq {
1297
- width: 80px;
1351
+ .vxe-table-custom-popup--column-col.col--checkbox {
1352
+ width: var(--vxe-ui-vxe-table-custom-column-checkbox-width);
1298
1353
  }
1299
-
1300
- .vxe-table-custom-popup--table-col-sort {
1301
- width: 80px;
1354
+ .vxe-table-custom-popup--column-col.col--sort {
1355
+ width: var(--vxe-ui-vxe-table-custom-column-sort-width);
1302
1356
  }
1303
-
1304
- .vxe-table-custom-popup--table-col-title {
1305
- min-width: 120px;
1357
+ .vxe-table-custom-popup--column-col.col--title {
1358
+ min-width: var(--vxe-ui-vxe-table-custom-column-title-min-width);
1306
1359
  }
1307
-
1308
- .vxe-table-custom-popup--table-col-width {
1309
- width: 140px;
1360
+ .vxe-table-custom-popup--column-col.col--width {
1361
+ width: var(--vxe-ui-vxe-table-custom-column-width-width);
1310
1362
  }
1311
-
1312
- .vxe-table-custom-popup--table-col-fixed {
1313
- width: 200px;
1363
+ .vxe-table-custom-popup--column-col.col--fixed {
1364
+ width: var(--vxe-ui-vxe-table-custom-column-fixed-width);
1314
1365
  }
1315
-
1316
- .vxe-table-custom-wrapper {
1317
- font-size: var(--vxe-ui-font-size-default);
1366
+ .vxe-table-custom-popup--column-col.col--align {
1367
+ width: var(--vxe-ui-vxe-table-custom-column-align-width);
1318
1368
  }
1319
- .vxe-table-custom-wrapper.size--medium {
1320
- font-size: var(--vxe-ui-font-size-medium);
1321
- }
1322
- .vxe-table-custom-wrapper.size--small {
1323
- font-size: var(--vxe-ui-font-size-small);
1369
+ .vxe-table-custom-popup--column-col.col--header-align {
1370
+ width: var(--vxe-ui-vxe-table-custom-column-header-align-width);
1324
1371
  }
1325
- .vxe-table-custom-wrapper.size--mini {
1326
- font-size: var(--vxe-ui-font-size-mini);
1372
+ .vxe-table-custom-popup--column-col.col--footer-align {
1373
+ width: var(--vxe-ui-vxe-table-custom-column-footer-align-width);
1327
1374
  }
1328
1375
 
1329
1376
  .vxe-table-export--panel-column > ul {