vxe-table 4.19.21 → 4.19.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 (183) hide show
  1. package/dist/all.esm.js +682 -359
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/{iconfont.1782656047498.ttf → iconfont.1783046321610.ttf} +0 -0
  5. package/es/iconfont.1783046321610.woff +0 -0
  6. package/es/iconfont.1783046321610.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 +16 -3
  10. package/es/locale/lang/de-DE.js +16 -3
  11. package/es/locale/lang/en-US.js +20 -7
  12. package/es/locale/lang/es-ES.js +16 -3
  13. package/es/locale/lang/fr-FR.js +16 -3
  14. package/es/locale/lang/hu-HU.js +16 -3
  15. package/es/locale/lang/hy-AM.js +16 -3
  16. package/es/locale/lang/id-ID.js +16 -3
  17. package/es/locale/lang/it-IT.js +15 -2
  18. package/es/locale/lang/ja-JP.js +16 -3
  19. package/es/locale/lang/ko-KR.js +16 -3
  20. package/es/locale/lang/ms-MY.js +16 -3
  21. package/es/locale/lang/nb-NO.js +16 -3
  22. package/es/locale/lang/pt-BR.js +16 -3
  23. package/es/locale/lang/ru-RU.js +16 -3
  24. package/es/locale/lang/th-TH.js +16 -3
  25. package/es/locale/lang/ug-CN.js +16 -3
  26. package/es/locale/lang/uk-UA.js +16 -3
  27. package/es/locale/lang/uz-UZ.js +16 -3
  28. package/es/locale/lang/vi-VN.js +15 -2
  29. package/es/locale/lang/zh-CHT.js +18 -5
  30. package/es/locale/lang/zh-CN.js +18 -5
  31. package/es/style.css +1 -1
  32. package/es/style.min.css +1 -1
  33. package/es/table/module/custom/hook.js +114 -37
  34. package/es/table/module/custom/panel.js +405 -257
  35. package/es/table/module/edit/hook.js +0 -1
  36. package/es/table/src/columnInfo.js +14 -8
  37. package/es/table/src/emits.js +8 -0
  38. package/es/table/src/table.js +81 -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.1782656047498.ttf → iconfont.1783046321610.ttf} +0 -0
  47. package/lib/iconfont.1783046321610.woff +0 -0
  48. package/lib/iconfont.1783046321610.woff2 +0 -0
  49. package/lib/index.css +1 -1
  50. package/lib/index.min.css +1 -1
  51. package/lib/index.umd.js +561 -206
  52. package/lib/index.umd.min.js +1 -1
  53. package/lib/locale/lang/ar-EG.js +16 -3
  54. package/lib/locale/lang/ar-EG.min.js +1 -1
  55. package/lib/locale/lang/ar-EG.umd.js +16 -3
  56. package/lib/locale/lang/de-DE.js +16 -3
  57. package/lib/locale/lang/de-DE.min.js +1 -1
  58. package/lib/locale/lang/de-DE.umd.js +16 -3
  59. package/lib/locale/lang/en-US.js +20 -7
  60. package/lib/locale/lang/en-US.min.js +1 -1
  61. package/lib/locale/lang/en-US.umd.js +20 -7
  62. package/lib/locale/lang/es-ES.js +16 -3
  63. package/lib/locale/lang/es-ES.min.js +1 -1
  64. package/lib/locale/lang/es-ES.umd.js +16 -3
  65. package/lib/locale/lang/fr-FR.js +16 -3
  66. package/lib/locale/lang/fr-FR.min.js +1 -1
  67. package/lib/locale/lang/fr-FR.umd.js +16 -3
  68. package/lib/locale/lang/hu-HU.js +16 -3
  69. package/lib/locale/lang/hu-HU.min.js +1 -1
  70. package/lib/locale/lang/hu-HU.umd.js +16 -3
  71. package/lib/locale/lang/hy-AM.js +16 -3
  72. package/lib/locale/lang/hy-AM.min.js +1 -1
  73. package/lib/locale/lang/hy-AM.umd.js +16 -3
  74. package/lib/locale/lang/id-ID.js +16 -3
  75. package/lib/locale/lang/id-ID.min.js +1 -1
  76. package/lib/locale/lang/id-ID.umd.js +16 -3
  77. package/lib/locale/lang/it-IT.js +15 -2
  78. package/lib/locale/lang/it-IT.min.js +1 -1
  79. package/lib/locale/lang/it-IT.umd.js +15 -2
  80. package/lib/locale/lang/ja-JP.js +16 -3
  81. package/lib/locale/lang/ja-JP.min.js +1 -1
  82. package/lib/locale/lang/ja-JP.umd.js +16 -3
  83. package/lib/locale/lang/ko-KR.js +16 -3
  84. package/lib/locale/lang/ko-KR.min.js +1 -1
  85. package/lib/locale/lang/ko-KR.umd.js +16 -3
  86. package/lib/locale/lang/ms-MY.js +16 -3
  87. package/lib/locale/lang/ms-MY.min.js +1 -1
  88. package/lib/locale/lang/ms-MY.umd.js +16 -3
  89. package/lib/locale/lang/nb-NO.js +16 -3
  90. package/lib/locale/lang/nb-NO.min.js +1 -1
  91. package/lib/locale/lang/nb-NO.umd.js +16 -3
  92. package/lib/locale/lang/pt-BR.js +16 -3
  93. package/lib/locale/lang/pt-BR.min.js +1 -1
  94. package/lib/locale/lang/pt-BR.umd.js +16 -3
  95. package/lib/locale/lang/ru-RU.js +16 -3
  96. package/lib/locale/lang/ru-RU.min.js +1 -1
  97. package/lib/locale/lang/ru-RU.umd.js +16 -3
  98. package/lib/locale/lang/th-TH.js +16 -3
  99. package/lib/locale/lang/th-TH.min.js +1 -1
  100. package/lib/locale/lang/th-TH.umd.js +16 -3
  101. package/lib/locale/lang/ug-CN.js +16 -3
  102. package/lib/locale/lang/ug-CN.min.js +1 -1
  103. package/lib/locale/lang/ug-CN.umd.js +16 -3
  104. package/lib/locale/lang/uk-UA.js +16 -3
  105. package/lib/locale/lang/uk-UA.min.js +1 -1
  106. package/lib/locale/lang/uk-UA.umd.js +16 -3
  107. package/lib/locale/lang/uz-UZ.js +16 -3
  108. package/lib/locale/lang/uz-UZ.min.js +1 -1
  109. package/lib/locale/lang/uz-UZ.umd.js +16 -3
  110. package/lib/locale/lang/vi-VN.js +15 -2
  111. package/lib/locale/lang/vi-VN.min.js +1 -1
  112. package/lib/locale/lang/vi-VN.umd.js +15 -2
  113. package/lib/locale/lang/zh-CHT.js +18 -5
  114. package/lib/locale/lang/zh-CHT.min.js +1 -1
  115. package/lib/locale/lang/zh-CHT.umd.js +18 -5
  116. package/lib/locale/lang/zh-CN.js +18 -5
  117. package/lib/locale/lang/zh-CN.min.js +1 -1
  118. package/lib/locale/lang/zh-CN.umd.js +18 -5
  119. package/lib/style.css +1 -1
  120. package/lib/style.min.css +1 -1
  121. package/lib/table/module/custom/hook.js +120 -34
  122. package/lib/table/module/custom/hook.min.js +1 -1
  123. package/lib/table/module/custom/panel.js +340 -141
  124. package/lib/table/module/custom/panel.min.js +1 -1
  125. package/lib/table/module/edit/hook.js +0 -1
  126. package/lib/table/module/edit/hook.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 +11 -11
  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 +16 -3
  145. package/packages/locale/lang/de-DE.ts +16 -3
  146. package/packages/locale/lang/en-US.ts +20 -7
  147. package/packages/locale/lang/es-ES.ts +16 -3
  148. package/packages/locale/lang/fr-FR.ts +16 -3
  149. package/packages/locale/lang/hu-HU.ts +16 -3
  150. package/packages/locale/lang/hy-AM.ts +16 -3
  151. package/packages/locale/lang/id-ID.ts +16 -3
  152. package/packages/locale/lang/it-IT.ts +15 -2
  153. package/packages/locale/lang/ja-JP.ts +16 -3
  154. package/packages/locale/lang/ko-KR.ts +16 -3
  155. package/packages/locale/lang/ms-MY.ts +16 -3
  156. package/packages/locale/lang/nb-NO.ts +16 -3
  157. package/packages/locale/lang/pt-BR.ts +16 -3
  158. package/packages/locale/lang/ru-RU.ts +16 -3
  159. package/packages/locale/lang/th-TH.ts +16 -3
  160. package/packages/locale/lang/ug-CN.ts +16 -3
  161. package/packages/locale/lang/uk-UA.ts +16 -3
  162. package/packages/locale/lang/uz-UZ.ts +16 -3
  163. package/packages/locale/lang/vi-VN.ts +15 -2
  164. package/packages/locale/lang/zh-CHT.ts +18 -5
  165. package/packages/locale/lang/zh-CN.ts +18 -5
  166. package/packages/table/module/custom/hook.ts +113 -36
  167. package/packages/table/module/custom/panel.ts +488 -286
  168. package/packages/table/module/edit/hook.ts +0 -1
  169. package/packages/table/src/columnInfo.ts +14 -8
  170. package/packages/table/src/emits.ts +8 -0
  171. package/packages/table/src/table.ts +91 -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 +13 -1
  180. package/es/iconfont.1782656047498.woff +0 -0
  181. package/es/iconfont.1782656047498.woff2 +0 -0
  182. package/lib/iconfont.1782656047498.woff +0 -0
  183. package/lib/iconfont.1782656047498.woff2 +0 -0
