vxe-table 3.19.27 → 3.19.29

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 (140) hide show
  1. package/es/locale/lang/ar-EG.js +16 -11
  2. package/es/locale/lang/de-DE.js +16 -11
  3. package/es/locale/lang/en-US.js +19 -14
  4. package/es/locale/lang/es-ES.js +16 -11
  5. package/es/locale/lang/fr-FR.js +16 -11
  6. package/es/locale/lang/hu-HU.js +16 -11
  7. package/es/locale/lang/hy-AM.js +16 -11
  8. package/es/locale/lang/id-ID.js +16 -11
  9. package/es/locale/lang/it-IT.js +16 -11
  10. package/es/locale/lang/ja-JP.js +16 -11
  11. package/es/locale/lang/ko-KR.js +16 -11
  12. package/es/locale/lang/ms-MY.js +16 -11
  13. package/es/locale/lang/nb-NO.js +16 -11
  14. package/es/locale/lang/pt-BR.js +16 -11
  15. package/es/locale/lang/ru-RU.js +16 -11
  16. package/es/locale/lang/th-TH.js +16 -11
  17. package/es/locale/lang/ug-CN.js +16 -11
  18. package/es/locale/lang/uk-UA.js +16 -11
  19. package/es/locale/lang/uz-UZ.js +16 -11
  20. package/es/locale/lang/vi-VN.js +16 -11
  21. package/es/locale/lang/zh-CHT.js +16 -11
  22. package/es/locale/lang/zh-CN.js +15 -12
  23. package/es/style.css +1 -1
  24. package/es/table/src/methods.js +230 -188
  25. package/es/table/src/table.js +14 -4
  26. package/es/ui/index.js +1 -1
  27. package/es/ui/src/log.js +1 -1
  28. package/lib/index.umd.js +71 -55
  29. package/lib/index.umd.min.js +1 -1
  30. package/lib/locale/lang/ar-EG.js +16 -11
  31. package/lib/locale/lang/ar-EG.min.js +1 -1
  32. package/lib/locale/lang/ar-EG.umd.js +16 -11
  33. package/lib/locale/lang/de-DE.js +16 -11
  34. package/lib/locale/lang/de-DE.min.js +1 -1
  35. package/lib/locale/lang/de-DE.umd.js +16 -11
  36. package/lib/locale/lang/en-US.js +19 -14
  37. package/lib/locale/lang/en-US.min.js +1 -1
  38. package/lib/locale/lang/en-US.umd.js +19 -14
  39. package/lib/locale/lang/es-ES.js +16 -11
  40. package/lib/locale/lang/es-ES.min.js +1 -1
  41. package/lib/locale/lang/es-ES.umd.js +16 -11
  42. package/lib/locale/lang/fr-FR.js +16 -11
  43. package/lib/locale/lang/fr-FR.min.js +1 -1
  44. package/lib/locale/lang/fr-FR.umd.js +16 -11
  45. package/lib/locale/lang/hu-HU.js +16 -11
  46. package/lib/locale/lang/hu-HU.min.js +1 -1
  47. package/lib/locale/lang/hu-HU.umd.js +16 -11
  48. package/lib/locale/lang/hy-AM.js +16 -11
  49. package/lib/locale/lang/hy-AM.min.js +1 -1
  50. package/lib/locale/lang/hy-AM.umd.js +16 -11
  51. package/lib/locale/lang/id-ID.js +16 -11
  52. package/lib/locale/lang/id-ID.min.js +1 -1
  53. package/lib/locale/lang/id-ID.umd.js +16 -11
  54. package/lib/locale/lang/it-IT.js +16 -11
  55. package/lib/locale/lang/it-IT.min.js +1 -1
  56. package/lib/locale/lang/it-IT.umd.js +16 -11
  57. package/lib/locale/lang/ja-JP.js +16 -11
  58. package/lib/locale/lang/ja-JP.min.js +1 -1
  59. package/lib/locale/lang/ja-JP.umd.js +16 -11
  60. package/lib/locale/lang/ko-KR.js +16 -11
  61. package/lib/locale/lang/ko-KR.min.js +1 -1
  62. package/lib/locale/lang/ko-KR.umd.js +16 -11
  63. package/lib/locale/lang/ms-MY.js +16 -11
  64. package/lib/locale/lang/ms-MY.min.js +1 -1
  65. package/lib/locale/lang/ms-MY.umd.js +16 -11
  66. package/lib/locale/lang/nb-NO.js +16 -11
  67. package/lib/locale/lang/nb-NO.min.js +1 -1
  68. package/lib/locale/lang/nb-NO.umd.js +16 -11
  69. package/lib/locale/lang/pt-BR.js +16 -11
  70. package/lib/locale/lang/pt-BR.min.js +1 -1
  71. package/lib/locale/lang/pt-BR.umd.js +16 -11
  72. package/lib/locale/lang/ru-RU.js +16 -11
  73. package/lib/locale/lang/ru-RU.min.js +1 -1
  74. package/lib/locale/lang/ru-RU.umd.js +16 -11
  75. package/lib/locale/lang/th-TH.js +16 -11
  76. package/lib/locale/lang/th-TH.min.js +1 -1
  77. package/lib/locale/lang/th-TH.umd.js +16 -11
  78. package/lib/locale/lang/ug-CN.js +16 -11
  79. package/lib/locale/lang/ug-CN.min.js +1 -1
  80. package/lib/locale/lang/ug-CN.umd.js +16 -11
  81. package/lib/locale/lang/uk-UA.js +16 -11
  82. package/lib/locale/lang/uk-UA.min.js +1 -1
  83. package/lib/locale/lang/uk-UA.umd.js +16 -11
  84. package/lib/locale/lang/uz-UZ.js +16 -11
  85. package/lib/locale/lang/uz-UZ.min.js +1 -1
  86. package/lib/locale/lang/uz-UZ.umd.js +16 -11
  87. package/lib/locale/lang/vi-VN.js +16 -11
  88. package/lib/locale/lang/vi-VN.min.js +1 -1
  89. package/lib/locale/lang/vi-VN.umd.js +16 -11
  90. package/lib/locale/lang/zh-CHT.js +16 -11
  91. package/lib/locale/lang/zh-CHT.min.js +1 -1
  92. package/lib/locale/lang/zh-CHT.umd.js +16 -11
  93. package/lib/locale/lang/zh-CN.js +15 -12
  94. package/lib/locale/lang/zh-CN.min.js +1 -1
  95. package/lib/locale/lang/zh-CN.umd.js +15 -12
  96. package/lib/style.css +1 -1
  97. package/lib/table/src/methods.js +234 -190
  98. package/lib/table/src/methods.min.js +1 -1
  99. package/lib/table/src/table.js +19 -7
  100. package/lib/table/src/table.min.js +1 -1
  101. package/lib/ui/index.js +1 -1
  102. package/lib/ui/index.min.js +1 -1
  103. package/lib/ui/src/log.js +1 -1
  104. package/lib/ui/src/log.min.js +1 -1
  105. package/package.json +1 -1
  106. package/packages/locale/lang/ar-EG.ts +16 -11
  107. package/packages/locale/lang/de-DE.ts +16 -11
  108. package/packages/locale/lang/en-US.ts +19 -14
  109. package/packages/locale/lang/es-ES.ts +16 -11
  110. package/packages/locale/lang/fr-FR.ts +16 -11
  111. package/packages/locale/lang/hu-HU.ts +16 -11
  112. package/packages/locale/lang/hy-AM.ts +16 -11
  113. package/packages/locale/lang/id-ID.ts +16 -11
  114. package/packages/locale/lang/it-IT.ts +16 -11
  115. package/packages/locale/lang/ja-JP.ts +16 -11
  116. package/packages/locale/lang/ko-KR.ts +16 -11
  117. package/packages/locale/lang/ms-MY.ts +16 -11
  118. package/packages/locale/lang/nb-NO.ts +16 -11
  119. package/packages/locale/lang/pt-BR.ts +16 -11
  120. package/packages/locale/lang/ru-RU.ts +16 -11
  121. package/packages/locale/lang/th-TH.ts +16 -11
  122. package/packages/locale/lang/ug-CN.ts +16 -11
  123. package/packages/locale/lang/uk-UA.ts +16 -11
  124. package/packages/locale/lang/uz-UZ.ts +16 -11
  125. package/packages/locale/lang/vi-VN.ts +16 -11
  126. package/packages/locale/lang/zh-CHT.ts +16 -11
  127. package/packages/locale/lang/zh-CN.ts +15 -12
  128. package/packages/table/src/cell.ts +3 -3
  129. package/packages/table/src/methods.ts +235 -191
  130. package/packages/table/src/table.ts +15 -4
  131. /package/es/{iconfont.1765156950513.ttf → iconfont.1765538900604.ttf} +0 -0
  132. /package/es/{iconfont.1765156950513.woff → iconfont.1765538900604.woff} +0 -0
  133. /package/es/{iconfont.1765156950513.woff2 → iconfont.1765538900604.woff2} +0 -0
  134. /package/es/{table → ui}/src/anime.js +0 -0
  135. /package/lib/{iconfont.1765156950513.ttf → iconfont.1765538900604.ttf} +0 -0
  136. /package/lib/{iconfont.1765156950513.woff → iconfont.1765538900604.woff} +0 -0
  137. /package/lib/{iconfont.1765156950513.woff2 → iconfont.1765538900604.woff2} +0 -0
  138. /package/lib/{table → ui}/src/anime.js +0 -0
  139. /package/lib/{table → ui}/src/anime.min.js +0 -0
  140. /package/packages/{table → ui}/src/anime.ts +0 -0
