vxe-table 3.15.39 → 3.15.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 (186) hide show
  1. package/es/grid/src/grid.js +73 -49
  2. package/es/{iconfont.1749800510225.ttf → iconfont.1750153781820.ttf} +0 -0
  3. package/es/iconfont.1750153781820.woff +0 -0
  4. package/es/iconfont.1750153781820.woff2 +0 -0
  5. package/es/index.css +1 -1
  6. package/es/index.min.css +1 -1
  7. package/es/locale/lang/ar-EG.js +6 -0
  8. package/es/locale/lang/de-DE.js +6 -0
  9. package/es/locale/lang/en-US.js +6 -0
  10. package/es/locale/lang/es-ES.js +6 -0
  11. package/es/locale/lang/fr-FR.js +6 -0
  12. package/es/locale/lang/hu-HU.js +6 -0
  13. package/es/locale/lang/hy-AM.js +6 -0
  14. package/es/locale/lang/id-ID.js +6 -0
  15. package/es/locale/lang/it-IT.js +6 -0
  16. package/es/locale/lang/ja-JP.js +6 -0
  17. package/es/locale/lang/ko-KR.js +6 -0
  18. package/es/locale/lang/ms-MY.js +6 -0
  19. package/es/locale/lang/nb-NO.js +6 -0
  20. package/es/locale/lang/pt-BR.js +6 -0
  21. package/es/locale/lang/ru-RU.js +6 -0
  22. package/es/locale/lang/th-TH.js +6 -0
  23. package/es/locale/lang/ug-CN.js +6 -0
  24. package/es/locale/lang/uk-UA.js +6 -0
  25. package/es/locale/lang/uz-UZ.js +6 -0
  26. package/es/locale/lang/vi-VN.js +6 -0
  27. package/es/locale/lang/zh-CHT.js +6 -0
  28. package/es/locale/lang/zh-CN.js +6 -0
  29. package/es/style.css +1 -1
  30. package/es/style.min.css +1 -1
  31. package/es/table/module/custom/mixin.js +29 -3
  32. package/es/table/module/custom/panel.js +118 -105
  33. package/es/table/src/body.js +8 -5
  34. package/es/table/src/cell.js +12 -12
  35. package/es/table/src/methods.js +34 -26
  36. package/es/table/src/props.js +32 -8
  37. package/es/table/src/table.js +57 -38
  38. package/es/table/style.css +22 -3
  39. package/es/table/style.min.css +1 -1
  40. package/es/toolbar/src/toolbar.js +163 -63
  41. package/es/ui/index.js +12 -1
  42. package/es/ui/src/log.js +1 -1
  43. package/es/vxe-table/style.css +22 -3
  44. package/es/vxe-table/style.min.css +1 -1
  45. package/lib/grid/src/grid.js +81 -82
  46. package/lib/grid/src/grid.min.js +1 -1
  47. package/lib/{iconfont.1749800510225.ttf → iconfont.1750153781820.ttf} +0 -0
  48. package/lib/iconfont.1750153781820.woff +0 -0
  49. package/lib/iconfont.1750153781820.woff2 +0 -0
  50. package/lib/index.css +1 -1
  51. package/lib/index.min.css +1 -1
  52. package/lib/index.umd.js +495 -288
  53. package/lib/index.umd.min.js +1 -1
  54. package/lib/locale/lang/ar-EG.js +6 -0
  55. package/lib/locale/lang/ar-EG.min.js +1 -1
  56. package/lib/locale/lang/ar-EG.umd.js +6 -0
  57. package/lib/locale/lang/de-DE.js +6 -0
  58. package/lib/locale/lang/de-DE.min.js +1 -1
  59. package/lib/locale/lang/de-DE.umd.js +6 -0
  60. package/lib/locale/lang/en-US.js +6 -0
  61. package/lib/locale/lang/en-US.min.js +1 -1
  62. package/lib/locale/lang/en-US.umd.js +6 -0
  63. package/lib/locale/lang/es-ES.js +6 -0
  64. package/lib/locale/lang/es-ES.min.js +1 -1
  65. package/lib/locale/lang/es-ES.umd.js +6 -0
  66. package/lib/locale/lang/fr-FR.js +6 -0
  67. package/lib/locale/lang/fr-FR.min.js +1 -1
  68. package/lib/locale/lang/fr-FR.umd.js +6 -0
  69. package/lib/locale/lang/hu-HU.js +6 -0
  70. package/lib/locale/lang/hu-HU.min.js +1 -1
  71. package/lib/locale/lang/hu-HU.umd.js +6 -0
  72. package/lib/locale/lang/hy-AM.js +6 -0
  73. package/lib/locale/lang/hy-AM.min.js +1 -1
  74. package/lib/locale/lang/hy-AM.umd.js +6 -0
  75. package/lib/locale/lang/id-ID.js +6 -0
  76. package/lib/locale/lang/id-ID.min.js +1 -1
  77. package/lib/locale/lang/id-ID.umd.js +6 -0
  78. package/lib/locale/lang/it-IT.js +6 -0
  79. package/lib/locale/lang/it-IT.min.js +1 -1
  80. package/lib/locale/lang/it-IT.umd.js +6 -0
  81. package/lib/locale/lang/ja-JP.js +6 -0
  82. package/lib/locale/lang/ja-JP.min.js +1 -1
  83. package/lib/locale/lang/ja-JP.umd.js +6 -0
  84. package/lib/locale/lang/ko-KR.js +6 -0
  85. package/lib/locale/lang/ko-KR.min.js +1 -1
  86. package/lib/locale/lang/ko-KR.umd.js +6 -0
  87. package/lib/locale/lang/ms-MY.js +6 -0
  88. package/lib/locale/lang/ms-MY.min.js +1 -1
  89. package/lib/locale/lang/ms-MY.umd.js +6 -0
  90. package/lib/locale/lang/nb-NO.js +6 -0
  91. package/lib/locale/lang/nb-NO.min.js +1 -1
  92. package/lib/locale/lang/nb-NO.umd.js +6 -0
  93. package/lib/locale/lang/pt-BR.js +6 -0
  94. package/lib/locale/lang/pt-BR.min.js +1 -1
  95. package/lib/locale/lang/pt-BR.umd.js +6 -0
  96. package/lib/locale/lang/ru-RU.js +6 -0
  97. package/lib/locale/lang/ru-RU.min.js +1 -1
  98. package/lib/locale/lang/ru-RU.umd.js +6 -0
  99. package/lib/locale/lang/th-TH.js +6 -0
  100. package/lib/locale/lang/th-TH.min.js +1 -1
  101. package/lib/locale/lang/th-TH.umd.js +6 -0
  102. package/lib/locale/lang/ug-CN.js +6 -0
  103. package/lib/locale/lang/ug-CN.min.js +1 -1
  104. package/lib/locale/lang/ug-CN.umd.js +6 -0
  105. package/lib/locale/lang/uk-UA.js +6 -0
  106. package/lib/locale/lang/uk-UA.min.js +1 -1
  107. package/lib/locale/lang/uk-UA.umd.js +6 -0
  108. package/lib/locale/lang/uz-UZ.js +6 -0
  109. package/lib/locale/lang/uz-UZ.min.js +1 -1
  110. package/lib/locale/lang/uz-UZ.umd.js +6 -0
  111. package/lib/locale/lang/vi-VN.js +6 -0
  112. package/lib/locale/lang/vi-VN.min.js +1 -1
  113. package/lib/locale/lang/vi-VN.umd.js +6 -0
  114. package/lib/locale/lang/zh-CHT.js +6 -0
  115. package/lib/locale/lang/zh-CHT.min.js +1 -1
  116. package/lib/locale/lang/zh-CHT.umd.js +6 -0
  117. package/lib/locale/lang/zh-CN.js +6 -0
  118. package/lib/locale/lang/zh-CN.min.js +1 -1
  119. package/lib/locale/lang/zh-CN.umd.js +6 -0
  120. package/lib/style.css +1 -1
  121. package/lib/style.min.css +1 -1
  122. package/lib/table/module/custom/mixin.js +32 -5
  123. package/lib/table/module/custom/mixin.min.js +1 -1
  124. package/lib/table/module/custom/panel.js +14 -2
  125. package/lib/table/module/custom/panel.min.js +1 -1
  126. package/lib/table/src/body.js +11 -11
  127. package/lib/table/src/body.min.js +1 -1
  128. package/lib/table/src/cell.js +14 -14
  129. package/lib/table/src/cell.min.js +1 -1
  130. package/lib/table/src/methods.js +38 -25
  131. package/lib/table/src/methods.min.js +1 -1
  132. package/lib/table/src/props.js +32 -8
  133. package/lib/table/src/table.js +64 -50
  134. package/lib/table/src/table.min.js +1 -1
  135. package/lib/table/style/style.css +22 -3
  136. package/lib/table/style/style.min.css +1 -1
  137. package/lib/toolbar/src/toolbar.js +189 -88
  138. package/lib/toolbar/src/toolbar.min.js +1 -1
  139. package/lib/ui/index.js +12 -1
  140. package/lib/ui/index.min.js +1 -1
  141. package/lib/ui/src/log.js +1 -1
  142. package/lib/ui/src/log.min.js +1 -1
  143. package/lib/vxe-table/style/style.css +22 -3
  144. package/lib/vxe-table/style/style.min.css +1 -1
  145. package/package.json +1 -1
  146. package/packages/grid/src/grid.ts +93 -54
  147. package/packages/locale/lang/ar-EG.ts +6 -0
  148. package/packages/locale/lang/de-DE.ts +6 -0
  149. package/packages/locale/lang/en-US.ts +6 -0
  150. package/packages/locale/lang/es-ES.ts +6 -0
  151. package/packages/locale/lang/fr-FR.ts +6 -0
  152. package/packages/locale/lang/hu-HU.ts +6 -0
  153. package/packages/locale/lang/hy-AM.ts +6 -0
  154. package/packages/locale/lang/id-ID.ts +6 -0
  155. package/packages/locale/lang/it-IT.ts +6 -0
  156. package/packages/locale/lang/ja-JP.ts +6 -0
  157. package/packages/locale/lang/ko-KR.ts +6 -0
  158. package/packages/locale/lang/ms-MY.ts +6 -0
  159. package/packages/locale/lang/nb-NO.ts +6 -0
  160. package/packages/locale/lang/pt-BR.ts +6 -0
  161. package/packages/locale/lang/ru-RU.ts +6 -0
  162. package/packages/locale/lang/th-TH.ts +6 -0
  163. package/packages/locale/lang/ug-CN.ts +6 -0
  164. package/packages/locale/lang/uk-UA.ts +6 -0
  165. package/packages/locale/lang/uz-UZ.ts +6 -0
  166. package/packages/locale/lang/vi-VN.ts +6 -0
  167. package/packages/locale/lang/zh-CHT.ts +6 -0
  168. package/packages/locale/lang/zh-CN.ts +6 -0
  169. package/packages/table/module/custom/mixin.ts +27 -3
  170. package/packages/table/module/custom/panel.ts +119 -106
  171. package/packages/table/src/body.ts +13 -10
  172. package/packages/table/src/cell.ts +12 -12
  173. package/packages/table/src/methods.ts +35 -26
  174. package/packages/table/src/props.ts +32 -8
  175. package/packages/table/src/table.ts +76 -49
  176. package/packages/toolbar/src/toolbar.ts +167 -62
  177. package/packages/ui/index.ts +11 -0
  178. package/styles/components/icon.scss +13 -1
  179. package/styles/components/table-module/custom.scss +9 -2
  180. package/styles/icon/iconfont.ttf +0 -0
  181. package/styles/icon/iconfont.woff +0 -0
  182. package/styles/icon/iconfont.woff2 +0 -0
  183. package/es/iconfont.1749800510225.woff +0 -0
  184. package/es/iconfont.1749800510225.woff2 +0 -0
  185. package/lib/iconfont.1749800510225.woff +0 -0
  186. package/lib/iconfont.1749800510225.woff2 +0 -0