@@ -94,26 +94,33 @@ export default defineVxeComponent({
94
94
  $xeTable.saveCustom()
95
95
  $xeTable.closeCustom()
96
96
  $xeTable.emitCustomEvent('confirm', $event)
97
+ $xeTable.dispatchEvent('custom-confirm', {}, $event)
97
98
  $xeTable.emitCustomEvent('close', $event)
99
+ $xeTable.dispatchEvent('custom-close', {}, $event)
98
100
  }
99
101
 
100
102
  const cancelCloseEvent: VxeButtonEvents.Click = ({ $event }) => {
101
103
  $xeTable.closeCustom()
102
104
  $xeTable.emitCustomEvent('close', $event)
105
+ $xeTable.dispatchEvent('custom-close', {}, $event)
103
106
  }
104
107
 
105
108
  const cancelCustomEvent: VxeButtonEvents.Click = ({ $event }) => {
106
109
  $xeTable.cancelCustom()
107
110
  $xeTable.closeCustom()
108
111
  $xeTable.emitCustomEvent('cancel', $event)
112
+ $xeTable.dispatchEvent('custom-cancel', {}, $event)
109
113
  $xeTable.emitCustomEvent('close', $event)
114
+ $xeTable.dispatchEvent('custom-close', {}, $event)
110
115
  }
111
116
 
112
117
  const handleResetCustomEvent = (evnt: Event) => {
113
118
  $xeTable.resetCustom(true)
114
119
  $xeTable.closeCustom()
115
120
  $xeTable.emitCustomEvent('reset', evnt)
121
+ $xeTable.dispatchEvent('custom-reset', {}, evnt)
116
122
  $xeTable.emitCustomEvent('close', evnt)
123
+ $xeTable.dispatchEvent('custom-close', {}, evnt)
117
124
  }
118
125
 
119
126
  const resetCustomEvent: VxeButtonEvents.Click = ({ $event }) => {
@@ -224,6 +231,20 @@ export default defineVxeComponent({
224
231
  }
225
232
  }
226
233
 
234
+ const 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) => {
235
+ const customOpts = computeCustomOpts.value
236
+ if (customOpts.immediate) {
237
+ column[colProperty] = targetAlign
238
+ column[renderProperty] = targetAlign
239
+ tableReactData.isCustomStatus = true
240
+ $xeTable.handleCustom()
241
+ $xeTable.saveCustomStore(`update:${colProperty}`)
242
+ } else {
243
+ column[renderProperty] = targetAlign
244
+ }
245
+ $xeTable.dispatchEvent(eName, { column, [colProperty]: targetAlign }, evnt)
246
+ }
247
+
227
248
  const allOptionEvent = (evnt: MouseEvent) => {
228
249
  const { customStore } = tableReactData
229
250
  const isAll = !customStore.isAll
@@ -708,7 +729,7 @@ export default defineVxeComponent({
708
729
  const { isCustomStatus, customColumnList, isCustomDragStatus } = tableReactData
709
730
  const customOpts = computeCustomOpts.value
710
731
  const columnDragOpts = computeColumnDragOpts.value
711
- const { popupStyle } = customStore
732
+ const { defPopupStyle } = customStore
712
733
  const { immediate, checkMethod, visibleMethod, allowVisible, allowSort, allowFixed, allowGroup, allowValues, trigger, placement, showSortDragButton, showSortMoveButton, showSortPutButton } = customOpts
713
734
  const isMaxFixedColumn = computeIsMaxFixedColumn.value
714
735
  const vSize = computeSize.value
@@ -873,32 +894,30 @@ export default defineVxeComponent({
873
894
  !parentItem && allowFixed
874
895
  ? h('div', {
875
896
  class: 'vxe-table-custom--fixed-option'
876
- }, [
877
- VxeUIButtonComponent
878
- ? h(VxeUIButtonComponent, {
879
- mode: 'text',
880
- icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
881
- status: column.renderFixed === 'left' ? 'primary' : '',
882
- disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
883
- title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
884
- onClick: ({ $event }) => {
885
- changeFixedOption(column, 'left', $event)
886
- }
887
- })
888
- : renderEmptyElement($xeTable),
889
- VxeUIButtonComponent
890
- ? h(VxeUIButtonComponent, {
891
- mode: 'text',
892
- icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
893
- status: column.renderFixed === 'right' ? 'primary' : '',
894
- disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
895
- title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
896
- onClick: ({ $event }) => {
897
- changeFixedOption(column, 'right', $event)
898
- }
899
- })
900
- : renderEmptyElement($xeTable)
901
- ])
897
+ }, VxeUIButtonComponent
898
+ ? [
899
+ h(VxeUIButtonComponent, {
900
+ mode: 'text',
901
+ icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
902
+ status: column.renderFixed === 'left' ? 'primary' : '',
903
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
904
+ title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
905
+ onClick: ({ $event }) => {
906
+ changeFixedOption(column, 'left', $event)
907
+ }
908
+ }),
909
+ h(VxeUIButtonComponent, {
910
+ mode: 'text',
911
+ icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
912
+ status: column.renderFixed === 'right' ? 'primary' : '',
913
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
914
+ title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
915
+ onClick: ({ $event }) => {
916
+ changeFixedOption(column, 'right', $event)
917
+ }
918
+ })
919
+ ]
920
+ : [])
902
921
  : renderEmptyElement($xeTable)
903
922
  ])
904
923
  )
@@ -911,7 +930,7 @@ export default defineVxeComponent({
911
930
  [`size--${vSize}`]: vSize,
912
931
  'is--active': customStore.visible
913
932
  }],
914
- style: popupStyle
933
+ style: defPopupStyle
915
934
  }, customStore.visible
