@visactor/vtable 0.15.0-alpha.2 → 0.15.0-alpha.4

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 (189) hide show
  1. package/cjs/ListTable.d.ts +11 -0
  2. package/cjs/ListTable.js +122 -13
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +1 -0
  5. package/cjs/PivotChart.js +36 -26
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +5 -1
  8. package/cjs/PivotTable.js +109 -63
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/core/BaseTable.d.ts +2 -3
  11. package/cjs/core/BaseTable.js +73 -97
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/core/TABLE_EVENT_TYPE.d.ts +2 -0
  14. package/cjs/core/TABLE_EVENT_TYPE.js +3 -1
  15. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  16. package/cjs/data/DataSource.d.ts +7 -1
  17. package/cjs/data/DataSource.js +42 -7
  18. package/cjs/data/DataSource.js.map +1 -1
  19. package/cjs/dataset/dataset.d.ts +3 -1
  20. package/cjs/dataset/dataset.js +20 -15
  21. package/cjs/dataset/dataset.js.map +1 -1
  22. package/cjs/edit/edit-manager.d.ts +14 -0
  23. package/cjs/edit/edit-manager.js +64 -0
  24. package/cjs/edit/edit-manager.js.map +1 -0
  25. package/cjs/edit/editors.d.ts +5 -0
  26. package/cjs/edit/editors.js +10 -0
  27. package/cjs/edit/editors.js.map +1 -0
  28. package/cjs/event/event.d.ts +3 -1
  29. package/cjs/event/event.js +5 -1
  30. package/cjs/event/event.js.map +1 -1
  31. package/cjs/event/listener/container-dom.js +5 -1
  32. package/cjs/event/listener/container-dom.js.map +1 -1
  33. package/cjs/event/listener/table-group.d.ts +1 -0
  34. package/cjs/event/listener/table-group.js +41 -27
  35. package/cjs/event/listener/table-group.js.map +1 -1
  36. package/cjs/event/media-click.js +1 -2
  37. package/cjs/event/sparkline-event.js +2 -1
  38. package/cjs/index.d.ts +3 -3
  39. package/cjs/index.js +1 -1
  40. package/cjs/index.js.map +1 -1
  41. package/cjs/layout/pivot-header-layout.d.ts +8 -2
  42. package/cjs/layout/pivot-header-layout.js +38 -16
  43. package/cjs/layout/pivot-header-layout.js.map +1 -1
  44. package/cjs/layout/pivot-layout-helper.d.ts +11 -0
  45. package/cjs/layout/pivot-layout-helper.js +24 -2
  46. package/cjs/layout/pivot-layout-helper.js.map +1 -1
  47. package/cjs/layout/simple-header-layout.d.ts +3 -2
  48. package/cjs/layout/simple-header-layout.js +11 -12
  49. package/cjs/layout/simple-header-layout.js.map +1 -1
  50. package/cjs/register.d.ts +2 -0
  51. package/cjs/register.js +8 -3
  52. package/cjs/register.js.map +1 -1
  53. package/cjs/scenegraph/component/menu.d.ts +41 -0
  54. package/cjs/scenegraph/group-creater/cell-helper.js +3 -10
  55. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  56. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +4 -3
  57. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  58. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  59. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  60. package/cjs/scenegraph/layout/compute-col-width.d.ts +1 -1
  61. package/cjs/scenegraph/layout/compute-col-width.js +10 -8
  62. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  63. package/cjs/scenegraph/layout/frozen.js +3 -18
  64. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  65. package/cjs/scenegraph/layout/update-row.js +4 -3
  66. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  67. package/cjs/scenegraph/scenegraph.d.ts +1 -0
  68. package/cjs/scenegraph/scenegraph.js +22 -16
  69. package/cjs/scenegraph/scenegraph.js.map +1 -1
  70. package/cjs/scenegraph/select/update-select-border.js +5 -5
  71. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  72. package/cjs/state/resize/update-resize-column.js +15 -6
  73. package/cjs/state/resize/update-resize-column.js.map +1 -1
  74. package/cjs/state/state.js +5 -4
  75. package/cjs/state/state.js.map +1 -1
  76. package/cjs/themes/BRIGHT.js +1 -2
  77. package/cjs/themes/DARK.js +2 -1
  78. package/cjs/tools/Rect.js +1 -1
  79. package/cjs/tools/calc.js +1 -1
  80. package/cjs/ts-types/base-table.d.ts +2 -2
  81. package/cjs/ts-types/base-table.js.map +1 -1
  82. package/cjs/ts-types/common.d.ts +6 -0
  83. package/cjs/ts-types/common.js.map +1 -1
  84. package/cjs/ts-types/component/title.d.ts +3 -3
  85. package/cjs/ts-types/component/title.js.map +1 -1
  86. package/cjs/ts-types/events.d.ts +12 -2
  87. package/cjs/ts-types/events.js.map +1 -1
  88. package/cjs/ts-types/list-table/define/basic-define.d.ts +4 -1
  89. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  90. package/cjs/ts-types/list-table/layout-map/api.d.ts +1 -1
  91. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  92. package/cjs/ts-types/table-engine.d.ts +10 -1
  93. package/cjs/ts-types/table-engine.js.map +1 -1
  94. package/dist/vtable.js +22179 -38124
  95. package/dist/vtable.min.js +2 -2
  96. package/es/ListTable.d.ts +11 -0
  97. package/es/ListTable.js +106 -12
  98. package/es/ListTable.js.map +1 -1
  99. package/es/PivotChart.d.ts +1 -0
  100. package/es/PivotChart.js +36 -27
  101. package/es/PivotChart.js.map +1 -1
  102. package/es/PivotTable.d.ts +5 -1
  103. package/es/PivotTable.js +104 -61
  104. package/es/PivotTable.js.map +1 -1
  105. package/es/core/BaseTable.d.ts +2 -3
  106. package/es/core/BaseTable.js +75 -99
  107. package/es/core/BaseTable.js.map +1 -1
  108. package/es/core/TABLE_EVENT_TYPE.d.ts +2 -0
  109. package/es/core/TABLE_EVENT_TYPE.js +3 -1
  110. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  111. package/es/data/DataSource.d.ts +7 -1
  112. package/es/data/DataSource.js +43 -8
  113. package/es/data/DataSource.js.map +1 -1
  114. package/es/dataset/dataset.d.ts +3 -1
  115. package/es/dataset/dataset.js +20 -15
  116. package/es/dataset/dataset.js.map +1 -1
  117. package/es/edit/edit-manager.d.ts +14 -0
  118. package/es/edit/edit-manager.js +58 -0
  119. package/es/edit/edit-manager.js.map +1 -0
  120. package/es/edit/editors.d.ts +5 -0
  121. package/es/edit/editors.js +6 -0
  122. package/es/edit/editors.js.map +1 -0
  123. package/es/event/event.d.ts +3 -1
  124. package/es/event/event.js +5 -2
  125. package/es/event/event.js.map +1 -1
  126. package/es/event/listener/container-dom.js +5 -1
  127. package/es/event/listener/container-dom.js.map +1 -1
  128. package/es/event/listener/table-group.d.ts +1 -0
  129. package/es/event/listener/table-group.js +40 -24
  130. package/es/event/listener/table-group.js.map +1 -1
  131. package/es/event/media-click.js +1 -2
  132. package/es/event/sparkline-event.js +2 -1
  133. package/es/index.d.ts +3 -3
  134. package/es/index.js +1 -1
  135. package/es/index.js.map +1 -1
  136. package/es/layout/pivot-header-layout.d.ts +8 -2
  137. package/es/layout/pivot-header-layout.js +39 -17
  138. package/es/layout/pivot-header-layout.js.map +1 -1
  139. package/es/layout/pivot-layout-helper.d.ts +11 -0
  140. package/es/layout/pivot-layout-helper.js +21 -0
  141. package/es/layout/pivot-layout-helper.js.map +1 -1
  142. package/es/layout/simple-header-layout.d.ts +3 -2
  143. package/es/layout/simple-header-layout.js +11 -12
  144. package/es/layout/simple-header-layout.js.map +1 -1
  145. package/es/register.d.ts +2 -0
  146. package/es/register.js +6 -0
  147. package/es/register.js.map +1 -1
  148. package/es/scenegraph/component/menu.d.ts +41 -0
  149. package/es/scenegraph/group-creater/cell-helper.js +3 -10
  150. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  151. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -3
  152. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  153. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  154. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  155. package/es/scenegraph/layout/compute-col-width.d.ts +1 -1
  156. package/es/scenegraph/layout/compute-col-width.js +10 -8
  157. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  158. package/es/scenegraph/layout/frozen.js +2 -20
  159. package/es/scenegraph/layout/frozen.js.map +1 -1
  160. package/es/scenegraph/layout/update-row.js +4 -3
  161. package/es/scenegraph/layout/update-row.js.map +1 -1
  162. package/es/scenegraph/scenegraph.d.ts +1 -0
  163. package/es/scenegraph/scenegraph.js +21 -14
  164. package/es/scenegraph/scenegraph.js.map +1 -1
  165. package/es/scenegraph/select/update-select-border.js +5 -5
  166. package/es/scenegraph/select/update-select-border.js.map +1 -1
  167. package/es/state/resize/update-resize-column.js +15 -6
  168. package/es/state/resize/update-resize-column.js.map +1 -1
  169. package/es/state/state.js +5 -4
  170. package/es/state/state.js.map +1 -1
  171. package/es/themes/BRIGHT.js +1 -2
  172. package/es/themes/DARK.js +2 -1
  173. package/es/tools/Rect.js +1 -1
  174. package/es/tools/calc.js +1 -1
  175. package/es/ts-types/base-table.d.ts +2 -2
  176. package/es/ts-types/base-table.js.map +1 -1
  177. package/es/ts-types/common.d.ts +6 -0
  178. package/es/ts-types/common.js.map +1 -1
  179. package/es/ts-types/component/title.d.ts +3 -3
  180. package/es/ts-types/component/title.js.map +1 -1
  181. package/es/ts-types/events.d.ts +12 -2
  182. package/es/ts-types/events.js.map +1 -1
  183. package/es/ts-types/list-table/define/basic-define.d.ts +4 -1
  184. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  185. package/es/ts-types/list-table/layout-map/api.d.ts +1 -1
  186. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  187. package/es/ts-types/table-engine.d.ts +10 -1
  188. package/es/ts-types/table-engine.js.map +1 -1
  189. package/package.json +10 -6