@@ -12,11 +12,17 @@ export default {
12
12
  props: {
13
13
  loading: Boolean,
14
14
  refresh: [Boolean, Object],
15
+ refreshOptions: Object,
15
16
  import: [Boolean, Object],
17
+ importOptions: Object,
16
18
  export: [Boolean, Object],
19
+ exportOptions: Object,
17
20
  print: [Boolean, Object],
21
+ printOptions: Object,
18
22
  zoom: [Boolean, Object],
23
+ zoomOptions: Object,
19
24
  custom: [Boolean, Object],
25
+ customOptions: Object,
20
26
  buttons: {
21
27
  type: Array,
22
28
  default: () => getConfig().toolbar.buttons
@@ -59,32 +65,32 @@ export default {
59
65
  computed: Object.assign(Object.assign({}, {}), { computeRefreshOpts() {
60
66
  const $xeToolbar = this;
61
67
  const props = $xeToolbar;
62
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.refresh, true), props.refresh);
68
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.refresh, true), props.refreshOptions, props.refresh);
63
69
  },
64
70
  computeImportOpts() {
65
71
  const $xeToolbar = this;
66
72
  const props = $xeToolbar;
67
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.import, true), props.import);
73
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.import, true), props.importOptions, props.import);
68
74
  },
69
75
  computeExportOpts() {
70
76
  const $xeToolbar = this;
71
77
  const props = $xeToolbar;
72
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.export, true), props.export);
78
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.export, true), props.exportOptions, props.export);
73
79
  },
