vxe-table 4.13.39 → 4.13.41

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 (222) hide show
  1. package/README.en.md +2 -0
  2. package/README.ja-JP.md +2 -0
  3. package/README.md +3 -0
  4. package/README.zh-TW.md +3 -1
  5. package/es/grid/src/grid.js +21 -6
  6. package/es/{iconfont.1749800539928.ttf → iconfont.1750153812846.ttf} +0 -0
  7. package/es/iconfont.1750153812846.woff +0 -0
  8. package/es/iconfont.1750153812846.woff2 +0 -0
  9. package/es/index.css +1 -1
  10. package/es/index.min.css +1 -1
  11. package/es/locale/lang/ar-EG.js +6 -0
  12. package/es/locale/lang/de-DE.js +6 -0
  13. package/es/locale/lang/en-US.js +6 -0
  14. package/es/locale/lang/es-ES.js +6 -0
  15. package/es/locale/lang/fr-FR.js +6 -0
  16. package/es/locale/lang/hu-HU.js +6 -0
  17. package/es/locale/lang/hy-AM.js +6 -0
  18. package/es/locale/lang/id-ID.js +6 -0
  19. package/es/locale/lang/it-IT.js +6 -0
  20. package/es/locale/lang/ja-JP.js +6 -0
  21. package/es/locale/lang/ko-KR.js +6 -0
  22. package/es/locale/lang/ms-MY.js +6 -0
  23. package/es/locale/lang/nb-NO.js +6 -0
  24. package/es/locale/lang/pt-BR.js +6 -0
  25. package/es/locale/lang/ru-RU.js +6 -0
  26. package/es/locale/lang/th-TH.js +6 -0
  27. package/es/locale/lang/ug-CN.js +6 -0
  28. package/es/locale/lang/uk-UA.js +6 -0
  29. package/es/locale/lang/uz-UZ.js +6 -0
  30. package/es/locale/lang/vi-VN.js +6 -0
  31. package/es/locale/lang/zh-CHT.js +6 -0
  32. package/es/locale/lang/zh-CN.js +6 -0
  33. package/es/style.css +1 -1
  34. package/es/style.min.css +1 -1
  35. package/es/table/module/custom/hook.js +29 -4
  36. package/es/table/module/custom/panel.js +105 -93
  37. package/es/table/module/export/export-panel.js +3 -2
  38. package/es/table/module/export/import-panel.js +3 -2
  39. package/es/table/module/filter/panel.js +3 -2
  40. package/es/table/module/menu/panel.js +3 -2
  41. package/es/table/src/body.js +7 -5
  42. package/es/table/src/cell.js +14 -14
  43. package/es/table/src/column.js +3 -2
  44. package/es/table/src/footer.js +3 -2
  45. package/es/table/src/group.js +3 -2
  46. package/es/table/src/header.js +3 -2
  47. package/es/table/src/props.js +28 -7
  48. package/es/table/src/table.js +64 -47
  49. package/es/table/style.css +22 -3
  50. package/es/table/style.min.css +1 -1
  51. package/es/toolbar/src/toolbar.js +155 -61
  52. package/es/ui/index.js +12 -1
  53. package/es/ui/src/comp.js +2 -0
  54. package/es/ui/src/log.js +1 -1
  55. package/es/vxe-table/style.css +22 -3
  56. package/es/vxe-table/style.min.css +1 -1
  57. package/lib/grid/src/grid.js +20 -5
  58. package/lib/grid/src/grid.min.js +1 -1
  59. package/lib/{iconfont.1749800539928.ttf → iconfont.1750153812846.ttf} +0 -0
  60. package/lib/iconfont.1750153812846.woff +0 -0
  61. package/lib/iconfont.1750153812846.woff2 +0 -0
  62. package/lib/index.css +1 -1
  63. package/lib/index.min.css +1 -1
  64. package/lib/index.umd.js +350 -150
  65. package/lib/index.umd.min.js +1 -1
  66. package/lib/locale/lang/ar-EG.js +6 -0
  67. package/lib/locale/lang/ar-EG.min.js +1 -1
  68. package/lib/locale/lang/ar-EG.umd.js +6 -0
  69. package/lib/locale/lang/de-DE.js +6 -0
  70. package/lib/locale/lang/de-DE.min.js +1 -1
  71. package/lib/locale/lang/de-DE.umd.js +6 -0
  72. package/lib/locale/lang/en-US.js +6 -0
  73. package/lib/locale/lang/en-US.min.js +1 -1
  74. package/lib/locale/lang/en-US.umd.js +6 -0
  75. package/lib/locale/lang/es-ES.js +6 -0
  76. package/lib/locale/lang/es-ES.min.js +1 -1
  77. package/lib/locale/lang/es-ES.umd.js +6 -0
  78. package/lib/locale/lang/fr-FR.js +6 -0
  79. package/lib/locale/lang/fr-FR.min.js +1 -1
  80. package/lib/locale/lang/fr-FR.umd.js +6 -0
  81. package/lib/locale/lang/hu-HU.js +6 -0
  82. package/lib/locale/lang/hu-HU.min.js +1 -1
  83. package/lib/locale/lang/hu-HU.umd.js +6 -0
  84. package/lib/locale/lang/hy-AM.js +6 -0
  85. package/lib/locale/lang/hy-AM.min.js +1 -1
  86. package/lib/locale/lang/hy-AM.umd.js +6 -0
  87. package/lib/locale/lang/id-ID.js +6 -0
  88. package/lib/locale/lang/id-ID.min.js +1 -1
  89. package/lib/locale/lang/id-ID.umd.js +6 -0
  90. package/lib/locale/lang/it-IT.js +6 -0
  91. package/lib/locale/lang/it-IT.min.js +1 -1
  92. package/lib/locale/lang/it-IT.umd.js +6 -0
  93. package/lib/locale/lang/ja-JP.js +6 -0
  94. package/lib/locale/lang/ja-JP.min.js +1 -1
  95. package/lib/locale/lang/ja-JP.umd.js +6 -0
  96. package/lib/locale/lang/ko-KR.js +6 -0
  97. package/lib/locale/lang/ko-KR.min.js +1 -1
  98. package/lib/locale/lang/ko-KR.umd.js +6 -0
  99. package/lib/locale/lang/ms-MY.js +6 -0
  100. package/lib/locale/lang/ms-MY.min.js +1 -1
  101. package/lib/locale/lang/ms-MY.umd.js +6 -0
  102. package/lib/locale/lang/nb-NO.js +6 -0
  103. package/lib/locale/lang/nb-NO.min.js +1 -1
  104. package/lib/locale/lang/nb-NO.umd.js +6 -0
  105. package/lib/locale/lang/pt-BR.js +6 -0
  106. package/lib/locale/lang/pt-BR.min.js +1 -1
  107. package/lib/locale/lang/pt-BR.umd.js +6 -0
  108. package/lib/locale/lang/ru-RU.js +6 -0
  109. package/lib/locale/lang/ru-RU.min.js +1 -1
  110. package/lib/locale/lang/ru-RU.umd.js +6 -0
  111. package/lib/locale/lang/th-TH.js +6 -0
  112. package/lib/locale/lang/th-TH.min.js +1 -1
  113. package/lib/locale/lang/th-TH.umd.js +6 -0
  114. package/lib/locale/lang/ug-CN.js +6 -0
  115. package/lib/locale/lang/ug-CN.min.js +1 -1
  116. package/lib/locale/lang/ug-CN.umd.js +6 -0
  117. package/lib/locale/lang/uk-UA.js +6 -0
  118. package/lib/locale/lang/uk-UA.min.js +1 -1
  119. package/lib/locale/lang/uk-UA.umd.js +6 -0
  120. package/lib/locale/lang/uz-UZ.js +6 -0
  121. package/lib/locale/lang/uz-UZ.min.js +1 -1
  122. package/lib/locale/lang/uz-UZ.umd.js +6 -0
  123. package/lib/locale/lang/vi-VN.js +6 -0
  124. package/lib/locale/lang/vi-VN.min.js +1 -1
  125. package/lib/locale/lang/vi-VN.umd.js +6 -0
  126. package/lib/locale/lang/zh-CHT.js +6 -0
  127. package/lib/locale/lang/zh-CHT.min.js +1 -1
  128. package/lib/locale/lang/zh-CHT.umd.js +6 -0
  129. package/lib/locale/lang/zh-CN.js +6 -0
  130. package/lib/locale/lang/zh-CN.min.js +1 -1
  131. package/lib/locale/lang/zh-CN.umd.js +6 -0
  132. package/lib/style.css +1 -1
  133. package/lib/style.min.css +1 -1
  134. package/lib/table/module/custom/hook.js +32 -4
  135. package/lib/table/module/custom/hook.min.js +1 -1
  136. package/lib/table/module/custom/panel.js +14 -3
  137. package/lib/table/module/custom/panel.min.js +1 -1
  138. package/lib/table/module/export/export-panel.js +2 -1
  139. package/lib/table/module/export/export-panel.min.js +1 -1
  140. package/lib/table/module/export/import-panel.js +2 -1
  141. package/lib/table/module/export/import-panel.min.js +1 -1
  142. package/lib/table/module/filter/panel.js +2 -1
  143. package/lib/table/module/filter/panel.min.js +1 -1
  144. package/lib/table/module/menu/panel.js +2 -1
  145. package/lib/table/module/menu/panel.min.js +1 -1
  146. package/lib/table/src/body.js +9 -9
  147. package/lib/table/src/body.min.js +1 -1
  148. package/lib/table/src/cell.js +16 -16
  149. package/lib/table/src/cell.min.js +1 -1
  150. package/lib/table/src/column.js +2 -1
  151. package/lib/table/src/column.min.js +1 -1
  152. package/lib/table/src/footer.js +2 -1
  153. package/lib/table/src/footer.min.js +1 -1
  154. package/lib/table/src/group.js +2 -1
  155. package/lib/table/src/group.min.js +1 -1
  156. package/lib/table/src/header.js +2 -1
  157. package/lib/table/src/header.min.js +1 -1
  158. package/lib/table/src/props.js +28 -7
  159. package/lib/table/src/table.js +13 -11
  160. package/lib/table/src/table.min.js +1 -1
  161. package/lib/table/style/style.css +22 -3
  162. package/lib/table/style/style.min.css +1 -1
  163. package/lib/toolbar/src/toolbar.js +180 -85
  164. package/lib/toolbar/src/toolbar.min.js +1 -1
  165. package/lib/ui/index.js +12 -1
  166. package/lib/ui/index.min.js +1 -1
  167. package/lib/ui/src/comp.js +8 -0
  168. package/lib/ui/src/comp.min.js +1 -0
  169. package/lib/ui/src/log.js +1 -1
  170. package/lib/ui/src/log.min.js +1 -1
  171. package/lib/vxe-table/style/style.css +22 -3
  172. package/lib/vxe-table/style/style.min.css +1 -1
  173. package/package.json +1 -1
  174. package/packages/grid/src/grid.ts +29 -7
  175. package/packages/locale/lang/ar-EG.ts +6 -0
  176. package/packages/locale/lang/de-DE.ts +6 -0
  177. package/packages/locale/lang/en-US.ts +6 -0
  178. package/packages/locale/lang/es-ES.ts +6 -0
  179. package/packages/locale/lang/fr-FR.ts +6 -0
  180. package/packages/locale/lang/hu-HU.ts +6 -0
  181. package/packages/locale/lang/hy-AM.ts +6 -0
  182. package/packages/locale/lang/id-ID.ts +6 -0
  183. package/packages/locale/lang/it-IT.ts +6 -0
  184. package/packages/locale/lang/ja-JP.ts +6 -0
  185. package/packages/locale/lang/ko-KR.ts +6 -0
  186. package/packages/locale/lang/ms-MY.ts +6 -0
  187. package/packages/locale/lang/nb-NO.ts +6 -0
  188. package/packages/locale/lang/pt-BR.ts +6 -0
  189. package/packages/locale/lang/ru-RU.ts +6 -0
  190. package/packages/locale/lang/th-TH.ts +6 -0
  191. package/packages/locale/lang/ug-CN.ts +6 -0
  192. package/packages/locale/lang/uk-UA.ts +6 -0
  193. package/packages/locale/lang/uz-UZ.ts +6 -0
  194. package/packages/locale/lang/vi-VN.ts +6 -0
  195. package/packages/locale/lang/zh-CHT.ts +6 -0
  196. package/packages/locale/lang/zh-CN.ts +6 -0
  197. package/packages/table/module/custom/hook.ts +27 -4
  198. package/packages/table/module/custom/panel.ts +114 -102
  199. package/packages/table/module/export/export-panel.ts +3 -2
  200. package/packages/table/module/export/import-panel.ts +3 -2
  201. package/packages/table/module/filter/panel.ts +3 -2
  202. package/packages/table/module/menu/panel.ts +3 -2
  203. package/packages/table/src/body.ts +10 -8
  204. package/packages/table/src/cell.ts +14 -14
  205. package/packages/table/src/column.ts +3 -2
  206. package/packages/table/src/footer.ts +3 -2
  207. package/packages/table/src/group.ts +3 -2
  208. package/packages/table/src/header.ts +3 -2
  209. package/packages/table/src/props.ts +28 -7
  210. package/packages/table/src/table.ts +66 -46
  211. package/packages/toolbar/src/toolbar.ts +157 -58
  212. package/packages/ui/index.ts +11 -0
  213. package/packages/ui/src/comp.ts +3 -0
  214. package/styles/components/icon.scss +13 -1
  215. package/styles/components/table-module/custom.scss +9 -2
  216. package/styles/icon/iconfont.ttf +0 -0
  217. package/styles/icon/iconfont.woff +0 -0
  218. package/styles/icon/iconfont.woff2 +0 -0
  219. package/es/iconfont.1749800539928.woff +0 -0
  220. package/es/iconfont.1749800539928.woff2 +0 -0
  221. package/lib/iconfont.1749800539928.woff +0 -0
  222. package/lib/iconfont.1749800539928.woff2 +0 -0
