vxe-table 3.15.38 → 3.15.40

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 (179) hide show
  1. package/es/grid/src/grid.js +73 -49
  2. package/es/{iconfont.1749796837661.ttf → iconfont.1750082820248.ttf} +0 -0
  3. package/es/iconfont.1750082820248.woff +0 -0
  4. package/es/iconfont.1750082820248.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 +9 -6
  34. package/es/table/src/methods.js +34 -26
  35. package/es/table/src/props.js +32 -8
  36. package/es/table/src/table.js +57 -38
  37. package/es/table/style.css +22 -3
  38. package/es/table/style.min.css +1 -1
  39. package/es/ui/index.js +4 -1
  40. package/es/ui/src/log.js +1 -1
  41. package/es/vxe-table/style.css +22 -3
  42. package/es/vxe-table/style.min.css +1 -1
  43. package/lib/grid/src/grid.js +81 -82
  44. package/lib/grid/src/grid.min.js +1 -1
  45. package/lib/{iconfont.1749796837661.ttf → iconfont.1750082820248.ttf} +0 -0
  46. package/lib/iconfont.1750082820248.woff +0 -0
  47. package/lib/iconfont.1750082820248.woff2 +0 -0
  48. package/lib/index.css +1 -1
  49. package/lib/index.min.css +1 -1
  50. package/lib/index.umd.js +285 -187
  51. package/lib/index.umd.min.js +1 -1
  52. package/lib/locale/lang/ar-EG.js +6 -0
  53. package/lib/locale/lang/ar-EG.min.js +1 -1
  54. package/lib/locale/lang/ar-EG.umd.js +6 -0
  55. package/lib/locale/lang/de-DE.js +6 -0
  56. package/lib/locale/lang/de-DE.min.js +1 -1
  57. package/lib/locale/lang/de-DE.umd.js +6 -0
  58. package/lib/locale/lang/en-US.js +6 -0
  59. package/lib/locale/lang/en-US.min.js +1 -1
  60. package/lib/locale/lang/en-US.umd.js +6 -0
  61. package/lib/locale/lang/es-ES.js +6 -0
  62. package/lib/locale/lang/es-ES.min.js +1 -1
  63. package/lib/locale/lang/es-ES.umd.js +6 -0
  64. package/lib/locale/lang/fr-FR.js +6 -0
  65. package/lib/locale/lang/fr-FR.min.js +1 -1
  66. package/lib/locale/lang/fr-FR.umd.js +6 -0
  67. package/lib/locale/lang/hu-HU.js +6 -0
  68. package/lib/locale/lang/hu-HU.min.js +1 -1
  69. package/lib/locale/lang/hu-HU.umd.js +6 -0
  70. package/lib/locale/lang/hy-AM.js +6 -0
  71. package/lib/locale/lang/hy-AM.min.js +1 -1
  72. package/lib/locale/lang/hy-AM.umd.js +6 -0
  73. package/lib/locale/lang/id-ID.js +6 -0
  74. package/lib/locale/lang/id-ID.min.js +1 -1
  75. package/lib/locale/lang/id-ID.umd.js +6 -0
  76. package/lib/locale/lang/it-IT.js +6 -0
  77. package/lib/locale/lang/it-IT.min.js +1 -1
  78. package/lib/locale/lang/it-IT.umd.js +6 -0
  79. package/lib/locale/lang/ja-JP.js +6 -0
  80. package/lib/locale/lang/ja-JP.min.js +1 -1
  81. package/lib/locale/lang/ja-JP.umd.js +6 -0
  82. package/lib/locale/lang/ko-KR.js +6 -0
  83. package/lib/locale/lang/ko-KR.min.js +1 -1
  84. package/lib/locale/lang/ko-KR.umd.js +6 -0
  85. package/lib/locale/lang/ms-MY.js +6 -0
  86. package/lib/locale/lang/ms-MY.min.js +1 -1
  87. package/lib/locale/lang/ms-MY.umd.js +6 -0
  88. package/lib/locale/lang/nb-NO.js +6 -0
  89. package/lib/locale/lang/nb-NO.min.js +1 -1
  90. package/lib/locale/lang/nb-NO.umd.js +6 -0
  91. package/lib/locale/lang/pt-BR.js +6 -0
  92. package/lib/locale/lang/pt-BR.min.js +1 -1
  93. package/lib/locale/lang/pt-BR.umd.js +6 -0
  94. package/lib/locale/lang/ru-RU.js +6 -0
  95. package/lib/locale/lang/ru-RU.min.js +1 -1
  96. package/lib/locale/lang/ru-RU.umd.js +6 -0
  97. package/lib/locale/lang/th-TH.js +6 -0
  98. package/lib/locale/lang/th-TH.min.js +1 -1
  99. package/lib/locale/lang/th-TH.umd.js +6 -0
  100. package/lib/locale/lang/ug-CN.js +6 -0
  101. package/lib/locale/lang/ug-CN.min.js +1 -1
  102. package/lib/locale/lang/ug-CN.umd.js +6 -0
  103. package/lib/locale/lang/uk-UA.js +6 -0
  104. package/lib/locale/lang/uk-UA.min.js +1 -1
  105. package/lib/locale/lang/uk-UA.umd.js +6 -0
  106. package/lib/locale/lang/uz-UZ.js +6 -0
  107. package/lib/locale/lang/uz-UZ.min.js +1 -1
  108. package/lib/locale/lang/uz-UZ.umd.js +6 -0
  109. package/lib/locale/lang/vi-VN.js +6 -0
  110. package/lib/locale/lang/vi-VN.min.js +1 -1
  111. package/lib/locale/lang/vi-VN.umd.js +6 -0
  112. package/lib/locale/lang/zh-CHT.js +6 -0
  113. package/lib/locale/lang/zh-CHT.min.js +1 -1
  114. package/lib/locale/lang/zh-CHT.umd.js +6 -0
  115. package/lib/locale/lang/zh-CN.js +6 -0
  116. package/lib/locale/lang/zh-CN.min.js +1 -1
  117. package/lib/locale/lang/zh-CN.umd.js +6 -0
  118. package/lib/style.css +1 -1
  119. package/lib/style.min.css +1 -1
  120. package/lib/table/module/custom/mixin.js +32 -5
  121. package/lib/table/module/custom/mixin.min.js +1 -1
  122. package/lib/table/module/custom/panel.js +14 -2
  123. package/lib/table/module/custom/panel.min.js +1 -1
  124. package/lib/table/src/body.js +12 -12
  125. package/lib/table/src/body.min.js +1 -1
  126. package/lib/table/src/methods.js +38 -25
  127. package/lib/table/src/methods.min.js +1 -1
  128. package/lib/table/src/props.js +32 -8
  129. package/lib/table/src/table.js +64 -50
  130. package/lib/table/src/table.min.js +1 -1
  131. package/lib/table/style/style.css +22 -3
  132. package/lib/table/style/style.min.css +1 -1
  133. package/lib/ui/index.js +4 -1
  134. package/lib/ui/index.min.js +1 -1
  135. package/lib/ui/src/log.js +1 -1
  136. package/lib/ui/src/log.min.js +1 -1
  137. package/lib/vxe-table/style/style.css +22 -3
  138. package/lib/vxe-table/style/style.min.css +1 -1
  139. package/package.json +1 -1
  140. package/packages/grid/src/grid.ts +93 -54
  141. package/packages/locale/lang/ar-EG.ts +6 -0
  142. package/packages/locale/lang/de-DE.ts +6 -0
  143. package/packages/locale/lang/en-US.ts +6 -0
  144. package/packages/locale/lang/es-ES.ts +6 -0
  145. package/packages/locale/lang/fr-FR.ts +6 -0
  146. package/packages/locale/lang/hu-HU.ts +6 -0
  147. package/packages/locale/lang/hy-AM.ts +6 -0
  148. package/packages/locale/lang/id-ID.ts +6 -0
  149. package/packages/locale/lang/it-IT.ts +6 -0
  150. package/packages/locale/lang/ja-JP.ts +6 -0
  151. package/packages/locale/lang/ko-KR.ts +6 -0
  152. package/packages/locale/lang/ms-MY.ts +6 -0
  153. package/packages/locale/lang/nb-NO.ts +6 -0
  154. package/packages/locale/lang/pt-BR.ts +6 -0
  155. package/packages/locale/lang/ru-RU.ts +6 -0
  156. package/packages/locale/lang/th-TH.ts +6 -0
  157. package/packages/locale/lang/ug-CN.ts +6 -0
  158. package/packages/locale/lang/uk-UA.ts +6 -0
  159. package/packages/locale/lang/uz-UZ.ts +6 -0
  160. package/packages/locale/lang/vi-VN.ts +6 -0
  161. package/packages/locale/lang/zh-CHT.ts +6 -0
  162. package/packages/locale/lang/zh-CN.ts +6 -0
  163. package/packages/table/module/custom/mixin.ts +27 -3
  164. package/packages/table/module/custom/panel.ts +119 -106
  165. package/packages/table/src/body.ts +14 -11
  166. package/packages/table/src/cell.ts +12 -12
  167. package/packages/table/src/methods.ts +35 -26
  168. package/packages/table/src/props.ts +32 -8
  169. package/packages/table/src/table.ts +76 -49
  170. package/packages/ui/index.ts +11 -0
  171. package/styles/components/icon.scss +13 -1
  172. package/styles/components/table-module/custom.scss +9 -2
  173. package/styles/icon/iconfont.ttf +0 -0
  174. package/styles/icon/iconfont.woff +0 -0
  175. package/styles/icon/iconfont.woff2 +0 -0
  176. package/es/iconfont.1749796837661.woff +0 -0
  177. package/es/iconfont.1749796837661.woff2 +0 -0
  178. package/lib/iconfont.1749796837661.woff +0 -0
  179. package/lib/iconfont.1749796837661.woff2 +0 -0
