@visactor/vtable 0.20.4-alpha.2 → 0.21.0

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 (245) hide show
  1. package/cjs/ListTable.d.ts +9 -2
  2. package/cjs/ListTable.js +25 -9
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +7 -1
  5. package/cjs/PivotChart.js +7 -7
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +9 -2
  8. package/cjs/PivotTable.js +26 -11
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/body-helper/style/Style.d.ts +3 -0
  11. package/cjs/body-helper/style/Style.js +16 -9
  12. package/cjs/body-helper/style/Style.js.map +1 -1
  13. package/cjs/core/BaseTable.d.ts +16 -2
  14. package/cjs/core/BaseTable.js +18 -10
  15. package/cjs/core/BaseTable.js.map +1 -1
  16. package/cjs/core/tableHelper.js +3 -1
  17. package/cjs/core/tableHelper.js.map +1 -1
  18. package/cjs/event/listener/container-dom.js +59 -13
  19. package/cjs/event/listener/container-dom.js.map +1 -1
  20. package/cjs/event/listener/table-group.js +2 -1
  21. package/cjs/event/listener/table-group.js.map +1 -1
  22. package/cjs/header-helper/style/Style.d.ts +3 -0
  23. package/cjs/header-helper/style/Style.js +15 -8
  24. package/cjs/header-helper/style/Style.js.map +1 -1
  25. package/cjs/index.d.ts +3 -2
  26. package/cjs/index.js +16 -2
  27. package/cjs/index.js.map +1 -1
  28. package/cjs/layout/pivot-header-layout.d.ts +3 -2
  29. package/cjs/layout/pivot-header-layout.js +24 -18
  30. package/cjs/layout/pivot-header-layout.js.map +1 -1
  31. package/cjs/layout/row-height-map.d.ts +1 -0
  32. package/cjs/layout/row-height-map.js +25 -1
  33. package/cjs/layout/row-height-map.js.map +1 -1
  34. package/cjs/layout/simple-header-layout.d.ts +3 -2
  35. package/cjs/layout/simple-header-layout.js +16 -12
  36. package/cjs/layout/simple-header-layout.js.map +1 -1
  37. package/cjs/plugins/custom-cell-style.d.ts +19 -0
  38. package/cjs/plugins/custom-cell-style.js +63 -0
  39. package/cjs/plugins/custom-cell-style.js.map +1 -0
  40. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +29 -7
  41. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  42. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +9 -2
  43. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  44. package/cjs/scenegraph/group-creater/cell-helper.js +11 -4
  45. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +22 -19
  47. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +21 -18
  49. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  50. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +7 -7
  51. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  52. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +21 -18
  53. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  54. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +11 -10
  55. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +7 -7
  57. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/progress/default-width-height.d.ts +3 -0
  59. package/cjs/scenegraph/group-creater/progress/default-width-height.js +24 -0
  60. package/cjs/scenegraph/group-creater/progress/default-width-height.js.map +1 -0
  61. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +8 -4
  62. package/cjs/scenegraph/group-creater/progress/proxy.js +50 -10
  63. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  64. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +1 -1
  65. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +14 -16
  66. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  67. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +1 -1
  68. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +28 -30
  69. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  70. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +1 -1
  71. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  72. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  73. package/cjs/scenegraph/layout/compute-row-height.js +3 -2
  74. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  75. package/cjs/scenegraph/layout/move-cell.d.ts +1 -2
  76. package/cjs/scenegraph/layout/move-cell.js +3 -16
  77. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  78. package/cjs/scenegraph/scenegraph.d.ts +4 -4
  79. package/cjs/scenegraph/scenegraph.js +13 -9
  80. package/cjs/scenegraph/scenegraph.js.map +1 -1
  81. package/cjs/scenegraph/stick-text/index.js +1 -1
  82. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  83. package/cjs/scenegraph/utils/cell-border-stroke-width.d.ts +3 -0
  84. package/cjs/scenegraph/utils/cell-border-stroke-width.js +16 -0
  85. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -0
  86. package/cjs/scenegraph/utils/get-prop.js +3 -3
  87. package/cjs/scenegraph/utils/get-prop.js.map +1 -1
  88. package/cjs/scenegraph/utils/text-icon-layout.js +9 -3
  89. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  90. package/cjs/scenegraph/utils/text-measure.d.ts +4 -2
  91. package/cjs/scenegraph/utils/text-measure.js +20 -5
  92. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  93. package/cjs/state/cell-move/index.js +6 -6
  94. package/cjs/state/cell-move/index.js.map +1 -1
  95. package/cjs/state/state.js +2 -2
  96. package/cjs/state/state.js.map +1 -1
  97. package/cjs/themes/ARCO.js +2 -1
  98. package/cjs/themes/theme.d.ts +3 -0
  99. package/cjs/themes/theme.js +21 -1
  100. package/cjs/themes/theme.js.map +1 -1
  101. package/cjs/tools/NumberMap.d.ts +1 -0
  102. package/cjs/tools/NumberMap.js +21 -0
  103. package/cjs/tools/NumberMap.js.map +1 -1
  104. package/cjs/tools/isx.d.ts +1 -1
  105. package/cjs/tools/util.d.ts +1 -1
  106. package/cjs/ts-types/base-table.d.ts +17 -2
  107. package/cjs/ts-types/base-table.js.map +1 -1
  108. package/cjs/ts-types/column/style.d.ts +1 -0
  109. package/cjs/ts-types/column/style.js.map +1 -1
  110. package/cjs/ts-types/common.d.ts +14 -2
  111. package/cjs/ts-types/common.js.map +1 -1
  112. package/cjs/ts-types/customElement.d.ts +2 -0
  113. package/cjs/ts-types/customElement.js.map +1 -1
  114. package/cjs/ts-types/style-define.d.ts +2 -0
  115. package/cjs/ts-types/style-define.js.map +1 -1
  116. package/cjs/ts-types/table-engine.d.ts +1 -1
  117. package/cjs/ts-types/table-engine.js.map +1 -1
  118. package/cjs/ts-types/theme.d.ts +3 -0
  119. package/cjs/ts-types/theme.js.map +1 -1
  120. package/cjs/vrender.js.map +1 -1
  121. package/dist/vtable.js +3327 -1273
  122. package/dist/vtable.min.js +2 -2
  123. package/es/ListTable.d.ts +9 -2
  124. package/es/ListTable.js +25 -9
  125. package/es/ListTable.js.map +1 -1
  126. package/es/PivotChart.d.ts +7 -1
  127. package/es/PivotChart.js +7 -7
  128. package/es/PivotChart.js.map +1 -1
  129. package/es/PivotTable.d.ts +9 -2
  130. package/es/PivotTable.js +27 -12
  131. package/es/PivotTable.js.map +1 -1
  132. package/es/body-helper/style/Style.d.ts +3 -0
  133. package/es/body-helper/style/Style.js +16 -9
  134. package/es/body-helper/style/Style.js.map +1 -1
  135. package/es/core/BaseTable.d.ts +16 -2
  136. package/es/core/BaseTable.js +19 -9
  137. package/es/core/BaseTable.js.map +1 -1
  138. package/es/core/tableHelper.js +3 -1
  139. package/es/core/tableHelper.js.map +1 -1
  140. package/es/event/listener/container-dom.js +58 -14
  141. package/es/event/listener/container-dom.js.map +1 -1
  142. package/es/event/listener/table-group.js +1 -1
  143. package/es/event/listener/table-group.js.map +1 -1
  144. package/es/header-helper/style/Style.d.ts +3 -0
  145. package/es/header-helper/style/Style.js +15 -8
  146. package/es/header-helper/style/Style.js.map +1 -1
  147. package/es/index.d.ts +3 -2
  148. package/es/index.js +4 -2
  149. package/es/index.js.map +1 -1
  150. package/es/layout/pivot-header-layout.d.ts +3 -2
  151. package/es/layout/pivot-header-layout.js +24 -18
  152. package/es/layout/pivot-header-layout.js.map +1 -1
  153. package/es/layout/row-height-map.d.ts +1 -0
  154. package/es/layout/row-height-map.js +25 -1
  155. package/es/layout/row-height-map.js.map +1 -1
  156. package/es/layout/simple-header-layout.d.ts +3 -2
  157. package/es/layout/simple-header-layout.js +16 -12
  158. package/es/layout/simple-header-layout.js.map +1 -1
  159. package/es/plugins/custom-cell-style.d.ts +19 -0
  160. package/es/plugins/custom-cell-style.js +55 -0
  161. package/es/plugins/custom-cell-style.js.map +1 -0
  162. package/es/scenegraph/graphic/contributions/group-contribution-render.js +29 -6
  163. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  164. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +9 -2
  165. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  166. package/es/scenegraph/group-creater/cell-helper.js +11 -4
  167. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  168. package/es/scenegraph/group-creater/cell-type/chart-cell.js +23 -18
  169. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  170. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +22 -17
  171. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  172. package/es/scenegraph/group-creater/cell-type/image-cell.js +8 -6
  173. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  174. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +22 -17
  175. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  176. package/es/scenegraph/group-creater/cell-type/text-cell.js +11 -9
  177. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  178. package/es/scenegraph/group-creater/cell-type/video-cell.js +8 -6
  179. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  180. package/es/scenegraph/group-creater/progress/default-width-height.d.ts +3 -0
  181. package/es/scenegraph/group-creater/progress/default-width-height.js +18 -0
  182. package/es/scenegraph/group-creater/progress/default-width-height.js.map +1 -0
  183. package/es/scenegraph/group-creater/progress/proxy.d.ts +8 -4
  184. package/es/scenegraph/group-creater/progress/proxy.js +51 -11
  185. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  186. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +1 -1
  187. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +14 -16
  188. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  189. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +1 -1
  190. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +28 -31
  191. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  192. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +1 -1
  193. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  194. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  195. package/es/scenegraph/layout/compute-row-height.js +3 -1
  196. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  197. package/es/scenegraph/layout/move-cell.d.ts +1 -2
  198. package/es/scenegraph/layout/move-cell.js +3 -16
  199. package/es/scenegraph/layout/move-cell.js.map +1 -1
  200. package/es/scenegraph/scenegraph.d.ts +4 -4
  201. package/es/scenegraph/scenegraph.js +13 -9
  202. package/es/scenegraph/scenegraph.js.map +1 -1
  203. package/es/scenegraph/stick-text/index.js +1 -1
  204. package/es/scenegraph/stick-text/index.js.map +1 -1
  205. package/es/scenegraph/utils/cell-border-stroke-width.d.ts +3 -0
  206. package/es/scenegraph/utils/cell-border-stroke-width.js +10 -0
  207. package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -0
  208. package/es/scenegraph/utils/get-prop.js +3 -3
  209. package/es/scenegraph/utils/get-prop.js.map +1 -1
  210. package/es/scenegraph/utils/text-icon-layout.js +9 -3
  211. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  212. package/es/scenegraph/utils/text-measure.d.ts +4 -2
  213. package/es/scenegraph/utils/text-measure.js +19 -5
  214. package/es/scenegraph/utils/text-measure.js.map +1 -1
  215. package/es/state/cell-move/index.js +6 -6
  216. package/es/state/cell-move/index.js.map +1 -1
  217. package/es/state/state.js +2 -2
  218. package/es/state/state.js.map +1 -1
  219. package/es/themes/ARCO.js +2 -1
  220. package/es/themes/theme.d.ts +3 -0
  221. package/es/themes/theme.js +21 -1
  222. package/es/themes/theme.js.map +1 -1
  223. package/es/tools/NumberMap.d.ts +1 -0
  224. package/es/tools/NumberMap.js +21 -0
  225. package/es/tools/NumberMap.js.map +1 -1
  226. package/es/tools/isx.d.ts +1 -1
  227. package/es/tools/util.d.ts +1 -1
  228. package/es/ts-types/base-table.d.ts +17 -2
  229. package/es/ts-types/base-table.js.map +1 -1
  230. package/es/ts-types/column/style.d.ts +1 -0
  231. package/es/ts-types/column/style.js.map +1 -1
  232. package/es/ts-types/common.d.ts +14 -2
  233. package/es/ts-types/common.js.map +1 -1
  234. package/es/ts-types/customElement.d.ts +2 -0
  235. package/es/ts-types/customElement.js.map +1 -1
  236. package/es/ts-types/style-define.d.ts +2 -0
  237. package/es/ts-types/style-define.js.map +1 -1
  238. package/es/ts-types/table-engine.d.ts +1 -1
  239. package/es/ts-types/table-engine.js.map +1 -1
  240. package/es/ts-types/theme.d.ts +3 -0
  241. package/es/ts-types/theme.js.map +1 -1
  242. package/es/vrender.js.map +1 -1
  243. package/package.json +6 -6
  244. package/cjs/scenegraph/component/menu.d.ts +0 -41
  245. package/es/scenegraph/component/menu.d.ts +0 -41
