vxe-table 3.17.10 → 3.18.0-beta.1

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 (202) hide show
  1. package/es/grid/src/grid.js +4 -3
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/locale/lang/ar-EG.js +3 -1
  5. package/es/locale/lang/de-DE.js +3 -1
  6. package/es/locale/lang/en-US.js +3 -1
  7. package/es/locale/lang/es-ES.js +3 -1
  8. package/es/locale/lang/fr-FR.js +3 -1
  9. package/es/locale/lang/hu-HU.js +3 -1
  10. package/es/locale/lang/hy-AM.js +3 -1
  11. package/es/locale/lang/id-ID.js +3 -1
  12. package/es/locale/lang/it-IT.js +3 -1
  13. package/es/locale/lang/ja-JP.js +3 -1
  14. package/es/locale/lang/ko-KR.js +3 -1
  15. package/es/locale/lang/ms-MY.js +3 -1
  16. package/es/locale/lang/nb-NO.js +3 -1
  17. package/es/locale/lang/pt-BR.js +3 -1
  18. package/es/locale/lang/ru-RU.js +3 -1
  19. package/es/locale/lang/th-TH.js +3 -1
  20. package/es/locale/lang/ug-CN.js +3 -1
  21. package/es/locale/lang/uk-UA.js +3 -1
  22. package/es/locale/lang/uz-UZ.js +3 -1
  23. package/es/locale/lang/vi-VN.js +3 -1
  24. package/es/locale/lang/zh-CHT.js +3 -1
  25. package/es/locale/lang/zh-CN.js +3 -1
  26. package/es/style.css +1 -1
  27. package/es/style.min.css +1 -1
  28. package/es/table/module/custom/mixin.js +4 -2
  29. package/es/table/module/custom/panel.js +4 -0
  30. package/es/table/module/export/export-panel.js +3 -0
  31. package/es/table/module/export/import-panel.js +3 -0
  32. package/es/table/module/export/mixin.js +41 -22
  33. package/es/table/module/menu/mixin.js +5 -3
  34. package/es/table/src/body.js +6 -1
  35. package/es/table/src/column.js +2 -1
  36. package/es/table/src/columnInfo.js +6 -2
  37. package/es/table/src/footer.js +2 -0
  38. package/es/table/src/group.js +2 -1
  39. package/es/table/src/header.js +2 -0
  40. package/es/table/src/methods.js +84 -37
  41. package/es/table/src/table.js +10 -5
  42. package/es/table/style.css +3 -3
  43. package/es/table/style.min.css +1 -1
  44. package/es/ui/index.js +1 -1
  45. package/es/ui/src/log.js +1 -1
  46. package/es/vxe-table/style.css +3 -3
  47. package/es/vxe-table/style.min.css +1 -1
  48. package/lib/grid/src/grid.js +4 -3
  49. package/lib/grid/src/grid.min.js +1 -1
  50. package/lib/index.css +1 -1
  51. package/lib/index.min.css +1 -1
  52. package/lib/index.umd.js +213 -93
  53. package/lib/index.umd.min.js +1 -1
  54. package/lib/locale/lang/ar-EG.js +3 -1
  55. package/lib/locale/lang/ar-EG.min.js +1 -1
  56. package/lib/locale/lang/ar-EG.umd.js +3 -1
  57. package/lib/locale/lang/de-DE.js +3 -1
  58. package/lib/locale/lang/de-DE.min.js +1 -1
  59. package/lib/locale/lang/de-DE.umd.js +3 -1
  60. package/lib/locale/lang/en-US.js +3 -1
  61. package/lib/locale/lang/en-US.min.js +1 -1
  62. package/lib/locale/lang/en-US.umd.js +3 -1
  63. package/lib/locale/lang/es-ES.js +3 -1
  64. package/lib/locale/lang/es-ES.min.js +1 -1
  65. package/lib/locale/lang/es-ES.umd.js +3 -1
  66. package/lib/locale/lang/fr-FR.js +3 -1
  67. package/lib/locale/lang/fr-FR.min.js +1 -1
  68. package/lib/locale/lang/fr-FR.umd.js +3 -1
  69. package/lib/locale/lang/hu-HU.js +3 -1
  70. package/lib/locale/lang/hu-HU.min.js +1 -1
  71. package/lib/locale/lang/hu-HU.umd.js +3 -1
  72. package/lib/locale/lang/hy-AM.js +3 -1
  73. package/lib/locale/lang/hy-AM.min.js +1 -1
  74. package/lib/locale/lang/hy-AM.umd.js +3 -1
  75. package/lib/locale/lang/id-ID.js +3 -1
  76. package/lib/locale/lang/id-ID.min.js +1 -1
  77. package/lib/locale/lang/id-ID.umd.js +3 -1
  78. package/lib/locale/lang/it-IT.js +3 -1
  79. package/lib/locale/lang/it-IT.min.js +1 -1
  80. package/lib/locale/lang/it-IT.umd.js +3 -1
  81. package/lib/locale/lang/ja-JP.js +3 -1
  82. package/lib/locale/lang/ja-JP.min.js +1 -1
  83. package/lib/locale/lang/ja-JP.umd.js +3 -1
  84. package/lib/locale/lang/ko-KR.js +3 -1
  85. package/lib/locale/lang/ko-KR.min.js +1 -1
  86. package/lib/locale/lang/ko-KR.umd.js +3 -1
  87. package/lib/locale/lang/ms-MY.js +3 -1
  88. package/lib/locale/lang/ms-MY.min.js +1 -1
  89. package/lib/locale/lang/ms-MY.umd.js +3 -1
  90. package/lib/locale/lang/nb-NO.js +3 -1
  91. package/lib/locale/lang/nb-NO.min.js +1 -1
  92. package/lib/locale/lang/nb-NO.umd.js +3 -1
  93. package/lib/locale/lang/pt-BR.js +3 -1
  94. package/lib/locale/lang/pt-BR.min.js +1 -1
  95. package/lib/locale/lang/pt-BR.umd.js +3 -1
  96. package/lib/locale/lang/ru-RU.js +3 -1
  97. package/lib/locale/lang/ru-RU.min.js +1 -1
  98. package/lib/locale/lang/ru-RU.umd.js +3 -1
  99. package/lib/locale/lang/th-TH.js +3 -1
  100. package/lib/locale/lang/th-TH.min.js +1 -1
  101. package/lib/locale/lang/th-TH.umd.js +3 -1
  102. package/lib/locale/lang/ug-CN.js +3 -1
  103. package/lib/locale/lang/ug-CN.min.js +1 -1
  104. package/lib/locale/lang/ug-CN.umd.js +3 -1
  105. package/lib/locale/lang/uk-UA.js +3 -1
  106. package/lib/locale/lang/uk-UA.min.js +1 -1
  107. package/lib/locale/lang/uk-UA.umd.js +3 -1
  108. package/lib/locale/lang/uz-UZ.js +3 -1
  109. package/lib/locale/lang/uz-UZ.min.js +1 -1
  110. package/lib/locale/lang/uz-UZ.umd.js +3 -1
  111. package/lib/locale/lang/vi-VN.js +3 -1
  112. package/lib/locale/lang/vi-VN.min.js +1 -1
  113. package/lib/locale/lang/vi-VN.umd.js +3 -1
  114. package/lib/locale/lang/zh-CHT.js +3 -1
  115. package/lib/locale/lang/zh-CHT.min.js +1 -1
  116. package/lib/locale/lang/zh-CHT.umd.js +3 -1
  117. package/lib/locale/lang/zh-CN.js +3 -1
  118. package/lib/locale/lang/zh-CN.min.js +1 -1
  119. package/lib/locale/lang/zh-CN.umd.js +3 -1
  120. package/lib/style.css +1 -1
  121. package/lib/style.min.css +1 -1
  122. package/lib/table/module/custom/mixin.js +4 -2
  123. package/lib/table/module/custom/mixin.min.js +1 -1
  124. package/lib/table/module/custom/panel.js +4 -0
  125. package/lib/table/module/custom/panel.min.js +1 -1
  126. package/lib/table/module/export/export-panel.js +3 -0
  127. package/lib/table/module/export/export-panel.min.js +1 -1
  128. package/lib/table/module/export/import-panel.js +3 -0
  129. package/lib/table/module/export/import-panel.min.js +1 -1
  130. package/lib/table/module/export/mixin.js +49 -18
  131. package/lib/table/module/export/mixin.min.js +1 -1
  132. package/lib/table/module/menu/mixin.js +8 -3
  133. package/lib/table/module/menu/mixin.min.js +1 -1
  134. package/lib/table/src/body.js +7 -1
  135. package/lib/table/src/body.min.js +1 -1
  136. package/lib/table/src/column.js +2 -1
  137. package/lib/table/src/column.min.js +1 -1
  138. package/lib/table/src/columnInfo.js +11 -5
  139. package/lib/table/src/columnInfo.min.js +1 -1
  140. package/lib/table/src/footer.js +2 -0
  141. package/lib/table/src/footer.min.js +1 -1
  142. package/lib/table/src/group.js +2 -1
  143. package/lib/table/src/group.min.js +1 -1
  144. package/lib/table/src/header.js +2 -0
  145. package/lib/table/src/header.min.js +1 -1
  146. package/lib/table/src/methods.js +89 -47
  147. package/lib/table/src/methods.min.js +1 -1
  148. package/lib/table/src/table.js +12 -3
  149. package/lib/table/src/table.min.js +1 -1
  150. package/lib/table/style/style.css +3 -3
  151. package/lib/table/style/style.min.css +1 -1
  152. package/lib/ui/index.js +1 -1
  153. package/lib/ui/index.min.js +1 -1
  154. package/lib/ui/src/log.js +1 -1
  155. package/lib/ui/src/log.min.js +1 -1
  156. package/lib/vxe-table/style/style.css +3 -3
  157. package/lib/vxe-table/style/style.min.css +1 -1
  158. package/package.json +1 -1
  159. package/packages/grid/src/grid.ts +4 -3
  160. package/packages/locale/lang/ar-EG.ts +3 -1
  161. package/packages/locale/lang/de-DE.ts +3 -1
  162. package/packages/locale/lang/en-US.ts +3 -1
  163. package/packages/locale/lang/es-ES.ts +3 -1
  164. package/packages/locale/lang/fr-FR.ts +3 -1
  165. package/packages/locale/lang/hu-HU.ts +3 -1
  166. package/packages/locale/lang/hy-AM.ts +3 -1
  167. package/packages/locale/lang/id-ID.ts +3 -1
  168. package/packages/locale/lang/it-IT.ts +3 -1
  169. package/packages/locale/lang/ja-JP.ts +3 -1
  170. package/packages/locale/lang/ko-KR.ts +3 -1
  171. package/packages/locale/lang/ms-MY.ts +3 -1
  172. package/packages/locale/lang/nb-NO.ts +3 -1
  173. package/packages/locale/lang/pt-BR.ts +3 -1
  174. package/packages/locale/lang/ru-RU.ts +3 -1
  175. package/packages/locale/lang/th-TH.ts +3 -1
  176. package/packages/locale/lang/ug-CN.ts +3 -1
  177. package/packages/locale/lang/uk-UA.ts +3 -1
  178. package/packages/locale/lang/uz-UZ.ts +3 -1
  179. package/packages/locale/lang/vi-VN.ts +3 -1
  180. package/packages/locale/lang/zh-CHT.ts +3 -1
  181. package/packages/locale/lang/zh-CN.ts +3 -1
  182. package/packages/table/module/custom/mixin.ts +7 -5
  183. package/packages/table/module/custom/panel.ts +4 -0
  184. package/packages/table/module/export/export-panel.ts +3 -0
  185. package/packages/table/module/export/import-panel.ts +3 -0
  186. package/packages/table/module/export/mixin.ts +43 -22
  187. package/packages/table/module/menu/mixin.ts +8 -6
  188. package/packages/table/src/body.ts +6 -1
  189. package/packages/table/src/column.ts +2 -1
  190. package/packages/table/src/columnInfo.ts +8 -4
  191. package/packages/table/src/footer.ts +2 -0
  192. package/packages/table/src/group.ts +2 -1
  193. package/packages/table/src/header.ts +5 -1
  194. package/packages/table/src/methods.ts +99 -48
  195. package/packages/table/src/table.ts +10 -5
  196. package/styles/components/table.scss +7 -3
  197. /package/es/{iconfont.1755133667514.ttf → iconfont.1755232583063.ttf} +0 -0
  198. /package/es/{iconfont.1755133667514.woff → iconfont.1755232583063.woff} +0 -0
  199. /package/es/{iconfont.1755133667514.woff2 → iconfont.1755232583063.woff2} +0 -0
  200. /package/lib/{iconfont.1755133667514.ttf → iconfont.1755232583063.ttf} +0 -0
  201. /package/lib/{iconfont.1755133667514.woff → iconfont.1755232583063.woff} +0 -0
  202. /package/lib/{iconfont.1755133667514.woff2 → iconfont.1755232583063.woff2} +0 -0
