@visactor/vtable 1.6.0-alpha.1 → 1.6.0-alpha.3

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 (247) hide show
  1. package/cjs/ListTable-all.js +5 -5
  2. package/cjs/ListTable-all.js.map +1 -1
  3. package/cjs/ListTable.d.ts +0 -5
  4. package/cjs/ListTable.js +278 -34
  5. package/cjs/ListTable.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +0 -2
  7. package/cjs/PivotTable.js +1 -1
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/components/legend/discrete-legend/discrete-legend.js +7 -1
  10. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  11. package/cjs/components/react/react-custom-layout.d.ts +3 -1
  12. package/cjs/components/react/react-custom-layout.js +7 -3
  13. package/cjs/components/react/react-custom-layout.js.map +1 -1
  14. package/cjs/core/BaseTable.d.ts +8 -6
  15. package/cjs/core/BaseTable.js +93 -15
  16. package/cjs/core/BaseTable.js.map +1 -1
  17. package/cjs/core/style.js +1 -1
  18. package/cjs/core/style.js.map +1 -1
  19. package/cjs/core/tableHelper.d.ts +3 -1
  20. package/cjs/core/tableHelper.js +22 -12
  21. package/cjs/core/tableHelper.js.map +1 -1
  22. package/cjs/data/CachedDataSource.d.ts +1 -10
  23. package/cjs/data/CachedDataSource.js +3 -102
  24. package/cjs/data/CachedDataSource.js.map +1 -1
  25. package/cjs/dataset/dataset-pivot-table.js +1 -0
  26. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  27. package/cjs/dataset/dataset.js +1 -0
  28. package/cjs/edit/edit-manager.js +5 -9
  29. package/cjs/edit/edit-manager.js.map +1 -1
  30. package/cjs/event/event.js +4 -6
  31. package/cjs/event/event.js.map +1 -1
  32. package/cjs/event/listener/container-dom.js +43 -19
  33. package/cjs/event/listener/container-dom.js.map +1 -1
  34. package/cjs/event/listener/table-group.js +6 -4
  35. package/cjs/event/listener/table-group.js.map +1 -1
  36. package/cjs/index.d.ts +3 -3
  37. package/cjs/index.js +1 -1
  38. package/cjs/index.js.map +1 -1
  39. package/cjs/layout/layout-helper.js +2 -2
  40. package/cjs/layout/layout-helper.js.map +1 -1
  41. package/cjs/layout/pivot-header-layout.js +11 -5
  42. package/cjs/layout/pivot-header-layout.js.map +1 -1
  43. package/cjs/layout/row-height-map.js +0 -1
  44. package/cjs/layout/simple-header-layout.d.ts +2 -1
  45. package/cjs/layout/simple-header-layout.js +88 -2
  46. package/cjs/layout/simple-header-layout.js.map +1 -1
  47. package/cjs/plugins/icons.js +1 -1
  48. package/cjs/plugins/themes.js +1 -1
  49. package/cjs/scenegraph/component/table-component.js +18 -14
  50. package/cjs/scenegraph/component/table-component.js.map +1 -1
  51. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +26 -10
  52. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  53. package/cjs/scenegraph/graphic/group.js +1 -1
  54. package/cjs/scenegraph/graphic/group.js.map +1 -1
  55. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -2
  56. package/cjs/scenegraph/group-creater/cell-helper.js +10 -29
  57. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/column-helper.js +2 -9
  59. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  60. package/cjs/scenegraph/group-creater/init-scenegraph.js +2 -2
  61. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  62. package/cjs/scenegraph/layout/update-height.js +1 -1
  63. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  64. package/cjs/scenegraph/layout/update-width.js +1 -1
  65. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  66. package/cjs/scenegraph/refresh-node/update-chart.d.ts +2 -1
  67. package/cjs/scenegraph/refresh-node/update-chart.js +18 -4
  68. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  69. package/cjs/scenegraph/scenegraph.d.ts +2 -1
  70. package/cjs/scenegraph/scenegraph.js +13 -8
  71. package/cjs/scenegraph/scenegraph.js.map +1 -1
  72. package/cjs/scenegraph/select/create-select-border.js +2 -2
  73. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  74. package/cjs/scenegraph/utils/cell-border-stroke-width.js +9 -14
  75. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  76. package/cjs/scenegraph/utils/get-cell-merge.js +1 -1
  77. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  78. package/cjs/scenegraph/utils/get-hierarchy-offset.js +8 -6
  79. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  80. package/cjs/scenegraph/utils/text-icon-layout.js +6 -5
  81. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  82. package/cjs/state/cell-move/index.js +14 -11
  83. package/cjs/state/cell-move/index.js.map +1 -1
  84. package/cjs/state/select/is-cell-select-highlight.js +6 -0
  85. package/cjs/state/select/is-cell-select-highlight.js.map +1 -1
  86. package/cjs/state/state.d.ts +2 -2
  87. package/cjs/state/state.js +12 -10
  88. package/cjs/state/state.js.map +1 -1
  89. package/cjs/themes/theme.d.ts +0 -2
  90. package/cjs/themes/theme.js +18 -13
  91. package/cjs/themes/theme.js.map +1 -1
  92. package/cjs/tools/helper.js.map +1 -1
  93. package/cjs/tools/style.d.ts +2 -1
  94. package/cjs/tools/style.js +9 -3
  95. package/cjs/tools/style.js.map +1 -1
  96. package/cjs/ts-types/base-table.d.ts +5 -10
  97. package/cjs/ts-types/base-table.js.map +1 -1
  98. package/cjs/ts-types/new-data-set.d.ts +0 -1
  99. package/cjs/ts-types/new-data-set.js.map +1 -1
  100. package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +1 -0
  101. package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  102. package/cjs/ts-types/table-engine.d.ts +48 -12
  103. package/cjs/ts-types/table-engine.js.map +1 -1
  104. package/cjs/ts-types/theme.d.ts +4 -1
  105. package/cjs/ts-types/theme.js.map +1 -1
  106. package/cjs/vrender.js +1 -2
  107. package/cjs/vrender.js.map +1 -1
  108. package/dist/vtable.js +3421 -3838
  109. package/dist/vtable.min.js +2 -2
  110. package/es/ListTable-all.js +3 -5
  111. package/es/ListTable-all.js.map +1 -1
  112. package/es/ListTable.d.ts +0 -5
  113. package/es/ListTable.js +280 -37
  114. package/es/ListTable.js.map +1 -1
  115. package/es/PivotTable.d.ts +0 -2
  116. package/es/PivotTable.js +1 -1
  117. package/es/PivotTable.js.map +1 -1
  118. package/es/components/legend/discrete-legend/discrete-legend.js +7 -1
  119. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  120. package/es/components/react/react-custom-layout.d.ts +3 -1
  121. package/es/components/react/react-custom-layout.js +7 -3
  122. package/es/components/react/react-custom-layout.js.map +1 -1
  123. package/es/core/BaseTable.d.ts +8 -6
  124. package/es/core/BaseTable.js +98 -20
  125. package/es/core/BaseTable.js.map +1 -1
  126. package/es/core/style.js +1 -1
  127. package/es/core/style.js.map +1 -1
  128. package/es/core/tableHelper.d.ts +3 -1
  129. package/es/core/tableHelper.js +21 -9
  130. package/es/core/tableHelper.js.map +1 -1
  131. package/es/data/CachedDataSource.d.ts +1 -10
  132. package/es/data/CachedDataSource.js +0 -103
  133. package/es/data/CachedDataSource.js.map +1 -1
  134. package/es/dataset/dataset-pivot-table.js +1 -0
  135. package/es/dataset/dataset-pivot-table.js.map +1 -1
  136. package/es/dataset/dataset.js +2 -1
  137. package/es/edit/edit-manager.js +5 -9
  138. package/es/edit/edit-manager.js.map +1 -1
  139. package/es/event/event.js +4 -6
  140. package/es/event/event.js.map +1 -1
  141. package/es/event/listener/container-dom.js +39 -18
  142. package/es/event/listener/container-dom.js.map +1 -1
  143. package/es/event/listener/table-group.js +6 -4
  144. package/es/event/listener/table-group.js.map +1 -1
  145. package/es/index.d.ts +3 -3
  146. package/es/index.js +1 -1
  147. package/es/index.js.map +1 -1
  148. package/es/layout/layout-helper.js +2 -2
  149. package/es/layout/layout-helper.js.map +1 -1
  150. package/es/layout/pivot-header-layout.js +11 -5
  151. package/es/layout/pivot-header-layout.js.map +1 -1
  152. package/es/layout/row-height-map.js +1 -2
  153. package/es/layout/simple-header-layout.d.ts +2 -1
  154. package/es/layout/simple-header-layout.js +87 -3
  155. package/es/layout/simple-header-layout.js.map +1 -1
  156. package/es/plugins/icons.js +1 -1
  157. package/es/plugins/themes.js +1 -1
  158. package/es/scenegraph/component/table-component.js +18 -14
  159. package/es/scenegraph/component/table-component.js.map +1 -1
  160. package/es/scenegraph/graphic/contributions/chart-render-helper.js +26 -10
  161. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  162. package/es/scenegraph/graphic/group.js +1 -1
  163. package/es/scenegraph/graphic/group.js.map +1 -1
  164. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -2
  165. package/es/scenegraph/group-creater/cell-helper.js +8 -23
  166. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  167. package/es/scenegraph/group-creater/column-helper.js +2 -8
  168. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  169. package/es/scenegraph/group-creater/init-scenegraph.js +2 -2
  170. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  171. package/es/scenegraph/layout/update-height.js +1 -1
  172. package/es/scenegraph/layout/update-height.js.map +1 -1
  173. package/es/scenegraph/layout/update-width.js +1 -1
  174. package/es/scenegraph/layout/update-width.js.map +1 -1
  175. package/es/scenegraph/refresh-node/update-chart.d.ts +2 -1
  176. package/es/scenegraph/refresh-node/update-chart.js +14 -1
  177. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  178. package/es/scenegraph/scenegraph.d.ts +2 -1
  179. package/es/scenegraph/scenegraph.js +15 -10
  180. package/es/scenegraph/scenegraph.js.map +1 -1
  181. package/es/scenegraph/select/create-select-border.js +2 -2
  182. package/es/scenegraph/select/create-select-border.js.map +1 -1
  183. package/es/scenegraph/utils/cell-border-stroke-width.js +6 -9
  184. package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  185. package/es/scenegraph/utils/get-cell-merge.js +1 -1
  186. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  187. package/es/scenegraph/utils/get-hierarchy-offset.js +9 -7
  188. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  189. package/es/scenegraph/utils/text-icon-layout.js +7 -4
  190. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  191. package/es/state/cell-move/index.js +14 -11
  192. package/es/state/cell-move/index.js.map +1 -1
  193. package/es/state/select/is-cell-select-highlight.js +6 -0
  194. package/es/state/select/is-cell-select-highlight.js.map +1 -1
  195. package/es/state/state.d.ts +2 -2
  196. package/es/state/state.js +12 -10
  197. package/es/state/state.js.map +1 -1
  198. package/es/themes/theme.d.ts +0 -2
  199. package/es/themes/theme.js +18 -13
  200. package/es/themes/theme.js.map +1 -1
  201. package/es/tools/helper.js.map +1 -1
  202. package/es/tools/style.d.ts +2 -1
  203. package/es/tools/style.js +7 -2
  204. package/es/tools/style.js.map +1 -1
  205. package/es/ts-types/base-table.d.ts +5 -10
  206. package/es/ts-types/base-table.js.map +1 -1
  207. package/es/ts-types/new-data-set.d.ts +0 -1
  208. package/es/ts-types/new-data-set.js.map +1 -1
  209. package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +1 -0
  210. package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -1
  211. package/es/ts-types/table-engine.d.ts +48 -12
  212. package/es/ts-types/table-engine.js.map +1 -1
  213. package/es/ts-types/theme.d.ts +4 -1
  214. package/es/ts-types/theme.js.map +1 -1
  215. package/es/vrender.js +2 -3
  216. package/es/vrender.js.map +1 -1
  217. package/package.json +3 -3
  218. package/cjs/core/group-helper.d.ts +0 -6
  219. package/cjs/core/group-helper.js +0 -22
  220. package/cjs/core/group-helper.js.map +0 -1
  221. package/cjs/core/record-helper.d.ts +0 -8
  222. package/cjs/core/record-helper.js +0 -337
  223. package/cjs/core/record-helper.js.map +0 -1
  224. package/cjs/core/style-helper.d.ts +0 -3
  225. package/cjs/core/style-helper.js +0 -110
  226. package/cjs/core/style-helper.js.map +0 -1
  227. package/cjs/layout/cell-range/simple-cell-range.d.ts +0 -4
  228. package/cjs/layout/cell-range/simple-cell-range.js +0 -106
  229. package/cjs/layout/cell-range/simple-cell-range.js.map +0 -1
  230. package/cjs/plugins/list-tree-stick-cell.d.ts +0 -16
  231. package/cjs/plugins/list-tree-stick-cell.js +0 -171
  232. package/cjs/plugins/list-tree-stick-cell.js.map +0 -1
  233. package/es/core/group-helper.d.ts +0 -6
  234. package/es/core/group-helper.js +0 -14
  235. package/es/core/group-helper.js.map +0 -1
  236. package/es/core/record-helper.d.ts +0 -8
  237. package/es/core/record-helper.js +0 -332
  238. package/es/core/record-helper.js.map +0 -1
  239. package/es/core/style-helper.d.ts +0 -3
  240. package/es/core/style-helper.js +0 -86
  241. package/es/core/style-helper.js.map +0 -1
  242. package/es/layout/cell-range/simple-cell-range.d.ts +0 -4
  243. package/es/layout/cell-range/simple-cell-range.js +0 -99
  244. package/es/layout/cell-range/simple-cell-range.js.map +0 -1
  245. package/es/plugins/list-tree-stick-cell.d.ts +0 -16
  246. package/es/plugins/list-tree-stick-cell.js +0 -169
  247. package/es/plugins/list-tree-stick-cell.js.map +0 -1