@@ -79,21 +79,24 @@ function renderFixed(h, $xeTable, fixedType) {
79
79
  : renderEmptyElement($xeTable)
80
80
  ]);
81
81
  }
82
- function renderEmptyBody(h, _vm) {
83
- const { $scopedSlots, emptyOpts } = _vm;
82
+ function renderEmptyBody(h, $xeTable) {
83
+ const slots = $xeTable.$scopedSlots;
84
+ const $xeGrid = $xeTable.$xeGrid;
85
+ const emptyOpts = $xeTable.computeEmptyOpts;
86
+ const emptySlot = slots.empty;
84
87
  let emptyContent = '';
85
- const params = { $table: _vm };
86
- if ($scopedSlots.empty) {
87
- emptyContent = $scopedSlots.empty.call(_vm, params, h);
88
+ const emptyParams = { $table: $xeTable, $grid: $xeGrid };
89
+ if (emptySlot) {
90
+ emptyContent = emptySlot.call($xeTable, emptyParams);
88
91
  }
89
92
  else {
90
93
  const compConf = emptyOpts.name ? renderer.get(emptyOpts.name) : null;
91
94
  const rtEmptyView = compConf ? (compConf.renderTableEmpty || compConf.renderTableEmptyView || compConf.renderEmpty) : null;
92
95
  if (rtEmptyView) {
93
- emptyContent = getSlotVNs(rtEmptyView.call(_vm, h, emptyOpts, params));
96
+ emptyContent = getSlotVNs(rtEmptyView.call($xeTable, h, emptyOpts, emptyParams));
94
97
  }
95
98
  else {
96
- emptyContent = getFuncText(_vm.emptyText) || getI18n('vxe.table.emptyText');
99
+ emptyContent = getFuncText($xeTable.emptyText) || getI18n('vxe.table.emptyText');
97
100
  }
98
101
  }
99
102
  return emptyContent;
@@ -171,10 +174,10 @@ const renderDragTip = (h, $xeTable) => {
171
174
  }
172
175
  return renderEmptyElement($xeTable);
173
176
  };
174
- function handleUpdateResize(_vm) {
175
- const { $el } = _vm;
176
- if ($el && $el.clientWidth && $el.clientHeight) {
177
- _vm.recalculate();
177
+ function handleUpdateResize($xeTable) {
178
+ const el = $xeTable.$refs.refElem;
179
+ if (el && el.clientWidth && el.clientHeight) {
180
+ $xeTable.recalculate();
178
181
  }
179
182
  }
180
183
  function renderRowExpandedVNs(h, $xeTable) {
@@ -642,6 +645,8 @@ export default {
642
645
  },
643
646
  visiblwRowsFlag: 1,
644
647
  isRowGroupStatus: false,
648
+ rowGroupList: [],
649
+ aggHandleFields: [],
645
650
  rowGroupExpandedFlag: 1,
646
651
  rowExpandedFlag: 1,
647
652
  treeExpandedFlag: 1,
@@ -687,10 +692,13 @@ export default {
687
692
  return this.computeTableId;
688
693
  },
689
694
  computeTableId() {
690
- const { id } = this;
695
+ const $xeTable = this;
696
+ const props = $xeTable;
697
+ const $xeGrid = $xeTable.$xeGrid;
698
+ const { id } = props;
691
699
  if (id) {
692
700
  if (XEUtils.isFunction(id)) {
693
- return `${id({ $table: this }) || ''}`;
701
+ return `${id({ $table: $xeTable, $grid: $xeGrid }) || ''}`;
694
702
  }
695
703
  return `${id}`;
696
704
  }
@@ -706,7 +714,9 @@ export default {
706
714
  return this.computeValidOpts;
707
715
  },
708
716
  computeValidOpts() {
709
- return Object.assign({ message: 'default' }, getConfig().table.validConfig, this.validConfig);
717
+ const $xeTable = this;
718
+ const props = $xeTable;
719
+ return Object.assign({}, getConfig().table.validConfig, props.validConfig);
710
720
  },
711
721
  sXOpts() {
712
722
  return this.computeVirtualXOpts;
@@ -1098,26 +1108,17 @@ export default {
1098
1108
  },
1099
1109
  computeTableRowExpandedList() {
1100
1110
  const $xeTable = this;
1101
- const props = $xeTable;
1102
1111
  const reactData = $xeTable;
1103
1112
  const internalData = $xeTable;
1104
- const { treeConfig } = props;
1105
- const { rowExpandedFlag, expandColumn, rowGroupExpandedFlag, treeExpandedFlag, isRowGroupStatus } = reactData;
1113
+ const { rowExpandedFlag, expandColumn, rowGroupExpandedFlag, treeExpandedFlag } = reactData;
1106
1114
  const { visibleDataRowIdData, rowExpandedMaps } = internalData;
1107
- const treeOpts = $xeTable.computeTreeOpts;
1108
- const { transform } = treeOpts;
1109
1115
  const expandList = [];
1110
1116
  if (expandColumn && rowExpandedFlag && rowGroupExpandedFlag && treeExpandedFlag) {
1111
- if (isRowGroupStatus || (treeConfig && transform)) {
1112
- XEUtils.each(rowExpandedMaps, (row, rowid) => {
1113
- if (visibleDataRowIdData[rowid]) {
1114
- expandList.push(row);
1115
- }
1116
- });
1117
- }
1118
- else {
1119
- return XEUtils.values(rowExpandedMaps);
1120
- }
1117
+ XEUtils.each(rowExpandedMaps, (row, rowid) => {
1118
+ if (visibleDataRowIdData[rowid]) {
1119
+ expandList.push(row);
1120
+ }
1121
+ });
1121
1122
  }
1122
1123
  return expandList;
1123
1124
  },
@@ -1203,6 +1204,21 @@ export default {
1203
1204
  const aggregateOpts = $xeTable.computeAggregateOpts;
1204
1205
  return aggregateOpts.groupFields;
1205
1206
  },
1207
+ computeRowGroupColumns() {
1208
+ const $xeTable = this;
1209
+ const reactData = $xeTable;
1210
+ const internalData = $xeTable;
1211
+ const { rowGroupList } = reactData;
1212
+ const { fullColumnFieldData } = internalData;
1213
+ const rgColumns = [];
1214
+ rowGroupList.forEach(aggConf => {
1215
+ const colRest = fullColumnFieldData[aggConf.field];
1216
+ if (colRest) {
1217
+ rgColumns.push(colRest.column);
1218
+ }
1219
+ });
1220
+ return rgColumns;
1221
+ },
1206
1222
  tabsResizeFlag() {
1207
1223
  const $xeTable = this;
1208
1224
  const $xeTabs = $xeTable.$xeTabs;
@@ -1297,11 +1313,12 @@ export default {
1297
1313
  $xeTable.updateFooter();
1298
1314
  },
1299
1315
  syncResize(value) {
1316
+ const $xeTable = this;
1300
1317
  if (value) {
1301
- handleUpdateResize(this);
1302
- this.$nextTick(() => {
1303
- handleUpdateResize(this);
1304
- setTimeout(() => handleUpdateResize(this));
1318
+ handleUpdateResize($xeTable);
1319
+ $xeTable.$nextTick(() => {
1320
+ handleUpdateResize($xeTable);
1321
+ setTimeout(() => handleUpdateResize($xeTable));
1305
1322
  });
1306
1323
  }
1307
1324
  },
@@ -1309,12 +1326,14 @@ export default {
1309
1326
  this.handleGlobalResizeEvent();
1310
1327
  },
1311
1328
  mergeCells(value) {
1312
- this.clearMergeCells();
1313
- this.$nextTick(() => this.setMergeCells(value));
1329
+ const $xeTable = this;
1330
+ $xeTable.clearMergeCells();
1331
+ $xeTable.$nextTick(() => $xeTable.setMergeCells(value));
1314
1332
  },
1315
1333
  mergeFooterItems(value) {
1316
- this.clearMergeFooterItems();
1317
- this.$nextTick(() => this.setMergeFooterItems(value));
1334
+ const $xeTable = this;
1335
+ $xeTable.clearMergeFooterItems();
1336
+ $xeTable.$nextTick(() => $xeTable.setMergeFooterItems(value));
1318
1337
  },
1319
1338
  computeRowGroupFields(val) {
1320
1339
  const $xeTable = this;
@@ -1898,7 +1917,7 @@ export default {
1898
1917
  }, [
1899
1918
  h('div', {
1900
1919
  class: 'vxe-table--empty-content'
1901
- }, renderEmptyBody(h, this))
1920
+ }, renderEmptyBody(h, $xeTable))
1902
1921
  ]),
1903
1922
  /**
1904
1923
  * 边框线
@@ -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;