vxe-table 4.19.22 → 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 (179) hide show
  1. package/dist/all.esm.js +630 -332
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/{iconfont.1782890314097.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 +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/columnInfo.js +14 -8
  36. package/es/table/src/emits.js +3 -0
  37. package/es/table/src/table.js +76 -45
  38. package/es/table/src/util.js +32 -1
  39. package/es/table/style.css +96 -49
  40. package/es/table/style.min.css +1 -1
  41. package/es/ui/index.js +16 -4
  42. package/es/ui/src/log.js +1 -1
  43. package/es/vxe-table/style.css +96 -49
  44. package/es/vxe-table/style.min.css +1 -1
  45. package/lib/{iconfont.1782890314097.ttf → iconfont.1783046321610.ttf} +0 -0
  46. package/lib/iconfont.1783046321610.woff +0 -0
  47. package/lib/iconfont.1783046321610.woff2 +0 -0
  48. package/lib/index.css +1 -1
  49. package/lib/index.min.css +1 -1
  50. package/lib/index.umd.js +518 -179
  51. package/lib/index.umd.min.js +1 -1
  52. package/lib/locale/lang/ar-EG.js +12 -3
  53. package/lib/locale/lang/ar-EG.min.js +1 -1
  54. package/lib/locale/lang/ar-EG.umd.js +12 -3
  55. package/lib/locale/lang/de-DE.js +12 -3
  56. package/lib/locale/lang/de-DE.min.js +1 -1
  57. package/lib/locale/lang/de-DE.umd.js +12 -3
  58. package/lib/locale/lang/en-US.js +16 -7
  59. package/lib/locale/lang/en-US.min.js +1 -1
  60. package/lib/locale/lang/en-US.umd.js +16 -7
  61. package/lib/locale/lang/es-ES.js +12 -3
  62. package/lib/locale/lang/es-ES.min.js +1 -1
  63. package/lib/locale/lang/es-ES.umd.js +12 -3
  64. package/lib/locale/lang/fr-FR.js +12 -3
  65. package/lib/locale/lang/fr-FR.min.js +1 -1
  66. package/lib/locale/lang/fr-FR.umd.js +12 -3
  67. package/lib/locale/lang/hu-HU.js +12 -3
  68. package/lib/locale/lang/hu-HU.min.js +1 -1
  69. package/lib/locale/lang/hu-HU.umd.js +12 -3
  70. package/lib/locale/lang/hy-AM.js +12 -3
  71. package/lib/locale/lang/hy-AM.min.js +1 -1
  72. package/lib/locale/lang/hy-AM.umd.js +12 -3
  73. package/lib/locale/lang/id-ID.js +12 -3
  74. package/lib/locale/lang/id-ID.min.js +1 -1
  75. package/lib/locale/lang/id-ID.umd.js +12 -3
  76. package/lib/locale/lang/it-IT.js +11 -2
  77. package/lib/locale/lang/it-IT.min.js +1 -1
  78. package/lib/locale/lang/it-IT.umd.js +11 -2
  79. package/lib/locale/lang/ja-JP.js +12 -3
  80. package/lib/locale/lang/ja-JP.min.js +1 -1
  81. package/lib/locale/lang/ja-JP.umd.js +12 -3
  82. package/lib/locale/lang/ko-KR.js +12 -3
  83. package/lib/locale/lang/ko-KR.min.js +1 -1
  84. package/lib/locale/lang/ko-KR.umd.js +12 -3
  85. package/lib/locale/lang/ms-MY.js +12 -3
  86. package/lib/locale/lang/ms-MY.min.js +1 -1
  87. package/lib/locale/lang/ms-MY.umd.js +12 -3
  88. package/lib/locale/lang/nb-NO.js +12 -3
  89. package/lib/locale/lang/nb-NO.min.js +1 -1
  90. package/lib/locale/lang/nb-NO.umd.js +12 -3
  91. package/lib/locale/lang/pt-BR.js +12 -3
  92. package/lib/locale/lang/pt-BR.min.js +1 -1
  93. package/lib/locale/lang/pt-BR.umd.js +12 -3
  94. package/lib/locale/lang/ru-RU.js +12 -3
  95. package/lib/locale/lang/ru-RU.min.js +1 -1
  96. package/lib/locale/lang/ru-RU.umd.js +12 -3
  97. package/lib/locale/lang/th-TH.js +12 -3
  98. package/lib/locale/lang/th-TH.min.js +1 -1
  99. package/lib/locale/lang/th-TH.umd.js +12 -3
  100. package/lib/locale/lang/ug-CN.js +12 -3
  101. package/lib/locale/lang/ug-CN.min.js +1 -1
  102. package/lib/locale/lang/ug-CN.umd.js +12 -3
  103. package/lib/locale/lang/uk-UA.js +12 -3
  104. package/lib/locale/lang/uk-UA.min.js +1 -1
  105. package/lib/locale/lang/uk-UA.umd.js +12 -3
  106. package/lib/locale/lang/uz-UZ.js +12 -3
  107. package/lib/locale/lang/uz-UZ.min.js +1 -1
  108. package/lib/locale/lang/uz-UZ.umd.js +12 -3
  109. package/lib/locale/lang/vi-VN.js +11 -2
  110. package/lib/locale/lang/vi-VN.min.js +1 -1
  111. package/lib/locale/lang/vi-VN.umd.js +11 -2
  112. package/lib/locale/lang/zh-CHT.js +14 -5
  113. package/lib/locale/lang/zh-CHT.min.js +1 -1
  114. package/lib/locale/lang/zh-CHT.umd.js +14 -5
  115. package/lib/locale/lang/zh-CN.js +14 -5
  116. package/lib/locale/lang/zh-CN.min.js +1 -1
  117. package/lib/locale/lang/zh-CN.umd.js +14 -5
  118. package/lib/style.css +1 -1
  119. package/lib/style.min.css +1 -1
  120. package/lib/table/module/custom/hook.js +90 -10
  121. package/lib/table/module/custom/hook.min.js +1 -1
  122. package/lib/table/module/custom/panel.js +333 -141
  123. package/lib/table/module/custom/panel.min.js +1 -1
  124. package/lib/table/src/columnInfo.js +17 -7
  125. package/lib/table/src/columnInfo.min.js +1 -1
  126. package/lib/table/src/emits.js +1 -1
  127. package/lib/table/src/emits.min.js +1 -1
  128. package/lib/table/src/table.js +9 -9
  129. package/lib/table/src/table.min.js +1 -1
  130. package/lib/table/src/util.js +38 -1
  131. package/lib/table/src/util.min.js +1 -1
  132. package/lib/table/style/style.css +96 -49
  133. package/lib/table/style/style.min.css +1 -1
  134. package/lib/ui/index.js +16 -4
  135. package/lib/ui/index.min.js +1 -1
  136. package/lib/ui/src/log.js +1 -1
  137. package/lib/ui/src/log.min.js +1 -1
  138. package/lib/vxe-table/style/style.css +96 -49
  139. package/lib/vxe-table/style/style.min.css +1 -1
  140. package/package.json +2 -2
  141. package/packages/locale/lang/ar-EG.ts +12 -3
  142. package/packages/locale/lang/de-DE.ts +12 -3
  143. package/packages/locale/lang/en-US.ts +16 -7
  144. package/packages/locale/lang/es-ES.ts +12 -3
  145. package/packages/locale/lang/fr-FR.ts +12 -3
  146. package/packages/locale/lang/hu-HU.ts +12 -3
  147. package/packages/locale/lang/hy-AM.ts +12 -3
  148. package/packages/locale/lang/id-ID.ts +12 -3
  149. package/packages/locale/lang/it-IT.ts +11 -2
  150. package/packages/locale/lang/ja-JP.ts +12 -3
  151. package/packages/locale/lang/ko-KR.ts +12 -3
  152. package/packages/locale/lang/ms-MY.ts +12 -3
  153. package/packages/locale/lang/nb-NO.ts +12 -3
  154. package/packages/locale/lang/pt-BR.ts +12 -3
  155. package/packages/locale/lang/ru-RU.ts +12 -3
  156. package/packages/locale/lang/th-TH.ts +12 -3
  157. package/packages/locale/lang/ug-CN.ts +12 -3
  158. package/packages/locale/lang/uk-UA.ts +12 -3
  159. package/packages/locale/lang/uz-UZ.ts +12 -3
  160. package/packages/locale/lang/vi-VN.ts +11 -2
  161. package/packages/locale/lang/zh-CHT.ts +14 -5
  162. package/packages/locale/lang/zh-CN.ts +14 -5
  163. package/packages/table/module/custom/hook.ts +83 -12
  164. package/packages/table/module/custom/panel.ts +481 -286
  165. package/packages/table/src/columnInfo.ts +14 -8
  166. package/packages/table/src/emits.ts +3 -0
  167. package/packages/table/src/table.ts +87 -46
  168. package/packages/table/src/util.ts +35 -1
  169. package/packages/ui/index.ts +15 -3
  170. package/styles/components/icon.scss +29 -2
  171. package/styles/components/table-module/custom.scss +88 -67
  172. package/styles/icon/iconfont.ttf +0 -0
  173. package/styles/icon/iconfont.woff +0 -0
  174. package/styles/icon/iconfont.woff2 +0 -0
  175. package/styles/theme/base.scss +11 -0
  176. package/es/iconfont.1782890314097.woff +0 -0
  177. package/es/iconfont.1782890314097.woff2 +0 -0
  178. package/lib/iconfont.1782890314097.woff +0 -0
  179. package/lib/iconfont.1782890314097.woff2 +0 -0
@@ -231,6 +231,20 @@ export default defineVxeComponent({
231
231
  }
232
232
  }
233
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
+
234
248
  const allOptionEvent = (evnt: MouseEvent) => {
235
249
  const { customStore } = tableReactData
236
250
  const isAll = !customStore.isAll
@@ -715,7 +729,7 @@ export default defineVxeComponent({
715
729
  const { isCustomStatus, customColumnList, isCustomDragStatus } = tableReactData
716
730
  const customOpts = computeCustomOpts.value
717
731
  const columnDragOpts = computeColumnDragOpts.value
718
- const { popupStyle } = customStore
732
+ const { defPopupStyle } = customStore
719
733
  const { immediate, checkMethod, visibleMethod, allowVisible, allowSort, allowFixed, allowGroup, allowValues, trigger, placement, showSortDragButton, showSortMoveButton, showSortPutButton } = customOpts
720
734
  const isMaxFixedColumn = computeIsMaxFixedColumn.value
721
735
  const vSize = computeSize.value
@@ -880,32 +894,30 @@ export default defineVxeComponent({
880
894
  !parentItem && allowFixed
881
895
  ? h('div', {
882
896
  class: 'vxe-table-custom--fixed-option'
883
- }, [
884
- VxeUIButtonComponent
885
- ? h(VxeUIButtonComponent, {
886
- mode: 'text',
887
- icon: column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT,
888
- status: column.renderFixed === 'left' ? 'primary' : '',
889
- disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
890
- title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
891
- onClick: ({ $event }) => {
892
- changeFixedOption(column, 'left', $event)
893
- }
894
- })
895
- : renderEmptyElement($xeTable),
896
- VxeUIButtonComponent
897
- ? h(VxeUIButtonComponent, {
898
- mode: 'text',
899
- icon: column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,
900
- status: column.renderFixed === 'right' ? 'primary' : '',
901
- disabled: isHidden || (isMaxFixedColumn && !column.renderFixed),
902
- title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
903
- onClick: ({ $event }) => {
904
- changeFixedOption(column, 'right', $event)
905
- }
906
- })
907
- : renderEmptyElement($xeTable)
908
- ])
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
+ : [])
909
921
  : renderEmptyElement($xeTable)
910
922
  ])
911
923
  )
@@ -918,7 +930,7 @@ export default defineVxeComponent({
918
930
  [`size--${vSize}`]: vSize,
919
931
  'is--active': customStore.visible
920
932
  }],
921
- style: popupStyle
933
+ style: defPopupStyle
922
934
  }, customStore.visible
923
935
  ? [
924
936
  h('div', {
@@ -1045,45 +1057,19 @@ export default defineVxeComponent({
1045
1057
  : [])
1046
1058
  }
1047
1059
 
1048
- const renderPopupPanel = () => {
1049
- const $xeGrid = $xeTable.xeGrid
1050
- const $xeGantt = $xeTable.xeGantt
1051
-
1052
- const { customStore } = props
1053
- const { treeConfig, rowGroupConfig, aggregateConfig, resizable: allResizable } = tableProps
1054
- const { isCustomStatus, customColumnList } = tableReactData
1060
+ const renderPopupBodys = () => {
1061
+ const { resizable: allResizable } = tableProps
1062
+ const { customColumnList } = tableReactData
1055
1063
  const customOpts = computeCustomOpts.value
1056
1064
  const columnDragOpts = computeColumnDragOpts.value
1057
- const aggregateOpts = computeAggregateOpts.value
1058
- const { placement: aggPlacement } = aggregateOpts
1059
- 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
1060
1066
  const columnOpts = computeColumnOpts.value
1061
- const { maxFixedSize } = columnOpts
1062
1067
  const resizableOpts = computeResizableOpts.value
1063
1068
  const { minWidth: reMinWidth, maxWidth: reMaxWidth } = resizableOpts
1064
- const modalOpts = Object.assign({}, modalOptions)
1065
- const drawerOpts = Object.assign({}, drawerOptions)
1066
1069
  const isMaxFixedColumn = computeIsMaxFixedColumn.value
1067
1070
  const { isCrossDrag, isPeerDrag } = columnDragOpts
1068
- const slots = customOpts.slots || {}
1069
- const headerSlot = slots.header
1070
- const topSlot = slots.top
1071
- const bottomSlot = slots.bottom
1072
- const defaultSlot = slots.default
1073
- const footerSlot = slots.footer
1071
+
1074
1072
  const trVNs: VNode[] = []
1075
- const isAllChecked = customStore.isAll
1076
- const isAllIndeterminate = customStore.isIndeterminate
1077
- const isAggRtBmLayout = aggPlacement === 'right' || aggPlacement === 'bottom'
1078
- const params = {
1079
- $table: $xeTable,
1080
- $grid: $xeGrid,
1081
- $gantt: $xeGantt,
1082
- columns: customColumnList,
1083
- isAllChecked,
1084
- isAllIndeterminate,
1085
- isCustomStatus
1086
- }
1087
1073
  XEUtils.eachTree(customColumnList, (column, index, items, path, parentItem) => {
1088
1074
  const isVisible = visibleMethod ? visibleMethod({ $table: $xeTable, column }) : true
1089
1075
  if (isVisible) {
@@ -1116,200 +1102,453 @@ export default defineVxeComponent({
1116
1102
  const isDisabled = checkMethod ? !checkMethod({ $table: $xeTable, column }) : false
1117
1103
  const isHidden = !isChecked
1118
1104
  const showSortBtn = (isCrossDrag || isPeerDrag ? immediate : false) || column.level === 1
1119
- trVNs.push(
1120
- h('tr', {
1121
- key: column.id,
1122
- colid: column.id,
1123
- class: [`vxe-table-custom-popup--row level--${column.level}`, {
1124
- 'is--group': isColGroup
1125
- }],
1126
- onDragstart: sortDragstartEvent,
1127
- onDragend: sortDragendEvent,
1128
- onDragover: sortDragoverEvent
1129
- }, [
1130
- allowVisible
1131
- ? h('td', {
1132
- class: 'vxe-table-custom-popup--column-item col--visible'
1133
- }, [
1134
- h('div', {
1135
- class: ['vxe-table-custom--checkbox-option', {
1136
- 'is--checked': isChecked,
1137
- 'is--indeterminate': isIndeterminate,
1138
- 'is--disabled': isDisabled
1139
- }],
1140
- title: getI18n('vxe.custom.setting.colVisible'),
1141
- onClick: (evnt: MouseEvent) => {
1142
- if (!isDisabled) {
1143
- changeCheckboxOption(column, evnt)
1144
- }
1145
- }
1146
- }, [
1147
- h('span', {
1148
- class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1149
- })
1150
- ])
1151
- ])
1152
- : 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(
1153
1115
  h('td', {
1154
- class: 'vxe-table-custom-popup--column-item col--name'
1116
+ key: 'av',
1117
+ class: 'vxe-table-custom-popup--column-td col--visible'
1155
1118
  }, [
1156
1119
  h('div', {
1157
- 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
+ }
1158
1131
  }, [
1159
- (allowSort && showSortDragButton) || (allowGroup || allowValues)
1160
- ? (
1161
- showSortBtn || ((allowGroup || allowValues) && !isColGroup)
1162
- ? h('div', {
1163
- class: ['vxe-table-custom-popup--column-sort-btn', {
1164
- 'is--disabled': isHidden
1165
- }],
1166
- title: getI18n('vxe.custom.setting.sortHelpTip'),
1167
- ...(isHidden
1168
- ? {}
1169
- : {
1170
- onMousedown: sortMousedownEvent,
1171
- onMouseup: sortMouseupEvent
1172
- })
1173
- }, [
1174
- h('i', {
1175
- class: getIcon().TABLE_CUSTOM_SORT
1176
- })
1177
- ])
1178
- : h('div', {
1179
- class: 'vxe-table-custom-popup--column-sort-placeholder'
1180
- })
1181
- )
1182
- : renderEmptyElement($xeTable),
1183
- column.type === 'html'
1184
- ? h('div', {
1185
- key: '1',
1186
- class: 'vxe-table-custom-popup--title',
1187
- innerHTML: colTitle
1188
- })
1189
- : h('div', {
1190
- key: '0',
1191
- class: 'vxe-table-custom-popup--title',
1192
- title: colTitle
1193
- }, colTitle),
1194
- showSortBtn && (showSortMoveButton || showSortPutButton)
1195
- ? h('div', {
1196
- class: 'vxe-table-custom-popup--move-btn'
1197
- }, VxeUIButtonComponent
1198
- ? [
1199
- showSortMoveButton
1200
- ? h(VxeUIButtonComponent, {
1201
- mode: 'text',
1202
- content: getI18n('vxe.custom.setting.moveUp'),
1203
- title: getI18n('vxe.custom.setting.moveUpTitle'),
1204
- disabled: index <= 0,
1205
- onClick (evntParame) {
1206
- sortMoveUpEvent(evntParame, column)
1207
- }
1208
- })
1209
- : renderEmptyElement($xeTable),
1210
- showSortMoveButton
1211
- ? h(VxeUIButtonComponent, {
1212
- mode: 'text',
1213
- content: getI18n('vxe.custom.setting.moveDn'),
1214
- title: getI18n('vxe.custom.setting.moveDnTitle'),
1215
- disabled: index >= items.length - 1,
1216
- onClick (evntParame) {
1217
- sortMoveDnEvent(evntParame, column)
1218
- }
1219
- })
1220
- : renderEmptyElement($xeTable),
1221
- showSortPutButton && !parentItem
1222
- ? h(VxeUIButtonComponent, {
1223
- mode: 'text',
1224
- content: getI18n('vxe.custom.setting.putTop'),
1225
- title: getI18n('vxe.custom.setting.putTopTitle'),
1226
- disabled: index <= 0,
1227
- onClick (evntParame) {
1228
- sortMoveTopEvent(evntParame, column)
1229
- }
1230
- })
1231
- : renderEmptyElement($xeTable),
1232
- showSortPutButton && !parentItem
1233
- ? h(VxeUIButtonComponent, {
1234
- mode: 'text',
1235
- content: getI18n('vxe.custom.setting.putBottom'),
1236
- title: getI18n('vxe.custom.setting.putBottomTitle'),
1237
- disabled: index >= items.length - 1,
1238
- onClick (evntParame) {
1239
- sortMoveBottomEvent(evntParame, column)
1240
- }
1241
- })
1242
- : renderEmptyElement($xeTable)
1243
- ]
1244
- : [])
1245
- : 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
+ })
1246
1135
  ])
1247
- ]),
1248
- allowResizable
1249
- ? h('td', {
1250
- class: 'vxe-table-custom-popup--column-item col--resizable'
1251
- }, [
1252
- (
1253
- (column.children && column.children.length) ||
1254
- !(XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable))
1255
- )
1256
- ? h('span', '-')
1257
- : (
1258
- VxeUINumberInputComponent
1259
- ? h(VxeUINumberInputComponent, {
1260
- type: 'integer',
1261
- immediate: false,
1262
- disabled: isHidden,
1263
- modelValue: column.renderResizeWidth,
1264
- min: customMinWidth || undefined,
1265
- max: customMaxWidth || undefined,
1266
- 'onUpdate:modelValue' (value: any) {
1267
- const width = Math.max(0, Number(value))
1268
- column.renderResizeWidth = width
1269
- },
1270
- onChange () {
1271
- 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)
1272
1195
  }
1273
1196
  })
1274
- : renderEmptyElement($xeTable)
1275
- )
1276
- ])
1277
- : renderEmptyElement($xeTable),
1278
- allowFixed
1279
- ? h('td', {
1280
- class: 'vxe-table-custom-popup--column-item col--fixed'
1281
- }, [
1282
- parentItem
1283
- ? h('span', '-')
1284
- : (
1285
- VxeUIRadioGroupComponent
1286
- ? h(VxeUIRadioGroupComponent, {
1287
- modelValue: column.renderFixed || '',
1288
- type: 'button',
1289
- size: 'mini',
1290
- disabled: isHidden,
1291
- options: [
1292
- { label: getI18n('vxe.custom.setting.fixedLeft'), value: 'left', disabled: isHidden || isMaxFixedColumn },
1293
- { label: getI18n('vxe.custom.setting.fixedUnset'), value: '', disabled: isHidden },
1294
- { label: getI18n('vxe.custom.setting.fixedRight'), value: 'right', disabled: isHidden || isMaxFixedColumn }
1295
- ],
1296
- onChange ({ label, $event }) {
1297
- 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)
1298
1228
  }
1299
1229
  })
1300
1230
  : renderEmptyElement($xeTable)
1301
- )
1302
- ])
1303
- : renderEmptyElement($xeTable)
1231
+ ]
1232
+ : [])
1233
+ : renderEmptyElement($xeTable)
1234
+ ])
1304
1235
  ])
1305
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
+ )
1306
1388
  }
1307
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
+
1308
1544
  const scopedSlots: Record<string, any> = {
1309
1545
  default: () => {
1310
1546
  return h('div', {
1311
1547
  ref: refBodyWrapperElem,
1312
- 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
1313
1552
  }, defaultSlot
1314
1553
  ? $xeTable.callSlot(defaultSlot, params)
1315
1554
  : [
@@ -1331,62 +1570,16 @@ export default defineVxeComponent({
1331
1570
  class: 'vxe-table-custom-popup--table-wrapper'
1332
1571
  }, [
1333
1572
  h('table', {}, [
1334
- h('colgroup', {}, [
1335
- allowVisible
1336
- ? h('col', {
1337
- class: 'vxe-table-custom-popup--table-col-seq'
1338
- })
1339
- : renderEmptyElement($xeTable),
1340
- h('col', {
1341
- class: 'vxe-table-custom-popup--table-col-title'
1342
- }),
1343
- allowResizable
1344
- ? h('col', {
1345
- class: 'vxe-table-custom-popup--table-col-width'
1346
- })
1347
- : renderEmptyElement($xeTable),
1348
- allowFixed
1349
- ? h('col', {
1350
- class: 'vxe-table-custom-popup--table-col-fixed'
1351
- })
1352
- : renderEmptyElement($xeTable)
1353
- ]),
1573
+ h('colgroup', {}, colVNs),
1354
1574
  h('thead', {}, [
1355
- h('tr', {}, [
1356
- allowVisible
1357
- ? h('th', {}, [
1358
- h('div', {
1359
- class: ['vxe-table-custom--checkbox-option', {
1360
- 'is--checked': isAllChecked,
1361
- 'is--indeterminate': isAllIndeterminate
1362
- }],
1363
- title: getI18n('vxe.table.allTitle'),
1364
- onClick: allOptionEvent
1365
- }, [
1366
- h('span', {
1367
- class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
1368
- }),
1369
- h('span', {
1370
- class: 'vxe-checkbox--label'
1371
- }, getI18n('vxe.toolbar.customAll'))
1372
- ])
1373
- ])
1374
- : renderEmptyElement($xeTable),
1375
- h('th', {}, getI18n('vxe.custom.setting.colTitle')),
1376
- allowResizable
1377
- ? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
1378
- : renderEmptyElement($xeTable),
1379
- allowFixed
1380
- ? h('th', {}, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
1381
- : renderEmptyElement($xeTable)
1382
- ])
1575
+ h('tr', {}, headVNs)
1383
1576
  ]),
1384
1577
  h(TransitionGroup, {
1385
1578
  class: 'vxe-table-custom--panel-list',
1386
1579
  tag: 'tbody',
1387
1580
  name: 'vxe-table-custom--list'
1388
1581
  }, {
1389
- default: () => trVNs
1582
+ default: () => renderPopupBodys()
1390
1583
  })
1391
1584
  ])
1392
1585
  ]),
@@ -1421,6 +1614,7 @@ export default defineVxeComponent({
1421
1614
  immediate
1422
1615
  ? (VxeUIButtonComponent
1423
1616
  ? h(VxeUIButtonComponent, {
1617
+ status: 'primary',
1424
1618
  content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
1425
1619
  onClick: cancelCloseEvent
1426
1620
  })
@@ -1472,8 +1666,8 @@ export default defineVxeComponent({
1472
1666
  className: ['vxe-table-custom-modal-wrapper', 'vxe-table--ignore-clear', modalOpts.className || ''].join(' '),
1473
1667
  modelValue: customStore.visible,
1474
1668
  title: modalOpts.title || getI18n('vxe.custom.cstmTitle'),
1475
- width: modalOpts.width || Math.min(880, document.documentElement.clientWidth),
1476
- minWidth: modalOpts.minWidth || 700,
1669
+ width: modalOpts.width || Math.min(1000, document.documentElement.clientWidth),
1670
+ minWidth: modalOpts.minWidth || 800,
1477
1671
  height: modalOpts.height || Math.min(680, document.documentElement.clientHeight),
1478
1672
  minHeight: modalOpts.minHeight || 400,
1479
1673
  showZoom: modalOpts.showZoom,
@@ -1482,6 +1676,7 @@ export default defineVxeComponent({
1482
1676
  mask: modalOpts.mask,
1483
1677
  lockView: modalOpts.lockView,
1484
1678
  resize: modalOpts.resize,
1679
+ transfer: modalOpts.transfer,
1485
1680
  escClosable: !!modalOpts.escClosable,
1486
1681
  maskClosable: !!modalOpts.maskClosable,
1487
1682
  destroyOnClose: true,