@@ -1,24 +1,31 @@
1
- import { defineComponent, h, ref, Ref, computed, inject, createCommentVNode, VNode, reactive, nextTick, PropType } from 'vue'
1
+ import { h, ref, Ref, computed, inject, createCommentVNode, VNode, reactive, nextTick, PropType } from 'vue'
2
+ import { defineVxeComponent } from '../../ui/src/comp'
2
3
  import XEUtils from 'xe-utils'
3
4
  import { VxeUI } from '../../ui'
4
5
  import { getSlotVNs } from '../../ui/src/vn'
5
6
  import { warnLog, errLog } from '../../ui/src/log'
6
7
 
7
- import type { ValueOf, VxeButtonComponent, VxeButtonEvents, VxeComponentSlotType } from 'vxe-pc-ui'
8
+ import type { ValueOf, VxeButtonComponent, VxeButtonEvents, VxeComponentSlotType, VxeButtonDefines } from 'vxe-pc-ui'
8
9
  import type { VxeGridConstructor, GridPrivateMethods, ToolbarMethods, ToolbarInternalData, VxeToolbarConstructor, VxeToolbarEmits, VxeToolbarPropTypes, ToolbarPrivateRef, ToolbarReactData, VxeTableConstructor, VxeTablePrivateMethods } from '../../../types'