@@ -2,6 +2,7 @@ import type { CellAddress, CellRange, IPivotTableCellHeaderPaths, LayoutObjectId
2
2
  import type { HeaderData, IndicatorData, LayoutMapAPI, WidthData } from '../ts-types/list-table/layout-map/api';
3
3
  import type { PivotTable } from '../PivotTable';
4
4
  import type { PivotChart } from '../PivotChart';
5
+ import type { LayouTreeNode } from './pivot-layout-helper';
5
6
  import { DimensionTree } from './pivot-layout-helper';
6
7
  import type { Dataset } from '../dataset/dataset';
7
8
  export declare const sharedVar: {
@@ -104,9 +105,11 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
104
105
  get rowHeaderLevelCount(): number;
105
106
  get colCount(): number;
106
107
  get rowCount(): number;
107
- get bodyRowCount(): number;
108
+ get bodyRowSpanCount(): number;
108
109
  get bottomFrozenRowCount(): number;
109
110
  get rightFrozenColCount(): number;
111
+ get bodyRowCount(): number | undefined;
112
+ get bodyColCount(): number | undefined;
110
113
  get headerObjects(): HeaderData[];
111
114
  get columnObjects(): IndicatorData[];
112
115
  getCellId(col: number, row: number): LayoutObjectId;
@@ -118,6 +121,8 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
118
121
  getCellRange(col: number, row: number): CellRange;
119
122
  isCellRangeEqual(col: number, row: number, targetCol: number, targetRow: number): boolean;
120
123
  getBodyIndexByRow(row: number): number;
124
+ get bottomHeaderRowCount(): number;
125
+ get rightHeaderColCount(): number;
121
126
  getBodyIndexByCol(col: number): number;
122
127
  getRecordStartRowByRecordIndex(index: number): number;
123
128
  getRecordIndexByCell(col: number, row: number): number;
@@ -160,7 +165,6 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
160
165
  getDimension(dimensionKey: string, type: 'column' | 'row'): any;
161
166
  getAxisConfigInPivotChart(col: number, row: number): any;
162
167
  isEmpty(col: number, row: number): boolean;
163
- isAxisCell(col: number, row: number): boolean;
164
168
  getChartAxes(col: number, row: number): any[];
165
169
  getRawChartSpec(col: number, row: number): any;
166
170
  getChartDataId(col: number, row: number): any;
@@ -190,5 +194,7 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
190
194
  getColKeysPath(col: number, row: number): string;
191
195
  getRowKeysPath(col: number, row: number): string;
192
196
  getIndicatorInfo(indicatorKey: string, indicatorValue?: string): IIndicator;
197
+ getLayoutRowTree(): LayouTreeNode[];
198
+ getLayoutRowTreeCount(): number;
193
199
  updateDataset(dataset: Dataset): void;
194
200
  }
@@ -411,7 +411,7 @@ class PivotHeaderLayoutMap {
411
411
  return this.isCornerHeader(col, row) ? "cornerHeader" : this.isColumnHeader(col, row) ? "columnHeader" : this.isRowHeader(col, row) ? "rowHeader" : "body";
412
412
  }
413
413
  isHeader(col, row) {
414
- return col < this.rowHeaderLevelCount || (row < this.columnHeaderLevelCount || (col >= this.colCount - this.rightFrozenColCount || row >= this.rowCount - this.bottomFrozenRowCount));
414
+ return col < this.rowHeaderLevelCount || (row < this.columnHeaderLevelCount || (col >= this.colCount - this.rightHeaderColCount || row >= this.rowCount - this.bottomHeaderRowCount));
415
415
  }
416
416
  isCornerHeader(col, row) {
417
417
  return col < this.rowHeaderLevelCount && row < this.columnHeaderLevelCount;
@@ -505,12 +505,10 @@ class PivotHeaderLayoutMap {
505
505
  }
506
506
  resetCellIds() {}
507
507
  get frozenColCount() {
508
- var _a;
509
- return null !== (_a = this._table.internalProps.frozenColCount) && void 0 !== _a ? _a : 0;
508
+ return this._table.internalProps.frozenColCount ? this.colCount > this._table.internalProps.frozenColCount ? this._table.internalProps.frozenColCount : this.colCount : 0;
510
509
  }
511
510
  get frozenRowCount() {
512
- var _a;
513
- return null !== (_a = this._table.internalProps.frozenRowCount) && void 0 !== _a ? _a : 0;
511
+ return this._table.internalProps.frozenRowCount ? this.rowCount >= this._table.internalProps.frozenRowCount ? this._table.internalProps.frozenRowCount : this.rowCount : 0;
514
512
  }
515
513
  get headerLevelCount() {
516
514
  return this.columnHeaderLevelCount;
@@ -539,26 +537,32 @@ class PivotHeaderLayoutMap {
539
537
  return this.indicatorsAsCol || this.hideIndicatorName ? 0 : 1;
540
538
  }
541
539
  get colCount() {
542
- return this.columnDimensionTree.tree.size + this.rowHeaderLevelCount + this.rightFrozenColCount;
540
+ return this.columnDimensionTree.tree.size + this.rowHeaderLevelCount + this.rightHeaderColCount;
543
541
  }
544
542
  get rowCount() {
545
543
  var _a, _b, _c, _d;
546
- return ((!Array.isArray(this._table.records) || this._table.records.length > 0) && (null === (_a = this._indicators) || void 0 === _a ? void 0 : _a.length) > 0 && !(null === (_b = this._rowHeaderCellIds) || void 0 === _b ? void 0 : _b.length) ? 1 : null !== (_d = null === (_c = this._rowHeaderCellIds) || void 0 === _c ? void 0 : _c.length) && void 0 !== _d ? _d : 0) + this.columnHeaderLevelCount + this.bottomFrozenRowCount;
544
+ return ((!Array.isArray(this._table.records) || this._table.records.length > 0) && (null === (_a = this._indicators) || void 0 === _a ? void 0 : _a.length) > 0 && !(null === (_b = this._rowHeaderCellIds) || void 0 === _b ? void 0 : _b.length) ? 1 : null !== (_d = null === (_c = this._rowHeaderCellIds) || void 0 === _c ? void 0 : _c.length) && void 0 !== _d ? _d : 0) + this.columnHeaderLevelCount + this.bottomHeaderRowCount;
547
545
  }
548
- get bodyRowCount() {
546
+ get bodyRowSpanCount() {
549
547
  return this.rowDimensionTree.tree.size;
550
548
  }
551
549
  get bottomFrozenRowCount() {
552
- if (!this._table.isPivotChart()) return 0;
550
+ if (!this._table.isPivotChart()) return this._table.internalProps.bottomFrozenRowCount ? this.rowCount - this.headerLevelCount >= this._table.internalProps.bottomFrozenRowCount ? this._table.internalProps.bottomFrozenRowCount : this.rowCount - this.headerLevelCount : 0;
553
551
  const axisOption = this._table.pivotChartAxes.find((axisOption => "bottom" === axisOption.orient));
554
552
  return !1 === (null == axisOption ? void 0 : axisOption.visible) ? 0 : (this.indicatorsAsCol,
555
553
  1);
556
554
  }
557
555
  get rightFrozenColCount() {
558
- if (!this._table.isPivotChart()) return 0;
556
+ if (!this._table.isPivotChart()) return this._table.internalProps.rightFrozenColCount ? this.colCount - this.rowHeaderLevelCount >= this._table.internalProps.rightFrozenColCount ? this._table.internalProps.rightFrozenColCount : this.colCount - this.rowHeaderLevelCount : 0;
559
557
  const axisOption = this._table.pivotChartAxes.find((axisOption => "right" === axisOption.orient));
560
558
  return !1 === (null == axisOption ? void 0 : axisOption.visible) || this.indicatorsAsCol ? 0 : this.hasTwoIndicatorAxes ? 1 : 0;
561
559
  }
560
+ get bodyRowCount() {
561
+ return this.rowCount - this.bottomFrozenRowCount - this.headerLevelCount;
562
+ }
563
+ get bodyColCount() {
564
+ return this.colCount - this.rightFrozenColCount - this.rowHeaderLevelCount;
565
+ }
562
566
  get headerObjects() {
563
567
  return this._headerObjects;
564
568
  }
@@ -668,10 +672,16 @@ class PivotHeaderLayoutMap {
668
672
  return range1.start.col === range2.start.col && range1.end.col === range2.end.col && range1.start.row === range2.start.row && range1.end.row === range2.end.row;
669
673
  }
670
674
  getBodyIndexByRow(row) {
671
- return row < this.columnHeaderLevelCount || row >= this.rowCount - this.bottomFrozenRowCount ? -1 : row - this.columnHeaderLevelCount;
675
+ return row < this.columnHeaderLevelCount || row >= this.rowCount - this.bottomHeaderRowCount ? -1 : row - this.columnHeaderLevelCount;
676
+ }
677
+ get bottomHeaderRowCount() {
678
+ return this._table.isPivotChart() ? this.bottomFrozenRowCount : 0;
679
+ }
680
+ get rightHeaderColCount() {
681
+ return this._table.isPivotChart() ? this.rightFrozenColCount : 0;
672
682
  }
673
683
  getBodyIndexByCol(col) {
674
- return col < this.rowHeaderLevelCount || col >= this.colCount - this.rightFrozenColCount ? -1 : col - this.rowHeaderLevelCount;
684
+ return col < this.rowHeaderLevelCount || col >= this.colCount - this.rightHeaderColCount ? -1 : col - this.rowHeaderLevelCount;
675
685
  }
676
686
  getRecordStartRowByRecordIndex(index) {
677
687
  return this.columnHeaderLevelCount + index;
@@ -1066,10 +1076,7 @@ class PivotHeaderLayoutMap {
1066
1076
  return (0, get_axis_config_1.getAxisConfigInPivotChart)(col, row, this);
1067
1077
  }
1068
1078
  isEmpty(col, row) {
1069
- return !!this._table.isPivotChart() && (!!this.isLeftBottomCorner(col, row) || (!!this.isRightBottomCorner(col, row) || !!this.isRightTopCorner(col, row)));
1070
- }
1071
- isAxisCell(col, row) {
1072
- return !!this._table.isPivotChart() && (!(!this.isBottomFrozenRow(col, row) && !this.isRightFrozenColumn(col, row)) || (!(!this.isRowHeader(col, row) || col !== this.rowHeaderLevelCount - 1) || !(!this.hasTwoIndicatorAxes || !this.indicatorsAsCol || row !== this.columnHeaderLevelCount - 1)));
1079
+ return !!this._table.isPivotChart() && (col > this.colCount - this.rightFrozenColCount - 1 || row > this.rowCount - this.bottomFrozenRowCount - 1 || !(!this.hasTwoIndicatorAxes || !this.indicatorsAsCol || row !== this.columnHeaderLevelCount - 1));
1073
1080
  }
1074
1081
  getChartAxes(col, row) {
1075
1082
  return (0, get_chart_spec_1.getChartAxes)(col, row, this);
@@ -1258,6 +1265,21 @@ class PivotHeaderLayoutMap {
1258
1265
  var _a;
1259
1266
  return null === (_a = this.indicatorsDefine) || void 0 === _a ? void 0 : _a.find((indicator => "string" != typeof indicator && (indicatorKey ? indicator.indicatorKey === indicatorKey : !!indicatorValue && indicator.title === indicatorValue)));
1260
1267
  }
1268
+ getLayoutRowTree() {
1269
+ const tree = [], children = this.rowDimensionTree.tree.children;
1270
+ return (0, pivot_layout_helper_1.generateLayoutTree)(tree, children), tree;
1271
+ }
1272
+ getLayoutRowTreeCount() {
1273
+ var _a;
1274
+ const children = this.rowDimensionTree.tree.children;
1275
+ let totalCount = (0, pivot_layout_helper_1.countLayoutTree)(children, "tree" === this.rowHierarchyType);
1276
+ return null === (_a = this.extensionRows) || void 0 === _a || _a.forEach((extensionRow => {
1277
+ if ("function" != typeof extensionRow.rowTree) {
1278
+ const thisTreeCount = (0, pivot_layout_helper_1.countLayoutTree)(extensionRow.rowTree, !0);
1279
+ totalCount *= thisTreeCount;
1280
+ }
1281
+ })), totalCount;
1282
+ }
1261
1283
  updateDataset(dataset) {}
1262
1284
  }
1263
1285