@@ -794,7 +794,7 @@ class PivotHeaderLayoutMap {
794
794
  this.colIndex = 0, this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e,
795
795
  o)), {}), this._CellHeaderPathMap = new Map, this._largeCellRangeCache.length = 0;
796
796
  const diffCell = (0, diff_cell_1.diffCellAddress)(col, row, oldRowHeaderCellIds.map((oldCellId => oldCellId[col])), this._rowHeaderCellIds_FULL.map((newCellId => newCellId[col])), oldRowHeaderCellPositons, this);
797
- return this._rowHeaderCellIds = this._rowHeaderCellIds_FULL, diffCell;
797
+ return this._rowHeaderCellIds = this._rowHeaderCellIds_FULL.slice(), diffCell;
798
798
  }
799
799
  isHeaderForColWidth(col, row) {
800
800
  return this.isHeader(col, row);
@@ -913,7 +913,11 @@ class PivotHeaderLayoutMap {
913
913
  {
914
914
  const sourceRowHeaderPaths = (0, vutils_1.cloneDeep)(this.getCellHeaderPathsWidthTreeNode(source.col, source.row).rowHeaderPaths), targetRowHeaderPaths = (0,
915
915
  vutils_1.cloneDeep)(this.getCellHeaderPathsWidthTreeNode(target.col, target.row).rowHeaderPaths);
916
- if (sourceRowHeaderPaths.pop(), targetRowHeaderPaths.pop(), sourceRowHeaderPaths.length <= targetRowHeaderPaths.length) return sourceRowHeaderPaths.length !== targetRowHeaderPaths.length || !sourceRowHeaderPaths.find(((item, i) => item.dimensionKey !== targetRowHeaderPaths[i].dimensionKey || item.value !== targetRowHeaderPaths[i].value));
916
+ if (sourceRowHeaderPaths.pop(), targetRowHeaderPaths.pop(), sourceRowHeaderPaths.length <= targetRowHeaderPaths.length) {
917
+ if (sourceRowHeaderPaths.length === targetRowHeaderPaths.length) return !sourceRowHeaderPaths.find(((item, i) => item.dimensionKey !== targetRowHeaderPaths[i].dimensionKey || item.value !== targetRowHeaderPaths[i].value));
918
+ if (sourceRowHeaderPaths.length > 0) for (let i = 0; i < sourceRowHeaderPaths.length; i++) if (sourceRowHeaderPaths[i].startInTotal !== targetRowHeaderPaths[i].startInTotal) return !1;
919
+ return !0;
920
+ }
917
921
  }
918
922
  }
919
923
  return !1;
@@ -922,41 +926,43 @@ class PivotHeaderLayoutMap {
922
926
  if (this.canMoveHeaderPosition(source, target) && !this.isCellRangeEqual(source.col, source.row, target.col, target.row)) {
923
927
  const sourceCellRange = this.getCellRange(source.col, source.row);
924
928
  if (this.isColumnHeader(source.col, source.row)) {
925
- const moveSize = sourceCellRange.end.col - sourceCellRange.start.col + 1;
929
+ const sourceSize = sourceCellRange.end.col - sourceCellRange.start.col + 1;
926
930
  let targetIndex;
927
931
  const targetCellRange = this.getCellRange(target.col, sourceCellRange.start.row);
928
- if (targetIndex = target.col >= source.col ? targetCellRange.end.col - moveSize + 1 : targetCellRange.start.col,
929
- targetIndex === sourceCellRange.end.col - this.rowHeaderLevelCount) return null;
932
+ if (targetIndex = target.col >= source.col ? targetCellRange.end.col - sourceSize + 1 : targetCellRange.start.col,
933
+ targetIndex === sourceCellRange.start.col) return null;
930
934
  for (let row = 0; row < this._columnHeaderCellIds.length; row++) {
931
- const sourceIds = this._columnHeaderCellIds[row].splice(sourceCellRange.start.col - this.rowHeaderLevelCount, moveSize);
935
+ const sourceIds = this._columnHeaderCellIds[row].splice(sourceCellRange.start.col - this.rowHeaderLevelCount, sourceSize);
932
936
  sourceIds.unshift(targetIndex - this.rowHeaderLevelCount, 0), Array.prototype.splice.apply(this._columnHeaderCellIds[row], sourceIds);
933
937
  }
934
- const sourceColumns = this._columnWidths.splice(sourceCellRange.start.col, moveSize);
938
+ const sourceColumns = this._columnWidths.splice(sourceCellRange.start.col, sourceSize);
935
939
  return sourceColumns.unshift(targetIndex, 0), Array.prototype.splice.apply(this._columnWidths, sourceColumns),
936
- this.columnDimensionTree.movePosition(this.getCellHeaderPathsWidthTreeNode(source.col, source.row).colHeaderPaths.length - 1, sourceCellRange.start.col - this.rowHeaderLevelCount, targetIndex - this.rowHeaderLevelCount),
940
+ this.columnDimensionTree.movePosition(this.getCellHeaderPathsWidthTreeNode(source.col, source.row).colHeaderPaths.length - 1, sourceCellRange.start.col - this.rowHeaderLevelCount, targetCellRange.start.col - this.rowHeaderLevelCount),
937
941
  this.columnDimensionTree.reset(this.columnDimensionTree.tree.children, !0), this._CellHeaderPathMap = new Map,
938
942
  this._largeCellRangeCache.length = 0, {
939
943
  sourceIndex: sourceCellRange.start.col,
940
944
  targetIndex: targetIndex,
941
- moveSize: moveSize,
945
+ sourceSize: sourceSize,
946
+ targetSize: targetCellRange.end.col - targetCellRange.start.col + 1,
942
947
  moveType: "column"
943
948
  };
944
949
  }
945
950
  if (this.isRowHeader(source.col, source.row)) {
946
951
  let targetIndex;
947
- const sourceRowHeaderPaths = this.getCellHeaderPathsWidthTreeNode(source.col, source.row).rowHeaderPaths, targetRowHeaderPaths = this.getCellHeaderPathsWidthTreeNode(target.col, target.row).rowHeaderPaths, sourceRowHeaderNode = sourceRowHeaderPaths[sourceRowHeaderPaths.length - 1], targetRowHeaderNode = targetRowHeaderPaths[sourceRowHeaderPaths.length - 1], moveSize = sourceRowHeaderNode.size;
948
- if (targetIndex = target.row >= source.row ? targetRowHeaderNode.startInTotal + targetRowHeaderNode.size - moveSize : targetRowHeaderNode.startInTotal,
949
- targetIndex === source.row - this.columnHeaderLevelCount || targetIndex === sourceCellRange.end.row - this.columnHeaderLevelCount) return null;
950
- const sourceIds = this._rowHeaderCellIds.splice(sourceCellRange.start.row - this.columnHeaderLevelCount, moveSize);
952
+ const sourceRowHeaderPaths = this.getCellHeaderPathsWidthTreeNode(source.col, source.row).rowHeaderPaths, targetRowHeaderPaths = this.getCellHeaderPathsWidthTreeNode(target.col, target.row).rowHeaderPaths, sourceRowHeaderNode = sourceRowHeaderPaths[sourceRowHeaderPaths.length - 1], targetRowHeaderNode = targetRowHeaderPaths[sourceRowHeaderPaths.length - 1], sourceSize = sourceRowHeaderNode.size;
953
+ if (targetIndex = target.row >= source.row ? targetRowHeaderNode.startInTotal + targetRowHeaderNode.size - sourceSize : targetRowHeaderNode.startInTotal,
954
+ targetIndex === sourceCellRange.start.row - this.columnHeaderLevelCount) return null;
955
+ const sourceIds = this._rowHeaderCellIds.splice(sourceCellRange.start.row - this.columnHeaderLevelCount, sourceSize);
951
956
  sourceIds.unshift(targetIndex - this.currentPageStartIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellIds, sourceIds);
952
- const sourceIds_FULL = this._rowHeaderCellIds_FULL.splice(sourceCellRange.start.row + this.currentPageStartIndex, moveSize);
957
+ const sourceIds_FULL = this._rowHeaderCellIds_FULL.splice(sourceCellRange.start.row - this.columnHeaderLevelCount + this.currentPageStartIndex, sourceSize);
953
958
  return sourceIds_FULL.unshift(targetIndex, 0), Array.prototype.splice.apply(this._rowHeaderCellIds_FULL, sourceIds_FULL),
954
- this.rowDimensionTree.movePosition(this.getCellHeaderPathsWidthTreeNode(source.col, source.row).rowHeaderPaths.length - 1, sourceCellRange.start.row - this.columnHeaderLevelCount, targetIndex + (target.row > source.row ? sourceRowHeaderNode.size - 1 : 0)),
959
+ this.rowDimensionTree.movePosition(sourceRowHeaderPaths.length - 1, sourceCellRange.start.row - this.columnHeaderLevelCount, targetIndex + (target.row > source.row ? sourceRowHeaderNode.size - 1 : 0)),
955
960
  this.rowDimensionTree.reset(this.rowDimensionTree.tree.children, !0), this._CellHeaderPathMap = new Map,
956
961
  this._largeCellRangeCache.length = 0, {
957
962
  sourceIndex: sourceCellRange.start.row,
958
963
  targetIndex: targetIndex + this.columnHeaderLevelCount,
959
- moveSize: moveSize,
964
+ sourceSize: sourceSize,
965
+ targetSize: targetRowHeaderNode.size,
960
966
  moveType: "row"
961
967
  };
962
968
  }
@@ -968,8 +974,8 @@ class PivotHeaderLayoutMap {
968
974
  let colHeaderPaths, rowHeaderPaths, forceBody = !1;
969
975
  if (Array.isArray(dimensionPaths)) {
970
976
  if (dimensionPaths.length > this.rowDimensionKeys.length + this.colDimensionKeys.length) return;
971
- colHeaderPaths = dimensionPaths.filter((path => this.colDimensionKeys.indexOf(path.dimensionKey) >= 0)),
972
- rowHeaderPaths = dimensionPaths.filter((path => this.rowDimensionKeys.indexOf(path.dimensionKey) >= 0));
977
+ colHeaderPaths = dimensionPaths.filter((path => this.colDimensionKeys.indexOf(path.dimensionKey) >= 0 || this.colDimensionKeys.indexOf(this.indicatorDimensionKey) >= 0 && path.indicatorKey)),
978
+ rowHeaderPaths = dimensionPaths.filter((path => this.rowDimensionKeys.indexOf(path.dimensionKey) >= 0 || this.rowDimensionKeys.indexOf(this.indicatorDimensionKey) >= 0 && path.indicatorKey));
973
979
  } else colHeaderPaths = dimensionPaths.colHeaderPaths, rowHeaderPaths = dimensionPaths.rowHeaderPaths,
974
980
  "body" === (null == dimensionPaths ? void 0 : dimensionPaths.cellLocation) && this._table.isPivotTable() && (forceBody = !0);
975
981
  if (!Array.isArray(colHeaderPaths) && !Array.isArray(rowHeaderPaths)) return;