vxe-table 3.23.0-beta.2 → 3.23.0-beta.3

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.
@@ -1,7 +1,7 @@
1
1
  import { defineVxeComponent } from '../../../ui/src/comp';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import XEUtils from 'xe-utils';
4
- import { formatText } from '../../../ui/src/utils';
4
+ import { formatText, getDefaultConfig } from '../../../ui/src/utils';
5
5
  import { createComponentLog } from '../../../ui/src/log';
6
6
  const { errLog } = createComponentLog('table');
7
7
  const { getI18n, getIcon, globalMixins, renderEmptyElement } = VxeUI;
@@ -226,6 +226,10 @@ export default {
226
226
  const { hasTree, hasRowGroup, hasMerge, isPrint, hasColgroup, columns } = storeData;
227
227
  const { isHeader } = defaultOptions;
228
228
  const colVNs = [];
229
+ const exportOpts = $xeTable.computeExportOpts;
230
+ const printOpts = $xeTable.computePrintOpts;
231
+ const modelOptions = (isPrint ? printOpts : exportOpts).modelOptions || {};
232
+ const settingOptions = (isPrint ? printOpts : exportOpts).settingOptions || {};
229
233
  const checkedAll = $xeExportPanel.computeCheckedAll;
230
234
  const showSheet = $xeExportPanel.computeShowSheet;
231
235
  const supportMerge = $xeExportPanel.computeSupportMerge;
@@ -285,17 +289,19 @@ export default {
285
289
  props: {
286
290
  id: 'VXE_EXPORT_MODAL',
287
291
  value: storeData.visible,
288
- title: getI18n(isPrint ? 'vxe.export.printTitle' : 'vxe.export.expTitle'),
289
- width: 660,
290
- minWidth: 500,
291
- minHeight: 400,
292
+ title: modelOptions.title || getI18n(isPrint ? 'vxe.export.printTitle' : 'vxe.export.expTitle'),
293
+ width: modelOptions.width || 660,
294
+ height: modelOptions.height,
295
+ minWidth: modelOptions.minWidth || 500,
296
+ minHeight: modelOptions.minHeight || 400,
292
297
  mask: true,
293
298
  lockView: true,
294
299
  showFooter: true,
295
300
  escClosable: true,
296
301
  maskClosable: true,
297
- showMaximize: true,
298
- resize: true,
302
+ showMinimize: modelOptions.showMinimize,
303
+ showMaximize: getDefaultConfig(modelOptions.showMaximize, true),
304
+ resize: getDefaultConfig(modelOptions.resize, true),
299
305
  loading: reactData.loading
300
306
  },
301
307
  on: {
@@ -338,7 +344,7 @@ export default {
338
344
  }, [
339
345
  h('tbody', [
340
346
  [
341
- isPrint
347
+ isPrint || settingOptions.showFileName === false
342
348
  ? renderEmptyElement($xeTable)
343
349
  : h('tr', [
344
350
  h('td', getI18n('vxe.export.expName')),
@@ -361,7 +367,7 @@ export default {
361
367
  : renderEmptyElement($xeTable)
362
368
  ])
363
369
  ]),
364
- isPrint
370
+ isPrint || settingOptions.showType === false
365
371
  ? renderEmptyElement($xeTable)
366
372
  : h('tr', [
367
373
  h('td', getI18n('vxe.export.expType')),
@@ -379,7 +385,7 @@ export default {
379
385
  })
380
386
  ])
381
387
  ]),
382
- isPrint || showSheet
388
+ (isPrint || showSheet) && settingOptions.showSheet !== false
383
389
  ? h('tr', [
384
390
  h('td', getI18n('vxe.export.expSheetName')),
385
391
  h('td', [
@@ -402,58 +408,62 @@ export default {
402
408
  ])
403
409
  ])
404
410
  : renderEmptyElement($xeTable),
405
- h('tr', [
406
- h('td', getI18n('vxe.export.expMode')),
407
- h('td', [
408
- h(VxeUISelectComponent, {
409
- props: {
410
- value: defaultOptions.mode,
411
- options: storeData.modeList
412
- },
413
- on: {
414
- modelValue(value) {
415
- defaultOptions.mode = value;
411
+ settingOptions.showMode === false
412
+ ? renderEmptyElement($xeTable)
413
+ : h('tr', [
414
+ h('td', getI18n('vxe.export.expMode')),
415
+ h('td', [
416
+ h(VxeUISelectComponent, {
417
+ props: {
418
+ value: defaultOptions.mode,
419
+ options: storeData.modeList
420
+ },
421
+ on: {
422
+ modelValue(value) {
423
+ defaultOptions.mode = value;
424
+ }
416
425
  }
417
- }
418
- })
419
- ])
420
- ]),
421
- h('tr', [
422
- h('td', [getI18n('vxe.export.expColumn')]),
423
- h('td', [
424
- h('div', {
425
- class: 'vxe-table-export--panel-column'
426
- }, [
427
- h('ul', {
428
- class: 'vxe-table-export--panel-column-header'
426
+ })
427
+ ])
428
+ ]),
429
+ settingOptions.showColumn === false
430
+ ? renderEmptyElement($xeTable)
431
+ : h('tr', [
432
+ h('td', [getI18n('vxe.export.expColumn')]),
433
+ h('td', [
434
+ h('div', {
435
+ class: 'vxe-table-export--panel-column'
429
436
  }, [
430
- h('li', {
431
- class: ['vxe-table-export--panel-column-option', {
432
- 'is--checked': isAllChecked,
433
- 'is--indeterminate': isAllIndeterminate
434
- }],
435
- attrs: {
436
- title: getI18n('vxe.table.allTitle')
437
- },
438
- on: {
439
- click: $xeExportPanel.allColumnEvent
440
- }
437
+ h('ul', {
438
+ class: 'vxe-table-export--panel-column-header'
441
439
  }, [
442
- h('span', {
443
- class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
444
- }),
445
- h('span', {
446
- class: 'vxe-checkbox--label'
447
- }, getI18n('vxe.export.expCurrentColumn'))
448
- ])
449
- ]),
450
- h('ul', {
451
- class: 'vxe-table-export--panel-column-body'
452
- }, colVNs)
440
+ h('li', {
441
+ class: ['vxe-table-export--panel-column-option', {
442
+ 'is--checked': isAllChecked,
443
+ 'is--indeterminate': isAllIndeterminate
444
+ }],
445
+ attrs: {
446
+ title: getI18n('vxe.table.allTitle')
447
+ },
448
+ on: {
449
+ click: $xeExportPanel.allColumnEvent
450
+ }
451
+ }, [
452
+ h('span', {
453
+ class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
454
+ }),
455
+ h('span', {
456
+ class: 'vxe-checkbox--label'
457
+ }, getI18n('vxe.export.expCurrentColumn'))
458
+ ])
459
+ ]),
460
+ h('ul', {
461
+ class: 'vxe-table-export--panel-column-body'
462
+ }, colVNs)
463
+ ])
453
464
  ])
454
- ])
455
- ]),
456
- isPrint
465
+ ]),
466
+ isPrint && (settingOptions.showWidthMode !== false)
457
467
  ? h('tr', [
458
468
  h('td', getI18n('vxe.export.widthMode')),
459
469
  h('td', [
@@ -473,154 +483,156 @@ export default {
473
483
  ])
474
484
  ])
475
485
  : renderEmptyElement($xeTable),
476
- h('tr', [
477
- h('td', getI18n('vxe.export.expOpts')),
478
- parameterSlot
479
- ? h('td', [
480
- h('div', {
481
- class: 'vxe-table-export--panel-option-row'
482
- }, $xeTable.callSlot(parameterSlot, params, h))
483
- ])
484
- : h('td', [
485
- h('div', {
486
- class: 'vxe-table-export--panel-option-row'
487
- }, VxeUICheckboxComponent
488
- ? [
489
- h(VxeUICheckboxComponent, {
490
- props: {
491
- value: hasEmptyData || isHeader,
492
- disabled: hasEmptyData,
493
- title: getI18n('vxe.export.expHeaderTitle'),
494
- content: getI18n('vxe.export.expOptHeader')
495
- },
496
- on: {
497
- input(value) {
498
- defaultOptions.isHeader = value;
499
- }
500
- }
501
- }),
502
- h(VxeUICheckboxComponent, {
503
- props: {
504
- value: defaultOptions.isFooter,
505
- disabled: !storeData.hasFooter,
506
- title: getI18n('vxe.export.expFooterTitle'),
507
- content: getI18n('vxe.export.expOptFooter')
508
- },
509
- on: {
510
- input(value) {
511
- defaultOptions.isFooter = value;
486
+ settingOptions.showParameter === false
487
+ ? renderEmptyElement($xeTable)
488
+ : h('tr', [
489
+ h('td', getI18n('vxe.export.expOpts')),
490
+ parameterSlot
491
+ ? h('td', [
492
+ h('div', {
493
+ class: 'vxe-table-export--panel-option-row'
494
+ }, $xeTable.callSlot(parameterSlot, params, h))
495
+ ])
496
+ : h('td', [
497
+ h('div', {
498
+ class: 'vxe-table-export--panel-option-row'
499
+ }, VxeUICheckboxComponent
500
+ ? [
501
+ h(VxeUICheckboxComponent, {
502
+ props: {
503
+ value: hasEmptyData || isHeader,
504
+ disabled: hasEmptyData,
505
+ title: getI18n('vxe.export.expHeaderTitle'),
506
+ content: getI18n('vxe.export.expOptHeader')
507
+ },
508
+ on: {
509
+ input(value) {
510
+ defaultOptions.isHeader = value;
511
+ }
512
512
  }
513
- }
514
- }),
515
- h(VxeUICheckboxComponent, {
516
- props: {
517
- value: isHeader ? defaultOptions.isTitle : false,
518
- disabled: !isHeader,
519
- title: getI18n('vxe.export.expTitleTitle'),
520
- content: getI18n('vxe.export.expOptTitle')
521
- },
522
- on: {
523
- input(value) {
524
- defaultOptions.isTitle = value;
513
+ }),
514
+ h(VxeUICheckboxComponent, {
515
+ props: {
516
+ value: defaultOptions.isFooter,
517
+ disabled: !storeData.hasFooter,
518
+ title: getI18n('vxe.export.expFooterTitle'),
519
+ content: getI18n('vxe.export.expOptFooter')
520
+ },
521
+ on: {
522
+ input(value) {
523
+ defaultOptions.isFooter = value;
524
+ }
525
525
  }
526
- }
527
- }),
528
- h(VxeUICheckboxComponent, {
529
- props: {
530
- value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
531
- disabled: !isHeader || !hasColgroup || !supportMerge,
532
- title: getI18n('vxe.export.expColgroupTitle'),
533
- content: getI18n('vxe.export.expOptColgroup')
534
- },
535
- on: {
536
- input(value) {
537
- defaultOptions.isColgroup = value;
526
+ }),
527
+ h(VxeUICheckboxComponent, {
528
+ props: {
529
+ value: isHeader ? defaultOptions.isTitle : false,
530
+ disabled: !isHeader,
531
+ title: getI18n('vxe.export.expTitleTitle'),
532
+ content: getI18n('vxe.export.expOptTitle')
533
+ },
534
+ on: {
535
+ input(value) {
536
+ defaultOptions.isTitle = value;
537
+ }
538
538
  }
539
- }
540
- })
541
- ]
542
- : []),
543
- h('div', {
544
- class: 'vxe-table-export--panel-option-row'
545
- }, VxeUICheckboxComponent
546
- ? [
547
- h(VxeUICheckboxComponent, {
548
- props: {
549
- value: hasEmptyData ? false : defaultOptions.original,
550
- disabled: hasEmptyData,
551
- title: getI18n('vxe.export.expOriginalTitle'),
552
- content: getI18n('vxe.export.expOptOriginal')
553
- },
554
- on: {
555
- input(value) {
556
- defaultOptions.original = value;
539
+ }),
540
+ h(VxeUICheckboxComponent, {
541
+ props: {
542
+ value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
543
+ disabled: !isHeader || !hasColgroup || !supportMerge,
544
+ title: getI18n('vxe.export.expColgroupTitle'),
545
+ content: getI18n('vxe.export.expOptColgroup')
546
+ },
547
+ on: {
548
+ input(value) {
549
+ defaultOptions.isColgroup = value;
550
+ }
557
551
  }
558
- }
559
- }),
560
- h(VxeUICheckboxComponent, {
561
- props: {
562
- value: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
563
- disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
564
- title: getI18n('vxe.export.expMergeTitle'),
565
- content: getI18n('vxe.export.expOptMerge')
566
- },
567
- on: {
568
- input(value) {
569
- defaultOptions.isMerge = value;
552
+ })
553
+ ]
554
+ : []),
555
+ h('div', {
556
+ class: 'vxe-table-export--panel-option-row'
557
+ }, VxeUICheckboxComponent
558
+ ? [
559
+ h(VxeUICheckboxComponent, {
560
+ props: {
561
+ value: hasEmptyData ? false : defaultOptions.original,
562
+ disabled: hasEmptyData,
563
+ title: getI18n('vxe.export.expOriginalTitle'),
564
+ content: getI18n('vxe.export.expOptOriginal')
565
+ },
566
+ on: {
567
+ input(value) {
568
+ defaultOptions.original = value;
569
+ }
570
570
  }
571
- }
572
- }),
573
- isPrint
574
- ? renderEmptyElement($xeTable)
575
- : h(VxeUICheckboxComponent, {
571
+ }),
572
+ h(VxeUICheckboxComponent, {
576
573
  props: {
577
- value: supportStyle ? defaultOptions.useStyle : false,
578
- disabled: !supportStyle,
579
- title: getI18n('vxe.export.expUseStyleTitle'),
580
- content: getI18n('vxe.export.expOptUseStyle')
574
+ value: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
575
+ disabled: hasEmptyData || !hasMerge || !supportMerge || !checkedAll,
576
+ title: getI18n('vxe.export.expMergeTitle'),
577
+ content: getI18n('vxe.export.expOptMerge')
581
578
  },
582
579
  on: {
583
580
  input(value) {
584
- defaultOptions.useStyle = value;
581
+ defaultOptions.isMerge = value;
585
582
  }
586
583
  }
587
- })
588
- ]
589
- : []),
590
- h('div', {
591
- class: 'vxe-table-export--panel-option-row'
592
- }, VxeUICheckboxComponent
593
- ? [
594
- h(VxeUICheckboxComponent, {
595
- props: {
596
- value: hasTree ? defaultOptions.isTreeAllExpanded : false,
597
- disabled: hasEmptyData || !hasTree,
598
- title: getI18n('vxe.export.expTreeAllExpandTitle'),
599
- content: getI18n('vxe.export.expOptTreeAllExpand')
600
- },
601
- on: {
602
- input(value) {
603
- defaultOptions.isTreeAllExpanded = value;
584
+ }),
585
+ isPrint
586
+ ? renderEmptyElement($xeTable)
587
+ : h(VxeUICheckboxComponent, {
588
+ props: {
589
+ value: supportStyle ? defaultOptions.useStyle : false,
590
+ disabled: !supportStyle,
591
+ title: getI18n('vxe.export.expUseStyleTitle'),
592
+ content: getI18n('vxe.export.expOptUseStyle')
593
+ },
594
+ on: {
595
+ input(value) {
596
+ defaultOptions.useStyle = value;
597
+ }
598
+ }
599
+ })
600
+ ]
601
+ : []),
602
+ h('div', {
603
+ class: 'vxe-table-export--panel-option-row'
604
+ }, VxeUICheckboxComponent
605
+ ? [
606
+ h(VxeUICheckboxComponent, {
607
+ props: {
608
+ value: hasTree ? defaultOptions.isTreeAllExpanded : false,
609
+ disabled: hasEmptyData || !hasTree,
610
+ title: getI18n('vxe.export.expTreeAllExpandTitle'),
611
+ content: getI18n('vxe.export.expOptTreeAllExpand')
612
+ },
613
+ on: {
614
+ input(value) {
615
+ defaultOptions.isTreeAllExpanded = value;
616
+ }
604
617
  }
605
- }
606
- }),
607
- h(VxeUICheckboxComponent, {
608
- props: {
609
- value: hasRowGroup ? defaultOptions.isRowGroupAllExpanded : false,
610
- disabled: hasEmptyData || !hasRowGroup,
611
- title: getI18n('vxe.export.expRowGroupAllExpandTitle'),
612
- content: getI18n('vxe.export.expOptRowGroupAllExpand')
613
- },
614
- on: {
615
- input(value) {
616
- defaultOptions.isRowGroupAllExpanded = value;
618
+ }),
619
+ h(VxeUICheckboxComponent, {
620
+ props: {
621
+ value: hasRowGroup ? defaultOptions.isRowGroupAllExpanded : false,
622
+ disabled: hasEmptyData || !hasRowGroup,
623
+ title: getI18n('vxe.export.expRowGroupAllExpandTitle'),
624
+ content: getI18n('vxe.export.expOptRowGroupAllExpand')
625
+ },
626
+ on: {
627
+ input(value) {
628
+ defaultOptions.isRowGroupAllExpanded = value;
629
+ }
617
630
  }
618
- }
619
- })
620
- ]
621
- : [])
622
- ])
623
- ])
631
+ })
632
+ ]
633
+ : [])
634
+ ])
635
+ ])
624
636
  ]
625
637
  ])
626
638
  ])
@@ -1,7 +1,7 @@
1
1
  import { defineVxeComponent } from '../../../ui/src/comp';
2
2
  import { VxeUI } from '../../../ui';
3
3
  import XEUtils from 'xe-utils';
4
- import { parseFile } from '../../../ui/src/utils';
4
+ import { getDefaultConfig, parseFile } from '../../../ui/src/utils';
5
5
  import { createComponentLog } from '../../../ui/src/log';
6
6
  const { errLog } = createComponentLog('table');
7
7
  const { getI18n, getIcon, globalMixins, renderEmptyElement } = VxeUI;
@@ -131,7 +131,10 @@ export default {
131
131
  const { defaultOptions, storeData } = props;
132
132
  const selectName = $xeImportPanel.computeSelectName;
133
133
  const hasFile = $xeImportPanel.computeHasFile;
134
+ const importOpts = $xeTable.computeImportOpts;
134
135
  const parseTypeLabel = $xeImportPanel.computeParseTypeLabel;
136
+ const modelOptions = importOpts.modelOptions || {};
137
+ const settingOptions = importOpts.settingOptions || {};
135
138
  const slots = defaultOptions.slots || {};
136
139
  const topSlot = slots.top;
137
140
  const bottomSlot = slots.bottom;
@@ -142,17 +145,19 @@ export default {
142
145
  props: {
143
146
  id: 'VXE_IMPORT_MODAL',
144
147
  value: storeData.visible,
145
- title: getI18n('vxe.import.impTitle'),
146
- width: 540,
147
- minWidth: 360,
148
- minHeight: 240,
148
+ title: modelOptions.title || getI18n('vxe.import.impTitle'),
149
+ width: modelOptions.width || 540,
150
+ height: modelOptions.height,
151
+ minWidth: modelOptions.minWidth || 360,
152
+ minHeight: modelOptions.minHeight || 240,
149
153
  mask: true,
150
154
  lockView: true,
151
155
  showFooter: true,
152
156
  escClosable: true,
153
157
  maskClosable: true,
154
- showMaximize: true,
155
- resize: true,
158
+ showMinimize: modelOptions.showMinimize,
159
+ showMaximize: getDefaultConfig(modelOptions.showMaximize, true),
160
+ resize: getDefaultConfig(modelOptions.resize, true),
156
161
  loading: reactData.loading
157
162
  },
158
163
  on: {
@@ -226,22 +231,24 @@ export default {
226
231
  h('td', getI18n('vxe.import.impType')),
227
232
  h('td', parseTypeLabel)
228
233
  ]),
229
- h('tr', [
230
- h('td', getI18n('vxe.import.impMode')),
231
- h('td', [
232
- h('vxe-select', {
233
- props: {
234
- value: defaultOptions.mode,
235
- options: storeData.modeList
236
- },
237
- on: {
238
- modelValue(value) {
239
- defaultOptions.mode = value;
234
+ settingOptions.showMode === false
235
+ ? renderEmptyElement($xeTable)
236
+ : h('tr', [
237
+ h('td', getI18n('vxe.import.impMode')),
238
+ h('td', [
239
+ h('vxe-select', {
240
+ props: {
241
+ value: defaultOptions.mode,
242
+ options: storeData.modeList
243
+ },
244
+ on: {
245
+ modelValue(value) {
246
+ defaultOptions.mode = value;
247
+ }
240
248
  }
241
- }
242
- })
249
+ })
250
+ ])
243
251
  ])
244
- ])
245
252
  ])
246
253
  ])
247
254
  ]),
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.23.0-beta.2";
3
+ export const version = "3.23.0-beta.3";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const tableVersion = `table v${"3.23.0-beta.2"}`;
3
+ const tableVersion = `table v${"3.23.0-beta.3"}`;
4
4
  export function createComponentLog(name) {
5
5
  const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -43,3 +43,6 @@ export function eqEmptyValue(cellValue) {
43
43
  export function getClass(property, params) {
44
44
  return property ? XEUtils.isFunction(property) ? property(params) : property : '';
45
45
  }
46
+ export function getDefaultConfig(val1, def1) {
47
+ return XEUtils.eqNull(val1) ? def1 : val1;
48
+ }