vxe-table 4.23.8 → 4.23.9

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 (126) hide show
  1. package/dist/all.esm.js +5715 -3783
  2. package/es/components.d.ts +1 -0
  3. package/es/components.js +2 -7
  4. package/es/grid/src/emits.js +1 -15
  5. package/es/grid/src/grid.js +397 -120
  6. package/es/index.esm.js +1 -0
  7. package/es/index.js +1 -0
  8. package/es/table/module/custom/hook.js +49 -42
  9. package/es/table/module/custom/panel.js +777 -527
  10. package/es/table/module/edit/hook.js +140 -62
  11. package/es/table/module/export/export-panel.js +399 -316
  12. package/es/table/module/export/hook.js +395 -337
  13. package/es/table/module/export/import-panel.js +152 -123
  14. package/es/table/module/filter/hook.js +16 -2
  15. package/es/table/module/filter/panel.js +146 -84
  16. package/es/table/module/keyboard/hook.js +8 -4
  17. package/es/table/module/menu/panel.js +197 -126
  18. package/es/table/render/index.js +151 -98
  19. package/es/table/src/body.js +355 -233
  20. package/es/table/src/cell.js +426 -269
  21. package/es/table/src/columnInfo.js +1 -0
  22. package/es/table/src/footer.js +144 -99
  23. package/es/table/src/group.js +7 -3
  24. package/es/table/src/header.js +229 -172
  25. package/es/table/src/table.js +1503 -1030
  26. package/es/table/src/util.js +15 -19
  27. package/es/toolbar/src/toolbar.js +132 -75
  28. package/es/ui/index.js +1 -1
  29. package/es/ui/src/dom.js +9 -6
  30. package/es/ui/src/log.js +1 -1
  31. package/es/ui/src/utils.d.ts +1 -1
  32. package/lib/components.js +2 -7
  33. package/lib/grid/src/emits.js +1 -15
  34. package/lib/grid/src/grid.js +397 -120
  35. package/lib/index.common.js +1 -0
  36. package/lib/index.js +1 -0
  37. package/lib/index.umd.js +5732 -3800
  38. package/lib/index.umd.min.js +3 -3
  39. package/lib/table/module/custom/hook.js +49 -42
  40. package/lib/table/module/custom/panel.js +777 -527
  41. package/lib/table/module/edit/hook.js +140 -62
  42. package/lib/table/module/export/export-panel.js +399 -316
  43. package/lib/table/module/export/hook.js +395 -337
  44. package/lib/table/module/export/import-panel.js +152 -123
  45. package/lib/table/module/filter/hook.js +16 -2
  46. package/lib/table/module/filter/panel.js +146 -84
  47. package/lib/table/module/keyboard/hook.js +8 -4
  48. package/lib/table/module/menu/panel.js +197 -126
  49. package/lib/table/render/index.js +151 -98
  50. package/lib/table/src/body.js +355 -233
  51. package/lib/table/src/cell.js +426 -269
  52. package/lib/table/src/columnInfo.js +1 -0
  53. package/lib/table/src/footer.js +144 -99
  54. package/lib/table/src/group.js +7 -3
  55. package/lib/table/src/header.js +229 -172
  56. package/lib/table/src/table.js +1471 -1029
  57. package/lib/table/src/util.js +15 -19
  58. package/lib/toolbar/src/toolbar.js +132 -75
  59. package/lib/ui/index.js +1 -1
  60. package/lib/ui/src/dom.js +9 -6
  61. package/lib/ui/src/log.js +1 -1
  62. package/package.json +2 -2
  63. package/packages/colgroup/index.ts +22 -22
  64. package/packages/column/index.ts +22 -22
  65. package/packages/components.ts +41 -44
  66. package/packages/grid/index.ts +18 -18
  67. package/packages/grid/src/emits.ts +5 -19
  68. package/packages/grid/src/grid.ts +2229 -1925
  69. package/packages/grid/src/props.ts +22 -23
  70. package/packages/index.ts +11 -11
  71. package/packages/locale/lang/fr-FR.ts +15 -15
  72. package/packages/locale/lang/it-IT.ts +4 -4
  73. package/packages/locale/lang/uk-UA.ts +1 -1
  74. package/packages/locale/lang/uz-UZ.ts +13 -13
  75. package/packages/locale/lang/zh-CN.ts +907 -907
  76. package/packages/table/index.ts +26 -26
  77. package/packages/table/module/custom/hook.ts +510 -503
  78. package/packages/table/module/custom/panel.ts +2002 -1743
  79. package/packages/table/module/edit/hook.ts +1224 -1131
  80. package/packages/table/module/export/export-panel.ts +697 -611
  81. package/packages/table/module/export/hook.ts +2160 -2059
  82. package/packages/table/module/export/import-panel.ts +319 -279
  83. package/packages/table/module/export/util.ts +25 -24
  84. package/packages/table/module/filter/hook.ts +519 -501
  85. package/packages/table/module/filter/panel.ts +368 -304
  86. package/packages/table/module/keyboard/hook.ts +498 -494
  87. package/packages/table/module/menu/hook.ts +330 -330
  88. package/packages/table/module/menu/panel.ts +272 -201
  89. package/packages/table/module/validator/hook.ts +653 -635
  90. package/packages/table/render/index.ts +1819 -1744
  91. package/packages/table/src/body.ts +1078 -955
  92. package/packages/table/src/cell.ts +1524 -1359
  93. package/packages/table/src/column.ts +192 -192
  94. package/packages/table/src/columnInfo.ts +232 -232
  95. package/packages/table/src/emits.ts +134 -134
  96. package/packages/table/src/footer.ts +425 -380
  97. package/packages/table/src/group.ts +67 -63
  98. package/packages/table/src/header.ts +642 -581
  99. package/packages/table/src/props.ts +336 -336
  100. package/packages/table/src/store.ts +14 -14
  101. package/packages/table/src/table.ts +16011 -15454
  102. package/packages/table/src/use/cell-view.ts +41 -44
  103. package/packages/table/src/use/index.ts +1 -1
  104. package/packages/table/src/util.ts +1206 -1216
  105. package/packages/toolbar/index.ts +18 -18
  106. package/packages/toolbar/src/toolbar.ts +768 -706
  107. package/packages/ui/index.ts +519 -520
  108. package/packages/ui/src/anime.ts +51 -52
  109. package/packages/ui/src/comp.ts +3 -3
  110. package/packages/ui/src/dom.ts +466 -463
  111. package/packages/ui/src/log.ts +19 -19
  112. package/packages/ui/src/utils.ts +66 -66
  113. package/packages/ui/src/vn.ts +55 -55
  114. package/packages/v-x-e-table/index.d.ts +3 -3
  115. package/packages/v-x-e-table/index.ts +3 -3
  116. package/types/all.d.ts +76 -76
  117. package/types/index.d.ts +4 -4
  118. /package/dist/{iconfont.1793007753347.ttf → iconfont.1793009263429.ttf} +0 -0
  119. /package/dist/{iconfont.1793007753347.woff → iconfont.1793009263429.woff} +0 -0
  120. /package/dist/{iconfont.1793007753347.woff2 → iconfont.1793009263429.woff2} +0 -0
  121. /package/es/{iconfont.1793007753347.ttf → iconfont.1793009263429.ttf} +0 -0
  122. /package/es/{iconfont.1793007753347.woff → iconfont.1793009263429.woff} +0 -0
  123. /package/es/{iconfont.1793007753347.woff2 → iconfont.1793009263429.woff2} +0 -0
  124. /package/lib/{iconfont.1793007753347.ttf → iconfont.1793009263429.ttf} +0 -0
  125. /package/lib/{iconfont.1793007753347.woff → iconfont.1793009263429.woff} +0 -0
  126. /package/lib/{iconfont.1793007753347.woff2 → iconfont.1793009263429.woff2} +0 -0