74
80
  computePrintOpts() {
75
81
  const $xeToolbar = this;
76
82
  const props = $xeToolbar;
77
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.print, true), props.print);
83
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.print, true), props.printOptions, props.print);
78
84
  },
79
85
  computeZoomOpts() {
80
86
  const $xeToolbar = this;
81
87
  const props = $xeToolbar;
82
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.zoom, true), props.zoom);
88
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.zoom, true), props.zoomOptions, props.zoom);
83
89
  },
84
90
  computeCustomOpts() {
85
91
  const $xeToolbar = this;
86
92
  const props = $xeToolbar;
87
- return Object.assign({}, XEUtils.clone(getConfig().toolbar.custom, true), props.custom);
93
+ return Object.assign({}, XEUtils.clone(getConfig().toolbar.custom, true), props.customOptions, props.custom);
88
94
  },
89
95
  computeTableCustomOpts() {
90
96
  const $xeToolbar = this;
@@ -203,73 +209,44 @@ export default {
203
209
  if ($xeGrid) {
204
210
  $xeGrid.triggerZoomEvent($event);
205
211
  }
212
+ else {
213
+ warnLog('vxe.error.notProp', ['zoom']);
214
+ }
206
215
  },
207
- btnEvent(evnt, item) {
216
+ importEvent() {
208
217
  const $xeToolbar = this;
209
218
  const internalData = $xeToolbar.internalData;
210
- const $xeGrid = $xeToolbar.$xeGrid;
211
- const { connectTable } = internalData;
212
- const $table = connectTable;
213
- const { code } = item;
214
- if (code) {
215
- if ($xeGrid) {
216
- $xeGrid.triggerToolbarBtnEvent(item, evnt);
217
- }
218
- else {
219
- const gCommandOpts = commands.get(code);
220
- const params = { code, button: item, $table: $table, $grid: $xeGrid, $event: evnt };
221
- if (gCommandOpts) {
222
- const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod;
223
- if (tCommandMethod) {
224
- tCommandMethod(params);
225
- }
226
- else {
227
- errLog('vxe.error.notCommands', [code]);
228
- }
229
- }
230
- $xeToolbar.dispatchEvent('button-click', params, evnt);
219
+ if ($xeToolbar.checkTable()) {
220
+ const { connectTable } = internalData;
221
+ const $table = connectTable;
222
+ if ($table) {
223
+ $table.importData();
231
224
  }
232
225
  }
233
226
  },
234
- tolEvent(evnt, item) {
227
+ openImportEvent() {
235
228
  const $xeToolbar = this;
236
229
  const internalData = $xeToolbar.internalData;
237
- const $xeGrid = $xeToolbar.$xeGrid;
238
- const { connectTable } = internalData;
239
- const $table = connectTable;
240
- const { code } = item;
241
- if (code) {
242
- if ($xeGrid) {
243
- $xeGrid.triggerToolbarTolEvent(item, evnt);
244
- }
245
- else {
246
- const gCommandOpts = commands.get(code);
247
- const params = { code, button: null, tool: item, $table: $table, $grid: $xeGrid, $event: evnt };
248
- if (gCommandOpts) {
249
- const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod;
250
- if (tCommandMethod) {
251
- tCommandMethod(params);
252
- }
253
- else {
254
- errLog('vxe.error.notCommands', [code]);
255
- }
256
- }
257
- $xeToolbar.dispatchEvent('tool-click', params, evnt);
230
+ if ($xeToolbar.checkTable()) {
231
+ const { connectTable } = internalData;
232
+ const $table = connectTable;
233
+ if ($table) {
234
+ $table.openImport();
258
235
  }
259
236
  }
260
237
  },
261
- importEvent() {
238
+ exportEvent() {
262
239
  const $xeToolbar = this;
263
240
  const internalData = $xeToolbar.internalData;
264
241
  if ($xeToolbar.checkTable()) {
265
242
  const { connectTable } = internalData;
266
243
  const $table = connectTable;
267
244
  if ($table) {
268
- $table.openImport();
245
+ $table.exportData();
269
246
  }
270
247
  }
271
248
  },
272
- exportEvent() {
249
+ openExportEvent() {
273
250
  const $xeToolbar = this;
274
251
  const internalData = $xeToolbar.internalData;
275
252
  if ($xeToolbar.checkTable()) {
@@ -281,6 +258,17 @@ export default {
281
258
  }
282
259
  },
283
260
  printEvent() {
261
+ const $xeToolbar = this;
262
+ const internalData = $xeToolbar.internalData;
263
+ if ($xeToolbar.checkTable()) {
264
+ const { connectTable } = internalData;
265
+ const $table = connectTable;
266
+ if ($table) {
267
+ $table.print();
268
+ }
269
+ }
270
+ },
271
+ openPrintEvent() {
284
272
  const $xeToolbar = this;
285
273
  const internalData = $xeToolbar.internalData;
286
274
  if ($xeToolbar.checkTable()) {
@@ -291,6 +279,101 @@ export default {
291
279
  }
292
280
  }
293
281
  },
282
+ handleDefaultCodeEvent(eventParams, item, cb) {
283
+ const $xeToolbar = this;
284
+ switch (item.code) {
285
+ case 'print':
286
+ $xeToolbar.printEvent();
287
+ break;
288
+ case 'open_print':
289
+ $xeToolbar.openPrintEvent();
290
+ break;
291
+ case 'custom':
292
+ $xeToolbar.handleClickSettingEvent(eventParams);
293
+ break;
294
+ case 'export':
295
+ $xeToolbar.exportEvent();
296
+ break;
297
+ case 'open_export':
298
+ $xeToolbar.openExportEvent();
299
+ break;
300
+ case 'import':
301
+ $xeToolbar.importEvent();
302
+ break;
303
+ case 'open_import':
304
+ $xeToolbar.openImportEvent();
305
+ break;
306
+ case 'zoom':
307
+ $xeToolbar.zoomEvent(eventParams);
308
+ break;
309
+ case 'refresh':
310
+ $xeToolbar.refreshEvent(eventParams);
311
+ break;
312
+ default:
313
+ cb();
314
+ break;
315
+ }
316
+ },
317
+ btnEvent(eventParams, item) {
318
+ const $xeToolbar = this;
319
+ const internalData = $xeToolbar.internalData;
320
+ const $xeGrid = $xeToolbar.$xeGrid;
321
+ const { $event } = eventParams;
322
+ const { connectTable } = internalData;
323
+ const $table = connectTable;
324
+ const { code } = item;
325
+ if (code) {
326
+ $xeToolbar.handleDefaultCodeEvent(eventParams, item, () => {
327
+ if ($xeGrid) {
328
+ $xeGrid.triggerToolbarBtnEvent(item, $event);
329
+ }
330
+ else {
331
+ const gCommandOpts = commands.get(code);
332
+ const params = { code, button: item, $table: $table, $grid: $xeGrid, $event };
333
+ if (gCommandOpts) {
334
+ const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod;
335
+ if (tCommandMethod) {
336
+ tCommandMethod(params);
337
+ }
338
+ else {
339
+ errLog('vxe.error.notCommands', [code]);
340
+ }
341
+ }
342
+ $xeToolbar.dispatchEvent('button-click', params, $event);
343
+ }
344
+ });
345
+ }
346
+ },
347
+ tolEvent(eventParams, item) {
348
+ const $xeToolbar = this;
349
+ const internalData = $xeToolbar.internalData;
350
+ const $xeGrid = $xeToolbar.$xeGrid;
351
+ const { $event } = eventParams;
352
+ const { connectTable } = internalData;
353
+ const $table = connectTable;
354
+ const { code } = item;
355
+ if (code) {
356
+ $xeToolbar.handleDefaultCodeEvent(eventParams, item, () => {
357
+ if ($xeGrid) {
358
+ $xeGrid.triggerToolbarTolEvent(item, $event);
359
+ }
360
+ else {
361
+ const gCommandOpts = commands.get(code);
362
+ const params = { code, button: null, tool: item, $table: $table, $grid: $xeGrid, $event };
363
+ if (gCommandOpts) {
364
+ const tCommandMethod = gCommandOpts.tableCommandMethod || gCommandOpts.commandMethod;
365
+ if (tCommandMethod) {
366
+ tCommandMethod(params);
367
+ }
368
+ else {
369
+ errLog('vxe.error.notCommands', [code]);
370
+ }
371
+ }
372
+ $xeToolbar.dispatchEvent('tool-click', params, $event);
373
+ }
374
+ });
375
+ }
376
+ },
294
377
  //
295
378
  // Render
296
379
  //
@@ -325,7 +408,7 @@ export default {
325
408
  suffixTooltip: child.suffixTooltip
326
409
  },
327
410
  on: {
328
- click: ({ $event }) => isBtn ? $xeToolbar.btnEvent($event, child) : $xeToolbar.tolEvent($event, child)
411
+ click: (eventParams) => isBtn ? $xeToolbar.btnEvent(eventParams, child) : $xeToolbar.tolEvent(eventParams, child)
329
412
  }
330
413
  })
331
414
  : renderEmptyElement($xeToolbar);
@@ -388,11 +471,11 @@ export default {
388
471
  transfer: item.transfer
389
472
  },
390
473
  on: {
391
- click: ({ $event }) => this.btnEvent($event, item)
474
+ click: (eventParams) => $xeToolbar.btnEvent(eventParams, item)
392
475
  },
393
476
  scopedSlots: dropdowns && dropdowns.length
394
477
  ? {
395
- dropdowns: () => this.renderDropdowns(h, item, true)
478
+ dropdowns: () => $xeToolbar.renderDropdowns(h, item, true)
396
479
  }
397
480
  : {}
398
481
  }));
@@ -464,7 +547,7 @@ export default {
464
547
  transfer: item.transfer
465
548
  },
466
549
  on: {
467
- click: ({ $event }) => $xeToolbar.tolEvent($event, item)
550
+ click: (eventParams) => $xeToolbar.tolEvent(eventParams, item)
468
551
  },
469
552
  scopedSlots: dropdowns && dropdowns.length
470
553
  ? {
@@ -496,7 +579,7 @@ export default {
496
579
  title: getI18n('vxe.toolbar.import')
497
580
  },
498
581
  on: {
499
- click: $xeToolbar.importEvent
582
+ click: $xeToolbar.openImportEvent
500
583
  }
501
584
  })
502
585
  : renderEmptyElement($xeToolbar);
@@ -515,7 +598,7 @@ export default {
515
598
  title: getI18n('vxe.toolbar.export')
516
599
  },
517
600
  on: {
518
- click: $xeToolbar.exportEvent
601
+ click: $xeToolbar.openExportEvent
519
602
  }
520
603
  })
521
604
  : renderEmptyElement($xeToolbar);
@@ -534,7 +617,7 @@ export default {
534
617
  title: getI18n('vxe.toolbar.print')
535
618
  },
536
619
  on: {
537
- click: $xeToolbar.printEvent
620
+ click: $xeToolbar.openPrintEvent
538
621
  }
539
622
  })
