vxe-table 3.21.21 → 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 (176) hide show
  1. package/es/{iconfont.1782656027274.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 +16 -3
  7. package/es/locale/lang/de-DE.js +16 -3
  8. package/es/locale/lang/en-US.js +20 -7
  9. package/es/locale/lang/es-ES.js +16 -3
  10. package/es/locale/lang/fr-FR.js +16 -3
  11. package/es/locale/lang/hu-HU.js +16 -3
  12. package/es/locale/lang/hy-AM.js +16 -3
  13. package/es/locale/lang/id-ID.js +16 -3
  14. package/es/locale/lang/it-IT.js +15 -2
  15. package/es/locale/lang/ja-JP.js +16 -3
  16. package/es/locale/lang/ko-KR.js +16 -3
  17. package/es/locale/lang/ms-MY.js +16 -3
  18. package/es/locale/lang/nb-NO.js +16 -3
  19. package/es/locale/lang/pt-BR.js +16 -3
  20. package/es/locale/lang/ru-RU.js +16 -3
  21. package/es/locale/lang/th-TH.js +16 -3
  22. package/es/locale/lang/ug-CN.js +16 -3
  23. package/es/locale/lang/uk-UA.js +16 -3
  24. package/es/locale/lang/uz-UZ.js +16 -3
  25. package/es/locale/lang/vi-VN.js +15 -2
  26. package/es/locale/lang/zh-CHT.js +18 -5
  27. package/es/locale/lang/zh-CN.js +18 -5
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/table/module/custom/mixin.js +115 -38
  31. package/es/table/module/custom/panel.js +492 -312
  32. package/es/table/module/edit/mixin.js +12 -6
  33. package/es/table/src/columnInfo.js +13 -7
  34. package/es/table/src/methods.js +105 -60
  35. package/es/table/src/util.js +31 -1
  36. package/es/table/style.css +96 -49
  37. package/es/table/style.min.css +1 -1
  38. package/es/ui/index.js +16 -4
  39. package/es/ui/src/log.js +1 -1
  40. package/es/vxe-table/style.css +96 -49
  41. package/es/vxe-table/style.min.css +1 -1
  42. package/lib/{iconfont.1782656027274.ttf → iconfont.1783046294821.ttf} +0 -0
  43. package/lib/iconfont.1783046294821.woff +0 -0
  44. package/lib/iconfont.1783046294821.woff2 +0 -0
  45. package/lib/index.css +1 -1
  46. package/lib/index.min.css +1 -1
  47. package/lib/index.umd.js +612 -226
  48. package/lib/index.umd.min.js +1 -1
  49. package/lib/locale/lang/ar-EG.js +16 -3
  50. package/lib/locale/lang/ar-EG.min.js +1 -1
  51. package/lib/locale/lang/ar-EG.umd.js +16 -3
  52. package/lib/locale/lang/de-DE.js +16 -3
  53. package/lib/locale/lang/de-DE.min.js +1 -1
  54. package/lib/locale/lang/de-DE.umd.js +16 -3
  55. package/lib/locale/lang/en-US.js +20 -7
  56. package/lib/locale/lang/en-US.min.js +1 -1
  57. package/lib/locale/lang/en-US.umd.js +20 -7
  58. package/lib/locale/lang/es-ES.js +16 -3
  59. package/lib/locale/lang/es-ES.min.js +1 -1
  60. package/lib/locale/lang/es-ES.umd.js +16 -3
  61. package/lib/locale/lang/fr-FR.js +16 -3
  62. package/lib/locale/lang/fr-FR.min.js +1 -1
  63. package/lib/locale/lang/fr-FR.umd.js +16 -3
  64. package/lib/locale/lang/hu-HU.js +16 -3
  65. package/lib/locale/lang/hu-HU.min.js +1 -1
  66. package/lib/locale/lang/hu-HU.umd.js +16 -3
  67. package/lib/locale/lang/hy-AM.js +16 -3
  68. package/lib/locale/lang/hy-AM.min.js +1 -1
  69. package/lib/locale/lang/hy-AM.umd.js +16 -3
  70. package/lib/locale/lang/id-ID.js +16 -3
  71. package/lib/locale/lang/id-ID.min.js +1 -1
  72. package/lib/locale/lang/id-ID.umd.js +16 -3
  73. package/lib/locale/lang/it-IT.js +15 -2
  74. package/lib/locale/lang/it-IT.min.js +1 -1
  75. package/lib/locale/lang/it-IT.umd.js +15 -2
  76. package/lib/locale/lang/ja-JP.js +16 -3
  77. package/lib/locale/lang/ja-JP.min.js +1 -1
  78. package/lib/locale/lang/ja-JP.umd.js +16 -3
  79. package/lib/locale/lang/ko-KR.js +16 -3
  80. package/lib/locale/lang/ko-KR.min.js +1 -1
  81. package/lib/locale/lang/ko-KR.umd.js +16 -3
  82. package/lib/locale/lang/ms-MY.js +16 -3
  83. package/lib/locale/lang/ms-MY.min.js +1 -1
  84. package/lib/locale/lang/ms-MY.umd.js +16 -3
  85. package/lib/locale/lang/nb-NO.js +16 -3
  86. package/lib/locale/lang/nb-NO.min.js +1 -1
  87. package/lib/locale/lang/nb-NO.umd.js +16 -3
  88. package/lib/locale/lang/pt-BR.js +16 -3
  89. package/lib/locale/lang/pt-BR.min.js +1 -1
  90. package/lib/locale/lang/pt-BR.umd.js +16 -3
  91. package/lib/locale/lang/ru-RU.js +16 -3
  92. package/lib/locale/lang/ru-RU.min.js +1 -1
  93. package/lib/locale/lang/ru-RU.umd.js +16 -3
  94. package/lib/locale/lang/th-TH.js +16 -3
  95. package/lib/locale/lang/th-TH.min.js +1 -1
  96. package/lib/locale/lang/th-TH.umd.js +16 -3
  97. package/lib/locale/lang/ug-CN.js +16 -3
  98. package/lib/locale/lang/ug-CN.min.js +1 -1
  99. package/lib/locale/lang/ug-CN.umd.js +16 -3
  100. package/lib/locale/lang/uk-UA.js +16 -3
  101. package/lib/locale/lang/uk-UA.min.js +1 -1
  102. package/lib/locale/lang/uk-UA.umd.js +16 -3
  103. package/lib/locale/lang/uz-UZ.js +16 -3
  104. package/lib/locale/lang/uz-UZ.min.js +1 -1
  105. package/lib/locale/lang/uz-UZ.umd.js +16 -3
  106. package/lib/locale/lang/vi-VN.js +15 -2
  107. package/lib/locale/lang/vi-VN.min.js +1 -1
  108. package/lib/locale/lang/vi-VN.umd.js +15 -2
  109. package/lib/locale/lang/zh-CHT.js +18 -5
  110. package/lib/locale/lang/zh-CHT.min.js +1 -1
  111. package/lib/locale/lang/zh-CHT.umd.js +18 -5
  112. package/lib/locale/lang/zh-CN.js +18 -5
  113. package/lib/locale/lang/zh-CN.min.js +1 -1
  114. package/lib/locale/lang/zh-CN.umd.js +18 -5
  115. package/lib/style.css +1 -1
  116. package/lib/style.min.css +1 -1
  117. package/lib/table/module/custom/mixin.js +121 -35
  118. package/lib/table/module/custom/mixin.min.js +1 -1
  119. package/lib/table/module/custom/panel.js +383 -158
  120. package/lib/table/module/custom/panel.min.js +1 -1
  121. package/lib/table/module/edit/mixin.js +12 -6
  122. package/lib/table/src/columnInfo.js +16 -6
  123. package/lib/table/src/columnInfo.min.js +1 -1
  124. package/lib/table/src/methods.js +11 -10
  125. package/lib/table/src/methods.min.js +1 -1
  126. package/lib/table/src/util.js +35 -1
  127. package/lib/table/src/util.min.js +1 -1
  128. package/lib/table/style/style.css +96 -49
  129. package/lib/table/style/style.min.css +1 -1
  130. package/lib/ui/index.js +16 -4
  131. package/lib/ui/index.min.js +1 -1
  132. package/lib/ui/src/log.js +1 -1
  133. package/lib/ui/src/log.min.js +1 -1
  134. package/lib/vxe-table/style/style.css +96 -49
  135. package/lib/vxe-table/style/style.min.css +1 -1
  136. package/package.json +2 -2
  137. package/packages/locale/lang/ar-EG.ts +16 -3
  138. package/packages/locale/lang/de-DE.ts +16 -3
  139. package/packages/locale/lang/en-US.ts +20 -7
  140. package/packages/locale/lang/es-ES.ts +16 -3
  141. package/packages/locale/lang/fr-FR.ts +16 -3
  142. package/packages/locale/lang/hu-HU.ts +16 -3
  143. package/packages/locale/lang/hy-AM.ts +16 -3
  144. package/packages/locale/lang/id-ID.ts +16 -3
  145. package/packages/locale/lang/it-IT.ts +15 -2
  146. package/packages/locale/lang/ja-JP.ts +16 -3
  147. package/packages/locale/lang/ko-KR.ts +16 -3
  148. package/packages/locale/lang/ms-MY.ts +16 -3
  149. package/packages/locale/lang/nb-NO.ts +16 -3
  150. package/packages/locale/lang/pt-BR.ts +16 -3
  151. package/packages/locale/lang/ru-RU.ts +16 -3
  152. package/packages/locale/lang/th-TH.ts +16 -3
  153. package/packages/locale/lang/ug-CN.ts +16 -3
  154. package/packages/locale/lang/uk-UA.ts +16 -3
  155. package/packages/locale/lang/uz-UZ.ts +16 -3
  156. package/packages/locale/lang/vi-VN.ts +15 -2
  157. package/packages/locale/lang/zh-CHT.ts +18 -5
  158. package/packages/locale/lang/zh-CN.ts +18 -5
  159. package/packages/table/module/custom/mixin.ts +115 -38
  160. package/packages/table/module/custom/panel.ts +545 -307
  161. package/packages/table/module/edit/mixin.ts +18 -6
  162. package/packages/table/src/columnInfo.ts +13 -7
  163. package/packages/table/src/methods.ts +120 -61
  164. package/packages/table/src/table.ts +6 -6
  165. package/packages/table/src/util.ts +34 -1
  166. package/packages/ui/index.ts +15 -3
  167. package/styles/components/icon.scss +29 -2
  168. package/styles/components/table-module/custom.scss +88 -67
  169. package/styles/icon/iconfont.ttf +0 -0
  170. package/styles/icon/iconfont.woff +0 -0
  171. package/styles/icon/iconfont.woff2 +0 -0
  172. package/styles/theme/base.scss +13 -1
  173. package/es/iconfont.1782656027274.woff +0 -0
  174. package/es/iconfont.1782656027274.woff2 +0 -0
  175. package/lib/iconfont.1782656027274.woff +0 -0
  176. package/lib/iconfont.1782656027274.woff2 +0 -0
@@ -180,7 +180,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
180
180
  $xeTable.saveCustom()
181
181
  $xeTable.closeCustom()
182
182
  $xeTable.emitCustomEvent('confirm', $event)
183
+ $xeTable.dispatchEvent('custom-confirm', {}, $event)
183
184
  $xeTable.emitCustomEvent('close', $event)
185
+ $xeTable.dispatchEvent('custom-close', {}, $event)
184
186
  },
