vxe-table 3.15.40 → 3.15.42

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.
@@ -358,18 +358,6 @@ export const Cell = {
358
358
  const { isRowGroupStatus } = tableReactData;
359
359
  const { field, slots, editRender, cellRender, rowGroupNode, aggFunc } = column;
360
360
  const renderOpts = editRender || cellRender;
361
- if (slots && slots.default) {
362
- return renderCellBaseVNs(h, params, $table.callSlot(slots.default, params, h));
363
- }
364
- if (renderOpts) {
365
- const compConf = renderer.get(renderOpts.name);
366
- const rtDefault = compConf ? (compConf.renderTableDefault || compConf.renderDefault) : null;
367
- const rtCell = compConf ? (compConf.renderTableCell || compConf.renderCell) : null;
368
- const renderFn = editRender ? rtCell : rtDefault;
369
- if (renderFn) {
370
- return renderCellBaseVNs(h, params, getSlotVNs(renderFn.call($table, h, renderOpts, Object.assign({ $type: editRender ? 'edit' : 'cell' }, params))));
371
- }
372
- }
373
361
  let cellValue = '';
374
362
  if (isRowGroupStatus && field && row.isAggregate) {
375
363
  const aggRow = row;
@@ -417,6 +405,18 @@ export const Cell = {
417
405
  }
418
406
  }
419
407
  else {
408
+ if (slots && slots.default) {
409
+ return renderCellBaseVNs(h, params, $table.callSlot(slots.default, params, h));
410
+ }
411
+ if (renderOpts) {
412
+ const compConf = renderer.get(renderOpts.name);
413
+ const rtDefault = compConf ? (compConf.renderTableDefault || compConf.renderDefault) : null;
414
+ const rtCell = compConf ? (compConf.renderTableCell || compConf.renderCell) : null;
415
+ const renderFn = editRender ? rtCell : rtDefault;
416
+ if (renderFn) {
417
+ return renderCellBaseVNs(h, params, getSlotVNs(renderFn.call($table, h, renderOpts, Object.assign({ $type: editRender ? 'edit' : 'cell' }, params))));
418
+ }
419
+ }
420
420
  cellValue = $table.getCellLabel(row, column);
421
421
  }
422
422
  const cellPlaceholder = editRender ? editRender.placeholder : '';
@@ -8925,8 +8925,10 @@ const Methods = {
8925
8925
  }
8926
8926
  internalData.rowGroupExpandedMaps = rgExpandedMaps;
8927
8927
  handleVirtualTreeToList($xeTable);
8928
+ $xeTable.handleTableData();
8929
+ updateAfterDataIndex($xeTable);
8928
8930
  reactData.rowGroupExpandedFlag++;
8929
- return $xeTable.handleTableData();
8931
+ return $xeTable.recalculate(true);
8930
8932
  },
8931
8933
  clearRowGroupExpand() {
8932
8934
  const $xeTable = this;
@@ -8934,8 +8936,10 @@ const Methods = {
8934
8936
  const internalData = $xeTable;
8935
8937
  internalData.rowGroupExpandedMaps = {};
8936
8938
  handleVirtualTreeToList($xeTable);
8939
+ $xeTable.handleTableData();
8940
+ updateAfterDataIndex($xeTable);
8937
8941
  reactData.rowGroupExpandedFlag++;
8938
- return $xeTable.handleTableData();
8942
+ return $xeTable.recalculate(true);
8939
8943
  },
8940
8944
  getTreeExpandRecords() {
8941
8945
  const $xeTable = this;
@@ -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.42";
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,
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.42"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);