@@ -56,7 +56,29 @@ var body_default = (0, import_comp.defineVxeComponent)({
56
56
  setup(props) {
57
57
  const $xeTable = (0, import_vue.inject)("$xeTable", {});
58
58
  const { xID, props: tableProps, context: tableContext, reactData: tableReactData, internalData: tableInternalData } = $xeTable;
59
- const { computeEditOpts, computeMouseOpts, computeCellOffsetWidth, computeAreaOpts, computeDefaultRowHeight, computeEmptyOpts, computeTooltipOpts, computeRadioOpts, computeExpandOpts, computeTreeOpts, computeCheckboxOpts, computeCellOpts, computeValidOpts, computeRowOpts, computeColumnOpts, computeRowDragOpts, computeResizableOpts, computeVirtualXOpts, computeVirtualYOpts, computeIsBodyRenderOptimize, computeRendererOpts } = $xeTable.getComputeMaps();
59
+ const {
60
+ computeEditOpts,
61
+ computeMouseOpts,
62
+ computeCellOffsetWidth,
63
+ computeAreaOpts,
64
+ computeDefaultRowHeight,
65
+ computeEmptyOpts,
66
+ computeTooltipOpts,
67
+ computeRadioOpts,
68
+ computeExpandOpts,
69
+ computeTreeOpts,
70
+ computeCheckboxOpts,
71
+ computeCellOpts,
72
+ computeValidOpts,
73
+ computeRowOpts,
74
+ computeColumnOpts,
75
+ computeRowDragOpts,
76
+ computeResizableOpts,
77
+ computeVirtualXOpts,
78
+ computeVirtualYOpts,
79
+ computeIsBodyRenderOptimize,
80
+ computeRendererOpts
81
+ } = $xeTable.getComputeMaps();
60
82
  const refElem = (0, import_vue.ref)();
61
83
  const refBodyScroll = (0, import_vue.ref)();
62
84
  const refBodyTable = (0, import_vue.ref)();
@@ -105,19 +127,23 @@ var body_default = (0, import_comp.defineVxeComponent)({
105
127
  lineHeight = `calc(-1em + ${Math.floor(cellHeight / 2 + (0, import_util.getCellRestHeight)(parentRowRest, cellOpts, rowOpts, defaultRowHeight) / 2)}px)`;
106
128
  }
107
129
  return [
108
- (0, import_vue.h)("div", {
109
- key: "tl",
110
- class: "vxe-tree--line-wrapper"
111
- }, [
112
- (0, import_vue.h)("div", {
113
- class: "vxe-tree--line",
114
- style: {
115
- height: lineHeight,
116
- bottom: `-${Math.floor(cellHeight / 2)}px`,
117
- left: `calc(${rLevel * treeOpts.indent}px + 1em)`
118
- }
119
- })
120
- ])
130
+ (0, import_vue.h)(
131
+ "div",
132
+ {
133
+ key: "tl",
134
+ class: "vxe-tree--line-wrapper"
135
+ },
136
+ [
137
+ (0, import_vue.h)("div", {
138
+ class: "vxe-tree--line",
139
+ style: {
140
+ height: lineHeight,
141
+ bottom: `-${Math.floor(cellHeight / 2)}px`,
142
+ left: `calc(${rLevel * treeOpts.indent}px + 1em)`
143
+ }
144
+ })
145
+ ]
146
+ )
121
147
  ];
122
148
  }
123
149
  return [];
@@ -350,11 +376,14 @@ var body_default = (0, import_comp.defineVxeComponent)({
350
376
  tdVNs.push(
351
377
  (0, import_vue.h)("div", {
352
378
  key: "tc",
353
- class: ["vxe-cell", {
354
- "c--title": showTitle,
355
- "c--tooltip": showTooltip,
356
- "c--ellipsis": showEllipsis
357
- }],
379
+ class: [
380
+ "vxe-cell",
381
+ {
382
+ "c--title": showTitle,
383
+ "c--tooltip": showTooltip,
384
+ "c--ellipsis": showEllipsis
385
+ }
386
+ ],
358
387
  style: tcStyle
359
388
  })
360
389
  );
@@ -365,47 +394,70 @@ var body_default = (0, import_comp.defineVxeComponent)({
365
394
  const clVNs = [];
366
395
  if (!isVNPreEmptyStatus) {
367
396
  clVNs.push(
368
- (0, import_vue.h)("div", {
369
- colid,
370
- rowid,
371
- class: "vxe-cell--wrapper vxe-body-cell--wrapper"
372
- }, column.renderCell(cellParams))
397
+ (0, import_vue.h)(
398
+ "div",
399
+ {
400
+ colid,
401
+ rowid,
402
+ class: "vxe-cell--wrapper vxe-body-cell--wrapper"
403
+ },
404
+ column.renderCell(cellParams)
405
+ )
373
406
  );
374
407
  }
375
408
  tdVNs.push(
376
- (0, import_vue.h)("div", {
377
- key: "tc",
378
- class: ["vxe-cell", {
379
- "c--title": showTitle,
380
- "c--tooltip": showTooltip,
381
- "c--ellipsis": showEllipsis
382
- }],
383
- style: tcStyle,
384
- title: showTitle ? $xeTable.getCellLabel(row, column) : null
385
- }, clVNs)
409
+ (0, import_vue.h)(
410
+ "div",
411
+ {
412
+ key: "tc",
413
+ class: [
414
+ "vxe-cell",
415
+ {
416
+ "c--title": showTitle,
417
+ "c--tooltip": showTooltip,
418
+ "c--ellipsis": showEllipsis
419
+ }
420
+ ],
421
+ style: tcStyle,
422
+ title: showTitle ? $xeTable.getCellLabel(row, column) : null
423
+ },
424
+ clVNs
425
+ )
386
426
  );
387
427
  if (showValidTip && errorValidItem) {
388
428
  const errRule = errorValidItem.rule;
389
429
  const validSlot = slots ? slots.valid : null;
390
430
  const validParams = { ...cellParams, ...errorValidItem, rule: errorValidItem };
391
431
  tdVNs.push(
392
- (0, import_vue.h)("div", {
393
- key: "tcv",
394
- class: ["vxe-cell--valid-error-tip", (0, import_dom.getPropClass)(validOpts.className, validParams)],
395
- style: errRule && errRule.maxWidth ? {
396
- width: errRule.maxWidth + "px"
397
- } : null
398
- }, [
399
- (0, import_vue.h)("div", {
400
- class: `vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-${validOpts.theme || "normal"}`
401
- }, [
402
- validSlot ? $xeTable.callSlot(validSlot, validParams) : [
403
- (0, import_vue.h)("span", {
404
- class: "vxe-cell--valid-error-msg"
405
- }, errorValidItem.content)
406
- ]
407
- ])
408
- ])
432
+ (0, import_vue.h)(
433
+ "div",
434
+ {
435
+ key: "tcv",
436
+ class: ["vxe-cell--valid-error-tip", (0, import_dom.getPropClass)(validOpts.className, validParams)],
437
+ style: errRule && errRule.maxWidth ? {
438
+ width: errRule.maxWidth + "px"
439
+ } : null
440
+ },
441
+ [
442
+ (0, import_vue.h)(
443
+ "div",
444
+ {
445
+ class: `vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-${validOpts.theme || "normal"}`
446
+ },
447
+ [
448
+ validSlot ? $xeTable.callSlot(validSlot, validParams) : [
449
+ (0, import_vue.h)(
450
+ "span",
451
+ {
452
+ class: "vxe-cell--valid-error-msg"
453
+ },
454
+ errorValidItem.content
455
+ )
456
+ ]
457
+ ]
458
+ )
459
+ ]
460
+ )
409
461
  );
410
462
  }
411
463
  }
@@ -417,9 +469,12 @@ var body_default = (0, import_comp.defineVxeComponent)({
417
469
  tdVNs.push(
418
470
  (0, import_vue.h)("div", {
419
471
  key: "tcc",
420
- class: ["vxe-cell--col-resizable", {
421
- "is--line": !border || border === "none"
422
- }],
472
+ class: [
473
+ "vxe-cell--col-resizable",
474
+ {
475
+ "is--line": !border || border === "none"
476
+ }
477
+ ],
423
478
  onMousedown: (evnt) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
424
479
  onDblclick: (evnt) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
425
480
  })
@@ -435,47 +490,51 @@ var body_default = (0, import_comp.defineVxeComponent)({
435
490
  })
436
491
  );
437
492
  }
438
- return (0, import_vue.h)("td", {
439
- class: [
440
- "vxe-table--column vxe-body--column",
441
- colid,
442
- cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : "",
443
- cellAlign ? `col--${cellAlign}` : "",
444
- type ? `col--${type}` : "",
445
- {
446
- "col--last": isLastColumn,
447
- "col--tree-node": treeNode,
448
- "col--edit": isEdit,
449
- "col--ellipsis": hasEllipsis,
450
- "col--cs-height": isCsHeight,
451
- "col--rs-height": isRsHeight,
452
- "col--to-row": showAreaRowStatus,
453
- "col--auto-height": isVNAutoHeight,
454
- "col--max-height": maxHeight,
455
- "fixed--width": !isAutoCellWidth,
456
- "fixed--hidden": fixedHiddenColumn,
457
- "is--pg-top": isCellPaddingTop,
458
- "is--pg-bottom": isCellPaddingBottom,
459
- "is--pg-left": isCellPaddingLeft,
460
- "is--pg-right": isCellPaddingRight,
461
- "is--progress": fixedHiddenColumn && isAllOverflow || isVNPreEmptyStatus,
462
- "is--drag-cell": isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
463
- "is--drag-disabled": isDisabledDrag,
464
- "col--dirty": isDirty,
465
- "col--active": editConfig && isEdit && (actived.row === row && (actived.column === column || editOpts.mode === "row")),
466
- "col--valid-error": !!errorValidItem,
467
- "show--valid-bg": errorValidItem && validOpts.showErrorBackground,
468
- "col--current": currColFlag && currentCol === column
469
- },
470
- (0, import_dom.getPropClass)(compCellClassName, cellParams),
471
- (0, import_dom.getPropClass)(className, cellParams),
472
- (0, import_dom.getPropClass)(allCellClassName, cellParams)
473
- ],
474
- key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? colid : $columnIndex,
475
- ...tdAttrs,
476
- style: Object.assign({}, import_xe_utils.default.isFunction(compCellStyle) ? compCellStyle(cellParams) : compCellStyle, import_xe_utils.default.isFunction(cellStyle) ? cellStyle(cellParams) : cellStyle),
477
- ...tdOns
478
- }, isOptimizeMode && fixedHiddenColumn ? [] : tdVNs);
493
+ return (0, import_vue.h)(
494
+ "td",
495
+ {
496
+ class: [
497
+ "vxe-table--column vxe-body--column",
498
+ colid,
499
+ cellVerticalAlign ? `col--vertical-${cellVerticalAlign}` : "",
500
+ cellAlign ? `col--${cellAlign}` : "",
501
+ type ? `col--${type}` : "",
502
+ {
503
+ "col--last": isLastColumn,
504
+ "col--tree-node": treeNode,
505
+ "col--edit": isEdit,
506
+ "col--ellipsis": hasEllipsis,
507
+ "col--cs-height": isCsHeight,
508
+ "col--rs-height": isRsHeight,
509
+ "col--to-row": showAreaRowStatus,
510
+ "col--auto-height": isVNAutoHeight,
511
+ "col--max-height": maxHeight,
512
+ "fixed--width": !isAutoCellWidth,
513
+ "fixed--hidden": fixedHiddenColumn,
514
+ "is--pg-top": isCellPaddingTop,
515
+ "is--pg-bottom": isCellPaddingBottom,
516
+ "is--pg-left": isCellPaddingLeft,
517
+ "is--pg-right": isCellPaddingRight,
518
+ "is--progress": fixedHiddenColumn && isAllOverflow || isVNPreEmptyStatus,
519
+ "is--drag-cell": isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
520
+ "is--drag-disabled": isDisabledDrag,
521
+ "col--dirty": isDirty,
522
+ "col--active": editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === "row"),
523
+ "col--valid-error": !!errorValidItem,
524
+ "show--valid-bg": errorValidItem && validOpts.showErrorBackground,
525
+ "col--current": currColFlag && currentCol === column
526
+ },
527
+ (0, import_dom.getPropClass)(compCellClassName, cellParams),
528
+ (0, import_dom.getPropClass)(className, cellParams),
529
+ (0, import_dom.getPropClass)(allCellClassName, cellParams)
530
+ ],
531
+ key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? colid : $columnIndex,
532
+ ...tdAttrs,
533
+ style: Object.assign({}, import_xe_utils.default.isFunction(compCellStyle) ? compCellStyle(cellParams) : compCellStyle, import_xe_utils.default.isFunction(cellStyle) ? cellStyle(cellParams) : cellStyle),
534
+ ...tdOns
535
+ },
536
+ isOptimizeMode && fixedHiddenColumn ? [] : tdVNs
537
+ );
479
538
  };
480
539
  const renderRows = (fixedType, isOptimizeMode, tableData, tableColumn) => {
481
540
  const $xeGrid = $xeTable.xeGrid;
@@ -577,13 +636,17 @@ var body_default = (0, import_comp.defineVxeComponent)({
577
636
  return renderTdColumn(seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
578
637
  });
579
638
  rows.push(
580
- (0, import_vue.h)("tr", {
581
- class: trClass,
582
- rowid,
583
- style: rowStyle ? import_xe_utils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
584
- key: rowKey || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
585
- ...trOn
586
- }, tdVNs)
639
+ (0, import_vue.h)(
640
+ "tr",
641
+ {
642
+ class: trClass,
643
+ rowid,
644
+ style: rowStyle ? import_xe_utils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
645
+ key: rowKey || rowOpts.useKey || rowOpts.drag || columnOpts.drag || isRowGroupStatus || treeConfig ? rowid : $rowIndex,
646
+ ...trOn
647
+ },
648
+ tdVNs
649
+ )
587
650
  );
588
651
  if (isExpandRow) {
589
652
  const expandOpts = computeExpandOpts.value;
@@ -597,19 +660,23 @@ var body_default = (0, import_comp.defineVxeComponent)({
597
660
  }
598
661
  }
599
662
  rows.push(
600
- (0, import_vue.h)("tr", {
601
- class: "vxe-body--row-expanded-place",
602
- key: `expand_${rowid}`,
603
- rowid
604
- }, [
605
- (0, import_vue.h)("td", {
606
- class: "vxe-body--row-expanded-place-column",
607
- colspan: tableColumn.length,
608
- style: {
609
- height: `${expHeight}px`
610
- }
611
- })
612
- ])
663
+ (0, import_vue.h)(
664
+ "tr",
665
+ {
666
+ class: "vxe-body--row-expanded-place",
667
+ key: `expand_${rowid}`,
668
+ rowid
669
+ },
670
+ [
671
+ (0, import_vue.h)("td", {
672
+ class: "vxe-body--row-expanded-place-column",
673
+ colspan: tableColumn.length,
674
+ style: {
675
+ height: `${expHeight}px`
676
+ }
677
+ })
678
+ ]
679
+ )
613
680
  );
614
681
  } else {
615
682
  const cellStyle = {};
@@ -656,29 +723,48 @@ var body_default = (0, import_comp.defineVxeComponent)({
656
723
  items: []
657
724
  };
658
725
  rows.push(
659
- (0, import_vue.h)("tr", {
660
- class: ["vxe-body--expanded-row", {
661
- "is--padding": padding
662
- }],
663
- key: `expand_${rowid}`
664
- }, [
665
- (0, import_vue.h)("td", {
666
- class: ["vxe-body--expanded-column", {
667
- "fixed--hidden": fixedType && !hasFixedColumn,
668
- "col--ellipsis": hasEllipsis
669
- }],
670
- colspan: tableColumn.length
671
- }, [
672
- (0, import_vue.h)("div", {
673
- class: ["vxe-body--expanded-cell", {
674
- "is--ellipsis": expandHeight
675
- }],
676
- style: cellStyle
677
- }, [
678
- expandColumn.renderData(expandParams)
679
- ])
680
- ])
681
- ])
726
+ (0, import_vue.h)(
727
+ "tr",
728
+ {
729
+ class: [
730
+ "vxe-body--expanded-row",
731
+ {
732
+ "is--padding": padding
733
+ }
734
+ ],
735
+ key: `expand_${rowid}`
736
+ },
737
+ [
738
+ (0, import_vue.h)(
739
+ "td",
740
+ {
741
+ class: [
742
+ "vxe-body--expanded-column",
743
+ {
744
+ "fixed--hidden": fixedType && !hasFixedColumn,
745
+ "col--ellipsis": hasEllipsis
746
+ }
747
+ ],
748
+ colspan: tableColumn.length
749
+ },
750
+ [
751
+ (0, import_vue.h)(
752
+ "div",
753
+ {
754
+ class: [
755
+ "vxe-body--expanded-cell",
756
+ {
757
+ "is--ellipsis": expandHeight
758
+ }
759
+ ],
760
+ style: cellStyle
761
+ },
762
+ [expandColumn.renderData(expandParams)]
763
+ )
764
+ ]
765
+ )
766
+ ]
767
+ )
682
768
  );
683
769
  }
684
770
  }
@@ -797,101 +883,137 @@ var body_default = (0, import_comp.defineVxeComponent)({
797
883
  emptyContent = tableProps.emptyText || getI18n("vxe.table.emptyText");
798
884
  }
799
885
  }
800
- return (0, import_vue.h)("div", {
801
- ref: refElem,
802
- class: ["vxe-table--body-wrapper", fixedType ? `fixed-${fixedType}--wrapper` : "body--wrapper"],
803
- xid: xID
804
- }, [
805
- (0, import_vue.h)("div", {
806
- ref: refBodyScroll,
807
- class: "vxe-table--body-inner-wrapper",
808
- onScroll(evnt) {
809
- $xeTable.triggerBodyScrollEvent(evnt, fixedType);
810
- }
811
- }, [
812
- fixedType ? renderEmptyElement($xeTable) : (0, import_vue.h)("div", {
813
- ref: refBodyXSpace,
814
- class: "vxe-body--x-space"
815
- }),
816
- (0, import_vue.h)("div", {
817
- ref: refBodyYSpace,
818
- class: "vxe-body--y-space"
819
- }),
820
- (0, import_vue.h)("table", {
821
- ref: refBodyTable,
822
- class: "vxe-table--body",
823
- xid: xID,
824
- cellspacing: 0,
825
- cellpadding: 0,
826
- border: 0,
827
- xvm: isOptimizeMode ? "1" : null
828
- }, [
829
- /**
830
- * 列宽
831
- */
832
- (0, import_vue.h)("colgroup", {
833
- ref: refBodyColgroup
834
- }, renderColumnList.map((column, $columnIndex) => {
835
- return (0, import_vue.h)("col", {
836
- name: column.id,
837
- key: $columnIndex,
838
- style: {
839
- width: `${column.renderWidth}px`
840
- }
841
- });
842
- })),
843
- /**
844
- * 内容
845
- */
846
- (0, import_vue.h)("tbody", {
847
- ref: refBodyTBody
848
- }, renderRows(fixedType, isOptimizeMode, renderDataList, renderColumnList))
849
- ]),
850
- (0, import_vue.h)("div", {
851
- class: "vxe-table--checkbox-range"
852
- }),
853
- (0, import_utils.hasEnableConf)(mouseConfig, mouseOpts) && mouseOpts.area ? (0, import_vue.h)("div", {
854
- class: "vxe-table--cell-area",
855
- xid: xID
856
- }, [
857
- (0, import_vue.h)("span", {
858
- class: "vxe-table--cell-main-area"
859
- }, mouseOpts.extension ? [
860
- (0, import_vue.h)("span", {
861
- class: "vxe-table--cell-main-area-btn",
862
- onMousedown(evnt) {
863
- if ($xeTable.triggerCellAreaExtendMousedownEvent) {
864
- $xeTable.triggerCellAreaExtendMousedownEvent(evnt, { $table: $xeTable, fixed: fixedType, type: renderType });
865
- }
866
- }
867
- })
868
- ] : []),
869
- (0, import_vue.h)("span", {
870
- class: "vxe-table--cell-clip-area"
871
- }),
872
- (0, import_vue.h)("span", {
873
- class: "vxe-table--cell-extend-area"
874
- }),
875
- (0, import_vue.h)("span", {
876
- class: "vxe-table--cell-multi-area"
877
- }),
878
- (0, import_vue.h)("span", {
879
- class: "vxe-table--cell-active-area"
880
- }),
881
- (0, import_vue.h)("span", {
882
- class: "vxe-table--cell-row-status-area"
883
- })
884
- ]) : renderEmptyElement($xeTable),
885
- !fixedType ? (0, import_vue.h)("div", {
886
- class: "vxe-table--empty-block",
887
- ref: refBodyEmptyBlock
888
- }, [
889
- (0, import_vue.h)("div", {
890
- class: "vxe-table--empty-content"
891
- }, emptyContent)
892
- ]) : renderEmptyElement($xeTable)
893
- ])
894
- ]);
886
+ return (0, import_vue.h)(
887
+ "div",
888
+ {
889
+ ref: refElem,
890
+ class: ["vxe-table--body-wrapper", fixedType ? `fixed-${fixedType}--wrapper` : "body--wrapper"],
891
+ xid: xID
892
+ },
893
+ [
894
+ (0, import_vue.h)(
895
+ "div",
896
+ {
897
+ ref: refBodyScroll,
898
+ class: "vxe-table--body-inner-wrapper",
899
+ onScroll(evnt) {
900
+ $xeTable.triggerBodyScrollEvent(evnt, fixedType);
901
+ }
902
+ },
903
+ [
904
+ fixedType ? renderEmptyElement($xeTable) : (0, import_vue.h)("div", {
905
+ ref: refBodyXSpace,
906
+ class: "vxe-body--x-space"
907
+ }),
908
+ (0, import_vue.h)("div", {
909
+ ref: refBodyYSpace,
910
+ class: "vxe-body--y-space"
911
+ }),
912
+ (0, import_vue.h)(
913
+ "table",
914
+ {
915
+ ref: refBodyTable,
916
+ class: "vxe-table--body",
917
+ xid: xID,
918
+ cellspacing: 0,
919
+ cellpadding: 0,
920
+ border: 0,
921
+ xvm: isOptimizeMode ? "1" : null
922
+ },
923
+ [
924
+ /**
925
+ * 列宽
926
+ */
927
+ (0, import_vue.h)(
928
+ "colgroup",
929
+ {
930
+ ref: refBodyColgroup
931
+ },
932
+ renderColumnList.map((column, $columnIndex) => {
933
+ return (0, import_vue.h)("col", {
934
+ name: column.id,
935
+ key: $columnIndex,
936
+ style: {
937
+ width: `${column.renderWidth}px`
938
+ }
939
+ });
940
+ })
941
+ ),
942
+ /**
943
+ * 内容
944
+ */
945
+ (0, import_vue.h)(
946
+ "tbody",
947
+ {
948
+ ref: refBodyTBody
949
+ },
950
+ renderRows(fixedType, isOptimizeMode, renderDataList, renderColumnList)
951
+ )
952
+ ]
953
+ ),
954
+ (0, import_vue.h)("div", {
955
+ class: "vxe-table--checkbox-range"
956
+ }),
957
+ (0, import_utils.hasEnableConf)(mouseConfig, mouseOpts) && mouseOpts.area ? (0, import_vue.h)(
958
+ "div",
959
+ {
960
+ class: "vxe-table--cell-area",
961
+ xid: xID
962
+ },
963
+ [
964
+ (0, import_vue.h)(
965
+ "span",
966
+ {
967
+ class: "vxe-table--cell-main-area"
968
+ },
969
+ mouseOpts.extension ? [
970
+ (0, import_vue.h)("span", {
971
+ class: "vxe-table--cell-main-area-btn",
972
+ onMousedown(evnt) {
973
+ if ($xeTable.triggerCellAreaExtendMousedownEvent) {
974
+ $xeTable.triggerCellAreaExtendMousedownEvent(evnt, { $table: $xeTable, fixed: fixedType, type: renderType });
975
+ }
976
+ }
977
+ })
978
+ ] : []
979
+ ),
980
+ (0, import_vue.h)("span", {
981
+ class: "vxe-table--cell-clip-area"
982
+ }),
983
+ (0, import_vue.h)("span", {
984
+ class: "vxe-table--cell-extend-area"
985
+ }),
986
+ (0, import_vue.h)("span", {
987
+ class: "vxe-table--cell-multi-area"
988
+ }),
989
+ (0, import_vue.h)("span", {
990
+ class: "vxe-table--cell-active-area"
991
+ }),
992
+ (0, import_vue.h)("span", {
993
+ class: "vxe-table--cell-row-status-area"
994
+ })
995
+ ]
996
+ ) : renderEmptyElement($xeTable),
997
+ !fixedType ? (0, import_vue.h)(
998
+ "div",
999
+ {
1000
+ class: "vxe-table--empty-block",
1001
+ ref: refBodyEmptyBlock
1002
+ },
1003
+ [
1004
+ (0, import_vue.h)(
1005
+ "div",
1006
+ {
1007
+ class: "vxe-table--empty-content"
1008
+ },
1009
+ emptyContent
1010
+ )
1011
+ ]
1012
+ ) : renderEmptyElement($xeTable)
1013
+ ]
1014
+ )
1015
+ ]
1016
+ );
895
1017
  };
896
1018
  return renderVN;
897
1019
  }