540
623
  : renderEmptyElement($xeToolbar);
@@ -655,13 +738,30 @@ export default {
655
738
  const props = $xeToolbar;
656
739
  const $xeGrid = $xeToolbar.$xeGrid;
657
740
  $xeToolbar.$nextTick(() => {
658
- const { refresh } = props;
659
741
  const refreshOpts = $xeToolbar.computeRefreshOpts;
660
- const $xeTable = this.fintTable();
742
+ const $xeTable = $xeToolbar.fintTable();
661
743
  const queryMethod = refreshOpts.queryMethod || refreshOpts.query;
662
- if (refresh && !$xeGrid && !queryMethod) {
744
+ if (props.refresh && !$xeGrid && !queryMethod) {
663
745
  warnLog('vxe.error.notFunc', ['queryMethod']);
664
746
  }
747
+ if (XEUtils.isPlainObject(props.custom)) {
748
+ warnLog('vxe.error.delProp', ['custom={...}', 'custom=boolean & custom-options={...}']);
749
+ }
750
+ if (XEUtils.isPlainObject(props.print)) {
751
+ warnLog('vxe.error.delProp', ['print={...}', 'print=boolean & print-options={...}']);
752
+ }
753
+ if (XEUtils.isPlainObject(props.export)) {
754
+ warnLog('vxe.error.delProp', ['export={...}', 'export=boolean & export-options={...}']);
755
+ }
756
+ if (XEUtils.isPlainObject(props.import)) {
757
+ warnLog('vxe.error.delProp', ['import={...}', 'import=boolean & import-options={...}']);
758
+ }
759
+ if (XEUtils.isPlainObject(props.refresh)) {
760
+ warnLog('vxe.error.delProp', ['refresh={...}', 'refresh=boolean & refresh-options={...}']);
761
+ }
762
+ if (XEUtils.isPlainObject(props.refresh)) {
763
+ warnLog('vxe.error.delProp', ['zoom={...}', 'zoom=boolean & zoom-options={...}']);
764
+ }
665
765
  if ($xeTable) {
666
766
  $xeTable.connect(this);
667
767
  }
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "3.15.39";
3
+ export const version = "3.15.41";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -95,6 +95,14 @@ VxeUI.setConfig({
95
95
  showFooter: true,
96
96
  placement: 'top-right',
97
97
  // storage: false,
98
+ storeOptions: {
99
+ visible: true,
100
+ resizable: true,
101
+ sort: true,
102
+ fixed: true
103
+ // rowGroup: false,
104
+ // aggFunc: false
105
+ },
98
106
  // checkMethod () {},
99
107
  modalOptions: {
100
108
  showMaximize: true,
@@ -300,6 +308,9 @@ VxeUI.setIcon({
300
308
  TABLE_DRAG_DISABLED: iconPrefix + 'no-drop',
301
309
  TABLE_ROW_GROUP_OPEN: iconPrefix + 'arrow-right rotate90',
302
310
  TABLE_ROW_GROUP_CLOSE: iconPrefix + 'arrow-right',
311
+ TABLE_AGGREGATION_GROUPING: iconPrefix + 'grouping',
312
+ TABLE_AGGREGATION_VALUES: iconPrefix + 'values',
313
+ TABLE_AGGREGATION_DELETE: iconPrefix + 'close',
303
314
  // toolbar
304
315
  TOOLBAR_TOOLS_REFRESH: iconPrefix + 'repeat',
305
316
  TOOLBAR_TOOLS_REFRESH_LOADING: iconPrefix + 'repeat roll',
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.15.39"}`;
3
+ const version = `table v${"3.15.41"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -543,7 +543,7 @@
543
543
 
544
544
  @font-face {
545
545
  font-family: "vxetableiconfont";
546
- src: url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2");
546
+ src: url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2");
547
547
  }
548
548
  @keyframes rollCircle {
549
549
  0% {
@@ -599,6 +599,18 @@
599
599
  color: var(--vxe-ui-status-error-color);
600
600
  }
601
601
 
602
+ .vxe-table-icon-close:before {
603
+ content: "\e6e9";
604
+ }
605
+
606
+ .vxe-table-icon-grouping:before {
607
+ content: "\e66c";
608
+ }
609
+
610
+ .vxe-table-icon-values:before {
611
+ content: "\e66f";
612
+ }
613
+
602
614
  .vxe-table-icon-add-sub:before {
603
615
  content: "\e6bc";
604
616
  }
@@ -759,9 +771,14 @@
759
771
  width: 100%;
760
772
  }
761
773
 
774
+ .vxe-table-custom--handle-wrapper {
775
+ display: flex;
776
+ flex-direction: column;
777
+ }
778
+
762
779
  .vxe-table-custom-wrapper {
763
780
  display: none;
764
- flex-direction: column;
781
+ flex-direction: row;
765
782
  position: absolute;
766
783
  text-align: left;
767
784
  background-color: var(--vxe-ui-layout-background-color);
@@ -841,8 +858,10 @@
841
858
  }
842
859
 
843
860
  .vxe-table-custom--header {
861
+ display: flex;
862
+ align-items: center;
844
863
  flex-shrink: 0;
845
- padding: 0.28em 0;
864
+ height: 2.4em;
846
865
  font-weight: 700;
847
866
  border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
848
867
  -webkit-user-select: none;