9
10
 
10
11
  const { getConfig, getIcon, getI18n, renderer, commands, createEvent, useFns } = VxeUI
11
12
 
12
- export default defineComponent({
13
+ export default defineVxeComponent({
13
14
  name: 'VxeToolbar',
14
15
  props: {
15
16
  loading: Boolean,
16
17
  refresh: [Boolean, Object] as PropType<VxeToolbarPropTypes.Refresh>,
18
+ refreshOptions: Object as PropType<VxeToolbarPropTypes.RefreshOptions>,
17
19
  import: [Boolean, Object] as PropType<VxeToolbarPropTypes.Import>,
20
+ importOptions: Object as PropType<VxeToolbarPropTypes.ImportOptions>,
18
21
  export: [Boolean, Object] as PropType<VxeToolbarPropTypes.Export>,
22
+ exportOptions: Object as PropType<VxeToolbarPropTypes.ExportOptions>,
19
23
  print: [Boolean, Object] as PropType<VxeToolbarPropTypes.Print>,
24
+ printOptions: Object as PropType<VxeToolbarPropTypes.PrintOptions>,
20
25
  zoom: [Boolean, Object] as PropType< VxeToolbarPropTypes.Zoom>,
26
+ zoomOptions: Object as PropType< VxeToolbarPropTypes.ZoomOptions>,
21
27
  custom: [Boolean, Object] as PropType<VxeToolbarPropTypes.Custom>,
28
+ customOptions: Object as PropType<VxeToolbarPropTypes.CustomOptions>,
22
29
  buttons: {
23
30
  type: Array as PropType<VxeToolbarPropTypes.Buttons>,
24
31
  default: () => getConfig().toolbar.buttons
@@ -81,27 +88,27 @@ export default defineComponent({
81
88
  const $xeGrid = inject<(VxeGridConstructor & GridPrivateMethods) | null>('$xeGrid', null)
82
89
 
83
90
  const computeRefreshOpts = computed(() => {
84
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.refresh, true), props.refresh) as VxeToolbarPropTypes.RefreshOpts
91
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.refresh, true), props.refreshOptions, props.refresh) as VxeToolbarPropTypes.RefreshOptions
85
92
  })
86
93
 
87
94
  const computeImportOpts = computed(() => {
88
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.import, true), props.import) as VxeToolbarPropTypes.ImportOpts
95
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.import, true), props.importOptions, props.import) as VxeToolbarPropTypes.ImportOptions
89
96
  })