@@ -11,7 +11,7 @@ var _ui = require("../../ui");
11
11
  var _cell = _interopRequireDefault(require("./cell"));
12
12
  var _util = require("./util");
13
13
  var _vn = require("../../ui/src/vn");
14
- var _anime = require("./anime");
14
+ var _anime = require("../../ui/src/anime");
15
15
  var _log = require("../../ui/src/log");
16
16
  var _store = require("./store");
17
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -3078,6 +3078,16 @@ function clearDragStatus($xeTable) {
3078
3078
  reactData.dragCol = null;
3079
3079
  }
3080
3080
  }
3081
+ function handleRowDragEndClearStatus($xeTable) {
3082
+ clearRowDragData($xeTable);
3083
+ clearCrossTableDragStatus($xeTable);
3084
+ handleRecalculateStyle($xeTable, false, true, true);
3085
+ }
3086
+ function handleColDragEndClearStatus($xeTable) {
3087
+ clearColDragData($xeTable);
3088
+ clearCrossTableDragStatus($xeTable);
3089
+ handleRecalculateStyle($xeTable, true, true, true);
3090
+ }
3081
3091
  function clearRowDropOrigin($xeTable) {
3082
3092
  const el = $xeTable.$el;
3083
3093
  if (el) {
@@ -3824,7 +3834,7 @@ function handleGroupData($xeTable, list, rowGroups) {
3824
3834
  * 加载表格数据
3825
3835
  * @param {Array} datas 数据
3826
3836
  */
3827
- function loadTableData($xeTable, datas, isReset) {
3837
+ function loadTableData($xeTable, datas, isReload, isReset) {
3828
3838
  const props = $xeTable;
3829
3839
  const reactData = $xeTable;
3830
3840
  const internalData = $xeTable;
@@ -3839,6 +3849,7 @@ function loadTableData($xeTable, datas, isReset) {
3839
3849
  scrollYLoad: oldScrollYLoad
3840
3850
  } = reactData;
3841
3851
  const {
3852
+ initStatus,
3842
3853
  scrollYStore,
3843
3854
  scrollXStore,
3844
3855
  lastScrollLeft,
@@ -3981,6 +3992,18 @@ function loadTableData($xeTable, datas, isReset) {
3981
3992
  }
3982
3993
  handleReserveStatus($xeTable);
3983
3994
  $xeTable.checkSelectionStatus();
3995
+ if (initStatus) {
3996
+ $xeTable.dispatchEvent('data-rendered', {
3997
+ isReload,
3998
+ visibleColumn: internalData.visibleColumn,
3999
+ visibleData: internalData.afterFullData
4000
+ }, null);
4001
+ } else {
4002
+ $xeTable.dispatchEvent('init-rendered', {
4003
+ visibleColumn: internalData.visibleColumn,
4004
+ visibleData: internalData.afterFullData
4005
+ }, null);
4006
+ }
3984
4007
  $xeTable.dispatchEvent('data-change', {
3985
4008
  visibleColumn: internalData.visibleColumn,
3986
4009
  visibleData: internalData.afterFullData
@@ -4046,7 +4069,14 @@ function handleLoadDefaults($xeTable) {
4046
4069
  handleDefaultMergeCells($xeTable);
4047
4070
  handleDefaultMergeHeaderItems($xeTable);
4048
4071
  handleDefaultMergeFooterItems($xeTable);
4049
- $xeTable.$nextTick(() => setTimeout(() => $xeTable.recalculate()));
4072
+ $xeTable.$nextTick(() => {
4073
+ const internalData = $xeTable;
4074
+ $xeTable.dispatchEvent('init-rendered', {
4075
+ visibleColumn: internalData.visibleColumn,
4076
+ visibleData: internalData.afterFullData
4077
+ }, null);
4078
+ setTimeout(() => $xeTable.recalculate());
4079
+ });
4050
4080
  }
4051
4081
  /**
4052
4082
  * 处理初始化的默认行为
@@ -5057,7 +5087,7 @@ const tableMethods = {
5057
5087
  (0, _log.errLog)('vxe.error.delFunc', ['syncData', 'getData']);
5058
5088
  return $xeTable.$nextTick().then(() => {
5059
5089
  reactData.tableData = [];
5060
- return $xeTable.$nextTick().then(() => loadTableData($xeTable, internalData.tableFullData, true));
5090
+ return $xeTable.$nextTick().then(() => loadTableData($xeTable, internalData.tableFullData, true, true));
5061
5091
  });
5062
5092
  },
5063
5093
  /**
@@ -5135,7 +5165,8 @@ const tableMethods = {
5135
5165
  const {
5136
5166
  data
5137
5167
  } = props;
5138
- loadTableData($xeTable, data || [], true).then(() => {
5168
+ $xeTable.dispatchEvent('ready', {}, null);
5169
+ loadTableData($xeTable, data || [], true, true).then(() => {
5139
5170
  if (data && data.length) {
5140
5171
  internalData.inited = true;
5141
5172
  internalData.initStatus = true;
@@ -5153,9 +5184,9 @@ const tableMethods = {
5153
5184
  * 加载表格数据
5154
5185
  * @param {Array} datas 数据
5155
5186
  */
5156
- loadTableData(datas, isReset) {
5187
+ loadTableData(datas, isReload, isReset) {
5157
5188
  const $xeTable = this;
5158
- return loadTableData($xeTable, datas, isReset);
5189
+ return loadTableData($xeTable, datas, isReload, isReset);
5159
5190
  },
5160
5191
  /**
5161
5192
  * 重新加载数据,不会清空表格状态
@@ -5163,13 +5194,14 @@ const tableMethods = {
5163
5194
  */
5164
5195
  loadData(datas) {
5165
5196
  const $xeTable = this;
5197
+ const internalData = $xeTable;
5166
5198
  const {
5167
5199
  initStatus
5168
- } = this;
5169
- return loadTableData($xeTable, datas, false).then(() => {
5170
- this.inited = true;
5171
- this.initStatus = true;
5172
- if (!initStatus) {
5200
+ } = internalData;
5201
+ return loadTableData($xeTable, datas, false, false).then(() => {
5202
+ internalData.inited = true;
5203
+ internalData.initStatus = true;
5204
+ if (initStatus) {
5173
5205
  handleLoadDefaults($xeTable);
5174
5206
  }
5175
5207
  return handleLazyRecalculate($xeTable, false, true, true);
@@ -5181,10 +5213,11 @@ const tableMethods = {
5181
5213
  */
5182
5214
  reloadData(datas) {
5183
5215
  const $xeTable = this;
5184
- return this.clearAll().then(() => {
5185
- this.inited = true;
5186
- this.initStatus = true;
5187
- return loadTableData($xeTable, datas, true);
5216
+ const internalData = $xeTable;
5217
+ return $xeTable.clearAll().then(() => {
5218
+ internalData.inited = true;
5219
+ internalData.initStatus = true;
5220
+ return loadTableData($xeTable, datas, true, true);
5188
5221
  }).then(() => {
5189
5222
  handleLoadDefaults($xeTable);
5190
5223
  return handleLazyRecalculate($xeTable, false, true, true);
@@ -5194,6 +5227,7 @@ const tableMethods = {
5194
5227
  * 修改行数据
5195
5228
  */
5196
5229
  setRow(rows, record) {
5230
+ const $xeTable = this;
5197
5231
  if (record) {
5198
5232
  let rest = rows;
5199
5233
  if (!_xeUtils.default.isArray(rows)) {
@@ -5201,7 +5235,7 @@ const tableMethods = {
5201
5235
  }
5202
5236
  rest.forEach(item => Object.assign(item, record));
5203
5237
  }
5204
- return this.$nextTick();
5238
+ return $xeTable.$nextTick();
5205
5239
  },
5206
5240
  /**
5207
5241
  * 局部加载行数据并恢复到初始状态
@@ -5934,7 +5968,7 @@ const tableMethods = {
5934
5968
  cellLabel = formatter(formatParams);
5935
5969
  }
5936
5970
  } else if (renderOpts && tcFormatter) {
5937
- cellLabel = `${tcFormatter(renderOpts, formatParams)}`;
5971
+ cellLabel = tcFormatter(renderOpts, formatParams);
5938
5972
  }
5939
5973
  if (formatData) {
5940
5974
  formatData[colid] = {
@@ -10239,79 +10273,48 @@ const tableMethods = {
10239
10273
  dragToChild: !!prevDragToChild,
10240
10274
  offsetIndex: dragOffsetIndex
10241
10275
  };
10242
- const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
10243
- return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
10244
- if (!status) {
10245
- clearRowDragData($xeTable);
10246
- clearCrossTableDragStatus($xeTable);
10247
- return errRest;
10248
- }
10249
- const dragRowid = (0, _util.getRowid)($xeTable, dragRow);
10250
- const dragRowRest = fullAllDataRowIdData[dragRowid] || {};
10251
- const _dragRowIndex = dragRowRest._index;
10252
- let dragRowHeight = 0;
10253
- let dragOffsetTop = -1;
10254
- if (animation) {
10255
- dragRowHeight = (0, _util.getCellRestHeight)(dragRowRest, cellOpts, rowOpts, defaultRowHeight);
10256
- const oldTrEl = el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);
10257
- if (oldTrEl) {
10258
- dragOffsetTop = oldTrEl.offsetTop;
10259
- }
10260
- }
10261
- let oafIndex = -1;
10262
- let nafIndex = -1;
10263
- // 如果为树结构
10264
- if (treeConfig) {
10265
- if (transform) {
10266
- // 移出源位置
10267
- const oldRest = dragRowRest;
10268
- const newRowid = (0, _util.getRowid)($xeTable, prevDragRow);
10269
- const newRest = fullAllDataRowIdData[newRowid];
10270
- if (oldRest && newRest) {
10271
- const {
10272
- level: oldLevel
10273
- } = oldRest;
10274
- const {
10275
- level: newLevel
10276
- } = newRest;
10277
- const oldAllMaps = {};
10278
- _xeUtils.default.eachTree([dragRow], item => {
10279
- oldAllMaps[(0, _util.getRowid)($xeTable, item)] = item;
10280
- }, {
10281
- children: mapChildrenField
10282
- });
10283
- let isSelfToChildStatus = false;
10284
- if (oldLevel && newLevel) {
10285
- // 子到子
10286
- if (isPeerDrag && !isCrossDrag) {
10287
- if (oldRest.row[parentField] !== newRest.row[parentField]) {
10288
- // 非同级
10289
- return errRest;
10290
- }
10291
- } else {
10292
- if (!isCrossDrag) {
10293
- return errRest;
10294
- }
10295
- if (oldAllMaps[newRowid]) {
10296
- isSelfToChildStatus = true;
10297
- if (!(isCrossDrag && isSelfToChildDrag)) {
10298
- if (_ui.VxeUI.modal) {
10299
- _ui.VxeUI.modal.message({
10300
- status: 'error',
10301
- content: getI18n('vxe.error.treeDragChild')
10302
- });
10303
- }
10304
- return errRest;
10305
- }
10306
- }
10307
- }
10308
- } else if (oldLevel) {
10309
- // 子到根
10310
- if (!isCrossDrag) {
10276
+ const dragRowid = (0, _util.getRowid)($xeTable, dragRow);
10277
+ const dragRowRest = fullAllDataRowIdData[dragRowid] || {};
10278
+ const _dragRowIndex = dragRowRest._index;
10279
+ let dragRowHeight = 0;
10280
+ let dragOffsetTop = -1;
10281
+ if (animation) {
10282
+ dragRowHeight = (0, _util.getCellRestHeight)(dragRowRest, cellOpts, rowOpts, defaultRowHeight);
10283
+ const oldTrEl = el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);
10284
+ if (oldTrEl) {
10285
+ dragOffsetTop = oldTrEl.offsetTop;
10286
+ }
10287
+ }
10288
+ let oafIndex = -1;
10289
+ let nafIndex = -1;
10290
+ const oldRest = dragRowRest;
10291
+ const newRowid = (0, _util.getRowid)($xeTable, prevDragRow);
10292
+ const newRest = fullAllDataRowIdData[newRowid];
10293
+ const oldAllMaps = {};
10294
+ let isSelfToChildStatus = false;
10295
+ // 如果为树结构
10296
+ if (treeConfig) {
10297
+ if (transform) {
10298
+ if (oldRest && newRest) {
10299
+ const {
10300
+ level: oldLevel
10301
+ } = oldRest;
10302
+ const {
10303
+ level: newLevel
10304
+ } = newRest;
10305
+ _xeUtils.default.eachTree([dragRow], item => {
10306
+ oldAllMaps[(0, _util.getRowid)($xeTable, item)] = item;
10307
+ }, {
10308
+ children: mapChildrenField
10309
+ });
10310
+ if (oldLevel && newLevel) {
10311
+ // 子到子
10312
+ if (isPeerDrag && !isCrossDrag) {
10313
+ if (oldRest.row[parentField] !== newRest.row[parentField]) {
10314
+ // 非同级
10311
10315
  return errRest;
10312
10316
  }
10313
- } else if (newLevel) {
10314
- // 根到子
10317
+ } else {
10315
10318
  if (!isCrossDrag) {
10316
10319
  return errRest;
10317
10320
  }
@@ -10327,9 +10330,45 @@ const tableMethods = {
10327
10330
  return errRest;
10328
10331
  }
10329
10332
  }
10330
- } else {
10331
- // 根到根
10332
10333
  }
10334
+ } else if (oldLevel) {
10335
+ // 子到根
10336
+ if (!isCrossDrag) {
10337
+ return errRest;
10338
+ }
10339
+ } else if (newLevel) {
10340
+ // 根到子
10341
+ if (!isCrossDrag) {
10342
+ return errRest;
10343
+ }
10344
+ if (oldAllMaps[newRowid]) {
10345
+ isSelfToChildStatus = true;
10346
+ if (!(isCrossDrag && isSelfToChildDrag)) {
10347
+ if (_ui.VxeUI.modal) {
10348
+ _ui.VxeUI.modal.message({
10349
+ status: 'error',
10350
+ content: getI18n('vxe.error.treeDragChild')
10351
+ });
10352
+ }
10353
+ return errRest;
10354
+ }
10355
+ }
10356
+ } else {
10357
+ // 根到根
10358
+ }
10359
+ }
10360
+ }
10361
+ }
10362
+ const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
10363
+ return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
10364
+ if (!status) {
10365
+ return errRest;
10366
+ }
10367
+ // 如果为树结构
10368
+ if (treeConfig) {
10369
+ if (transform) {
10370
+ // 移出源位置
10371
+ if (oldRest && newRest) {
10333
10372
  const fullList = _xeUtils.default.toTreeArray(internalData.afterTreeFullData, {
10334
10373
  key: rowField,
10335
10374
  parentKey: parentField,
@@ -10371,8 +10410,6 @@ const tableMethods = {
10371
10410
  afterFullData.splice(nafIndex, 0, dragRow);
10372
10411
  tableFullData.splice(ntfIndex, 0, dragRow);
10373
10412
  }
10374
- clearRowDragData($xeTable);
10375
- clearCrossTableDragStatus($xeTable);
10376
10413
  $xeTable.handleTableData(treeConfig && transform);
10377
10414
  $xeTable.cacheRowMap(false);
10378
10415
  updateScrollYStatus($xeTable);
@@ -10402,6 +10439,9 @@ const tableMethods = {
10402
10439
  const {
10403
10440
  tableData
10404
10441
  } = reactData;
10442
+ const {
10443
+ fullAllDataRowIdData
10444
+ } = internalData;
10405
10445
  const dragRowRest = fullAllDataRowIdData[dragRowid];
10406
10446
  const _newRowIndex = dragRowRest._index;
10407
10447
  const firstRow = tableData[0];
@@ -10476,16 +10516,17 @@ const tableMethods = {
10476
10516
  });
10477
10517
  }).catch(() => {
10478
10518
  return errRest;
10519
+ }).then(rest => {
10520
+ handleRowDragEndClearStatus($xeTable);
10521
+ return rest;
10479
10522
  });
10480
10523
  }
10481
- clearRowDragData($xeTable);
10482
- clearCrossTableDragStatus($xeTable);
10524
+ handleRowDragEndClearStatus($xeTable);
10483
10525
  return Promise.resolve(errRest);
10484
10526
  },
10485
10527
  handleCrossTableRowDragCancelEvent() {
10486
10528
  const $xeTable = this;
10487
- clearRowDragData($xeTable);
10488
- clearCrossTableDragStatus($xeTable);
10529
+ handleRowDragEndClearStatus($xeTable);
10489
10530
  },
10490
10531
  /**
10491
10532
  * 处理跨表拖拽完成
@@ -10560,8 +10601,7 @@ const tableMethods = {
10560
10601
  $xeTable.dispatchEvent('row-remove-dragend', {
10561
10602
  row: dragRow
10562
10603
  }, evnt);
10563
- clearRowDragData($xeTable);
10564
- clearCrossTableDragStatus($xeTable);
10604
+ handleRowDragEndClearStatus($xeTable);
10565
10605
  }
10566
10606
  }
10567
10607
  },
@@ -10669,8 +10709,7 @@ const tableMethods = {
10669
10709
  $oldTable.handleCrossTableRowDragCancelEvent(evnt);
10670
10710
  }
10671
10711
  }
10672
- clearRowDragData($xeTable);
10673
- clearCrossTableDragStatus($xeTable);
10712
+ handleRowDragEndClearStatus($xeTable);
10674
10713
  return errRest;
10675
10714
  }
10676
10715
  let insertRest = Promise.resolve();
@@ -10857,12 +10896,10 @@ const tableMethods = {
10857
10896
  const isControlKey = (0, _dom.hasControlKey)(evnt);
10858
10897
  const trEl = evnt.currentTarget;
10859
10898
  const rowid = trEl.getAttribute('rowid') || '';
10860
- const rest = fullAllDataRowIdData[rowid];
10861
- if (rest) {
10899
+ const rowRest = fullAllDataRowIdData[rowid];
10900
+ if (rowRest) {
10862
10901
  evnt.preventDefault();
10863
- const row = rest.row;
10864
- const rowid = (0, _util.getRowid)($xeTable, row);
10865
- const rowRest = fullAllDataRowIdData[rowid];
10902
+ const row = rowRest.row;
10866
10903
  const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
10867
10904
  const dragPos = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
10868
10905
  internalData.prevDragToChild = !!(treeConfig && transform && isCrossDrag && isToChildDrag && isControlKey);
@@ -10896,7 +10933,7 @@ const tableMethods = {
10896
10933
  }
10897
10934
  }
10898
10935
  }
10899
- if ($xeTable.eqRow(dragRow, row) || isControlKey && treeConfig && lazy && row[hasChildField] && rowRest && !rowRest.treeLoaded || !isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rest.level)) {
10936
+ if ($xeTable.eqRow(dragRow, row) || isControlKey && treeConfig && lazy && row[hasChildField] && rowRest && !rowRest.treeLoaded || !isCrossDrag && treeConfig && transform && (isPeerDrag ? dragRow[parentField] !== row[parentField] : rowRest.level)) {
10900
10937
  showDropTip($xeTable, evnt, trEl, null, false, dragPos);
10901
10938
  return;
10902
10939
  }
@@ -11017,77 +11054,49 @@ const tableMethods = {
11017
11054
  dragToChild: !!prevDragToChild,
11018
11055
  offsetIndex: dragOffsetIndex
11019
11056
  };
11020
- const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
11021
- return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(status => {
11022
- if (!status) {
11023
- clearColDragData($xeTable);
11024
- clearCrossTableDragStatus($xeTable);
11025
- return errRest;
11026
- }
11027
- let dragTargetColumn = null;
11028
- const dragAllTargetCols = [];
11029
- let dragColWidth = 0;
11030
- if (animation) {
11031
- _xeUtils.default.eachTree([dragColumn], column => {
11032
- if (!dragTargetColumn && (!column.children || !column.children.length)) {
11033
- dragTargetColumn = column;
11034
- dragColWidth += column.renderWidth;
11035
- }
11036
- dragAllTargetCols.push(column);
11037
- });
11038
- }
11039
- if (!dragTargetColumn) {
11040
- dragTargetColumn = dragColumn;
11041
- }
11042
- const dragColRest = fullColumnIdData[dragTargetColumn.id] || {};
11043
- const _dragColIndex = dragColRest._index;
11044
- let dragOffsetLeft = -1;
11045
- if (animation) {
11046
- const oldTrEl = el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);
11047
- if (oldTrEl) {
11048
- dragOffsetLeft = oldTrEl.offsetLeft;
11049
- }
11050
- }
11051
- let oafIndex = -1;
11052
- let nafIndex = -1;
11053
- const oldAllMaps = {};
11057
+ let dragTargetColumn = null;
11058
+ const dragAllTargetCols = [];
11059
+ let dragColWidth = 0;
11060
+ if (animation) {
11054
11061
  _xeUtils.default.eachTree([dragColumn], column => {
11055
- oldAllMaps[column.id] = column;
11056
- });
11057
- let isSelfToChildStatus = false;
11058
- if (dragColumn.parentId && newColumn.parentId) {
11059
- // 子到子
11060
- if (isPeerDrag && !isCrossDrag) {
11061
- if (dragColumn.parentId !== newColumn.parentId) {
11062
- // 非同级
11063
- return errRest;
11064
- }
11065
- } else {
11066
- if (!isCrossDrag) {
11067
- return errRest;
11068
- }
11069
- if (oldAllMaps[newColumn.id]) {
11070
- isSelfToChildStatus = true;
11071
- if (!(isCrossDrag && isSelfToChildDrag)) {
11072
- if (_ui.VxeUI.modal) {
11073
- _ui.VxeUI.modal.message({
11074
- status: 'error',
11075
- content: getI18n('vxe.error.treeDragChild')
11076
- });
11077
- }
11078
- return errRest;
11079
- }
11080
- }
11062
+ if (!dragTargetColumn && (!column.children || !column.children.length)) {
11063
+ dragTargetColumn = column;
11064
+ dragColWidth += column.renderWidth;
11081
11065
  }
11082
- } else if (dragColumn.parentId) {
11083
- // 子到根
11084
- if (!isCrossDrag) {
11085
- return errRest;
11066
+ dragAllTargetCols.push(column);
11067
+ });
11068
+ }
11069
+ if (!dragTargetColumn) {
11070
+ dragTargetColumn = dragColumn;
11071
+ }
11072
+ const dragColRest = fullColumnIdData[dragTargetColumn.id] || {};
11073
+ const _dragColIndex = dragColRest._index;
11074
+ let dragOffsetLeft = -1;
11075
+ if (animation) {
11076
+ const oldTrEl = el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);
11077
+ if (oldTrEl) {
11078
+ dragOffsetLeft = oldTrEl.offsetLeft;
11079
+ }
11080
+ }
11081
+ let oafIndex = -1;
11082
+ let nafIndex = -1;
11083
+ const oldAllMaps = {};
11084
+ _xeUtils.default.eachTree([dragColumn], column => {
11085
+ oldAllMaps[column.id] = column;
11086
+ });
11087
+ let isSelfToChildStatus = false;
11088
+ if (dragColumn.parentId && newColumn.parentId) {
11089
+ // 子到子
11090
+ if (isPeerDrag && !isCrossDrag) {
11091
+ if (dragColumn.parentId !== newColumn.parentId) {
11092
+ // 非同级
11093
+ handleColDragEndClearStatus($xeTable);
11094
+ return Promise.resolve(errRest);
11086
11095
  }
11087
- } else if (newColumn.parentId) {
11088
- // 根到子
11096
+ } else {
11089
11097
  if (!isCrossDrag) {
11090
- return errRest;
11098
+ handleColDragEndClearStatus($xeTable);
11099
+ return Promise.resolve(errRest);
11091
11100
  }
11092
11101
  if (oldAllMaps[newColumn.id]) {
11093
11102
  isSelfToChildStatus = true;
@@ -11098,11 +11107,43 @@ const tableMethods = {
11098
11107
  content: getI18n('vxe.error.treeDragChild')
11099
11108
  });
11100
11109
  }
11101
- return errRest;
11110
+ handleColDragEndClearStatus($xeTable);
11111
+ return Promise.resolve(errRest);
11102
11112
  }
11103
11113
  }
11104
- } else {
11105
- // 根到根
11114
+ }
11115
+ } else if (dragColumn.parentId) {
11116
+ // 子到根
11117
+ if (!isCrossDrag) {
11118
+ handleColDragEndClearStatus($xeTable);
11119
+ return Promise.resolve(errRest);
11120
+ }
11121
+ } else if (newColumn.parentId) {
11122
+ // 根到子
11123
+ if (!isCrossDrag) {
11124
+ handleColDragEndClearStatus($xeTable);
11125
+ return Promise.resolve(errRest);
11126
+ }
11127
+ if (oldAllMaps[newColumn.id]) {
11128
+ isSelfToChildStatus = true;
11129
+ if (!(isCrossDrag && isSelfToChildDrag)) {
11130
+ if (_ui.VxeUI.modal) {
11131
+ _ui.VxeUI.modal.message({
11132
+ status: 'error',
11133
+ content: getI18n('vxe.error.treeDragChild')
11134
+ });
11135
+ }
11136
+ handleColDragEndClearStatus($xeTable);
11137
+ return Promise.resolve(errRest);
11138
+ }
11139
+ }
11140
+ } else {
11141
+ // 根到根
11142
+ }
11143
+ const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
11144
+ return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then(status => {
11145
+ if (!status) {
11146
+ return errRest;
11106
11147
  }
11107
11148
  const oldewMatchRest = _xeUtils.default.findTree(collectColumn, item => item.id === dragColumn.id);
11108
11149
  // 改变层级
@@ -11166,8 +11207,6 @@ const tableMethods = {
11166
11207
  $xeTable.clearCopyCellArea();
11167
11208
  }
11168
11209
  }
11169
- clearColDragData($xeTable);
11170
- clearCrossTableDragStatus($xeTable);
11171
11210
  if (evnt) {
11172
11211
  $xeTable.dispatchEvent('column-dragend', {
11173
11212
  oldColumn: dragColumn,
@@ -11274,10 +11313,12 @@ const tableMethods = {
11274
11313
  });
11275
11314
  }).catch(() => {
11276
11315
  return errRest;
11316
+ }).then(rest => {
11317
+ handleColDragEndClearStatus($xeTable);
11318
+ return rest;
11277
11319
  });
11278
11320
  }
11279
- clearColDragData($xeTable);
11280
- clearCrossTableDragStatus($xeTable);
11321
+ handleColDragEndClearStatus($xeTable);
11281
11322
  return Promise.resolve(errRest);
11282
11323
  },
11283
11324
  handleHeaderCellDragDragendEvent(evnt) {
@@ -12128,7 +12169,7 @@ const tableMethods = {
12128
12169
  handleUpdateRowGroup($xeTable, confList.map(fieldOrColumn => {
12129
12170
  return _xeUtils.default.isString(fieldOrColumn) ? fieldOrColumn : fieldOrColumn.field;
12130
12171
  }));
12131
- return loadTableData($xeTable, internalData.tableSynchData, true);
12172
+ return loadTableData($xeTable, internalData.tableSynchData, false, true);
12132
12173
  }
12133
12174
  return $xeTable.$nextTick();
12134
12175
  },
@@ -12179,7 +12220,7 @@ const tableMethods = {
12179
12220
  return $xeTable.$nextTick();
12180
12221
  }
12181
12222
  handleUpdateRowGroup($xeTable, []);
12182
- return loadTableData($xeTable, internalData.tableSynchData, true);
12223
+ return loadTableData($xeTable, internalData.tableSynchData, false, true);
12183
12224
  },
12184
12225
  isRowGroupRecord(row) {
12185
12226
  const $xeTable = this;
@@ -13472,12 +13513,15 @@ const tableMethods = {
13472
13513
  const lastRow = afterFullData[afterFullData.length - 1];
13473
13514
  rowid = (0, _util.getRowid)($xeTable, lastRow);
13474
13515
  rowRest = fullAllDataRowIdData[rowid] || {};
13475
- // 如果为空时还没计算完数据,保持原高度不变
13476
- if (rowRest.oTop) {
13477
- sYHeight = (rowRest.oTop || 0) + (rowRest.resizeHeight || cellOpts.height || rowOpts.height || rowRest.height || defaultRowHeight);
13478
- // 是否展开行
13479
- if (expandColumn && rowExpandedMaps[rowid]) {
13480
- sYHeight += rowRest.expandHeight || expandOpts.height || 0;
13516
+ if (rowRest) {
13517
+ const rHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
13518
+ // 如果为空时还没计算完数据,保持原高度不变
13519
+ if (rHeight) {
13520
+ sYHeight = (rowRest.oTop || 0) + rHeight;
13521
+ // 是否展开行
13522
+ if (expandColumn && rowExpandedMaps[rowid]) {
13523
+ sYHeight += rowRest.expandHeight || expandOpts.height || 0;
13524
+ }
13481
13525
  }
13482
13526
  }
13483
13527
  if (sYHeight > maxYHeight) {
@@ -13978,7 +14022,7 @@ const tableMethods = {
13978
14022
  handleUpdateAggData() {
13979
14023
  const $xeTable = this;
13980
14024
  const internalData = $xeTable;
13981
- return loadTableData($xeTable, internalData.tableSynchData, true);
14025
+ return loadTableData($xeTable, internalData.tableSynchData, false, true);
13982
14026
  },
13983
14027
  updateZindex() {
13984
14028
  if (this.zIndex) {