916
935
  ? [
917
936
  h('div', {
@@ -1038,45 +1057,19 @@ export default defineVxeComponent({
1038
1057
  : [])
1039
1058
  }
1040
1059
 
1041
- const renderPopupPanel = () => {
1042
- const $xeGrid = $xeTable.xeGrid
1043
- const $xeGantt = $xeTable.xeGantt
1044
-
1045
- const { customStore } = props
1046
- const { treeConfig, rowGroupConfig, aggregateConfig, resizable: allResizable } = tableProps
1047
- const { isCustomStatus, customColumnList } = tableReactData
1060
+ const renderPopupBodys = () => {
1061
+ const { resizable: allResizable } = tableProps
1062
+ const { customColumnList } = tableReactData
1048
1063
  const customOpts = computeCustomOpts.value
1049
1064
  const columnDragOpts = computeColumnDragOpts.value
1050
- const aggregateOpts = computeAggregateOpts.value
1051
- const { placement: aggPlacement } = aggregateOpts
1052
- const { mode, immediate, showSortDragButton, showSortMoveButton, showSortPutButton, modalOptions, drawerOptions, allowVisible, allowSort, allowFixed, allowResizable, allowGroup, allowValues, checkMethod, visibleMethod } = customOpts
1065
+ const { immediate, showSortDragButton, showSortMoveButton, showSortPutButton, allowVisible, allowSort, allowFixed, allowAlign, allowHeaderAlign, allowFooterAlign, allowResizable, allowGroup, allowValues, checkMethod, visibleMethod } = customOpts
1053
1066
  const columnOpts = computeColumnOpts.value
1054
- const { maxFixedSize } = columnOpts
1055
1067
  const resizableOpts = computeResizableOpts.value
1056
1068
  const { minWidth: reMinWidth, maxWidth: reMaxWidth } = resizableOpts
1057
- const modalOpts = Object.assign({}, modalOptions)
1058
- const drawerOpts = Object.assign({}, drawerOptions)
1059
1069
  const isMaxFixedColumn = computeIsMaxFixedColumn.value
1060
1070
  const { isCrossDrag, isPeerDrag } = columnDragOpts
1061
- const slots = customOpts.slots || {}
1062
- const headerSlot = slots.header
1063
- const topSlot = slots.top
1064
- const bottomSlot = slots.bottom
1065
- const defaultSlot = slots.default
1066
- const footerSlot = slots.footer
1071
+
1067
1072
  const trVNs: VNode[] = []
1068
- const isAllChecked = customStore.isAll
1069
- const isAllIndeterminate = customStore.isIndeterminate
1070
- const isAggRtBmLayout = aggPlacement === 'right' || aggPlacement === 'bottom'
1071
- const params = {
1072
- $table: $xeTable,
1073
- $grid: $xeGrid,
1074
- $gantt: $xeGantt,
1075
- columns: customColumnList,
1076
- isAllChecked,
1077
- isAllIndeterminate,
1078
- isCustomStatus
1079
- }
1080
1073
  XEUtils.eachTree(customColumnList, (column, index, items, path, parentItem) => {
1081
1074
  const isVisible = visibleMethod ? visibleMethod({ $table: $xeTable, column }) : true
1082
1075
  if (isVisible) {
@@ -1109,200 +1102,453 @@ export default defineVxeComponent({
1109
1102
  const isDisabled = checkMethod ? !checkMethod({ $table: $xeTable, column }) : false
1110
1103
  const isHidden = !isChecked
1111
1104
  const showSortBtn = (isCrossDrag || isPeerDrag ? immediate : false) || column.level === 1
1112
- trVNs.push(
1113
- h('tr', {
1114
- key: column.id,
1115
- colid: column.id,
1116
- class: [`vxe-table-custom-popup--row level--${column.level}`, {
1117
- 'is--group': isColGroup
1118
- }],
1119
- onDragstart: sortDragstartEvent,
1120
- onDragend: sortDragendEvent,
1121
- onDragover: sortDragoverEvent
1122
- }, [
1123
- allowVisible
1124
- ? h('td', {
1125
- class: 'vxe-table-custom-popup--column-item col--visible'
1126
- }, [
1127
- h('div', {
1128
- class: ['vxe-table-custom--checkbox-option', {
1129
- 'is--checked': isChecked,
1130
- 'is--indeterminate': isIndeterminate,
1131
- 'is--disabled': isDisabled
1132
- }],
1133
- title: getI18n('vxe.custom.setting.colVisible'),
1134
- onClick: (evnt: MouseEvent) => {
1135
- if (!isDisabled) {
1136
- changeCheckboxOption(column, evnt)
1137
- }
1138
- }
1139
- }, [
1140
- h('span', {
1141
- class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1142
- })
1143
- ])
1144
- ])
1145
- : renderEmptyElement($xeTable),
1105
+
1106
+ const alignList = [
1107
+ { icon: getIcon().TABLE_CUSTOM_ALIGN_LEFT, value: 'left', title: getI18n('vxe.custom.setting.anLeftTitle'), disabled: isHidden },
1108
+ { icon: getIcon().TABLE_CUSTOM_ALIGN_CENTER, value: 'center', title: getI18n('vxe.custom.setting.anCenterTitle'), disabled: isHidden },
1109
+ { icon: getIcon().TABLE_CUSTOM_ALIGN_RIGHT, value: 'right', title: getI18n('vxe.custom.setting.anRightTitle'), disabled: isHidden }
1110
+ ]
1111
+
1112
+ const tdVNs: VNode[] = []
1113
+ if (allowVisible) {
1114
+ tdVNs.push(
1146
1115
  h('td', {
1147
- class: 'vxe-table-custom-popup--column-item col--name'
1116
+ key: 'av',
1117
+ class: 'vxe-table-custom-popup--column-td col--visible'
1148
1118
  }, [
1149
1119
  h('div', {
1150
- class: 'vxe-table-custom-popup--name'
1120
+ class: ['vxe-table-custom--checkbox-option', {
1121
+ 'is--checked': isChecked,
1122
+ 'is--indeterminate': isIndeterminate,
1123
+ 'is--disabled': isDisabled
1124
+ }],
1125
+ title: getI18n('vxe.custom.setting.colVisible'),
1126
+ onClick: (evnt: MouseEvent) => {
1127
+ if (!isDisabled) {
1128
+ changeCheckboxOption(column, evnt)
1129
+ }
1130
+ }
1151
1131
  }, [
1152
- (allowSort && showSortDragButton) || (allowGroup || allowValues)
1153
- ? (
1154
- showSortBtn || ((allowGroup || allowValues) && !isColGroup)
1155
- ? h('div', {
1156
- class: ['vxe-table-custom-popup--column-sort-btn', {
1157
- 'is--disabled': isHidden
1158
- }],
1159
- title: getI18n('vxe.custom.setting.sortHelpTip'),
1160
- ...(isHidden
1161
- ? {}
1162
- : {
1163
- onMousedown: sortMousedownEvent,
1164
- onMouseup: sortMouseupEvent
1165
- })
1166
- }, [
1167
- h('i', {
1168
- class: getIcon().TABLE_CUSTOM_SORT
1169
- })
1170
- ])
1171
- : h('div', {
1172
- class: 'vxe-table-custom-popup--column-sort-placeholder'
1173
- })
1174
- )
1175
- : renderEmptyElement($xeTable),
1176
- column.type === 'html'
1177
- ? h('div', {
1178
- key: '1',
1179
- class: 'vxe-table-custom-popup--title',
1180
- innerHTML: colTitle
1181
- })
1182
- : h('div', {
1183
- key: '0',
1184
- class: 'vxe-table-custom-popup--title',
1185
- title: colTitle
1186
- }, colTitle),
1187
- showSortBtn && (showSortMoveButton || showSortPutButton)
1188
- ? h('div', {
1189
- class: 'vxe-table-custom-popup--move-btn'
1190
- }, VxeUIButtonComponent
1191
- ? [
1192
- showSortMoveButton
1193
- ? h(VxeUIButtonComponent, {
1194
- mode: 'text',
1195
- content: getI18n('vxe.custom.setting.moveUp'),
1196
- title: getI18n('vxe.custom.setting.moveUpTitle'),
1197
- disabled: index <= 0,
1198
- onClick (evntParame) {
1199
- sortMoveUpEvent(evntParame, column)
1200
- }
1201
- })
1202
- : renderEmptyElement($xeTable),
1203
- showSortMoveButton
1204
- ? h(VxeUIButtonComponent, {
1205
- mode: 'text',
1206
- content: getI18n('vxe.custom.setting.moveDn'),
1207
- title: getI18n('vxe.custom.setting.moveDnTitle'),
1208
- disabled: index >= items.length - 1,
1209
- onClick (evntParame) {
1210
- sortMoveDnEvent(evntParame, column)
1211
- }
1212
- })
1213
- : renderEmptyElement($xeTable),
1214
- showSortPutButton && !parentItem
1215
- ? h(VxeUIButtonComponent, {
1216
- mode: 'text',
1217
- content: getI18n('vxe.custom.setting.putTop'),
1218
- title: getI18n('vxe.custom.setting.putTopTitle'),
1219
- disabled: index <= 0,
1220
- onClick (evntParame) {
1221
- sortMoveTopEvent(evntParame, column)
1222
- }
1223
- })
1224
- : renderEmptyElement($xeTable),
1225
- showSortPutButton && !parentItem
1226
- ? h(VxeUIButtonComponent, {
1227
- mode: 'text',
1228
- content: getI18n('vxe.custom.setting.putBottom'),
1229
- title: getI18n('vxe.custom.setting.putBottomTitle'),
1230
- disabled: index >= items.length - 1,
1231
- onClick (evntParame) {
1232
- sortMoveBottomEvent(evntParame, column)
1233
- }
1234
- })
1235
- : renderEmptyElement($xeTable)
1236
- ]
1237
- : [])
1238
- : renderEmptyElement($xeTable)
1132
+ h('span', {
1133
+ class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1134
+ })
1239
1135
  ])
1240
- ]),
1241
- allowResizable
1242
- ? h('td', {
1243
- class: 'vxe-table-custom-popup--column-item col--resizable'
1244
- }, [
1245
- (
1246
- (column.children && column.children.length) ||
1247
- !(XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
1248
- )
1249
- ? h('span', '-')
1250
- : (
1251
- VxeUINumberInputComponent
1252
- ? h(VxeUINumberInputComponent, {
1253
- type: 'integer',
1254
- immediate: false,
1255
- disabled: isHidden,
1256
- modelValue: column.renderResizeWidth,
1257
- min: customMinWidth || undefined,
1258
- max: customMaxWidth || undefined,
1259
- 'onUpdate:modelValue' (value: any) {
1260
- const width = Math.max(0, Number(value))
1261
- column.renderResizeWidth = width
1262
- },
1263
- onChange () {
1264
- changeColumnWidth(column)
1136
+ ])
1137
+ )
1138
+ }
1139
+ tdVNs.push(
1140
+ h('td', {
1141
+ key: 'at',
1142
+ class: 'vxe-table-custom-popup--column-td col--name'
1143
+ }, [
1144
+ h('div', {
1145
+ class: 'vxe-table-custom-popup--name'
1146
+ }, [
1147
+ (allowSort && showSortDragButton) || (allowGroup || allowValues)
1148
+ ? (
1149
+ showSortBtn || ((allowGroup || allowValues) && !isColGroup)
1150
+ ? h('div', {
1151
+ class: ['vxe-table-custom-popup--column-sort-btn', {
1152
+ 'is--disabled': isHidden
1153
+ }],
1154
+ title: getI18n('vxe.custom.setting.sortHelpTip'),
1155
+ ...(isHidden
1156
+ ? {}
1157
+ : {
1158
+ onMousedown: sortMousedownEvent,
1159
+ onMouseup: sortMouseupEvent
1160
+ })
1161
+ }, [
1162
+ h('i', {
1163
+ class: getIcon().TABLE_CUSTOM_SORT
1164
+ })
1165
+ ])
1166
+ : h('div', {
1167
+ class: 'vxe-table-custom-popup--column-sort-placeholder'
1168
+ })
1169
+ )
1170
+ : renderEmptyElement($xeTable),
1171
+ column.type === 'html'
1172
+ ? h('div', {
1173
+ key: '1',
1174
+ class: 'vxe-table-custom-popup--title',
1175
+ innerHTML: colTitle
1176
+ })
1177
+ : h('div', {
1178
+ key: '0',
1179
+ class: 'vxe-table-custom-popup--title',
1180
+ title: colTitle
1181
+ }, colTitle),
1182
+ showSortBtn && (showSortMoveButton || showSortPutButton)
1183
+ ? h('div', {
1184
+ class: 'vxe-table-custom-popup--move-btn'
1185
+ }, VxeUIButtonComponent
1186
+ ? [
1187
+ showSortMoveButton
1188
+ ? h(VxeUIButtonComponent, {
1189
+ mode: 'text',
1190
+ icon: 'vxe-icon-arrows-up',
1191
+ title: getI18n('vxe.custom.setting.moveUpTitle'),
1192
+ disabled: index <= 0,
1193
+ onClick (evntParame) {
1194
+ sortMoveUpEvent(evntParame, column)
1265
1195
  }
1266
1196
  })
1267
- : renderEmptyElement($xeTable)
1268
- )
1269
- ])
1270
- : renderEmptyElement($xeTable),
1271
- allowFixed
1272
- ? h('td', {
1273
- class: 'vxe-table-custom-popup--column-item col--fixed'
1274
- }, [
1275
- parentItem
1276
- ? h('span', '-')
1277
- : (
1278
- VxeUIRadioGroupComponent
1279
- ? h(VxeUIRadioGroupComponent, {
1280
- modelValue: column.renderFixed || '',
1281
- type: 'button',
1282
- size: 'mini',
1283
- disabled: isHidden,
1284
- options: [
1285
- { label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isHidden || isMaxFixedColumn },
1286
- { label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isHidden },
1287
- { label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isHidden || isMaxFixedColumn }
1288
- ],
1289
- onChange ({ label, $event }) {
1290
- changeFixedOption(column, label, $event)
1197
+ : renderEmptyElement($xeTable),
1198
+ showSortMoveButton
1199
+ ? h(VxeUIButtonComponent, {
1200
+ mode: 'text',
1201
+ icon: 'vxe-icon-arrows-down',
1202
+ title: getI18n('vxe.custom.setting.moveDnTitle'),
1203
+ disabled: index >= items.length - 1,
1204
+ onClick (evntParame) {
1205
+ sortMoveDnEvent(evntParame, column)
1206
+ }
1207
+ })
1208
+ : renderEmptyElement($xeTable),
1209
+ showSortPutButton && !parentItem
1210
+ ? h(VxeUIButtonComponent, {
1211
+ mode: 'text',
1212
+ icon: 'vxe-icon-top',
1213
+ title: getI18n('vxe.custom.setting.putTopTitle'),
1214
+ disabled: index <= 0,
1215
+ onClick (evntParame) {
1216
+ sortMoveTopEvent(evntParame, column)
1217
+ }
1218
+ })
1219
+ : renderEmptyElement($xeTable),
1220
+ showSortPutButton && !parentItem
1221
+ ? h(VxeUIButtonComponent, {
1222
+ mode: 'text',
1223
+ icon: 'vxe-icon-bottom',
1224
+ title: getI18n('vxe.custom.setting.putBottomTitle'),
1225
+ disabled: index >= items.length - 1,
1226
+ onClick (evntParame) {
1227
+ sortMoveBottomEvent(evntParame, column)
1291
1228
  }
1292
1229
  })
1293
1230
  : renderEmptyElement($xeTable)
1294
- )
1295
- ])
1296
- : renderEmptyElement($xeTable)
1231
+ ]
1232
+ : [])
1233
+ : renderEmptyElement($xeTable)
1234
+ ])
1297
1235
  ])
1298
1236
  )
1237
+ if (allowResizable) {
1238
+ tdVNs.push(
1239
+ h('td', {
1240
+ key: 'aw',
1241
+ class: 'vxe-table-custom-popup--column-td col--resizable'
1242
+ }, [
1243
+ (
1244
+ (column.children && column.children.length) ||
1245
+ !(XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
1246
+ )
1247
+ ? h('span', '-')
1248
+ : (
1249
+ VxeUINumberInputComponent
1250
+ ? h(VxeUINumberInputComponent, {
1251
+ type: 'integer',
1252
+ immediate: false,
1253
+ disabled: isHidden,
1254
+ modelValue: column.renderResizeWidth,
1255
+ min: customMinWidth || undefined,
1256
+ max: customMaxWidth || undefined,
1257
+ 'onUpdate:modelValue' (value: any) {
1258
+ const width = Math.max(0, Number(value))
1259
+ column.renderResizeWidth = width
1260
+ },
1261
+ onChange () {
1262
+ changeColumnWidth(column)
1263
+ }
1264
+ })
1265
+ : renderEmptyElement($xeTable)
1266
+ )
1267
+ ])
1268
+ )
1269
+ }
1270
+ if (allowFixed) {
1271
+ tdVNs.push(
1272
+ h('td', {
1273
+ key: 'af',
1274
+ class: 'vxe-table-custom-popup--column-td col--fixed'
1275
+ }, parentItem
1276
+ ? [h('span', '-')]
1277
+ : (VxeUIRadioGroupComponent
1278
+ ? [
1279
+ h(VxeUIButtonComponent, {
1280
+ icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
1281
+ status: column.renderFixed === 'left' ? 'primary' : '',
1282
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1283
+ title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
1284
+ onClick: ({ $event }) => {
1285
+ changeFixedOption(column, 'left', $event)
1286
+ }
1287
+ }),
1288
+ h(VxeUIButtonComponent, {
1289
+ icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
1290
+ status: column.renderFixed === 'right' ? 'primary' : '',
1291
+ disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
1292
+ title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
1293
+ onClick: ({ $event }) => {
1294
+ changeFixedOption(column, 'right', $event)
1295
+ }
1296
+ })
1297
+ ]
1298
+ : []
1299
+ )
1300
+ )
1301
+ )
1302
+ }
1303
+ if (allowAlign) {
1304
+ tdVNs.push(
1305
+ h('td', {
1306
+ key: 'aa',
1307
+ class: 'vxe-table-custom-popup--column-td col--align'
1308
+ }, VxeUIRadioGroupComponent
1309
+ ? [
1310
+ h(VxeUIRadioGroupComponent, {
1311
+ modelValue: column.renderAlign || '',
1312
+ type: 'button',
1313
+ strict: false,
1314
+ disabled: isHidden,
1315
+ options: alignList,
1316
+ onChange ({ value, $event }) {
1317
+ changeAlignOption(column, value, 'align', 'renderAlign', 'custom-align-change', $event)
1318
+ }
1319
+ })
1320
+ ]
1321
+ : []
1322
+ )
1323
+ )
1324
+ }
1325
+ if (allowHeaderAlign) {
1326
+ tdVNs.push(
1327
+ h('td', {
1328
+ key: 'aha',
1329
+ class: 'vxe-table-custom-popup--column-td col--header-align'
1330
+ }, isColGroup
1331
+ ? [h('span', '-')]
1332
+ : (VxeUIRadioGroupComponent
1333
+ ? [
1334
+ h(VxeUIRadioGroupComponent, {
1335
+ modelValue: column.renderHeaderAlign || '',
1336
+ type: 'button',
1337
+ strict: false,
1338
+ disabled: isHidden,
1339
+ options: alignList,
1340
+ onChange ({ value, $event }) {
1341
+ changeAlignOption(column, value, 'headerAlign', 'renderHeaderAlign', 'custom-header-align-change', $event)
1342
+ }
1343
+ })
1344
+ ]
1345
+ : []
1346
+ )
1347
+ )
1348
+ )
1349
+ }
1350
+ if (allowFooterAlign) {
1351
+ tdVNs.push(
1352
+ h('td', {
1353
+ key: 'afa',
1354
+ class: 'vxe-table-custom-popup--column-td col--footer-align'
1355
+ }, isColGroup
1356
+ ? [h('span', '-')]
1357
+ : (VxeUIRadioGroupComponent
1358
+ ? [
1359
+ h(VxeUIRadioGroupComponent, {
1360
+ modelValue: column.renderFooterAlign || '',
1361
+ type: 'button',
1362
+ strict: false,
1363
+ disabled: isHidden,
1364
+ options: alignList,
1365
+ onChange ({ value, $event }) {
1366
+ changeAlignOption(column, value, 'footerAlign', 'renderFooterAlign', 'custom-footer-align-change', $event)
1367
+ }
1368
+ })
1369
+ ]
1370
+ : []
1371
+ )
1372
+ )
1373
+ )
1374
+ }
1375
+
1376
+ trVNs.push(
1377
+ h('tr', {
1378
+ key: column.id,
1379
+ colid: column.id,
1380
+ class: [`vxe-table-custom-popup--row level--${column.level}`, {
1381
+ 'is--group': isColGroup
1382
+ }],
1383
+ onDragstart: sortDragstartEvent,
1384
+ onDragend: sortDragendEvent,
1385
+ onDragover: sortDragoverEvent
1386
+ }, tdVNs)
1387
+ )
1299
1388
  }
1300
1389
  })
1390
+ return trVNs
1391
+ }
1392
+
1393
+ const renderPopupPanel = () => {
1394
+ const $xeGrid = $xeTable.xeGrid
1395
+ const $xeGantt = $xeTable.xeGantt
1396
+
1397
+ const { customStore } = props
1398
+ const { treeConfig, rowGroupConfig, aggregateConfig } = tableProps
1399
+ const { isCustomStatus, customColumnList } = tableReactData
1400
+ const vSize = computeSize.value
1401
+ const customOpts = computeCustomOpts.value
1402
+ const aggregateOpts = computeAggregateOpts.value
1403
+ const { panePopupStyle } = customStore
1404
+ const { placement: aggPlacement } = aggregateOpts
1405
+ const { mode, immediate, modalOptions, drawerOptions, allowVisible, allowFixed, allowAlign, allowHeaderAlign, allowFooterAlign, allowResizable } = customOpts
1406
+ const columnOpts = computeColumnOpts.value
1407
+ const { maxFixedSize } = columnOpts
1408
+ const modalOpts = Object.assign({}, modalOptions)
1409
+ const drawerOpts = Object.assign({}, drawerOptions)
1410
+ const slots = customOpts.slots || {}
1411
+ const headerSlot = slots.header
1412
+ const topSlot = slots.top
1413
+ const bottomSlot = slots.bottom
1414
+ const defaultSlot = slots.default
1415
+ const footerSlot = slots.footer
1416
+ const isAllChecked = customStore.isAll
1417
+ const isAllIndeterminate = customStore.isIndeterminate
1418
+ const isAggRtBmLayout = aggPlacement === 'right' || aggPlacement === 'bottom'
1419
+ const params = {
1420
+ $table: $xeTable,
1421
+ $grid: $xeGrid,
1422
+ $gantt: $xeGantt,
1423
+ columns: customColumnList,
1424
+ isAllChecked,
1425
+ isAllIndeterminate,
1426
+ isCustomStatus
1427
+ }
1428
+
1429
+ const colVNs: VNode[] = []
1430
+ const headVNs: VNode[] = []
1431
+ if (allowVisible) {
1432
+ colVNs.push(
1433
+ h('col', {
1434
+ key: 'av',
1435
+ class: 'vxe-table-custom-popup--column-col col--checkbox'
1436
+ })
1437
+ )
1438
+ headVNs.push(
1439
+ h('th', {
1440
+ key: 'av',
1441
+ class: 'vxe-table-custom-popup--column-th col--checkbox'
1442
+ }, [
1443
+ h('div', {
1444
+ class: ['vxe-table-custom--checkbox-option', {
1445
+ 'is--checked': isAllChecked,
1446
+ 'is--indeterminate': isAllIndeterminate
1447
+ }],
1448
+ title: getI18n('vxe.table.allTitle'),
1449
+ onClick: allOptionEvent
1450
+ }, [
1451
+ h('span', {
1452
+ class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1453
+ })
1454
+ // h('span', {
1455
+ // class: 'vxe-checkbox--label'
1456
+ // }, getI18n('vxe.toolbar.customAll'))
1457
+ ])
1458
+ ])
1459
+ )
1460
+ }
1461
+ colVNs.push(
1462
+ h('col', {
1463
+ key: 'at',
1464
+ class: 'vxe-table-custom-popup--column-col col--title'
1465
+ })
1466
+ )
1467
+ headVNs.push(
1468
+ h('th', {
1469
+ key: 'at',
1470
+ class: 'vxe-table-custom-popup--column-th col--title'
1471
+ }, getI18n('vxe.custom.setting.colTitle'))
1472
+ )
1473
+ if (allowResizable) {
1474
+ colVNs.push(
1475
+ h('col', {
1476
+ key: 'aw',
1477
+ class: 'vxe-table-custom-popup--column-col col--width'
1478
+ })
1479
+ )
1480
+ headVNs.push(
1481
+ h('th', {
1482
+ key: 'aw',
1483
+ class: 'vxe-table-custom-popup--column-th col--width'
1484
+ }, getI18n('vxe.custom.setting.colResizable'))
1485
+ )
1486
+ }
1487
+ if (allowFixed) {
1488
+ colVNs.push(
1489
+ h('col', {
1490
+ key: 'af',
1491
+ class: 'vxe-table-custom-popup--column-col col--fixed'
1492
+ })
1493
+ )
1494
+ headVNs.push(
1495
+ h('th', {
1496
+ key: 'af',
1497
+ class: 'vxe-table-custom-popup--column-th col--fixed'
1498
+ }, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
1499
+ )
1500
+ }
1501
+ if (allowAlign) {
1502
+ colVNs.push(
1503
+ h('col', {
1504
+ key: 'aa',
1505
+ class: 'vxe-table-custom-popup--column-col col--align'
1506
+ })
1507
+ )
1508
+ headVNs.push(
1509
+ h('th', {
1510
+ key: 'aa',
1511
+ class: 'vxe-table-custom-popup--column-th col--align'
1512
+ }, getI18n('vxe.custom.setting.colAlign'))
1513
+ )
1514
+ }
1515
+ if (allowHeaderAlign) {
1516
+ colVNs.push(
1517
+ h('col', {
1518
+ key: 'aha',
1519
+ class: 'vxe-table-custom-popup--column-col col--header-align'
1520
+ })
1521
+ )
1522
+ headVNs.push(
1523
+ h('th', {
1524
+ key: 'aha',
1525
+ class: 'vxe-table-custom-popup--column-th col--header-align'
1526
+ }, getI18n('vxe.custom.setting.colHeadAlign'))
1527
+ )
1528
+ }
1529
+ if (allowFooterAlign) {
1530
+ colVNs.push(
1531
+ h('col', {
1532
+ key: 'afa',
1533
+ class: 'vxe-table-custom-popup--column-col col--footer-align'
1534
+ })
1535
+ )
1536
+ headVNs.push(
1537
+ h('th', {
1538
+ key: 'afa',
1539
+ class: 'vxe-table-custom-popup--column-th col--footer-align'
1540
+ }, getI18n('vxe.custom.setting.colFootAlign'))
1541
+ )
1542
+ }
1543
+
1301
1544
  const scopedSlots: Record<string, any> = {
1302
1545
  default: () => {
1303
1546
  return h('div', {
1304
1547
  ref: refBodyWrapperElem,
1305
- class: ['vxe-table-custom-popup--body-wrapper', `agg-layout--${aggPlacement}`]
1548
+ class: ['vxe-table-custom-popup--body-wrapper', `agg-layout--${aggPlacement}`, {
1549
+ [`size--${vSize}`]: vSize
1550
+ }],
1551
+ style: panePopupStyle
1306
1552
  }, defaultSlot
1307
1553
  ? $xeTable.callSlot(defaultSlot, params)
1308
1554
  : [
@@ -1324,62 +1570,16 @@ export default defineVxeComponent({
1324
1570
  class: 'vxe-table-custom-popup--table-wrapper'
1325
1571
  }, [
1326
1572
  h('table', {}, [
1327
- h('colgroup', {}, [
1328
- allowVisible
1329
- ? h('col', {
1330
- class: 'vxe-table-custom-popup--table-col-seq'
1331
- })
1332
- : renderEmptyElement($xeTable),
1333
- h('col', {
1334
- class: 'vxe-table-custom-popup--table-col-title'
1335
- }),
1336
- allowResizable
1337
- ? h('col', {
1338
- class: 'vxe-table-custom-popup--table-col-width'
1339
- })
1340
- : renderEmptyElement($xeTable),
1341
- allowFixed
1342
- ? h('col', {
1343
- class: 'vxe-table-custom-popup--table-col-fixed'
1344
- })
1345
- : renderEmptyElement($xeTable)
1346
- ]),
1573
+ h('colgroup', {}, colVNs),
1347
1574
  h('thead', {}, [
1348
- h('tr', {}, [
1349
- allowVisible
1350
- ? h('th', {}, [
1351
- h('div', {
1352
- class: ['vxe-table-custom--checkbox-option', {
1353
- 'is--checked': isAllChecked,
1354
- 'is--indeterminate': isAllIndeterminate
1355
- }],
1356
- title: getI18n('vxe.table.allTitle'),
1357
- onClick: allOptionEvent
1358
- }, [
1359
- h('span', {
1360
- class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1361
- }),
1362
- h('span', {
1363
- class: 'vxe-checkbox--label'
1364
- }, getI18n('vxe.toolbar.customAll'))
1365
- ])
1366
- ])
1367
- : renderEmptyElement($xeTable),
1368
- h('th', {}, getI18n('vxe.custom.setting.colTitle')),
1369
- allowResizable
1370
- ? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
1371
- : renderEmptyElement($xeTable),
1372
- allowFixed
1373
- ? h('th', {}, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
1374
- : renderEmptyElement($xeTable)
1375
- ])
1575
+ h('tr', {}, headVNs)
1376
1576
  ]),
1377
1577
  h(TransitionGroup, {
1378
1578
  class: 'vxe-table-custom--panel-list',
1379
1579
  tag: 'tbody',
1380
1580
  name: 'vxe-table-custom--list'
1381
1581
  }, {
1382
- default: () => trVNs
1582
+ default: () => renderPopupBodys()
1383
1583
  })
1384
1584
  ])
1385
1585
  ]),
@@ -1414,6 +1614,7 @@ export default defineVxeComponent({
1414
1614
  immediate
1415
1615
  ? (VxeUIButtonComponent
1416
1616
  ? h(VxeUIButtonComponent, {
1617
+ status: 'primary',
1417
1618
  content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
1418
1619
  onClick: cancelCloseEvent
1419
1620
  })
@@ -1465,8 +1666,8 @@ export default defineVxeComponent({
1465
1666
  className: ['vxe-table-custom-modal-wrapper', 'vxe-table--ignore-clear', modalOpts.className || ''].join(' '),
1466
1667
  modelValue: customStore.visible,
1467
1668
  title: modalOpts.title || getI18n('vxe.custom.cstmTitle'),
1468
- width: modalOpts.width || Math.min(880, document.documentElement.clientWidth),
1469
- minWidth: modalOpts.minWidth || 700,
1669
+ width: modalOpts.width || Math.min(1000, document.documentElement.clientWidth),
1670
+ minWidth: modalOpts.minWidth || 800,
1470
1671
  height: modalOpts.height || Math.min(680, document.documentElement.clientHeight),
1471
1672
  minHeight: modalOpts.minHeight || 400,
1472
1673
  showZoom: modalOpts.showZoom,
@@ -1475,6 +1676,7 @@ export default defineVxeComponent({
1475
1676
  mask: modalOpts.mask,
1476
1677
  lockView: modalOpts.lockView,
1477
1678
  resize: modalOpts.resize,
1679
+ transfer: modalOpts.transfer,
1478
1680
  escClosable: !!modalOpts.escClosable,
1479
1681
  maskClosable: !!modalOpts.maskClosable,
1480
1682
  destroyOnClose: true,