185
187
  cancelCloseEvent ({ $event }: VxeButtonDefines.ClickEventParams) {
186
188
  const $xeTableCustomPanel = this
@@ -188,6 +190,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
188
190
 
189
191
  $xeTable.closeCustom()
190
192
  $xeTable.emitCustomEvent('close', $event)
193
+ $xeTable.dispatchEvent('custom-close', {}, $event)
191
194
  },
192
195
  cancelCustomEvent ({ $event }: VxeButtonDefines.ClickEventParams) {
193
196
  const $xeTableCustomPanel = this
@@ -196,7 +199,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
196
199
  $xeTable.cancelCustom()
197
200
  $xeTable.closeCustom()
198
201
  $xeTable.emitCustomEvent('cancel', $event)
202
+ $xeTable.dispatchEvent('custom-cancel', {}, $event)
199
203
  $xeTable.emitCustomEvent('close', $event)
204
+ $xeTable.dispatchEvent('custom-close', {}, $event)
200
205
  },
201
206
  handleResetCustomEvent (evnt: Event) {
202
207
  const $xeTableCustomPanel = this
@@ -205,7 +210,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
205
210
  $xeTable.resetCustom(true)
206
211
  $xeTable.closeCustom()
207
212
  $xeTable.emitCustomEvent('reset', evnt)
213
+ $xeTable.dispatchEvent('custom-reset', {}, evnt)
208
214
  $xeTable.emitCustomEvent('close', evnt)
215
+ $xeTable.dispatchEvent('custom-close', {}, evnt)
209
216
  },