90
97
 
91
98
  const computeExportOpts = computed(() => {
92
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.export, true), props.export) as VxeToolbarPropTypes.ExportOpts
99
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.export, true), props.exportOptions, props.export) as VxeToolbarPropTypes.ExportOptions
93
100
  })
94
101
 
95
102
  const computePrintOpts = computed(() => {
96
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.print, true), props.print) as VxeToolbarPropTypes.PrintOpts
103
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.print, true), props.printOptions, props.print) as VxeToolbarPropTypes.PrintOptions
97
104
  })
98
105
 
99
106
  const computeZoomOpts = computed(() => {
100
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.zoom, true), props.zoom) as VxeToolbarPropTypes.ZoomOpts
107
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.zoom, true), props.zoomOptions, props.zoom) as VxeToolbarPropTypes.ZoomOptions
101
108
  })
102
109
 
103
110
  const computeCustomOpts = computed(() => {
104
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.custom, true), props.custom) as VxeToolbarPropTypes.CustomOpts
111
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.custom, true), props.customOptions, props.custom) as VxeToolbarPropTypes.CustomOptions
105
112
  })
106
113
 
107
114
  const computeTableCustomOpts = computed(() => {
@@ -188,66 +195,42 @@ export default defineComponent({
188
195
  const zoomEvent: VxeButtonEvents.Click = ({ $event }) => {
189
196
  if ($xeGrid) {
190
197
  $xeGrid.triggerZoomEvent($event)
198
+ } else {
199
+ warnLog('vxe.error.notProp', ['zoom'])
191
200
  }
192
201
  }
193
202
 
194
- const btnEvent = (evnt: Event, item: VxeToolbarPropTypes.ButtonConfig) => {
195
- const { connectTable } = internalData
196
- const $table = connectTable
197
- const { code } = item
198
- if (code) {
199
- if ($xeGrid) {
200
- $xeGrid.triggerToolbarBtnEvent(item, evnt)
201
- } else {
202
- const gCommandOpts = commands.get(code)
203
- const params = { code, button: item, $table: $table!, $grid: $xeGrid, $event: evnt }
204
- if (gCommandOpts) {
205
- const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod
206
- if (tCommandMethod) {
207
- tCommandMethod(params)
208
- } else {
209
- errLog('vxe.error.notCommands', [code])
210
- }
211
- }
212
- $xeToolbar.dispatchEvent('button-click', params, evnt)
203
+ const importEvent = () => {
204
+ if (checkTable()) {
205
+ const { connectTable } = internalData
206
+ const $table = connectTable
207
+ if ($table) {
208
+ $table.importData()
213
209
  }
214
210
  }
215
211
  }
216
212
 
217
- const tolEvent = (evnt: Event, item: VxeToolbarPropTypes.ButtonConfig) => {
218
- const { connectTable } = internalData
219
- const $table = connectTable
220
- const { code } = item
221
- if (code) {
222
- if ($xeGrid) {
223
- $xeGrid.triggerToolbarTolEvent(item, evnt)
224
- } else {
225
- const gCommandOpts = commands.get(code)
226
- const params = { code, button: null, tool: item, $table: $table!, $grid: $xeGrid, $event: evnt }
227
- if (gCommandOpts) {
228
- const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod
229
- if (tCommandMethod) {
230
- tCommandMethod(params)
231
- } else {
232
- errLog('vxe.error.notCommands', [code])
233
- }
234
- }
235
- $xeToolbar.dispatchEvent('tool-click', params, evnt)
213
+ const openImportEvent = () => {
214
+ if (checkTable()) {
215
+ const { connectTable } = internalData
216
+ const $table = connectTable
217
+ if ($table) {
218
+ $table.openImport()
236
219
  }
237
220
  }
238
221
  }
239
222
 
240
- const importEvent = () => {
223
+ const exportEvent = () => {
241
224
  if (checkTable()) {
242
225
  const { connectTable } = internalData
243
226
  const $table = connectTable
244
227
  if ($table) {
245
- $table.openImport()
228
+ $table.exportData()
246
229
  }
247
230
  }
248
231
  }
249
232
 
250
- const exportEvent = () => {
233
+ const openExportEvent = () => {
251
234
  if (checkTable()) {
252
235
  const { connectTable } = internalData
253
236
  const $table = connectTable
@@ -258,6 +241,16 @@ export default defineComponent({
258
241
  }
259
242
 
260
243
  const printEvent = () => {
244
+ if (checkTable()) {
245
+ const { connectTable } = internalData
246
+ const $table = connectTable
247
+ if ($table) {
248
+ $table.print()
249
+ }
250
+ }
251
+ }
252
+
253
+ const openPrintEvent = () => {
261
254
  if (checkTable()) {
262
255
  const { connectTable } = internalData
263
256
  const $table = connectTable
@@ -267,6 +260,93 @@ export default defineComponent({
267
260
  }
268
261
  }
269
262
 
263
+ const handleDefaultCodeEvent = (eventParams: VxeButtonDefines.ClickEventParams, item: VxeToolbarPropTypes.ButtonConfig | VxeToolbarPropTypes.ToolConfig, cb: () => void) => {
264
+ switch (item.code) {
265
+ case 'print':
266
+ printEvent()
267
+ break
268
+ case 'open_print':
269
+ openPrintEvent()
270
+ break
271
+ case 'custom':
272
+ handleClickSettingEvent(eventParams)
273
+ break
274
+ case 'export':
275
+ exportEvent()
276
+ break
277
+ case 'open_export':
278
+ openExportEvent()
279
+ break
280
+ case 'import':
281
+ importEvent()
282
+ break
283
+ case 'open_import':
284
+ openImportEvent()
285
+ break
286
+ case 'zoom':
287
+ zoomEvent(eventParams)
288
+ break
289
+ case 'refresh':
290
+ refreshEvent(eventParams)
291
+ break
292
+ default:
293
+ cb()
294
+ break
295
+ }
296
+ }
297
+
298
+ const btnEvent = (eventParams: VxeButtonDefines.ClickEventParams, item: VxeToolbarPropTypes.ButtonConfig) => {
299
+ const { $event } = eventParams
300
+ const { connectTable } = internalData
301
+ const $table = connectTable
302
+ const { code } = item
303
+ if (code) {
304
+ handleDefaultCodeEvent(eventParams, item, () => {
305
+ if ($xeGrid) {
306
+ $xeGrid.triggerToolbarBtnEvent(item, $event)
307
+ } else {
308
+ const gCommandOpts = commands.get(code)
309
+ const params = { code, button: item, $table: $table!, $grid: $xeGrid, $event }
310
+ if (gCommandOpts) {
311
+ const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod
312
+ if (tCommandMethod) {
313
+ tCommandMethod(params)
314
+ } else {
315
+ errLog('vxe.error.notCommands', [code])
316
+ }
317
+ }
318
+ $xeToolbar.dispatchEvent('button-click', params, $event)
319
+ }
320
+ })
321
+ }
322
+ }
323
+
324
+ const tolEvent = (eventParams: VxeButtonDefines.ClickEventParams, item: VxeToolbarPropTypes.ToolConfig) => {
325
+ const { $event } = eventParams
326
+ const { connectTable } = internalData
327
+ const $table = connectTable
328
+ const { code } = item
329
+ if (code) {
330
+ handleDefaultCodeEvent(eventParams, item, () => {
331
+ if ($xeGrid) {
332
+ $xeGrid.triggerToolbarTolEvent(item, $event)
333
+ } else {
334
+ const gCommandOpts = commands.get(code)
335
+ const params = { code, button: null, tool: item, $table: $table!, $grid: $xeGrid, $event }
336
+ if (gCommandOpts) {
337
+ const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod
338
+ if (tCommandMethod) {
339
+ tCommandMethod(params)
340
+ } else {
341
+ errLog('vxe.error.notCommands', [code])
342
+ }
343
+ }
344
+ $xeToolbar.dispatchEvent('tool-click', params, $event)
345
+ }
346
+ })
347
+ }
348
+ }
349
+
270
350
  const dispatchEvent = (type: ValueOf<VxeToolbarEmits>, params: Record<string, any>, evnt: Event | null) => {
271
351
  emit(type, createEvent(evnt, { $toolbar: $xeToolbar }, params))
272
352
  }
@@ -307,7 +387,7 @@ export default defineComponent({
307
387
  permissionCode: child.permissionCode,
308
388
  prefixTooltip: child.prefixTooltip,
309
389
  suffixTooltip: child.suffixTooltip,
310
- onClick: ({ $event }) => isBtn ? btnEvent($event, child) : tolEvent($event, child)
390
+ onClick: (eventParams) => isBtn ? btnEvent(eventParams, child) : tolEvent(eventParams, child)
311
391
  })
312
392
  : createCommentVNode()
313
393
  })
@@ -364,7 +444,7 @@ export default defineComponent({
364
444
  destroyOnClose: item.destroyOnClose,
365
445
  placement: item.placement,
366
446
  transfer: item.transfer,
367
- onClick: ({ $event }) => btnEvent($event, item)
447
+ onClick: (eventParams) => btnEvent(eventParams, item)
368
448
  }, dropdowns && dropdowns.length
369
449
  ? {
370
450
  dropdowns: () => renderDropdowns(item, true)
@@ -432,7 +512,7 @@ export default defineComponent({
432
512
  destroyOnClose: item.destroyOnClose,
433
513
  placement: item.placement,
434
514
  transfer: item.transfer,
435
- onClick: ({ $event }) => tolEvent($event, item)
515
+ onClick: (eventParams) => tolEvent(eventParams, item)
436
516
  }, dropdowns && dropdowns.length
437
517
  ? {
438
518
  dropdowns: () => renderDropdowns(item, false)
@@ -458,7 +538,7 @@ export default defineComponent({
458
538
  circle: true,
459
539
  icon: importOpts.icon || getIcon().TOOLBAR_TOOLS_IMPORT,
460
540
  title: getI18n('vxe.toolbar.import'),
461
- onClick: importEvent
541
+ onClick: openImportEvent
462
542
  })
463
543
  : createCommentVNode()
464
544
  }
@@ -471,7 +551,7 @@ export default defineComponent({
471
551
  circle: true,
472
552
  icon: exportOpts.icon || getIcon().TOOLBAR_TOOLS_EXPORT,
473
553
  title: getI18n('vxe.toolbar.export'),
474
- onClick: exportEvent
554
+ onClick: openExportEvent
475
555
  })
476
556
  : createCommentVNode()
477
557
  }
@@ -484,7 +564,7 @@ export default defineComponent({
484
564
  circle: true,
485
565
  icon: printOpts.icon || getIcon().TOOLBAR_TOOLS_PRINT,
486
566
  title: getI18n('vxe.toolbar.print'),
487
- onClick: printEvent
567
+ onClick: openPrintEvent
488
568
  })
489
569
  : createCommentVNode()
490
570
  }
@@ -583,12 +663,31 @@ export default defineComponent({
583
663
  $xeToolbar.renderVN = renderVN
584
664
 
585
665
  nextTick(() => {
586
- const { refresh } = props
587
666
  const refreshOpts = computeRefreshOpts.value
588
667
  const queryMethod = refreshOpts.queryMethod || refreshOpts.query
589
- if (refresh && !$xeGrid && !queryMethod) {
668
+ if (props.refresh && !$xeGrid && !queryMethod) {
590
669
  warnLog('vxe.error.notFunc', ['queryMethod'])
591
670
  }
671
+
672
+ if (XEUtils.isPlainObject(props.custom)) {
673
+ warnLog('vxe.error.delProp', ['custom={...}', 'custom=boolean & custom-options={...}'])
674
+ }
675
+ if (XEUtils.isPlainObject(props.print)) {
676
+ warnLog('vxe.error.delProp', ['print={...}', 'print=boolean & print-options={...}'])
677
+ }
678
+ if (XEUtils.isPlainObject(props.export)) {
679
+ warnLog('vxe.error.delProp', ['export={...}', 'export=boolean & export-options={...}'])
680
+ }
681
+ if (XEUtils.isPlainObject(props.import)) {
682
+ warnLog('vxe.error.delProp', ['import={...}', 'import=boolean & import-options={...}'])
683
+ }
684
+ if (XEUtils.isPlainObject(props.refresh)) {
685
+ warnLog('vxe.error.delProp', ['refresh={...}', 'refresh=boolean & refresh-options={...}'])
686
+ }
687
+ if (XEUtils.isPlainObject(props.refresh)) {
688
+ warnLog('vxe.error.delProp', ['zoom={...}', 'zoom=boolean & zoom-options={...}'])
689
+ }
690
+
592
691
  const customOpts = computeCustomOpts.value
593
692
  if (customOpts.isFooter) {
594
693
  warnLog('vxe.error.delProp', ['toolbar.custom.isFooter', 'table.custom-config.showFooter'])
@@ -100,6 +100,14 @@ VxeUI.setConfig({
100
100
  showFooter: true,
101
101
  placement: 'top-right',
102
102
  // storage: false,
103
+ storeOptions: {
104
+ visible: true,
105
+ resizable: true,
106
+ sort: true,
107
+ fixed: true
108
+ // rowGroup: false,
109
+ // aggFunc: false
110
+ },
103
111
  // checkMethod () {},
104
112
  modalOptions: {
105
113
  showMaximize: true,
@@ -308,6 +316,9 @@ VxeUI.setIcon({
308
316
  TABLE_DRAG_DISABLED: iconPrefix + 'no-drop',
309
317
  TABLE_ROW_GROUP_OPEN: iconPrefix + 'arrow-right rotate90',
310
318
  TABLE_ROW_GROUP_CLOSE: iconPrefix + 'arrow-right',
319
+ TABLE_AGGREGATION_GROUPING: iconPrefix + 'grouping',
320
+ TABLE_AGGREGATION_VALUES: iconPrefix + 'values',
321
+ TABLE_AGGREGATION_DELETE: iconPrefix + 'close',
311
322
 
312
323
  // toolbar
313
324
  TOOLBAR_TOOLS_REFRESH: iconPrefix + 'repeat',
@@ -0,0 +1,3 @@
1
+ import { defineComponent } from 'vue'
2
+
3
+ export const defineVxeComponent = defineComponent
@@ -5,7 +5,7 @@
5
5
  @font-face {
6
6
  font-family: "vxetableiconfont";
7
7
  src:
8
- url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
8
+ url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2');
9
9
  }
10
10
 
11
11
  @keyframes rollCircle {
@@ -79,6 +79,18 @@ $btnThemeList: (
79
79
  }
80
80
  }
81
81
 
82
+ .vxe-table-icon-close:before {
83
+ content: "\e6e9";
84
+ }
85
+
86
+ .vxe-table-icon-grouping:before {
87
+ content: "\e66c";
88
+ }
89
+
90
+ .vxe-table-icon-values:before {
91
+ content: "\e66f";
92
+ }
93
+
82
94
  .vxe-table-icon-add-sub:before {
83
95
  content: "\e6bc";
84
96
  }
@@ -52,9 +52,14 @@
52
52
  }
53
53
  }
54
54
 
55
+ .vxe-table-custom--handle-wrapper {
56
+ display: flex;
57
+ flex-direction: column;
58
+ }
59
+
55
60
  .vxe-table-custom-wrapper {
56
61
  display: none;
57
- flex-direction: column;
62
+ flex-direction: row;
58
63
  position: absolute;
59
64
  text-align: left;
60
65
  background-color: var(--vxe-ui-layout-background-color);
@@ -120,8 +125,10 @@
120
125
  }
121
126
 
122
127
  .vxe-table-custom--header {
128
+ display: flex;
129
+ align-items: center;
123
130
  flex-shrink: 0;
124
- padding: 0.28em 0;
131
+ height: 2.4em;
125
132
  font-weight: 700;
126
133
  border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
127
134
  user-select: none;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file