@@ -280,8 +280,11 @@ function cacheColumnMap($xeTable) {
280
280
  fullColFieldData[field] = rest;
281
281
  }
282
282
  else {
283
- if ((storage && !type) || (columnOpts.drag && (isCrossDrag || isSelfToChildDrag))) {
284
- errLog('vxe.error.reqProp', [`${column.getTitle() || type || ''} -> column.field=?`]);
283
+ if (storage && !type) {
284
+ errLog('vxe.error.reqSupportProp', ['storage', `${column.getTitle() || type || ''} -> field=?`]);
285
+ }
286
+ if (columnOpts.drag && (isCrossDrag || isSelfToChildDrag)) {
287
+ errLog('vxe.error.reqSupportProp', ['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag', `${column.getTitle() || type || ''} -> field=?`]);
285
288
  }
286
289
  }
287
290
  if (!hasFixed && fixed) {
@@ -3745,9 +3748,11 @@ const Methods = {
3745
3748
  const $xeTable = this;
3746
3749
  // const slots = $xeTable.$scopedSlots
3747
3750
  const $xeGrid = $xeTable.$xeGrid;
3751
+ const $xeGantt = $xeTable.$xeGantt;
3752
+ const $xeGGWrapper = $xeGrid || $xeGantt;
3748
3753
  if (slotFunc) {
3749
- if ($xeGrid) {
3750
- return $xeGrid.callSlot(slotFunc, params, h, vNodes);
3754
+ if ($xeGGWrapper) {
3755
+ return $xeGGWrapper.callSlot(slotFunc, params, h, vNodes);
3751
3756
  }
3752
3757
  // if (XEUtils.isString(slotFunc)) {
3753
3758
  // slotFunc = slots[slotFunc] || null
@@ -3768,8 +3773,10 @@ const Methods = {
3768
3773
  getParentElem() {
3769
3774
  const $xeTable = this;
3770
3775
  const $xeGrid = $xeTable.$xeGrid;
3776
+ const $xeGantt = $xeTable.$xeGantt;
3777
+ const $xeGGWrapper = $xeGrid || $xeGantt;
3771
3778
  const { $el } = this;
3772
- return $xeGrid ? $xeGrid.$el.parentNode : $el.parentNode;
3779
+ return $xeGGWrapper ? $xeGGWrapper.$el.parentNode : $el.parentNode;
3773
3780
  },
3774
3781
  /**
3775
3782
  * 获取父容器的高度
@@ -3777,6 +3784,8 @@ const Methods = {
3777
3784
  getParentHeight() {
3778
3785
  const $xeTable = this;
3779
3786
  const $xeGrid = $xeTable.$xeGrid;
3787
+ const $xeGantt = $xeTable.$xeGantt;
3788
+ const $xeGGWrapper = $xeGrid || $xeGantt;
3780
3789
  const props = $xeTable;
3781
3790
  const { height } = props;
3782
3791
  const el = $xeTable.$refs.refElem;
@@ -3785,8 +3794,8 @@ const Methods = {
3785
3794
  const parentPaddingSize = height === '100%' || height === 'auto' ? getPaddingTopBottomSize(parentElem) : 0;
3786
3795
  let parentWrapperHeight = 0;
3787
3796
  if (parentElem) {
3788
- if ($xeGrid && hasClass(parentElem, 'vxe-grid--table-wrapper')) {
3789
- parentWrapperHeight = $xeGrid.getParentHeight();
3797
+ if ($xeGGWrapper && hasClass(parentElem, 'vxe-grid--table-wrapper')) {
3798
+ parentWrapperHeight = $xeGGWrapper.getParentHeight();
3790
3799
  }
3791
3800
  else {
3792
3801
  parentWrapperHeight = parentElem.clientHeight;
@@ -3804,7 +3813,9 @@ const Methods = {
3804
3813
  getExcludeHeight() {
3805
3814
  const $xeTable = this;
3806
3815
  const $xeGrid = $xeTable.$xeGrid;
3807
- return $xeGrid ? $xeGrid.getExcludeHeight() : 0;
3816
+ const $xeGantt = $xeTable.$xeGantt;
3817
+ const $xeGGWrapper = $xeGrid || $xeGantt;
3818
+ return $xeGGWrapper ? $xeGGWrapper.getExcludeHeight() : 0;
3808
3819
  },
3809
3820
  /**
3810
3821
  * 重置表格的一切数据状态
@@ -5982,6 +5993,7 @@ const Methods = {
5982
5993
  preventEvent(evnt, type, args, next, end) {
5983
5994
  const $xeTable = this;
5984
5995
  const $xeGrid = $xeTable.$xeGrid;
5996
+ const $xeGantt = $xeTable.$xeGantt;
5985
5997
  let evntList = interceptor.get(type);
5986
5998
  // 兼容老版本
5987
5999
  if (!evntList.length && type === 'event.clearEdit') {
@@ -5995,7 +6007,7 @@ const Methods = {
5995
6007
  let isStop = false;
5996
6008
  for (let i = 0; i < evntList.length; i++) {
5997
6009
  const func = evntList[i];
5998
- const fnRest = func(Object.assign({ $grid: $xeGrid, $table: $xeTable, $event: evnt }, args));
6010
+ const fnRest = func(Object.assign({ $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, $event: evnt }, args));
5999
6011
  if (fnRest === false) {
6000
6012
  isStop = true;
6001
6013
  break;
@@ -6022,6 +6034,8 @@ const Methods = {
6022
6034
  handleGlobalMousedownEvent(evnt) {
6023
6035
  const $xeTable = this;
6024
6036
  const $xeGrid = $xeTable.$xeGrid;
6037
+ const $xeGantt = $xeTable.$xeGantt;
6038
+ const $xeGGWrapper = $xeGrid || $xeGantt;
6025
6039
  const { $el, $refs, $toolbar, mouseConfig, editStore, ctxMenuStore, editRules, editOpts, validOpts, areaOpts, filterStore, customStore, getRowNode } = this;
6026
6040
  const { actived } = editStore;
6027
6041
  const tableFilter = $refs.refTableFilter;
@@ -6113,7 +6127,7 @@ const Methods = {
6113
6127
  }
6114
6128
  }
6115
6129
  else if (mouseConfig) {
6116
- if (!getEventTargetNode(evnt, $el).flag && !($xeGrid && getEventTargetNode(evnt, $xeGrid.$el).flag) && !(tableMenu && getEventTargetNode(evnt, tableMenu.$el).flag) && !($toolbar && getEventTargetNode(evnt, $toolbar.$el).flag)) {
6130
+ if (!getEventTargetNode(evnt, $el).flag && !($xeGGWrapper && getEventTargetNode(evnt, $xeGGWrapper.$el).flag) && !(tableMenu && getEventTargetNode(evnt, tableMenu.$el).flag) && !($toolbar && getEventTargetNode(evnt, $toolbar.$el).flag)) {
6117
6131
  if (this.clearSelected) {
6118
6132
  this.clearSelected();
6119
6133
  }
@@ -6135,7 +6149,7 @@ const Methods = {
6135
6149
  if (ctxMenuStore.visible && tableMenu && !getEventTargetNode(evnt, tableMenu.$el).flag) {
6136
6150
  this.closeMenu();
6137
6151
  }
6138
- const isActivated = getEventTargetNode(evnt, ($xeGrid || this).$el).flag;
6152
+ const isActivated = getEventTargetNode(evnt, ($xeGGWrapper || $xeTable).$el).flag;
6139
6153
  // 如果存在校验,点击了表格之外则清除
6140
6154
  if (!isActivated && editRules && validOpts.autoClear) {
6141
6155
  this.validErrorMaps = {};
@@ -6202,6 +6216,7 @@ const Methods = {
6202
6216
  const internalData = $xeTable;
6203
6217
  const reactData = $xeTable;
6204
6218
  const $xeGrid = $xeTable.$xeGrid;
6219
+ const $xeGantt = $xeTable.$xeGantt;
6205
6220
  // 该行为只对当前激活的表格有效
6206
6221
  if (internalData.isActivated) {
6207
6222
  $xeTable.preventEvent(evnt, 'event.keydown', null, () => {
@@ -6419,7 +6434,8 @@ const Methods = {
6419
6434
  column: selected.column,
6420
6435
  columnIndex: $xeTable.getColumnIndex(selected.column),
6421
6436
  $table: $xeTable,
6422
- $grid: $xeGrid
6437
+ $grid: $xeGrid,
6438
+ $gantt: $xeGantt
6423
6439
  };
6424
6440
  // 是否被禁用
6425
6441
  if (!beforeEditMethod || beforeEditMethod(params)) {
@@ -6446,7 +6462,8 @@ const Methods = {
6446
6462
  column: selected.column,
6447
6463
  columnIndex: $xeTable.getColumnIndex(selected.column),
6448
6464
  $table: $xeTable,
6449
- $grid: $xeGrid
6465
+ $grid: $xeGrid,
6466
+ $gantt: $xeGantt
6450
6467
  };
6451
6468
  // 是否被禁用
6452
6469
  if (!beforeEditMethod || beforeEditMethod(params)) {
@@ -6475,7 +6492,8 @@ const Methods = {
6475
6492
  rowIndex: $xeTable.getRowIndex(parentRow),
6476
6493
  $rowIndex: $xeTable.getVMRowIndex(parentRow),
6477
6494
  $table: $xeTable,
6478
- $grid: $xeGrid
6495
+ $grid: $xeGrid,
6496
+ $gantt: $xeGantt
6479
6497
  };
6480
6498
  $xeTable.setTreeExpand(parentRow, false)
6481
6499
  .then(() => $xeTable.scrollToRow(parentRow))
@@ -6497,7 +6515,8 @@ const Methods = {
6497
6515
  column: selected.column,
6498
6516
  columnIndex: $xeTable.getColumnIndex(selected.column),
6499
6517
  $table: $xeTable,
6500
- $grid: $xeGrid
6518
+ $grid: $xeGrid,
6519
+ $gantt: $xeGantt
6501
6520
  };
6502
6521
  if (!beforeEditMethod || beforeEditMethod(params)) {
6503
6522
  if (editMethod) {
@@ -7534,15 +7553,22 @@ const Methods = {
7534
7553
  * @param {Row} row 行对象
7535
7554
  */
7536
7555
  setCurrentRow(row) {
7537
- const { $el, rowOpts } = this;
7556
+ const $xeTable = this;
7557
+ const internalData = $xeTable;
7558
+ const $xeGanttView = internalData.xeGanttView;
7559
+ const el = $xeTable.$refs.refElem;
7560
+ const rowOpts = $xeTable.computeRowOpts;
7538
7561
  this.clearCurrentRow();
7539
7562
  // this.clearCurrentColumn()
7540
7563
  this.currentRow = row;
7541
7564
  if (rowOpts.isCurrent || this.highlightCurrentRow) {
7542
- if ($el) {
7543
- XEUtils.arrayEach($el.querySelectorAll(`[rowid="${getRowid(this, row)}"]`), elem => addClass(elem, 'row--current'));
7565
+ if (el) {
7566
+ XEUtils.arrayEach(el.querySelectorAll(`[rowid="${getRowid($xeTable, row)}"]`), elem => addClass(elem, 'row--current'));
7544
7567
  }
7545
7568
  }
7569
+ if ($xeGanttView) {
7570
+ $xeGanttView.handleUpdateCurrentRow(row);
7571
+ }
7546
7572
  return this.$nextTick();
7547
7573
  },
7548
7574
  isCheckedByRadioRow(row) {
@@ -7589,13 +7615,20 @@ const Methods = {
7589
7615
  * 用于当前行,手动清空当前高亮的状态
7590
7616
  */
7591
7617
  clearCurrentRow() {
7592
- const { $el } = this;
7593
- this.currentRow = null;
7594
- this.hoverRow = null;
7595
- if ($el) {
7596
- XEUtils.arrayEach($el.querySelectorAll('.row--current'), elem => removeClass(elem, 'row--current'));
7618
+ const $xeTable = this;
7619
+ const reactData = $xeTable;
7620
+ const internalData = $xeTable;
7621
+ const $xeGanttView = internalData.xeGanttView;
7622
+ const el = $xeTable.$refs.refElem;
7623
+ reactData.currentRow = null;
7624
+ internalData.hoverRow = null;
7625
+ if (el) {
7626
+ XEUtils.arrayEach(el.querySelectorAll('.row--current'), elem => removeClass(elem, 'row--current'));
7597
7627
  }
7598
- return this.$nextTick();
7628
+ if ($xeGanttView) {
7629
+ $xeGanttView.handleUpdateCurrentRow();
7630
+ }
7631
+ return $xeTable.$nextTick();
7599
7632
  },
7600
7633
  /**
7601
7634
  * 用于单选行,手动清空用户的选择
@@ -7657,20 +7690,31 @@ const Methods = {
7657
7690
  this.setHoverRow(row);
7658
7691
  },
7659
7692
  setHoverRow(row) {
7660
- const { $el } = this;
7661
- const rowid = getRowid(this, row);
7662
- this.clearHoverRow();
7663
- if ($el) {
7664
- XEUtils.arrayEach($el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`), elem => addClass(elem, 'row--hover'));
7693
+ const $xeTable = this;
7694
+ const internalData = $xeTable;
7695
+ const $xeGanttView = internalData.xeGanttView;
7696
+ const el = $xeTable.$refs.refElem;
7697
+ $xeTable.clearHoverRow();
7698
+ if (el) {
7699
+ XEUtils.arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${getRowid($xeTable, row)}"]`), elem => addClass(elem, 'row--hover'));
7700
+ }
7701
+ internalData.hoverRow = row;
7702
+ if ($xeGanttView) {
7703
+ $xeGanttView.handleUpdateHoverRow(row);
7665
7704
  }
7666
- this.hoverRow = row;
7667
7705
  },
7668
7706
  clearHoverRow() {
7669
- const { $el } = this;
7670
- if ($el) {
7671
- XEUtils.arrayEach($el.querySelectorAll('.vxe-body--row.row--hover'), elem => removeClass(elem, 'row--hover'));
7707
+ const $xeTable = this;
7708
+ const internalData = $xeTable;
7709
+ const $xeGanttView = internalData.xeGanttView;
7710
+ const el = $xeTable.$refs.refElem;
7711
+ if (el) {
7712
+ XEUtils.arrayEach(el.querySelectorAll('.vxe-body--row.row--hover'), elem => removeClass(elem, 'row--hover'));
7713
+ }
7714
+ internalData.hoverRow = null;
7715
+ if ($xeGanttView) {
7716
+ $xeGanttView.handleUpdateHoverRow();
7672
7717
  }
7673
- this.hoverRow = null;
7674
7718
  },
7675
7719
  triggerHeaderCellClickEvent(evnt, params) {
7676
7720
  const $xeTable = this;
@@ -10704,6 +10748,7 @@ const Methods = {
10704
10748
  const reactData = $xeTable;
10705
10749
  const internalData = $xeTable;
10706
10750
  const $xeGrid = $xeTable.$xeGrid;
10751
+ const $xeGantt = $xeTable.$xeGantt;
10707
10752
  const { showFooter, footerData, footerMethod } = props;
10708
10753
  const { visibleColumn, afterFullData } = internalData;
10709
10754
  let footData = [];
@@ -10711,7 +10756,7 @@ const Methods = {
10711
10756
  footData = footerData.slice(0);
10712
10757
  }
10713
10758
  else if (showFooter && footerMethod) {
10714
- footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid }) : [];
10759
+ footData = visibleColumn.length ? footerMethod({ columns: visibleColumn, data: afterFullData, $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }) : [];
10715
10760
  }
10716
10761
  reactData.footerTableData = footData;
10717
10762
  $xeTable.handleUpdateFooterMerge();
@@ -10871,13 +10916,15 @@ const Methods = {
10871
10916
  dispatchEvent(type, params, evnt) {
10872
10917
  const $xeTable = this;
10873
10918
  const $xeGrid = $xeTable.$xeGrid;
10874
- $xeTable.$emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid }, params));
10919
+ const $xeGantt = $xeTable.$xeGantt;
10920
+ $xeTable.$emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }, params));
10875
10921
  },
10876
10922
  // 已废弃,使用 dispatchEvent
10877
10923
  emitEvent(type, params, evnt) {
10878
10924
  const $xeTable = this;
10879
10925
  const $xeGrid = $xeTable.$xeGrid;
10880
- this.$emit(type, Object.assign({ $table: $xeTable, $grid: $xeGrid, $event: evnt }, params));
10926
+ const $xeGantt = $xeTable.$xeGantt;
10927
+ $xeTable.$emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, $event: evnt }));
10881
10928
  },
10882
10929
  focus() {
10883
10930
  this.isActivated = true;
@@ -96,10 +96,11 @@ function renderFixed(h, $xeTable, fixedType) {
96
96
  function renderEmptyBody(h, $xeTable) {
97
97
  const slots = $xeTable.$scopedSlots;
98
98
  const $xeGrid = $xeTable.$xeGrid;
99
+ const $xeGantt = $xeTable.$xeGantt;
99
100
  const emptyOpts = $xeTable.computeEmptyOpts;
100
101
  const emptySlot = slots.empty;
101
102
  let emptyContent = '';
102
- const emptyParams = { $table: $xeTable, $grid: $xeGrid };
103
+ const emptyParams = { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt };
103
104
  if (emptySlot) {
104
105
  emptyContent = emptySlot.call($xeTable, emptyParams);
105
106
  }
@@ -199,6 +200,7 @@ function renderRowExpandedVNs(h, $xeTable) {
199
200
  const reactData = $xeTable;
200
201
  const internalData = $xeTable;
201
202
  const $xeGrid = $xeTable.$xeGrid;
203
+ const $xeGantt = $xeTable.$xeGantt;
202
204
  const { treeConfig } = props;
203
205
  const { expandColumn, isRowGroupStatus } = reactData;
204
206
  const tableRowExpandedList = $xeTable.computeTableRowExpandedList;
@@ -259,8 +261,9 @@ function renderRowExpandedVNs(h, $xeTable) {
259
261
  _columnIndex = colRest._index;
260
262
  }
261
263
  const expandParams = {
262
- $grid: $xeGrid,
263
264
  $table: $xeTable,
265
+ $grid: $xeGrid,
266
+ $gantt: $xeGantt,
264
267
  seq,
265
268
  column: expandColumn,
266
269
  columnIndex,
@@ -713,10 +716,11 @@ export default {
713
716
  const $xeTable = this;
714
717
  const props = $xeTable;
715
718
  const $xeGrid = $xeTable.$xeGrid;
719
+ const $xeGantt = $xeTable.$xeGantt;
716
720
  const { id } = props;
717
721
  if (id) {
718
722
  if (XEUtils.isFunction(id)) {
719
- return `${id({ $table: $xeTable, $grid: $xeGrid }) || ''}`;
723
+ return `${id({ $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt }) || ''}`;
720
724
  }
721
725
  return `${id}`;
722
726
  }
@@ -1766,6 +1770,7 @@ export default {
1766
1770
  const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip');
1767
1771
  const $xeTable = this;
1768
1772
  const $xeGrid = $xeTable.$xeGrid;
1773
+ const $xeGantt = $xeTable.$xeGantt;
1769
1774
  const props = $xeTable;
1770
1775
  const slots = $xeTable.$scopedSlots;
1771
1776
  const reactData = $xeTable;
@@ -1931,7 +1936,7 @@ export default {
1931
1936
  },
1932
1937
  scopedSlots: loadingSlot
1933
1938
  ? {
1934
- default: () => $xeTable.callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, loading: currLoading }, h)
1939
+ default: () => $xeTable.callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading }, h)
1935
1940
  }
1936
1941
  : {}
1937
1942
  })
@@ -1940,7 +1945,7 @@ export default {
1940
1945
  class: ['vxe-loading--custom-wrapper', {
1941
1946
  'is--visible': currLoading
1942
1947
  }]
1943
- }, $xeTable.callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, loading: currLoading }, h))
1948
+ }, $xeTable.callSlot(loadingSlot, { $table: $xeTable, $grid: $xeGrid, $gantt: $xeGantt, loading: currLoading }, h))
1944
1949
  : renderEmptyElement($xeTable),
1945
1950
  /**
1946
1951
  * 自定义列
@@ -2670,9 +2670,6 @@
2670
2670
  .vxe-table--render-default .vxe-body--row.row--hover.row--current > .vxe-body--column {
2671
2671
  background-color: var(--vxe-ui-table-row-hover-current-background-color);
2672
2672
  }
2673
- .vxe-table--render-default .vxe-table--footer-wrapper {
2674
- border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
2675
- }
2676
2673
  .vxe-table--render-default.border--default .vxe-table--scroll-y-top-corner::before,
2677
2674
  .vxe-table--render-default.border--default .vxe-table--scroll-y-bottom-corner::before, .vxe-table--render-default.border--full .vxe-table--scroll-y-top-corner::before,
2678
2675
  .vxe-table--render-default.border--full .vxe-table--scroll-y-bottom-corner::before, .vxe-table--render-default.border--outer .vxe-table--scroll-y-top-corner::before,
@@ -2740,6 +2737,9 @@
2740
2737
  background-size: 100% var(--vxe-ui-table-border-width);
2741
2738
  background-position: right bottom;
2742
2739
  }
2740
+ .vxe-table--render-default.border--default .vxe-table--footer-wrapper, .vxe-table--render-default.border--full .vxe-table--footer-wrapper, .vxe-table--render-default.border--inner .vxe-table--footer-wrapper {
2741
+ border-top: var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color);
2742
+ }
2743
2743
  .vxe-table--render-default.border--default .vxe-table--scroll-y-top-corner::before, .vxe-table--render-default.border--full .vxe-table--scroll-y-top-corner::before {
2744
2744
  border-left-width: var(--vxe-ui-table-border-width);
2745
2745
  border-right-width: var(--vxe-ui-table-border-width);