210
217
  resetCustomEvent (evnt: Event) {
211
218
  if (VxeUI.modal) {
@@ -326,6 +333,23 @@ export default /* define-vxe-component start */ defineVxeComponent({
326
333
  $xeTable.dispatchEvent('custom-fixed-change', { column, fixed: targetFixed }, evnt)
327
334
  }
328
335
  },
336
+ changeAlignOption (column: VxeTableDefines.ColumnInfo, targetAlign: VxeColumnPropTypes.Align, colProperty: 'align' | 'headerAlign' | 'footerAlign', renderProperty: 'renderAlign' | 'renderHeaderAlign' | 'renderFooterAlign', eName: 'custom-align-change' | 'custom-header-align-change' | 'custom-footer-align-change', evnt: Event) {
337
+ const $xeTableCustomPanel = this
338
+ const $xeTable = $xeTableCustomPanel.$xeTable
339
+ const tableReactData = $xeTable as unknown as TableReactData
340
+
341
+ const customOpts = $xeTable.computeCustomOpts
342
+ if (customOpts.immediate) {
343
+ column[colProperty] = targetAlign
344
+ column[renderProperty] = targetAlign
345
+ tableReactData.isCustomStatus = true
346
+ $xeTable.handleCustom()
347
+ $xeTable.saveCustomStore(`update:${colProperty}`)
348
+ } else {
349
+ column[renderProperty] = targetAlign
350
+ }
351
+ $xeTable.dispatchEvent(eName, { column, [colProperty]: targetAlign }, evnt)
352
+ },
329
353
  allOptionEvent (evnt: MouseEvent) {
330
354
  const $xeTableCustomPanel = this
331
355
  const $xeTable = $xeTableCustomPanel.$xeTable
@@ -810,7 +834,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
810
834
  const { isCustomStatus, customColumnList, isCustomDragStatus } = tableReactData
811
835
  const customOpts = $xeTable.computeCustomOpts
812
836
  const columnDragOpts = $xeTable.computeColumnDragOpts
813
- const { popupStyle } = customStore
837
+ const { defPopupStyle } = customStore
814
838
  const { immediate, checkMethod, visibleMethod, allowVisible, allowSort, allowFixed, allowGroup, allowValues, trigger, placement, showSortDragButton, showSortMoveButton, showSortPutButton } = customOpts
815
839
  const isMaxFixedColumn = $xeTable.computeIsMaxFixedColumn
816
840
  const vSize = $xeTable.computeSize
@@ -1006,36 +1030,38 @@ export default /* define-vxe-component start */ defineVxeComponent({
1006
1030
  !parentItem && allowFixed
1007
1031
  ? h('div', {
1008
1032
  class: 'vxe-table-custom--fixed-option'
1009
- }, [
1010
- h(VxeUIButtonComponent, {
1011
- props: {
1012
- mode: 'text',
1013
- icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
1014
- status: column.renderFixed === 'left' ? 'primary' : '',
1015
- disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1016
- title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft')
1017
- },
1018
- on: {
1019
- click: ({ $event }: VxeButtonDefines.ClickEventParams) => {
1020
- $xeTableCustomPanel.changeFixedOption(column, 'left', $event)
1021
- }
1022
- }
1023
- }),
1024
- h(VxeUIButtonComponent, {
1025
- props: {
1026
- mode: 'text',
1027
- icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
1028
- status: column.renderFixed === 'right' ? 'primary' : '',
1029
- disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1030
- title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight')
1031
- },
1032
- on: {
1033
- click: ({ $event }: VxeButtonDefines.ClickEventParams) => {
1034
- $xeTableCustomPanel.changeFixedOption(column, 'right', $event)
1035
- }
1036
- }
1037
- })
1038
- ])
1033
+ }, VxeUIButtonComponent
1034
+ ? [
1035
+ h(VxeUIButtonComponent, {
1036
+ props: {
1037
+ mode: 'text',
1038
+ icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
1039
+ status: column.renderFixed === 'left' ? 'primary' : '',
1040
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1041
+ title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft')
1042
+ },
1043
+ on: {
1044
+ click: ({ $event }: VxeButtonDefines.ClickEventParams) => {
1045
+ $xeTableCustomPanel.changeFixedOption(column, 'left', $event)
1046
+ }
1047
+ }
1048
+ }),
1049
+ h(VxeUIButtonComponent, {
1050
+ props: {
1051
+ mode: 'text',
1052
+ icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
1053
+ status: column.renderFixed === 'right' ? 'primary' : '',
1054
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1055
+ title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight')
1056
+ },
1057
+ on: {
1058
+ click: ({ $event }: VxeButtonDefines.ClickEventParams) => {
1059
+ $xeTableCustomPanel.changeFixedOption(column, 'right', $event)
1060
+ }
1061
+ }
1062
+ })
1063
+ ]
1064
+ : [])
1039
1065
  : renderEmptyElement($xeTable)
1040
1066
  ])
1041
1067
  )
@@ -1048,7 +1074,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1048
1074
  [`size--${vSize}`]: vSize,
1049
1075
  'is--active': customStore.visible
1050
1076
  }],
1051
- style: popupStyle
1077
+ style: defPopupStyle
1052
1078
  }, customStore.visible