@@ -163,5 +163,4 @@ function indexFirst(arr, elm) {
163
163
  arr[i] > elm ? high = i - 1 : low = i + 1;
164
164
  }
165
165
  return high < 0 ? 0 : high;
166
- }
167
- //# sourceMappingURL=row-height-map.js.map
166
+ }
@@ -29,7 +29,7 @@ export declare class SimpleHeaderLayoutMap implements LayoutMapAPI {
29
29
  _hasAggregationOnTopCount: number;
30
30
  _hasAggregationOnBottomCount: number;
31
31
  rowHierarchyType?: 'grid' | 'tree';
32
- _cellRangeMap: Map<string, CellRange>;
32
+ private _cellRangeMap;
33
33
  constructor(table: ListTable, columns: ColumnsDefine, showHeader: boolean, hierarchyIndent: number);
34
34
  handleRowSeriesNumber(rowSeriesNumber: IRowSeriesNumber): void;
35
35
  get transpose(): boolean;
@@ -97,6 +97,7 @@ export declare class SimpleHeaderLayoutMap implements LayoutMapAPI {
97
97
  getBody(col: number, _row: number): ColumnData | SeriesNumberColumnData;
98
98
  getBodyLayoutRangeById(id: LayoutObjectId): CellRange;
99
99
  getCellRange(col: number, row: number): CellRange;
100
+ private getCellRangeTranspose;
100
101
  isCellRangeEqual(col: number, row: number, targetCol: number, targetRow: number): boolean;
101
102
  getRecordShowIndexByCell(col: number, row: number): number;
102
103
  getRecordStartRowByRecordIndex(index: number): number;
@@ -8,8 +8,6 @@ import { checkHasAggregation, checkHasAggregationOnBottom, checkHasAggregationOn
8
8
 
9
9
  import { DimensionTree } from "./tree-helper";
10
10
 
11
- import { getCellRange } from "./cell-range/simple-cell-range";
12
-
13
11
  export class SimpleHeaderLayoutMap {
14
12
  constructor(table, columns, showHeader, hierarchyIndent) {
15
13
  this.seqId = 0, this.leftRowSeriesNumberColumnCount = 0, this.rightRowSeriesNumberColumnCount = 0,
@@ -483,7 +481,93 @@ export class SimpleHeaderLayoutMap {
483
481
  throw new Error(`can not found body layout @id=${id}`);
484
482
  }
485
483
  getCellRange(col, row) {
486
- return getCellRange(col, row, this);
484
+ var _a, _b, _c;
485
+ if (-1 === col || -1 === row) return {
486
+ start: {
487
+ col: col,
488
+ row: row
489
+ },
490
+ end: {
491
+ col: col,
492
+ row: row
493
+ }
494
+ };
495
+ if (this._cellRangeMap.has(`$${col}$${row}`)) return this._cellRangeMap.get(`$${col}$${row}`);
496
+ let cellRange = {
497
+ start: {
498
+ col: col,
499
+ row: row
500
+ },
501
+ end: {
502
+ col: col,
503
+ row: row
504
+ }
505
+ };
506
+ if (this.transpose) cellRange = this.getCellRangeTranspose(col, row); else if (this.headerLevelCount <= row) {
507
+ if (this.headerLevelCount <= row && (null === (_b = null === (_a = this.columnObjects[col - this.leftRowSeriesNumberColumnCount]) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.mergeCell)) {
508
+ const value = this._table.getCellValue(col, row);
509
+ for (let r = row - 1; r >= this.headerLevelCount; r--) {
510
+ const last_Value = this._table.getCellValue(col, r);
511
+ if ("boolean" == typeof this.columnObjects[col - this.leftRowSeriesNumberColumnCount].define.mergeCell) {
512
+ if (value !== last_Value) break;
513
+ } else if (!this.columnObjects[col - this.leftRowSeriesNumberColumnCount].define.mergeCell(value, last_Value)) break;
514
+ cellRange.start.row = r;
515
+ }
516
+ for (let r = row + 1; r < this.rowCount; r++) {
517
+ const next_Value = this._table.getCellValue(col, r);
518
+ if ("boolean" == typeof this.columnObjects[col - this.leftRowSeriesNumberColumnCount].define.mergeCell) {
519
+ if (value !== next_Value) break;
520
+ } else if (!this.columnObjects[col - this.leftRowSeriesNumberColumnCount].define.mergeCell(value, next_Value)) break;
521
+ cellRange.end.row = r;
522
+ }
523
+ }
524
+ } else {
525
+ const id = this.getCellId(col, row);
526
+ for (let c = col - 1; c >= 0 && id === this.getCellId(c, row); c--) cellRange.start.col = c;
527
+ for (let c = col + 1; c < (null !== (_c = this.colCount) && void 0 !== _c ? _c : 0) && id === this.getCellId(c, row); c++) cellRange.end.col = c;
528
+ for (let r = row - 1; r >= 0 && id === this.getCellId(col, r); r--) cellRange.start.row = r;
529
+ for (let r = row + 1; r < this.headerLevelCount && id === this.getCellId(col, r); r++) cellRange.end.row = r;
530
+ }
531
+ return this._cellRangeMap.set(`$${col}$${row}`, cellRange), cellRange;
532
+ }
533
+ getCellRangeTranspose(col, row) {
534
+ var _a, _b, _c, _d;
535
+ const result = {
536
+ start: {
537
+ col: col,
538
+ row: row
539
+ },
540
+ end: {
541
+ col: col,
542
+ row: row
543
+ }
544
+ };
545
+ if (this.headerLevelCount + this.leftRowSeriesNumberColumnCount <= col || -1 === col && -1 === row) {
546
+ if (this.headerLevelCount + this.leftRowSeriesNumberColumnCount <= col && (null === (_b = null === (_a = this.columnObjects[row]) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.mergeCell)) {
547
+ const value = this._table.getCellValue(col, row);
548
+ for (let c = col - 1; c >= this.headerLevelCount + this.leftRowSeriesNumberColumnCount; c--) {
549
+ const last_Value = this._table.getCellValue(c, row);
550
+ if ("boolean" == typeof this.columnObjects[row].define.mergeCell) {
551
+ if (value !== last_Value) break;
552
+ } else if (!this.columnObjects[row].define.mergeCell(value, last_Value)) break;
553
+ result.start.col = c;
554
+ }
555
+ for (let c = col + 1; c < (null !== (_c = this.colCount) && void 0 !== _c ? _c : 0); c++) {
556
+ const next_Value = this._table.getCellValue(c, row);
557
+ if ("boolean" == typeof this.columnObjects[row].define.mergeCell) {
558
+ if (value !== next_Value) break;
559
+ } else if (!this.columnObjects[row].define.mergeCell(value, next_Value)) break;
560
+ result.end.col = c;
561
+ }
562
+ }
563
+ return result;
564
+ }
565
+ const id = this.getCellId(col, row);
566
+ for (let r = row - 1; r >= 0 && id === this.getCellId(col, r); r--) result.start.row = r;
567
+ for (let r = row + 1; r < (null !== (_d = this.rowCount) && void 0 !== _d ? _d : 0) && id === this.getCellId(col, r); r++) result.end.row = r;
568
+ for (let c = col - 1; c >= 0 && id === this.getCellId(c, row); c--) result.start.col = c;
569
+ for (let c = col + 1; c < this.headerLevelCount + this.leftRowSeriesNumberColumnCount && id === this.getCellId(c, row); c++) result.end.col = c;
570
+ return result;
487
571
  }
488
572
  isCellRangeEqual(col, row, targetCol, targetRow) {
489
573
  const range1 = this.getCellRange(col, row), range2 = this.getCellRange(targetCol, targetRow);