1053
1079
  ? [
1054
1080
  h('div', {
@@ -1188,55 +1214,28 @@ export default /* define-vxe-component start */ defineVxeComponent({
1188
1214
  ]
1189
1215
  : [])
1190
1216
  },
1191
- renderPopupPanel (h: CreateElement) {
1192
- const VxeUIModalComponent = VxeUI.getComponent('VxeModal')
1193
- const VxeUIDrawerComponent = VxeUI.getComponent('VxeDrawer')
1217
+ renderPopupBodys (h: CreateElement) {
1194
1218
  const VxeUIButtonComponent = VxeUI.getComponent('VxeButton')
1195
1219
  const VxeUINumberInputComponent = VxeUI.getComponent('VxeNumberInput')
1220
+ const VxeUIRadioGroupComponent = VxeUI.getComponent('VxeRadioGroup')
1196
1221
 
1197
1222
  const $xeTableCustomPanel = this
1198
- const props = $xeTableCustomPanel
1199
1223
  const $xeTable = $xeTableCustomPanel.$xeTable
1200
1224
  const tableProps = $xeTable
1201
1225
  const tableReactData = $xeTable as unknown as TableReactData
1202
- const $xeGrid = $xeTable.$xeGrid
1203
- const $xeGantt = $xeTable.$xeGantt
1204
1226
 
1205
- const { customStore } = props
1206
- const { treeConfig, rowGroupConfig, aggregateConfig, resizable: allResizable } = tableProps
1207
- const { isCustomStatus, customColumnList } = tableReactData
1227
+ const { resizable: allResizable } = tableProps
1228
+ const { customColumnList } = tableReactData
1208
1229
  const customOpts = $xeTable.computeCustomOpts
1209
1230
  const columnDragOpts = $xeTable.computeColumnDragOpts
1210
- const aggregateOpts = $xeTable.computeAggregateOpts
1211
- const { placement: aggPlacement } = aggregateOpts
1212
- const { mode, immediate, showSortDragButton, showSortMoveButton, showSortPutButton, modalOptions, drawerOptions, allowVisible, allowSort, allowFixed, allowResizable, allowGroup, allowValues, checkMethod, visibleMethod } = customOpts
1231
+ const { immediate, showSortDragButton, showSortMoveButton, showSortPutButton, allowVisible, allowSort, allowFixed, allowAlign, allowHeaderAlign, allowFooterAlign, allowResizable, allowGroup, allowValues, checkMethod, visibleMethod } = customOpts
1213
1232
  const columnOpts = $xeTable.computeColumnOpts
1214
- const { maxFixedSize } = columnOpts
1215
1233
  const resizableOpts = $xeTable.computeResizableOpts
1216
1234
  const { minWidth: reMinWidth, maxWidth: reMaxWidth } = resizableOpts
1217
- const modalOpts = Object.assign({}, modalOptions)
1218
- const drawerOpts = Object.assign({}, drawerOptions)
1219
1235
  const isMaxFixedColumn = $xeTable.computeIsMaxFixedColumn
1220
1236
  const { isCrossDrag, isPeerDrag } = columnDragOpts
1221
- const slots = customOpts.slots || {}
1222
- const headerSlot = slots.header
1223
- const topSlot = slots.top
1224
- const bottomSlot = slots.bottom
1225
- const defaultSlot = slots.default
1226
- const footerSlot = slots.footer
1237
+
1227
1238
  const trVNs: VNode[] = []
1228
- const isAllChecked = customStore.isAll
1229
- const isAllIndeterminate = customStore.isIndeterminate
1230
- const isAggRtBmLayout = aggPlacement === 'right' || aggPlacement === 'bottom'
1231
- const params = {
1232
- $table: $xeTable,
1233
- $grid: $xeGrid,
1234
- $gantt: $xeGantt,
1235
- columns: customColumnList,
1236
- isAllChecked,
1237
- isAllIndeterminate,
1238
- isCustomStatus
1239
- }
1240
1239
  XEUtils.eachTree(customColumnList, (column, index, items, path, parentItem) => {
1241
1240
  const isVisible = visibleMethod ? visibleMethod({ $table: $xeTable, column }) : true
1242
1241
  if (isVisible) {
@@ -1269,175 +1268,177 @@ export default /* define-vxe-component start */ defineVxeComponent({
1269
1268
  const isDisabled = checkMethod ? !checkMethod({ $table: $xeTable, column }) : false
1270
1269
  const isHidden = !isChecked
1271
1270
  const showSortBtn = (isCrossDrag || isPeerDrag ? immediate : false) || column.level === 1
1272
- trVNs.push(
1273
- h('tr', {
1274
- key: column.id,
1275
- attrs: {
1276
- colid: column.id
1277
- },
1278
- class: [`vxe-table-custom-popup--row level--${column.level}`, {
1279
- 'is--group': isColGroup
1280
- }],
1281
- on: {
1282
- dragstart: $xeTableCustomPanel.sortDragstartEvent,
1283
- dragend: $xeTableCustomPanel.sortDragendEvent,
1284
- dragover: $xeTableCustomPanel.sortDragoverEvent
1285
- }
1286
- }, [
1287
- allowVisible
1288
- ? h('td', {
1289
- class: 'vxe-table-custom-popup--column-item col--visible'
1290
- }, [
1291
- h('div', {
1292
- class: ['vxe-table-custom--checkbox-option', {
1293
- 'is--checked': isChecked,
1294
- 'is--indeterminate': isIndeterminate,
1295
- 'is--disabled': isDisabled
1296
- }],
1297
- attrs: {
1298
- title: getI18n('vxe.custom.setting.colVisible')
1299
- },
1300
- on: {
1301
- click: (evnt: MouseEvent) => {
1302
- if (!isDisabled) {
1303
- $xeTableCustomPanel.changeCheckboxOption(column, evnt)
1304
- }
1305
- }
1306
- }
1307
- }, [
1308
- h('span', {
1309
- class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1310
- })
1311
- ])
1312
- ])
1313
- : renderEmptyElement($xeTable),
1271
+
1272
+ const alignList = [
1273
+ { icon: getIcon().TABLE_CUSTOM_ALIGN_LEFT, value: 'left', title: getI18n('vxe.custom.setting.anLeftTitle'), disabled: isHidden },
1274
+ { icon: getIcon().TABLE_CUSTOM_ALIGN_CENTER, value: 'center', title: getI18n('vxe.custom.setting.anCenterTitle'), disabled: isHidden },
1275
+ { icon: getIcon().TABLE_CUSTOM_ALIGN_RIGHT, value: 'right', title: getI18n('vxe.custom.setting.anRightTitle'), disabled: isHidden }
1276
+ ]
1277
+
1278
+ const tdVNs: VNode[] = []
1279
+ if (allowVisible) {
1280
+ tdVNs.push(
1314
1281
  h('td', {
1315
- class: 'vxe-table-custom-popup--column-item col--name'
1282
+ key: 'av',
1283
+ class: 'vxe-table-custom-popup--column-td col--visible'
1316
1284
  }, [
1317
1285
  h('div', {
1318
- class: 'vxe-table-custom-popup--name'
1286
+ class: ['vxe-table-custom--checkbox-option', {
1287
+ 'is--checked': isChecked,
1288
+ 'is--indeterminate': isIndeterminate,
1289
+ 'is--disabled': isDisabled
1290
+ }],
1291
+ attrs: {
1292
+ title: getI18n('vxe.custom.setting.colVisible')
1293
+ },
1294
+ on: {
1295
+ click: (evnt: MouseEvent) => {
1296
+ if (!isDisabled) {
1297
+ $xeTableCustomPanel.changeCheckboxOption(column, evnt)
1298
+ }
1299
+ }
1300
+ }
1319
1301
  }, [
1320
- (allowSort && showSortDragButton) || (allowGroup || allowValues)
1321
- ? (
1322
- showSortBtn || ((allowGroup || allowValues) && !isColGroup)
1323
- ? h('div', {
1324
- class: ['vxe-table-custom-popup--column-sort-btn', {
1325
- 'is--disabled': isHidden
1326
- }],
1327
- attrs: {
1328
- title: getI18n('vxe.custom.setting.sortHelpTip')
1329
- },
1330
- on: (isHidden
1331
- ? {}
1332
- : {
1333
- mousedown: $xeTableCustomPanel.sortMousedownEvent,
1334
- mouseup: $xeTableCustomPanel.sortMouseupEvent
1335
- })
1336
- }, [
1337
- h('i', {
1338
- class: getIcon().TABLE_CUSTOM_SORT
1339
- })
1340
- ])
1341
- : h('div', {
1342
- class: 'vxe-table-custom-popup--column-sort-placeholder'
1302
+ h('span', {
1303
+ class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1304
+ })
1305
+ ])
1306
+ ])
1307
+ )
1308
+ }
1309
+ tdVNs.push(
1310
+ h('td', {
1311
+ key: 'at',
1312
+ class: 'vxe-table-custom-popup--column-td col--name'
1313
+ }, [
1314
+ h('div', {
1315
+ class: 'vxe-table-custom-popup--name'
1316
+ }, [
1317
+ (allowSort && showSortDragButton) || (allowGroup || allowValues)
1318
+ ? (
1319
+ showSortBtn || ((allowGroup || allowValues) && !isColGroup)
1320
+ ? h('div', {
1321
+ class: ['vxe-table-custom-popup--column-sort-btn', {
1322
+ 'is--disabled': isHidden
1323
+ }],
1324
+ attrs: {
1325
+ title: getI18n('vxe.custom.setting.sortHelpTip')
1326
+ },
1327
+ on: (isHidden
1328
+ ? {}
1329
+ : {
1330
+ mousedown: $xeTableCustomPanel.sortMousedownEvent,
1331
+ mouseup: $xeTableCustomPanel.sortMouseupEvent
1332
+ })
1333
+ }, [
1334
+ h('i', {
1335
+ class: getIcon().TABLE_CUSTOM_SORT
1343
1336
  })
1344
- )
1345
- : renderEmptyElement($xeTable),
1346
- column.type === 'html'
1347
- ? h('div', {
1348
- key: '1',
1349
- class: 'vxe-table-custom-popup--title',
1350
- domProps: {
1351
- innerHTML: colTitle
1352
- }
1353
- })
1354
- : h('div', {
1355
- key: '0',
1356
- class: 'vxe-table-custom-popup--title',
1357
- attrs: {
1358
- title: colTitle
1359
- }
1360
- }, colTitle),
1361
- showSortBtn && (showSortMoveButton || showSortPutButton)
1362
- ? h('div', {
1363
- class: 'vxe-table-custom-popup--move-btn'
1364
- }, VxeUIButtonComponent
1365
- ? [
1366
- showSortMoveButton
1367
- ? h(VxeUIButtonComponent, {
1368
- props: {
1369
- mode: 'text',
1370
- content: getI18n('vxe.custom.setting.moveUp'),
1371
- title: getI18n('vxe.custom.setting.moveUpTitle'),
1372
- disabled: index <= 0
1373
- },
1374
- on: {
1375
- click (evntParame: VxeButtonDefines.ClickEventParams) {
1376
- $xeTableCustomPanel.sortMoveUpEvent(evntParame, column)
1377
- }
1337
+ ])
1338
+ : h('div', {
1339
+ class: 'vxe-table-custom-popup--column-sort-placeholder'
1340
+ })
1341
+ )
1342
+ : renderEmptyElement($xeTable),
1343
+ column.type === 'html'
1344
+ ? h('div', {
1345
+ key: '1',
1346
+ class: 'vxe-table-custom-popup--title',
1347
+ domProps: {
1348
+ innerHTML: colTitle
1349
+ }
1350
+ })
1351
+ : h('div', {
1352
+ key: '0',
1353
+ class: 'vxe-table-custom-popup--title',
1354
+ attrs: {
1355
+ title: colTitle
1356
+ }
1357
+ }, colTitle),
1358
+ showSortBtn && (showSortMoveButton || showSortPutButton)
1359
+ ? h('div', {
1360
+ class: 'vxe-table-custom-popup--move-btn'
1361
+ }, VxeUIButtonComponent
1362
+ ? [
1363
+ showSortMoveButton
1364
+ ? h(VxeUIButtonComponent, {
1365
+ props: {
1366
+ mode: 'text',
1367
+ icon: 'vxe-icon-arrows-up',
1368
+ title: getI18n('vxe.custom.setting.moveUpTitle'),
1369
+ disabled: index <= 0
1370
+ },
1371
+ on: {
1372
+ click (evntParame: VxeButtonDefines.ClickEventParams) {
1373
+ $xeTableCustomPanel.sortMoveUpEvent(evntParame, column)
1378
1374
  }
1379
- })
1380
- : renderEmptyElement($xeTable),
1381
- showSortMoveButton
1382
- ? h(VxeUIButtonComponent, {
1383
- props: {
1384
- mode: 'text',
1385
- content: getI18n('vxe.custom.setting.moveDn'),
1386
- title: getI18n('vxe.custom.setting.moveDnTitle'),
1387
- disabled: index >= items.length - 1
1388
- },
1389
- on: {
1390
- click (evntParame: VxeButtonDefines.ClickEventParams) {
1391
- $xeTableCustomPanel.sortMoveDnEvent(evntParame, column)
1392
- }
1375
+ }
1376
+ })
1377
+ : renderEmptyElement($xeTable),
1378
+ showSortMoveButton
1379
+ ? h(VxeUIButtonComponent, {
1380
+ props: {
1381
+ mode: 'text',
1382
+ icon: 'vxe-icon-arrows-down',
1383
+ title: getI18n('vxe.custom.setting.moveDnTitle'),
1384
+ disabled: index >= items.length - 1
1385
+ },
1386
+ on: {
1387
+ click (evntParame: VxeButtonDefines.ClickEventParams) {
1388
+ $xeTableCustomPanel.sortMoveDnEvent(evntParame, column)
1393
1389
  }
1394
- })
1395
- : renderEmptyElement($xeTable),
1396
- showSortPutButton && !parentItem
1397
- ? h(VxeUIButtonComponent, {
1398
- props: {
1399
- mode: 'text',
1400
- content: getI18n('vxe.custom.setting.putTop'),
1401
- title: getI18n('vxe.custom.setting.putTopTitle'),
1402
- disabled: index <= 0
1403
- },
1404
- on: {
1405
- click (evntParame: VxeButtonDefines.ClickEventParams) {
1406
- $xeTableCustomPanel.sortMoveTopEvent(evntParame, column)
1407
- }
1390
+ }
1391
+ })
1392
+ : renderEmptyElement($xeTable),
1393
+ showSortPutButton && !parentItem
1394
+ ? h(VxeUIButtonComponent, {
1395
+ props: {
1396
+ mode: 'text',
1397
+ icon: 'vxe-icon-top',
1398
+ title: getI18n('vxe.custom.setting.putTopTitle'),
1399
+ disabled: index <= 0
1400
+ },
1401
+ on: {
1402
+ click (evntParame: VxeButtonDefines.ClickEventParams) {
1403
+ $xeTableCustomPanel.sortMoveTopEvent(evntParame, column)
1408
1404
  }
1409
- })
1410
- : renderEmptyElement($xeTable),
1411
- showSortPutButton && !parentItem
1412
- ? h(VxeUIButtonComponent, {
1413
- props: {
1414
- mode: 'text',
1415
- content: getI18n('vxe.custom.setting.putBottom'),
1416
- title: getI18n('vxe.custom.setting.putBottomTitle'),
1417
- disabled: index >= items.length - 1
1418
- },
1419
- on: {
1420
- click (evntParame: VxeButtonDefines.ClickEventParams) {
1421
- $xeTableCustomPanel.sortMoveBottomEvent(evntParame, column)
1422
- }
1405
+ }
1406
+ })
1407
+ : renderEmptyElement($xeTable),
1408
+ showSortPutButton && !parentItem
1409
+ ? h(VxeUIButtonComponent, {
1410
+ props: {
1411
+ mode: 'text',
1412
+ icon: 'vxe-icon-bottom',
1413
+ title: getI18n('vxe.custom.setting.putBottomTitle'),
1414
+ disabled: index >= items.length - 1
1415
+ },
1416
+ on: {
1417
+ click (evntParame: VxeButtonDefines.ClickEventParams) {
1418
+ $xeTableCustomPanel.sortMoveBottomEvent(evntParame, column)
1423
1419
  }
1424
- })
1425
- : renderEmptyElement($xeTable)
1426
- ]
1427
- : [])
1428
- : renderEmptyElement($xeTable)
1429
- ])
1430
- ]),
1431
- allowResizable
1432
- ? h('td', {
1433
- class: 'vxe-table-custom-popup--column-item col--resizable'
1434
- }, [
1435
- (
1436
- (column.children && column.children.length) ||
1437
- !(XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
1438
- )
1439
- ? h('span', '-')
1440
- : (VxeUINumberInputComponent
1420
+ }
1421
+ })
1422
+ : renderEmptyElement($xeTable)
1423
+ ]
1424
+ : [])
1425
+ : renderEmptyElement($xeTable)
1426
+ ])
1427
+ ])
1428
+ )
1429
+ if (allowResizable) {
1430
+ tdVNs.push(
1431
+ h('td', {
1432
+ key: 'aw',
1433
+ class: 'vxe-table-custom-popup--column-td col--resizable'
1434
+ }, [
1435
+ (
1436
+ (column.children && column.children.length) ||
1437
+ !(XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
1438
+ )
1439
+ ? h('span', '-')
1440
+ : (
1441
+ VxeUINumberInputComponent
1441
1442
  ? h(VxeUINumberInputComponent, {
1442
1443
  props: {
1443
1444
  type: 'integer',
@@ -1449,52 +1450,338 @@ export default /* define-vxe-component start */ defineVxeComponent({
1449
1450
  },
1450
1451
  on: {
1451
1452
  modelValue (value: any) {
1452
- column.renderResizeWidth = Math.max(0, Number(value))
1453
+ const width = Math.max(0, Number(value))
1454
+ column.renderResizeWidth = width
1453
1455
  },
1454
1456
  change () {
1455
1457
  $xeTableCustomPanel.changeColumnWidth(column)
1456
1458
  }
1457
1459
  }
1458
1460
  })
1459
- : renderEmptyElement($xeTableCustomPanel)
1460
- )
1461
- ])
1462
- : renderEmptyElement($xeTable),
1463
- allowFixed
1464
- ? h('td', {
1465
- class: 'vxe-table-custom-popup--column-item col--fixed'
1466
- }, [
1467
- parentItem
1468
- ? h('span', '-')
1469
- : h('vxe-radio-group', {
1461
+ : renderEmptyElement($xeTable)
1462
+ )
1463
+ ])
1464
+ )
1465
+ }
1466
+ if (allowFixed) {
1467
+ tdVNs.push(
1468
+ h('td', {
1469
+ key: 'af',
1470
+ class: 'vxe-table-custom-popup--column-td col--fixed'
1471
+ }, parentItem
1472
+ ? [h('span', '-')]
1473
+ : (VxeUIRadioGroupComponent
1474
+ ? [
1475
+ h(VxeUIButtonComponent, {
1476
+ props: {
1477
+ icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
1478
+ status: column.renderFixed === 'left' ? 'primary' : '',
1479
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1480
+ title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft')
1481
+ },
1482
+ on: {
1483
+ click: ({ $event }: VxeButtonDefines.ClickEventParams) => {
1484
+ $xeTableCustomPanel.changeFixedOption(column, 'left', $event)
1485
+ }
1486
+ }
1487
+ }),
1488
+ h(VxeUIButtonComponent, {
1489
+ props: {
1490
+ icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
1491
+ status: column.renderFixed === 'right' ? 'primary' : '',
1492
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1493
+ title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight')
1494
+ },
1495
+ on: {
1496
+ click: ({ $event }: VxeButtonDefines.ClickEventParams) => {
1497
+ $xeTableCustomPanel.changeFixedOption(column, 'right', $event)
1498
+ }
1499
+ }
1500
+ })
1501
+ ]
1502
+ : []
1503
+ )
1504
+ )
1505
+ )
1506
+ }
1507
+ if (allowAlign) {
1508
+ tdVNs.push(
1509
+ h('td', {
1510
+ key: 'aa',
1511
+ class: 'vxe-table-custom-popup--column-td col--align'
1512
+ }, VxeUIRadioGroupComponent
1513
+ ? [
1514
+ h(VxeUIRadioGroupComponent, {
1470
1515
  props: {
1471
- value: column.renderFixed || '',
1516
+ value: column.renderAlign || '',
1472
1517
  type: 'button',
1473
- size: 'mini',
1518
+ strict: false,
1474
1519
  disabled: isHidden,
1475
- options: [
1476
- { label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isHidden || isMaxFixedColumn },
1477
- { label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isHidden },
1478
- { label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isHidden || isMaxFixedColumn }
1479
- ]
1520
+ options: alignList
1480
1521
  },
1481
1522
  on: {
1482
- change ({ label, $event }: VxeRadioGroupDefines.ChangeEventParams) {
1483
- $xeTableCustomPanel.changeFixedOption(column, label, $event)
1523
+ change ({ value, $event }: VxeRadioGroupDefines.ChangeEventParams) {
1524
+ $xeTableCustomPanel.changeAlignOption(column, value, 'align', 'renderAlign', 'custom-align-change', $event)
1484
1525
  }
1485
1526
  }
1486
1527
  })
1487
- ])
1488
- : renderEmptyElement($xeTable)
1489
- ])
1528
+ ]
1529
+ : []
1530
+
1531
+ )
1532
+ )
1533
+ }
1534
+ if (allowHeaderAlign) {
1535
+ tdVNs.push(
1536
+ h('td', {
1537
+ key: 'aha',
1538
+ class: 'vxe-table-custom-popup--column-td col--header-align'
1539
+ }, isColGroup
1540
+ ? [h('span', '-')]
1541
+ : (VxeUIRadioGroupComponent
1542
+ ? [
1543
+ h(VxeUIRadioGroupComponent, {
1544
+ props: {
1545
+ value: column.renderHeaderAlign || '',
1546
+ type: 'button',
1547
+ strict: false,
1548
+ disabled: isHidden,
1549
+ options: alignList
1550
+ },
1551
+ on: {
1552
+ change ({ value, $event }: VxeRadioGroupDefines.ChangeEventParams) {
1553
+ $xeTableCustomPanel.changeAlignOption(column, value, 'headerAlign', 'renderHeaderAlign', 'custom-header-align-change', $event)
1554
+ }
1555
+ }
1556
+ })
1557
+ ]
1558
+ : []
1559
+ )
1560
+ )
1561
+ )
1562
+ }
1563
+ if (allowFooterAlign) {
1564
+ tdVNs.push(
1565
+ h('td', {
1566
+ key: 'afa',
1567
+ class: 'vxe-table-custom-popup--column-td col--footer-align'
1568
+ }, isColGroup
1569
+ ? [h('span', '-')]
1570
+ : (VxeUIRadioGroupComponent
1571
+ ? [
1572
+ h(VxeUIRadioGroupComponent, {
1573
+ props: {
1574
+ value: column.renderFooterAlign || '',
1575
+ type: 'button',
1576
+ strict: false,
1577
+ disabled: isHidden,
1578
+ options: alignList
1579
+ },
1580
+ on: {
1581
+ change ({ value, $event }: VxeRadioGroupDefines.ChangeEventParams) {
1582
+ $xeTableCustomPanel.changeAlignOption(column, value, 'footerAlign', 'renderFooterAlign', 'custom-footer-align-change', $event)
1583
+ }
1584
+ }
1585
+ })
1586
+ ]
1587
+ : []
1588
+ )
1589
+ )
1590
+ )
1591
+ }
1592
+
1593
+ trVNs.push(
1594
+ h('tr', {
1595
+ key: column.id,
1596
+ attrs: {
1597
+ colid: column.id
1598
+ },
1599
+ class: [`vxe-table-custom-popup--row level--${column.level}`, {
1600
+ 'is--group': isColGroup
1601
+ }],
1602
+ on: {
1603
+ dragstart: $xeTableCustomPanel.sortDragstartEvent,
1604
+ dragend: $xeTableCustomPanel.sortDragendEvent,
1605
+ dragover: $xeTableCustomPanel.sortDragoverEvent
1606
+ }
1607
+ }, tdVNs)
1490
1608
  )
1491
1609
  }
1492
1610
  })
1611
+ return trVNs
1612
+ },
1613
+ renderPopupPanel (h: CreateElement) {
1614
+ const VxeUIModalComponent = VxeUI.getComponent('VxeModal')
1615
+ const VxeUIDrawerComponent = VxeUI.getComponent('VxeDrawer')
1616
+ const VxeUIButtonComponent = VxeUI.getComponent('VxeButton')
1617
+
1618
+ const $xeTableCustomPanel = this
1619
+ const props = $xeTableCustomPanel
1620
+ const $xeTable = $xeTableCustomPanel.$xeTable
1621
+ const tableProps = $xeTable
1622
+ const tableReactData = $xeTable as unknown as TableReactData
1623
+ const $xeGrid = $xeTable.$xeGrid
1624
+ const $xeGantt = $xeTable.$xeGantt
1625
+
1626
+ const { customStore } = props
1627
+ const { treeConfig, rowGroupConfig, aggregateConfig } = tableProps
1628
+ const { isCustomStatus, customColumnList } = tableReactData
1629
+ const vSize = $xeTable.computeSize
1630
+ const customOpts = $xeTable.computeCustomOpts
1631
+ const aggregateOpts = $xeTable.computeAggregateOpts
1632
+ const { panePopupStyle } = customStore
1633
+ const { placement: aggPlacement } = aggregateOpts
1634
+ const { mode, immediate, modalOptions, drawerOptions, allowVisible, allowFixed, allowAlign, allowHeaderAlign, allowFooterAlign, allowResizable } = customOpts
1635
+ const columnOpts = $xeTable.computeColumnOpts
1636
+ const { maxFixedSize } = columnOpts
1637
+ const modalOpts = Object.assign({}, modalOptions)
1638
+ const drawerOpts = Object.assign({}, drawerOptions)
1639
+ const slots = customOpts.slots || {}
1640
+ const headerSlot = slots.header
1641
+ const topSlot = slots.top
1642
+ const bottomSlot = slots.bottom
1643
+ const defaultSlot = slots.default
1644
+ const footerSlot = slots.footer
1645
+ const isAllChecked = customStore.isAll
1646
+ const isAllIndeterminate = customStore.isIndeterminate
1647
+ const isAggRtBmLayout = aggPlacement === 'right' || aggPlacement === 'bottom'
1648
+ const params = {
1649
+ $table: $xeTable,
1650
+ $grid: $xeGrid,
1651
+ $gantt: $xeGantt,
1652
+ columns: customColumnList,
1653
+ isAllChecked,
1654
+ isAllIndeterminate,
1655
+ isCustomStatus
1656
+ }
1657
+
1658
+ const colVNs: VNode[] = []
1659
+ const headVNs: VNode[] = []
1660
+ if (allowVisible) {
1661
+ colVNs.push(
1662
+ h('col', {
1663
+ key: 'av',
1664
+ class: 'vxe-table-custom-popup--column-col col--checkbox'
1665
+ })
1666
+ )
1667
+ headVNs.push(
1668
+ h('th', {
1669
+ key: 'av',
1670
+ class: 'vxe-table-custom-popup--column-th col--checkbox'
1671
+ }, [
1672
+ h('div', {
1673
+ class: ['vxe-table-custom--checkbox-option', {
1674
+ 'is--checked': isAllChecked,
1675
+ 'is--indeterminate': isAllIndeterminate
1676
+ }],
1677
+ attrs: {
1678
+ title: getI18n('vxe.table.allTitle')
1679
+ },
1680
+ on: {
1681
+ click: $xeTableCustomPanel.allOptionEvent
1682
+ }
1683
+ }, [
1684
+ h('span', {
1685
+ class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1686
+ })
1687
+ // h('span', {
1688
+ // class: 'vxe-checkbox--label'
1689
+ // }, getI18n('vxe.toolbar.customAll'))
1690
+ ])
1691
+ ])
1692
+ )
1693
+ }
1694
+ colVNs.push(
1695
+ h('col', {
1696
+ key: 'at',
1697
+ class: 'vxe-table-custom-popup--column-col col--title'
1698
+ })
1699
+ )
1700
+ headVNs.push(
1701
+ h('th', {
1702
+ key: 'at',
1703
+ class: 'vxe-table-custom-popup--column-th col--title'
1704
+ }, getI18n('vxe.custom.setting.colTitle'))
1705
+ )
1706
+ if (allowResizable) {
1707
+ colVNs.push(
1708
+ h('col', {
1709
+ key: 'aw',
1710
+ class: 'vxe-table-custom-popup--column-col col--width'
1711
+ })
1712
+ )
1713
+ headVNs.push(
1714
+ h('th', {
1715
+ key: 'aw',
1716
+ class: 'vxe-table-custom-popup--column-th col--width'
1717
+ }, getI18n('vxe.custom.setting.colResizable'))
1718
+ )
1719
+ }
1720
+ if (allowFixed) {
1721
+ colVNs.push(
1722
+ h('col', {
1723
+ key: 'af',
1724
+ class: 'vxe-table-custom-popup--column-col col--fixed'
1725
+ })
1726
+ )
1727
+ headVNs.push(
1728
+ h('th', {
1729
+ key: 'af',
1730
+ class: 'vxe-table-custom-popup--column-th col--fixed'
1731
+ }, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
1732
+ )
1733
+ }
1734
+ if (allowAlign) {
1735
+ colVNs.push(
1736
+ h('col', {
1737
+ key: 'aa',
1738
+ class: 'vxe-table-custom-popup--column-col col--align'
1739
+ })
1740
+ )
1741
+ headVNs.push(
1742
+ h('th', {
1743
+ key: 'aa',
1744
+ class: 'vxe-table-custom-popup--column-th col--align'
1745
+ }, getI18n('vxe.custom.setting.colAlign'))
1746
+ )
1747
+ }
1748
+ if (allowHeaderAlign) {
1749
+ colVNs.push(
1750
+ h('col', {
1751
+ key: 'aha',
1752
+ class: 'vxe-table-custom-popup--column-col col--header-align'
1753
+ })
1754
+ )
1755
+ headVNs.push(
1756
+ h('th', {
1757
+ key: 'aha',
1758
+ class: 'vxe-table-custom-popup--column-th col--header-align'
1759
+ }, getI18n('vxe.custom.setting.colHeadAlign'))
1760
+ )
1761
+ }
1762
+ if (allowFooterAlign) {
1763
+ colVNs.push(
1764
+ h('col', {
1765
+ key: 'afa',
1766
+ class: 'vxe-table-custom-popup--column-col col--footer-align'
1767
+ })
1768
+ )
1769
+ headVNs.push(
1770
+ h('th', {
1771
+ key: 'afa',
1772
+ class: 'vxe-table-custom-popup--column-th col--footer-align'
1773
+ }, getI18n('vxe.custom.setting.colFootAlign'))
1774
+ )
1775
+ }
1776
+
1493
1777
  const scopedSlots: Record<string, any> = {
1494
1778
  default: () => {
1495
1779
  return h('div', {
1496
1780
  ref: 'refBodyWrapperElem',
1497
- class: ['vxe-table-custom-popup--body-wrapper', `agg-layout--${aggPlacement}`]
1781
+ class: ['vxe-table-custom-popup--body-wrapper', `agg-layout--${aggPlacement}`, {
1782
+ [`size--${vSize}`]: vSize
1783
+ }],
1784
+ style: panePopupStyle
1498
1785
  }, defaultSlot
1499
1786
  ? $xeTable.callSlot(defaultSlot, params, h)
1500
1787
  : [
@@ -1518,60 +1805,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
1518
1805
  class: 'vxe-table-custom-popup--table-wrapper'
1519
1806
  }, [
1520
1807
  h('table', {}, [
1521
- h('colgroup', {}, [
1522
- allowVisible
1523
- ? h('col', {
1524
- class: 'vxe-table-custom-popup--table-col-seq'
1525
- })
1526
- : renderEmptyElement($xeTable),
1527
- h('col', {
1528
- class: 'vxe-table-custom-popup--table-col-title'
1529
- }),
1530
- allowResizable
1531
- ? h('col', {
1532
- class: 'vxe-table-custom-popup--table-col-width'
1533
- })
1534
- : renderEmptyElement($xeTable),
1535
- allowFixed
1536
- ? h('col', {
1537
- class: 'vxe-table-custom-popup--table-col-fixed'
1538
- })
1539
- : renderEmptyElement($xeTable)
1540
- ]),
1808
+ h('colgroup', {}, colVNs),
1541
1809
  h('thead', {}, [
1542
- h('tr', {}, [
1543
- allowVisible
1544
- ? h('th', {}, [
1545
- h('div', {
1546
- class: ['vxe-table-custom--checkbox-option', {
1547
- 'is--checked': isAllChecked,
1548
- 'is--indeterminate': isAllIndeterminate
1549
- }],
1550
- attrs: {
1551
- title: getI18n('vxe.table.allTitle')
1552
- },
1553
- on: {
1554
- click: $xeTableCustomPanel.allOptionEvent
1555
- }
1556
-
1557
- }, [
1558
- h('span', {
1559
- class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1560
- }),
1561
- h('span', {
1562
- class: 'vxe-checkbox--label'
1563
- }, getI18n('vxe.toolbar.customAll'))
1564
- ])
1565
- ])
1566
- : renderEmptyElement($xeTable),
1567
- h('th', {}, getI18n('vxe.custom.setting.colTitle')),
1568
- allowResizable
1569
- ? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
1570
- : renderEmptyElement($xeTable),
1571
- allowFixed
1572
- ? h('th', {}, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
1573
- : renderEmptyElement($xeTable)
1574
- ])
1810
+ h('tr', {}, headVNs)
1575
1811
  ]),
1576
1812
  h('transition-group', {
1577
1813
  class: 'vxe-table-custom--panel-list',
@@ -1579,7 +1815,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1579
1815
  tag: 'tbody',
1580
1816
  name: 'vxe-table-custom--list'
1581
1817
  }
1582
- }, trVNs)
1818
+ }, $xeTableCustomPanel.renderPopupBodys(h))
1583
1819
  ])
1584
1820
  ]),
1585
1821
  bottomSlot
@@ -1617,6 +1853,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1617
1853
  immediate
1618
1854
  ? h(VxeUIButtonComponent, {
1619
1855
  props: {
1856
+ status: 'primary',
1620
1857
  content: customOpts.resetButtonText || getI18n('vxe.table.customClose')
1621
1858
  },
1622
1859
  on: {
@@ -1677,11 +1914,11 @@ export default /* define-vxe-component start */ defineVxeComponent({
1677
1914
  ? h(VxeUIModalComponent, {
1678
1915
  key: 'modal',
1679
1916
  props: {
1680
- className: ['vxe-table-custom-popup-wrapper', 'vxe-table--ignore-clear', modalOpts.className || ''].join(' '),
1917
+ className: ['vxe-table-custom-modal-wrapper', 'vxe-table--ignore-clear', modalOpts.className || ''].join(' '),
1681
1918
  value: customStore.visible,
1682
1919
  title: modalOpts.title || getI18n('vxe.custom.cstmTitle'),
1683
- width: modalOpts.width || Math.min(880, document.documentElement.clientWidth),
1684
- minWidth: modalOpts.minWidth || 700,
1920
+ width: modalOpts.width || Math.min(1000, document.documentElement.clientWidth),
1921
+ minWidth: modalOpts.minWidth || 800,
1685
1922
  height: modalOpts.height || Math.min(680, document.documentElement.clientHeight),
1686
1923
  minHeight: modalOpts.minHeight || 400,
1687
1924
  showZoom: modalOpts.showZoom,
@@ -1690,6 +1927,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1690
1927
  mask: modalOpts.mask,
1691
1928
  lockView: modalOpts.lockView,
1692
1929
  resize: modalOpts.resize,
1930
+ transfer: modalOpts.transfer,
1693
1931
  escClosable: !!modalOpts.escClosable,
1694
1932
  maskClosable: !!modalOpts.maskClosable,
1695
1933
  destroyOnClose: true,