@visactor/vtable 1.26.7 → 1.26.8

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 (183) hide show
  1. package/cjs/ListTable.d.ts +1 -1
  2. package/cjs/ListTable.js +21 -13
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.js +16 -16
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/PivotTable.d.ts +1 -1
  7. package/cjs/PivotTable.js +65 -63
  8. package/cjs/PivotTable.js.map +1 -1
  9. package/cjs/body-helper/body-helper.js +2 -1
  10. package/cjs/components/index.js +1 -2
  11. package/cjs/core/BaseTable.js +2 -2
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/core/record-helper.d.ts +1 -1
  14. package/cjs/core/record-helper.js +60 -12
  15. package/cjs/core/record-helper.js.map +1 -1
  16. package/cjs/core/tableHelper.js +2 -1
  17. package/cjs/data/DataSource.d.ts +3 -1
  18. package/cjs/data/DataSource.js +71 -23
  19. package/cjs/data/DataSource.js.map +1 -1
  20. package/cjs/dataset/dataset.d.ts +9 -1
  21. package/cjs/dataset/dataset.js +344 -187
  22. package/cjs/dataset/dataset.js.map +1 -1
  23. package/cjs/event/event.d.ts +94 -8
  24. package/cjs/event/event.js +698 -191
  25. package/cjs/event/event.js.map +1 -1
  26. package/cjs/event/helper.js +1 -1
  27. package/cjs/event/media-click.js +4 -1
  28. package/cjs/event/media-click.js.map +1 -1
  29. package/cjs/event/scroll.js +1 -1
  30. package/cjs/event/sparkline-event.js +1 -2
  31. package/cjs/event/util.js +2 -2
  32. package/cjs/event/util.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +1 -1
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/pivot-header-layout.js +33 -17
  37. package/cjs/layout/pivot-header-layout.js.map +1 -1
  38. package/cjs/plugins/custom-cell-style.js +1 -1
  39. package/cjs/plugins/index.js +2 -1
  40. package/cjs/plugins/interface.js +1 -1
  41. package/cjs/plugins/invert-highlight.js +1 -1
  42. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  43. package/cjs/plugins/plugin-manager.js +1 -1
  44. package/cjs/scenegraph/group-creater/cell-helper.js +27 -10
  45. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  47. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +14 -10
  48. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  49. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -4
  50. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  51. package/cjs/scenegraph/layout/compute-col-width.js +6 -1
  52. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  53. package/cjs/scenegraph/layout/compute-row-height.js +11 -3
  54. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  55. package/cjs/scenegraph/layout/update-height.d.ts +4 -3
  56. package/cjs/scenegraph/layout/update-height.js +43 -29
  57. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  58. package/cjs/scenegraph/layout/update-width.d.ts +2 -1
  59. package/cjs/scenegraph/layout/update-width.js +49 -37
  60. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  61. package/cjs/scenegraph/scenegraph.d.ts +2 -2
  62. package/cjs/scenegraph/scenegraph.js +6 -5
  63. package/cjs/scenegraph/scenegraph.js.map +1 -1
  64. package/cjs/scenegraph/utils/corner-custom-merge.d.ts +10 -0
  65. package/cjs/scenegraph/utils/corner-custom-merge.js +68 -0
  66. package/cjs/scenegraph/utils/corner-custom-merge.js.map +1 -0
  67. package/cjs/state/resize/update-resize-column.js +25 -13
  68. package/cjs/state/resize/update-resize-column.js.map +1 -1
  69. package/cjs/state/resize/update-resize-row.js +24 -12
  70. package/cjs/state/resize/update-resize-row.js.map +1 -1
  71. package/cjs/themes.d.ts +4 -2
  72. package/cjs/themes.js +12 -4
  73. package/cjs/themes.js.map +1 -1
  74. package/cjs/tools/get-data-path/create-dataset.js +4 -4
  75. package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
  76. package/cjs/tools/get-data-path/index.js +4 -4
  77. package/cjs/tools/get-data-path/index.js.map +1 -1
  78. package/cjs/tools/style.d.ts +3 -1
  79. package/cjs/tools/style.js +2 -2
  80. package/cjs/tools/style.js.map +1 -1
  81. package/cjs/ts-types/common.d.ts +1 -0
  82. package/cjs/ts-types/common.js.map +1 -1
  83. package/cjs/ts-types/dataset/aggregation.d.ts +1 -0
  84. package/cjs/ts-types/dataset/aggregation.js +21 -3
  85. package/cjs/ts-types/dataset/aggregation.js.map +1 -1
  86. package/cjs/ts-types/new-data-set.d.ts +1 -0
  87. package/cjs/ts-types/new-data-set.js.map +1 -1
  88. package/cjs/ts-types/table-engine.d.ts +3 -2
  89. package/cjs/ts-types/table-engine.js.map +1 -1
  90. package/cjs/vrender.js.map +1 -1
  91. package/dist/vtable.js +2224 -779
  92. package/dist/vtable.min.js +1 -1
  93. package/es/ListTable.d.ts +1 -1
  94. package/es/ListTable.js +21 -15
  95. package/es/ListTable.js.map +1 -1
  96. package/es/PivotChart.js +16 -16
  97. package/es/PivotChart.js.map +1 -1
  98. package/es/PivotTable.d.ts +1 -1
  99. package/es/PivotTable.js +65 -63
  100. package/es/PivotTable.js.map +1 -1
  101. package/es/body-helper/body-helper.js +2 -1
  102. package/es/components/index.js +1 -2
  103. package/es/core/BaseTable.js +2 -2
  104. package/es/core/BaseTable.js.map +1 -1
  105. package/es/core/record-helper.d.ts +1 -1
  106. package/es/core/record-helper.js +60 -12
  107. package/es/core/record-helper.js.map +1 -1
  108. package/es/core/tableHelper.js +2 -1
  109. package/es/data/DataSource.d.ts +3 -1
  110. package/es/data/DataSource.js +70 -23
  111. package/es/data/DataSource.js.map +1 -1
  112. package/es/dataset/dataset.d.ts +9 -1
  113. package/es/dataset/dataset.js +341 -187
  114. package/es/dataset/dataset.js.map +1 -1
  115. package/es/event/event.d.ts +94 -8
  116. package/es/event/event.js +696 -191
  117. package/es/event/event.js.map +1 -1
  118. package/es/event/helper.js +1 -1
  119. package/es/event/media-click.js +4 -1
  120. package/es/event/media-click.js.map +1 -1
  121. package/es/event/scroll.js +1 -1
  122. package/es/event/sparkline-event.js +1 -2
  123. package/es/event/util.js +2 -2
  124. package/es/event/util.js.map +1 -1
  125. package/es/index.d.ts +1 -1
  126. package/es/index.js +1 -1
  127. package/es/index.js.map +1 -1
  128. package/es/layout/pivot-header-layout.js +29 -17
  129. package/es/layout/pivot-header-layout.js.map +1 -1
  130. package/es/plugins/custom-cell-style.js +1 -1
  131. package/es/plugins/index.js +2 -1
  132. package/es/plugins/interface.js +1 -1
  133. package/es/plugins/invert-highlight.js +1 -1
  134. package/es/plugins/list-tree-stick-cell.js +1 -1
  135. package/es/plugins/plugin-manager.js +1 -1
  136. package/es/scenegraph/group-creater/cell-helper.js +23 -9
  137. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  138. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  139. package/es/scenegraph/group-creater/cell-type/text-cell.js +13 -8
  140. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  141. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +17 -5
  142. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  143. package/es/scenegraph/layout/compute-col-width.js +6 -1
  144. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  145. package/es/scenegraph/layout/compute-row-height.js +11 -3
  146. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  147. package/es/scenegraph/layout/update-height.d.ts +4 -3
  148. package/es/scenegraph/layout/update-height.js +40 -26
  149. package/es/scenegraph/layout/update-height.js.map +1 -1
  150. package/es/scenegraph/layout/update-width.d.ts +2 -1
  151. package/es/scenegraph/layout/update-width.js +46 -34
  152. package/es/scenegraph/layout/update-width.js.map +1 -1
  153. package/es/scenegraph/scenegraph.d.ts +2 -2
  154. package/es/scenegraph/scenegraph.js +7 -5
  155. package/es/scenegraph/scenegraph.js.map +1 -1
  156. package/es/scenegraph/utils/corner-custom-merge.d.ts +10 -0
  157. package/es/scenegraph/utils/corner-custom-merge.js +59 -0
  158. package/es/scenegraph/utils/corner-custom-merge.js.map +1 -0
  159. package/es/state/resize/update-resize-column.js +19 -10
  160. package/es/state/resize/update-resize-column.js.map +1 -1
  161. package/es/state/resize/update-resize-row.js +19 -9
  162. package/es/state/resize/update-resize-row.js.map +1 -1
  163. package/es/themes.d.ts +4 -2
  164. package/es/themes.js +11 -3
  165. package/es/themes.js.map +1 -1
  166. package/es/tools/get-data-path/create-dataset.js +4 -4
  167. package/es/tools/get-data-path/create-dataset.js.map +1 -1
  168. package/es/tools/get-data-path/index.js +4 -4
  169. package/es/tools/get-data-path/index.js.map +1 -1
  170. package/es/tools/style.d.ts +3 -1
  171. package/es/tools/style.js +2 -2
  172. package/es/tools/style.js.map +1 -1
  173. package/es/ts-types/common.d.ts +1 -0
  174. package/es/ts-types/common.js.map +1 -1
  175. package/es/ts-types/dataset/aggregation.d.ts +1 -0
  176. package/es/ts-types/dataset/aggregation.js +21 -3
  177. package/es/ts-types/dataset/aggregation.js.map +1 -1
  178. package/es/ts-types/new-data-set.d.ts +1 -0
  179. package/es/ts-types/new-data-set.js.map +1 -1
  180. package/es/ts-types/table-engine.d.ts +3 -2
  181. package/es/ts-types/table-engine.js.map +1 -1
  182. package/es/vrender.js.map +1 -1
  183. package/package.json +9 -9
@@ -0,0 +1,10 @@
1
+ import type { Group as VGroup } from './../../vrender';
2
+ import type { CellRange } from '../../ts-types';
3
+ import type { BaseTableAPI } from '../../ts-types/base-table';
4
+ export type CornerCustomMergeRangeUpdateMap = Map<string, CellRange>;
5
+ export declare function isCornerCustomMergeRange(range: CellRange | undefined, table: BaseTableAPI): boolean;
6
+ export declare function shouldRenderCornerCustomMergeContent(col: number, row: number, range: CellRange | undefined, table: BaseTableAPI): boolean;
7
+ export declare function createCornerCustomMergeContainer(customElementsGroup: VGroup | undefined, width: number, height: number, range: CellRange | undefined, table: BaseTableAPI): VGroup | undefined;
8
+ export declare function updateCornerCustomMergeContent(range: CellRange, table: BaseTableAPI): void;
9
+ export declare function queueCornerCustomMergeContentUpdate(range: CellRange, table: BaseTableAPI, pendingRanges?: CornerCustomMergeRangeUpdateMap): void;
10
+ export declare function flushCornerCustomMergeContentUpdates(pendingRanges: CornerCustomMergeRangeUpdateMap, table: BaseTableAPI): void;
@@ -0,0 +1,59 @@
1
+ import { CUSTOM_CONTAINER_NAME, CUSTOM_MERGE_CONTAINER_NAME } from "../component/custom";
2
+
3
+ import { Group } from "../graphic/group";
4
+
5
+ export function isCornerCustomMergeRange(range, table) {
6
+ return !!(null == range ? void 0 : range.isCustom) && (range.start.col !== range.end.col || range.start.row !== range.end.row) && table.isCornerHeader(range.start.col, range.start.row) && table.isCornerHeader(range.end.col, range.end.row);
7
+ }
8
+
9
+ export function shouldRenderCornerCustomMergeContent(col, row, range, table) {
10
+ return !isCornerCustomMergeRange(range, table) || col === range.end.col && row === range.end.row;
11
+ }
12
+
13
+ export function createCornerCustomMergeContainer(customElementsGroup, width, height, range, table) {
14
+ if (!customElementsGroup || !isCornerCustomMergeRange(range, table)) return customElementsGroup;
15
+ const customContainer = new Group({
16
+ x: 0,
17
+ y: 0,
18
+ width: width,
19
+ height: height,
20
+ fill: !1,
21
+ stroke: !1,
22
+ pickable: !1,
23
+ clip: !0
24
+ });
25
+ return customContainer.name = CUSTOM_CONTAINER_NAME, customContainer.col = range.start.col,
26
+ customContainer.row = range.start.row, customContainer.appendChild(customElementsGroup),
27
+ customContainer;
28
+ }
29
+
30
+ export function updateCornerCustomMergeContent(range, table) {
31
+ refreshCornerCustomMergeContent(range, table);
32
+ }
33
+
34
+ export function queueCornerCustomMergeContentUpdate(range, table, pendingRanges) {
35
+ pendingRanges ? pendingRanges.set(getCornerCustomMergeRangeKey(range), range) : refreshCornerCustomMergeContent(range, table);
36
+ }
37
+
38
+ export function flushCornerCustomMergeContentUpdates(pendingRanges, table) {
39
+ pendingRanges.forEach((range => {
40
+ refreshCornerCustomMergeContentForResize(range, table);
41
+ })), pendingRanges.clear();
42
+ }
43
+
44
+ function getCornerCustomMergeRangeKey(range) {
45
+ return `${range.start.col}-${range.start.row}-${range.end.col}-${range.end.row}`;
46
+ }
47
+
48
+ function refreshCornerCustomMergeContent(range, table) {
49
+ var _a;
50
+ const cellGroup = table.scenegraph.getCell(range.end.col, range.end.row), customContainer = cellGroup.getChildByName(CUSTOM_CONTAINER_NAME) || cellGroup.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
51
+ customContainer && (null === (_a = table.reactCustomLayout) || void 0 === _a || _a.removeCustomCell(range.start.col, range.start.row),
52
+ customContainer.removeAllChild(), cellGroup.removeChild(customContainer)), table.scenegraph.updateCellContent(range.end.col, range.end.row);
53
+ }
54
+
55
+ function refreshCornerCustomMergeContentForResize(range, table) {
56
+ const cellGroup = table.scenegraph.getCell(range.end.col, range.end.row), customContainer = cellGroup.getChildByName(CUSTOM_CONTAINER_NAME) || cellGroup.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);
57
+ customContainer && cellGroup.removeChild(customContainer), table.scenegraph.updateCellContent(range.end.col, range.end.row);
58
+ }
59
+ //# sourceMappingURL=corner-custom-merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/scenegraph/utils/corner-custom-merge.ts"],"names":[],"mappings":"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","file":"corner-custom-merge.js","sourcesContent":["import type { Group as VGroup } from './../../vrender';\nimport type { CellRange } from '../../ts-types';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { CUSTOM_CONTAINER_NAME, CUSTOM_MERGE_CONTAINER_NAME } from '../component/custom';\nimport { Group } from '../graphic/group';\n\nexport type CornerCustomMergeRangeUpdateMap = Map<string, CellRange>;\n\nexport function isCornerCustomMergeRange(range: CellRange | undefined, table: BaseTableAPI): boolean {\n return (\n !!range?.isCustom &&\n (range.start.col !== range.end.col || range.start.row !== range.end.row) &&\n table.isCornerHeader(range.start.col, range.start.row) &&\n table.isCornerHeader(range.end.col, range.end.row)\n );\n}\n\nexport function shouldRenderCornerCustomMergeContent(\n col: number,\n row: number,\n range: CellRange | undefined,\n table: BaseTableAPI\n): boolean {\n return !isCornerCustomMergeRange(range, table) || (col === range.end.col && row === range.end.row);\n}\n\nexport function createCornerCustomMergeContainer(\n customElementsGroup: VGroup | undefined,\n width: number,\n height: number,\n range: CellRange | undefined,\n table: BaseTableAPI\n): VGroup | undefined {\n if (!customElementsGroup || !isCornerCustomMergeRange(range, table)) {\n return customElementsGroup;\n }\n\n const customContainer = new Group({\n x: 0,\n y: 0,\n width,\n height,\n fill: false,\n stroke: false,\n pickable: false,\n clip: true\n });\n customContainer.name = CUSTOM_CONTAINER_NAME;\n customContainer.col = range.start.col;\n customContainer.row = range.start.row;\n customContainer.appendChild(customElementsGroup);\n\n return customContainer as unknown as VGroup;\n}\n\nexport function updateCornerCustomMergeContent(range: CellRange, table: BaseTableAPI): void {\n refreshCornerCustomMergeContent(range, table);\n}\n\nexport function queueCornerCustomMergeContentUpdate(\n range: CellRange,\n table: BaseTableAPI,\n pendingRanges?: CornerCustomMergeRangeUpdateMap\n): void {\n if (!pendingRanges) {\n refreshCornerCustomMergeContent(range, table);\n return;\n }\n\n pendingRanges.set(getCornerCustomMergeRangeKey(range), range);\n}\n\nexport function flushCornerCustomMergeContentUpdates(\n pendingRanges: CornerCustomMergeRangeUpdateMap,\n table: BaseTableAPI\n): void {\n pendingRanges.forEach(range => {\n refreshCornerCustomMergeContentForResize(range, table);\n });\n pendingRanges.clear();\n}\n\nfunction getCornerCustomMergeRangeKey(range: CellRange): string {\n return `${range.start.col}-${range.start.row}-${range.end.col}-${range.end.row}`;\n}\n\nfunction refreshCornerCustomMergeContent(range: CellRange, table: BaseTableAPI): void {\n const cellGroup = table.scenegraph.getCell(range.end.col, range.end.row);\n const customContainer =\n cellGroup.getChildByName(CUSTOM_CONTAINER_NAME) || cellGroup.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);\n\n if (customContainer) {\n table.reactCustomLayout?.removeCustomCell(range.start.col, range.start.row);\n customContainer.removeAllChild();\n cellGroup.removeChild(customContainer);\n }\n\n table.scenegraph.updateCellContent(range.end.col, range.end.row);\n}\n\nfunction refreshCornerCustomMergeContentForResize(range: CellRange, table: BaseTableAPI): void {\n const cellGroup = table.scenegraph.getCell(range.end.col, range.end.row);\n const customContainer =\n cellGroup.getChildByName(CUSTOM_CONTAINER_NAME) || cellGroup.getChildByName(CUSTOM_MERGE_CONTAINER_NAME);\n\n if (customContainer) {\n cellGroup.removeChild(customContainer);\n }\n\n table.scenegraph.updateCellContent(range.end.col, range.end.row);\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import { flushCornerCustomMergeContentUpdates } from "../../scenegraph/utils/corner-custom-merge";
2
+
1
3
  export function updateResizeColumn(xInTable, yInTable, state) {
2
4
  var _a;
3
5
  xInTable = Math.ceil(xInTable), yInTable = Math.ceil(yInTable);
@@ -34,21 +36,24 @@ export function updateResizeColumn(xInTable, yInTable, state) {
34
36
  }
35
37
 
36
38
  function updateResizeColForColumn(detaX, state) {
37
- "adaptive" === state.table.widthMode && state.columnResize.col < state.table.colCount - 1 ? (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX),
38
- state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX), state.table.internalProps._widthResizedColMap.add(state.columnResize.col),
39
- state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1)) : (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX),
40
- state.table.internalProps._widthResizedColMap.add(state.columnResize.col));
39
+ const pendingCornerCustomMergeRanges = new Map;
40
+ "adaptive" === state.table.widthMode && state.columnResize.col < state.table.colCount - 1 ? (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
41
+ state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX, void 0, void 0, pendingCornerCustomMergeRanges),
42
+ state.table.internalProps._widthResizedColMap.add(state.columnResize.col), state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1)) : (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
43
+ state.table.internalProps._widthResizedColMap.add(state.columnResize.col)), flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
41
44
  }
42
45
 
43
46
  function updateResizeColForAll(detaX, state) {
44
- const layout = state.table.internalProps.layoutMap;
47
+ const layout = state.table.internalProps.layoutMap, pendingCornerCustomMergeRanges = new Map;
45
48
  for (let col = state.table.frozenColCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {
46
49
  if (!(state.table.internalProps.transpose || state.table.isPivotTable() && !layout.indicatorsAsCol)) {
47
50
  const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);
48
51
  if (null == cellDefine ? void 0 : cellDefine.disableColumnResize) continue;
49
52
  }
50
- state.table.scenegraph.updateColWidth(col, detaX), state.table.internalProps._widthResizedColMap.add(col);
53
+ state.table.scenegraph.updateColWidth(col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
54
+ state.table.internalProps._widthResizedColMap.add(col);
51
55
  }
56
+ flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
52
57
  }
53
58
 
54
59
  function updateResizeColForIndicator(detaX, state) {
@@ -58,19 +63,21 @@ function updateResizeColForIndicator(detaX, state) {
58
63
  const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount - 1), headerPath = headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];
59
64
  resizeDimensionKey = headerPath.dimensionKey, resizeDimensionValue = headerPath.value;
60
65
  }
66
+ const pendingCornerCustomMergeRanges = new Map;
61
67
  for (let col = state.table.rowHeaderLevelCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {
62
68
  const indicatorKey = layout.getIndicatorKey(col, state.table.columnHeaderLevelCount);
63
- if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) state.table.scenegraph.updateColWidth(col, detaX),
69
+ if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) state.table.scenegraph.updateColWidth(col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
64
70
  state.table.internalProps._widthResizedColMap.add(col); else if (!layout.indicatorsAsCol) {
65
71
  const headerPaths = layout.getCellHeaderPaths(col, state.table.columnHeaderLevelCount - 1), headerPath = null == headerPaths ? void 0 : headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];
66
- headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateColWidth(col, detaX),
72
+ headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateColWidth(col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
67
73
  state.table.internalProps._widthResizedColMap.add(col));
68
74
  }
69
75
  }
76
+ flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
70
77
  }
71
78
 
72
79
  function updateResizeColForIndicatorGroup(detaX, state) {
73
- const layout = state.table.internalProps.layoutMap, headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount), node = layout.getHeadNodeByRowOrColDimensions(headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length - 1)), startCol = node.startInTotal + state.table.frozenColCount, endCol = node.startInTotal + state.table.frozenColCount + node.size - 1, totalColWidth = state.table.getColsWidth(startCol, endCol), moveX = detaX;
80
+ const layout = state.table.internalProps.layoutMap, headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount), node = layout.getHeadNodeByRowOrColDimensions(headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length - 1)), startCol = node.startInTotal + state.table.frozenColCount, endCol = node.startInTotal + state.table.frozenColCount + node.size - 1, totalColWidth = state.table.getColsWidth(startCol, endCol), moveX = detaX, pendingCornerCustomMergeRanges = new Map;
74
81
  for (let col = startCol; col <= endCol; col++) {
75
82
  if (!(state.table.internalProps.transpose || state.table.isPivotTable() && !layout.indicatorsAsCol)) {
76
83
  const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);
@@ -78,7 +85,9 @@ function updateResizeColForIndicatorGroup(detaX, state) {
78
85
  }
79
86
  let deltaWidth = state.table.getColWidth(col) / totalColWidth * moveX;
80
87
  deltaWidth > 0 && deltaWidth < .5 ? deltaWidth = .5 : deltaWidth < 0 && deltaWidth >= -.5 && (deltaWidth = -.5),
81
- state.table.scenegraph.updateColWidth(col, deltaWidth), state.table.internalProps._widthResizedColMap.add(col);
88
+ state.table.scenegraph.updateColWidth(col, deltaWidth, void 0, void 0, pendingCornerCustomMergeRanges),
89
+ state.table.internalProps._widthResizedColMap.add(col);
82
90
  }
91
+ flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
83
92
  }
84
93
  //# sourceMappingURL=update-resize-column.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/state/resize/update-resize-column.ts"],"names":[],"mappings":"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","file":"update-resize-column.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeColumn(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaX = state.columnResize.isRightFrozen ? state.columnResize.x - xInTable : xInTable - state.columnResize.x;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaX) < 1) {\n return;\n }\n\n // 检查minWidth/maxWidth\n // getColWidth会进行Math.round,所以先从colWidthsMap获取:\n // 如果是数值,直接使用;如果不是,则通过getColWidth获取像素值\n // let widthCache = (state.table as any).colWidthsMap.get(state.columnResize.col);\n // if (typeof widthCache === 'number') {\n // widthCache = widthCache;\n // } else {\n const widthCache = state.table.getColWidth(state.columnResize.col);\n // }\n let width = widthCache;\n width += detaX;\n const minWidth = state.table.getMinColWidth(state.columnResize.col);\n const maxWidth = state.table.getMaxColWidth(state.columnResize.col);\n if (width < minWidth || width > maxWidth) {\n if (widthCache === minWidth || widthCache === maxWidth) {\n return;\n } else if (widthCache - minWidth > maxWidth - widthCache) {\n detaX = maxWidth - widthCache;\n } else {\n detaX = minWidth - widthCache;\n }\n }\n\n // limitMinWidth限制\n let afterSize = state.table.getColWidth(state.columnResize.col) + detaX;\n if (afterSize < state.table.internalProps.limitMinWidth) {\n afterSize = state.table.internalProps.limitMinWidth;\n detaX = afterSize - state.table.getColWidth(state.columnResize.col);\n }\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n const rightColWidthCache = state.table.getColWidth(state.columnResize.col + 1);\n const rightColMinWidth = state.table.getMinColWidth(state.columnResize.col + 1);\n const rightColMaxWidth = state.table.getMaxColWidth(state.columnResize.col + 1);\n let rightColWidth = rightColWidthCache;\n rightColWidth -= detaX;\n if (rightColWidth < rightColMinWidth || rightColWidth > rightColMaxWidth) {\n if (rightColWidthCache === rightColMinWidth || rightColWidthCache === rightColMaxWidth) {\n return;\n } else if (rightColWidthCache - rightColMinWidth > rightColMaxWidth - rightColWidthCache) {\n detaX = rightColMaxWidth - rightColWidthCache;\n } else {\n detaX = rightColMinWidth - rightColWidthCache;\n }\n }\n if (rightColWidth - detaX < state.table.internalProps.limitMinWidth) {\n detaX = rightColWidth - state.table.internalProps.limitMinWidth;\n }\n }\n detaX = Math.ceil(detaX);\n\n if (\n state.columnResize.col < state.table.rowHeaderLevelCount ||\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount\n ) {\n updateResizeColForColumn(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicator') {\n updateResizeColForIndicator(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'all') {\n updateResizeColForAll(detaX, state);\n } else {\n // state.table.internalProps.columnResizeType === 'column'\n updateResizeColForColumn(detaX, state);\n }\n\n // if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n // } else {\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // }\n state.columnResize.x = xInTable;\n\n // update resize column component\n state.table.scenegraph.component.updateResizeCol(state.columnResize.col, yInTable, state.columnResize.isRightFrozen);\n state.table._updateSize();\n //#region 后续可以考虑将下面的逻辑统一到_updateSize中\n state.table.internalProps.legends?.forEach(legend => {\n legend?.resize();\n });\n if (state.table.internalProps.title) {\n state.table.internalProps.title.resize();\n }\n if (state.table.internalProps.emptyTip) {\n state.table.internalProps.emptyTip.resize();\n }\n //#endregion\n if (\n state.columnResize.col < state.table.frozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setFrozenColumnShadow(\n state.table.frozenColCount - 1,\n state.columnResize.isRightFrozen\n );\n } else if (state.table.options.frozenColCount) {\n state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1);\n }\n if (\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n } else if (state.table.options.rightFrozenColCount) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n }\n\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForColumn(detaX: number, state: StateManager) {\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1);\n } else {\n state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n }\n}\n\nfunction updateResizeColForAll(detaX: number, state: StateManager) {\n // 全列调整\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n for (let col = state.table.frozenColCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n // state.table.setColWidth(col, afterSize);\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n}\n\nfunction updateResizeColForIndicator(detaX: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.columnResize.col, state.table.columnHeaderLevelCount);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n resizeDimensionKey = headerPath.dimensionKey;\n resizeDimensionValue = headerPath.value;\n }\n for (let col = state.table.rowHeaderLevelCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n const indicatorKey = layout.getIndicatorKey(col, state.table.columnHeaderLevelCount);\n if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n } else if (!layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths?.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateColWidth(col, detaX);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n }\n }\n}\n\nfunction updateResizeColForIndicatorGroup(detaX: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startCol = node.startInTotal + state.table.frozenColCount;\n const endCol = node.startInTotal + state.table.frozenColCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalColWidth = state.table.getColsWidth(startCol, endCol);\n const moveX = detaX; // 纠正moveX 用于指标列均分该值\n for (let col = startCol; col <= endCol; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n const prevWidth = state.table.getColWidth(col);\n\n // deltaWidth <0.5 & >=-0.5 在updateRowWidth函数中会被Math.round处理为0,导致高度更新失效\n let deltaWidth = (prevWidth / totalColWidth) * moveX;\n if (deltaWidth > 0 && deltaWidth < 0.5) {\n deltaWidth = 0.5;\n } else if (deltaWidth < 0 && deltaWidth >= -0.5) {\n deltaWidth = -0.5;\n }\n state.table.scenegraph.updateColWidth(col, deltaWidth);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/state/resize/update-resize-column.ts"],"names":[],"mappings":"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","file":"update-resize-column.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport { flushCornerCustomMergeContentUpdates } from '../../scenegraph/utils/corner-custom-merge';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeColumn(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaX = state.columnResize.isRightFrozen ? state.columnResize.x - xInTable : xInTable - state.columnResize.x;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaX) < 1) {\n return;\n }\n\n // 检查minWidth/maxWidth\n // getColWidth会进行Math.round,所以先从colWidthsMap获取:\n // 如果是数值,直接使用;如果不是,则通过getColWidth获取像素值\n // let widthCache = (state.table as any).colWidthsMap.get(state.columnResize.col);\n // if (typeof widthCache === 'number') {\n // widthCache = widthCache;\n // } else {\n const widthCache = state.table.getColWidth(state.columnResize.col);\n // }\n let width = widthCache;\n width += detaX;\n const minWidth = state.table.getMinColWidth(state.columnResize.col);\n const maxWidth = state.table.getMaxColWidth(state.columnResize.col);\n if (width < minWidth || width > maxWidth) {\n if (widthCache === minWidth || widthCache === maxWidth) {\n return;\n } else if (widthCache - minWidth > maxWidth - widthCache) {\n detaX = maxWidth - widthCache;\n } else {\n detaX = minWidth - widthCache;\n }\n }\n\n // limitMinWidth限制\n let afterSize = state.table.getColWidth(state.columnResize.col) + detaX;\n if (afterSize < state.table.internalProps.limitMinWidth) {\n afterSize = state.table.internalProps.limitMinWidth;\n detaX = afterSize - state.table.getColWidth(state.columnResize.col);\n }\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n const rightColWidthCache = state.table.getColWidth(state.columnResize.col + 1);\n const rightColMinWidth = state.table.getMinColWidth(state.columnResize.col + 1);\n const rightColMaxWidth = state.table.getMaxColWidth(state.columnResize.col + 1);\n let rightColWidth = rightColWidthCache;\n rightColWidth -= detaX;\n if (rightColWidth < rightColMinWidth || rightColWidth > rightColMaxWidth) {\n if (rightColWidthCache === rightColMinWidth || rightColWidthCache === rightColMaxWidth) {\n return;\n } else if (rightColWidthCache - rightColMinWidth > rightColMaxWidth - rightColWidthCache) {\n detaX = rightColMaxWidth - rightColWidthCache;\n } else {\n detaX = rightColMinWidth - rightColWidthCache;\n }\n }\n if (rightColWidth - detaX < state.table.internalProps.limitMinWidth) {\n detaX = rightColWidth - state.table.internalProps.limitMinWidth;\n }\n }\n detaX = Math.ceil(detaX);\n\n if (\n state.columnResize.col < state.table.rowHeaderLevelCount ||\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount\n ) {\n updateResizeColForColumn(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicator') {\n updateResizeColForIndicator(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaX, state);\n } else if (state.table.internalProps.columnResizeType === 'all') {\n updateResizeColForAll(detaX, state);\n } else {\n // state.table.internalProps.columnResizeType === 'column'\n updateResizeColForColumn(detaX, state);\n }\n\n // if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX);\n // } else {\n // state.table.scenegraph.updateColWidth(state.columnResize.col, detaX);\n // }\n state.columnResize.x = xInTable;\n\n // update resize column component\n state.table.scenegraph.component.updateResizeCol(state.columnResize.col, yInTable, state.columnResize.isRightFrozen);\n state.table._updateSize();\n //#region 后续可以考虑将下面的逻辑统一到_updateSize中\n state.table.internalProps.legends?.forEach(legend => {\n legend?.resize();\n });\n if (state.table.internalProps.title) {\n state.table.internalProps.title.resize();\n }\n if (state.table.internalProps.emptyTip) {\n state.table.internalProps.emptyTip.resize();\n }\n //#endregion\n if (\n state.columnResize.col < state.table.frozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setFrozenColumnShadow(\n state.table.frozenColCount - 1,\n state.columnResize.isRightFrozen\n );\n } else if (state.table.options.frozenColCount) {\n state.table.scenegraph.component.setFrozenColumnShadow(state.table.frozenColCount - 1);\n }\n if (\n state.columnResize.col >= state.table.colCount - state.table.rightFrozenColCount &&\n !state.table.isPivotTable() &&\n !(state.table as ListTable).transpose\n ) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n } else if (state.table.options.rightFrozenColCount) {\n state.table.scenegraph.component.setRightFrozenColumnShadow(state.table.colCount - state.table.rightFrozenColCount);\n }\n\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForColumn(detaX: number, state: StateManager) {\n const pendingCornerCustomMergeRanges = new Map();\n if (state.table.widthMode === 'adaptive' && state.columnResize.col < state.table.colCount - 1) {\n // in adaptive mode, the right column width can not be negative\n // const rightColWidth = state.table.getColWidth(state.columnResize.col + 1);\n // if (rightColWidth - detaX < 0) {\n // detaX = rightColWidth;\n // }\n state.table.scenegraph.updateColWidth(\n state.columnResize.col,\n detaX,\n undefined,\n undefined,\n pendingCornerCustomMergeRanges\n );\n state.table.scenegraph.updateColWidth(\n state.columnResize.col + 1,\n -detaX,\n undefined,\n undefined,\n pendingCornerCustomMergeRanges\n );\n\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1);\n } else {\n state.table.scenegraph.updateColWidth(\n state.columnResize.col,\n detaX,\n undefined,\n undefined,\n pendingCornerCustomMergeRanges\n );\n state.table.internalProps._widthResizedColMap.add(state.columnResize.col);\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n\nfunction updateResizeColForAll(detaX: number, state: StateManager) {\n // 全列调整\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n const pendingCornerCustomMergeRanges = new Map();\n for (let col = state.table.frozenColCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n // state.table.setColWidth(col, afterSize);\n state.table.scenegraph.updateColWidth(col, detaX, undefined, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n\nfunction updateResizeColForIndicator(detaX: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.columnResize.col, state.table.columnHeaderLevelCount);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n resizeDimensionKey = headerPath.dimensionKey;\n resizeDimensionValue = headerPath.value;\n }\n const pendingCornerCustomMergeRanges = new Map();\n for (let col = state.table.rowHeaderLevelCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {\n const indicatorKey = layout.getIndicatorKey(col, state.table.columnHeaderLevelCount);\n if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateColWidth(col, detaX, undefined, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._widthResizedColMap.add(col);\n } else if (!layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(col, state.table.columnHeaderLevelCount - 1);\n const headerPath = headerPaths?.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateColWidth(col, detaX, undefined, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n }\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n\nfunction updateResizeColForIndicatorGroup(detaX: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.colHeaderPaths.slice(0, headerPaths.colHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startCol = node.startInTotal + state.table.frozenColCount;\n const endCol = node.startInTotal + state.table.frozenColCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalColWidth = state.table.getColsWidth(startCol, endCol);\n const moveX = detaX; // 纠正moveX 用于指标列均分该值\n const pendingCornerCustomMergeRanges = new Map();\n for (let col = startCol; col <= endCol; col++) {\n // 是否禁止调整列宽disableColumnResize 对应canResizeColumn的逻辑判断\n if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);\n if ((cellDefine as IndicatorData)?.disableColumnResize) {\n continue;\n }\n }\n const prevWidth = state.table.getColWidth(col);\n\n // deltaWidth <0.5 & >=-0.5 在updateRowWidth函数中会被Math.round处理为0,导致高度更新失效\n let deltaWidth = (prevWidth / totalColWidth) * moveX;\n if (deltaWidth > 0 && deltaWidth < 0.5) {\n deltaWidth = 0.5;\n } else if (deltaWidth < 0 && deltaWidth >= -0.5) {\n deltaWidth = -0.5;\n }\n state.table.scenegraph.updateColWidth(col, deltaWidth, undefined, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._widthResizedColMap.add(col);\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import { flushCornerCustomMergeContentUpdates } from "../../scenegraph/utils/corner-custom-merge";
2
+
1
3
  export function updateResizeRow(xInTable, yInTable, state) {
2
4
  var _a;
3
5
  xInTable = Math.ceil(xInTable), yInTable = Math.ceil(yInTable);
@@ -21,15 +23,18 @@ export function updateResizeRow(xInTable, yInTable, state) {
21
23
  }
22
24
 
23
25
  function updateResizeColForRow(detaY, state) {
24
- "adaptive" === state.table.heightMode && state.rowResize.row < state.table.rowCount - 1 ? (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY),
25
- state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY), state.table.internalProps._heightResizedRowMap.add(state.rowResize.row),
26
- state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1)) : (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY),
27
- state.table.internalProps._heightResizedRowMap.add(state.rowResize.row));
26
+ const pendingCornerCustomMergeRanges = new Map;
27
+ "adaptive" === state.table.heightMode && state.rowResize.row < state.table.rowCount - 1 ? (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY, void 0, pendingCornerCustomMergeRanges),
28
+ state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY, void 0, pendingCornerCustomMergeRanges),
29
+ state.table.internalProps._heightResizedRowMap.add(state.rowResize.row), state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1)) : (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY, void 0, pendingCornerCustomMergeRanges),
30
+ state.table.internalProps._heightResizedRowMap.add(state.rowResize.row)), flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
28
31
  }
29
32
 
30
33
  function updateResizeColForAll(detaY, state) {
31
- for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) state.table.scenegraph.updateRowHeight(row, detaY),
34
+ const pendingCornerCustomMergeRanges = new Map;
35
+ for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) state.table.scenegraph.updateRowHeight(row, detaY, void 0, pendingCornerCustomMergeRanges),
32
36
  state.table.internalProps._heightResizedRowMap.add(row);
37
+ flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
33
38
  }
34
39
 
35
40
  function updateResizeColForIndicator(detaY, state) {
@@ -40,24 +45,29 @@ function updateResizeColForIndicator(detaY, state) {
40
45
  const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, state.rowResize.row), headerPath = null === (_a = headerPaths.rowHeaderPaths) || void 0 === _a ? void 0 : _a[headerPaths.rowHeaderPaths.length - 1];
41
46
  resizeDimensionKey = null == headerPath ? void 0 : headerPath.dimensionKey, resizeDimensionValue = null == headerPath ? void 0 : headerPath.value;
42
47
  } else resizeIndicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, state.rowResize.row);
48
+ const pendingCornerCustomMergeRanges = new Map;
43
49
  for (let row = state.table.columnHeaderLevelCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) {
44
50
  const indicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, row);
45
51
  if (layout.indicatorsAsCol || indicatorKey !== resizeIndicatorKey) {
46
52
  if (layout.indicatorsAsCol) {
47
53
  const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, row), headerPath = null === (_b = null == headerPaths ? void 0 : headerPaths.rowHeaderPaths) || void 0 === _b ? void 0 : _b[headerPaths.rowHeaderPaths.length - 1];
48
- headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateRowHeight(row, detaY),
54
+ headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateRowHeight(row, detaY, void 0, pendingCornerCustomMergeRanges),
49
55
  state.table.internalProps._heightResizedRowMap.add(row));
50
56
  }
51
- } else state.table.scenegraph.updateRowHeight(row, detaY), state.table.internalProps._heightResizedRowMap.add(row);
57
+ } else state.table.scenegraph.updateRowHeight(row, detaY, void 0, pendingCornerCustomMergeRanges),
58
+ state.table.internalProps._heightResizedRowMap.add(row);
52
59
  }
60
+ flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
53
61
  }
54
62
 
55
63
  function updateResizeColForIndicatorGroup(detaY, state) {
56
- const layout = state.table.internalProps.layoutMap, headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount, state.rowResize.row), node = layout.getHeadNodeByRowOrColDimensions(headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length - 1)), startRow = node.startInTotal + state.table.frozenRowCount, endRow = node.startInTotal + state.table.frozenRowCount + node.size - 1, totalRowHeight = state.table.getRowsHeight(startRow, endRow), moveY = detaY;
64
+ const layout = state.table.internalProps.layoutMap, headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount, state.rowResize.row), node = layout.getHeadNodeByRowOrColDimensions(headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length - 1)), startRow = node.startInTotal + state.table.frozenRowCount, endRow = node.startInTotal + state.table.frozenRowCount + node.size - 1, totalRowHeight = state.table.getRowsHeight(startRow, endRow), moveY = detaY, pendingCornerCustomMergeRanges = new Map;
57
65
  for (let row = startRow; row <= endRow; row++) {
58
66
  let deltaHeight = state.table.getRowHeight(row) / totalRowHeight * moveY;
59
67
  deltaHeight > 0 && deltaHeight < .5 ? deltaHeight = .5 : deltaHeight < 0 && deltaHeight >= -.5 && (deltaHeight = -.51),
60
- state.table.scenegraph.updateRowHeight(row, deltaHeight), state.table.internalProps._heightResizedRowMap.add(row);
68
+ state.table.scenegraph.updateRowHeight(row, deltaHeight, void 0, pendingCornerCustomMergeRanges),
69
+ state.table.internalProps._heightResizedRowMap.add(row);
61
70
  }
71
+ flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);
62
72
  }
63
73
  //# sourceMappingURL=update-resize-row.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/state/resize/update-resize-row.ts"],"names":[],"mappings":"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","file":"update-resize-row.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// rowResizeType?: 'row' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeRow(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaY = state.rowResize.isBottomFrozen ? state.rowResize.y - yInTable : yInTable - state.rowResize.y;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaY) < 1) {\n return;\n }\n\n const heightCache = state.table.getRowHeight(state.rowResize.row);\n let height = heightCache;\n height += detaY;\n\n // limitMinHeight限制\n let afterSize = state.table.getRowHeight(state.rowResize.row) + detaY;\n if (afterSize < state.table.internalProps.limitMinHeight) {\n afterSize = state.table.internalProps.limitMinHeight;\n detaY = afterSize - state.table.getRowHeight(state.rowResize.row);\n }\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n const bottomRowHeightCache = state.table.getRowHeight(state.rowResize.row + 1);\n let bottomRowHeight = bottomRowHeightCache;\n bottomRowHeight -= detaY;\n if (bottomRowHeight - detaY < state.table.internalProps.limitMinHeight) {\n detaY = bottomRowHeight - state.table.internalProps.limitMinHeight;\n }\n }\n detaY = Math.ceil(detaY);\n\n if (\n state.rowResize.row < state.table.columnHeaderLevelCount ||\n state.rowResize.row >= state.table.rowCount - state.table.bottomFrozenRowCount\n ) {\n updateResizeColForRow(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicator') {\n updateResizeColForIndicator(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'all') {\n updateResizeColForAll(detaY, state);\n } else {\n updateResizeColForRow(detaY, state);\n }\n\n state.rowResize.y = yInTable;\n\n // update resize row component\n state.table.scenegraph.component.updateResizeRow(state.rowResize.row, xInTable, state.rowResize.isBottomFrozen);\n state.table._updateSize();\n //#region 后续可以考虑将下面的逻辑统一到_updateSize中\n state.table.internalProps.legends?.forEach(legend => {\n legend?.resize();\n });\n if (state.table.internalProps.title) {\n state.table.internalProps.title.resize();\n }\n if (state.table.internalProps.emptyTip) {\n state.table.internalProps.emptyTip.resize();\n }\n //#endregion\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForRow(detaY: number, state: StateManager) {\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY);\n state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY);\n\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1);\n } else {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n }\n}\n\nfunction updateResizeColForAll(detaY: number, state: StateManager) {\n // 全列调整\n // const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) {\n // // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(row, state.table.rowHeaderLevelCount);\n // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // continue;\n // }\n // }\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n}\n\nfunction updateResizeColForIndicator(detaY: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (!layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, state.rowResize.row);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, state.rowResize.row);\n const headerPath = headerPaths.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n resizeDimensionKey = headerPath?.dimensionKey;\n resizeDimensionValue = headerPath?.value;\n }\n for (\n let row = state.table.columnHeaderLevelCount;\n row < state.table.rowCount - state.table.bottomFrozenRowCount;\n row++\n ) {\n const indicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, row);\n if (!layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n } else if (layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, row);\n const headerPath = headerPaths?.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateRowHeight(row, detaY);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n }\n }\n}\n\nfunction updateResizeColForIndicatorGroup(detaY: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount, state.rowResize.row);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startRow = node.startInTotal + state.table.frozenRowCount;\n const endRow = node.startInTotal + state.table.frozenRowCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalRowHeight = state.table.getRowsHeight(startRow, endRow);\n const moveY = detaY; // 纠正moveX 用于指标列均分该值\n for (let row = startRow; row <= endRow; row++) {\n // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(state.table.columnHeaderLevelCount, row);\n // // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // // continue;\n // // }\n // }\n const prevHeight = state.table.getRowHeight(row);\n\n // deltaHeight <0.5 & >=-0.5 在updateRowHeight函数中会被Math.round处理为0,导致高度更新失效\n let deltaHeight = (prevHeight / totalRowHeight) * moveY;\n if (deltaHeight > 0 && deltaHeight < 0.5) {\n deltaHeight = 0.5;\n } else if (deltaHeight < 0 && deltaHeight >= -0.5) {\n deltaHeight = -0.51;\n }\n state.table.scenegraph.updateRowHeight(row, deltaHeight);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/state/resize/update-resize-row.ts"],"names":[],"mappings":"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","file":"update-resize-row.js","sourcesContent":["import type { ListTable } from '../../ListTable';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport { flushCornerCustomMergeContentUpdates } from '../../scenegraph/utils/corner-custom-merge';\nimport type { IndicatorData } from '../../ts-types/list-table/layout-map/api';\nimport type { StateManager } from '../state';\n\n// rowResizeType?: 'row' | 'indicator' | 'all' | 'indicatorGroup';\nexport function updateResizeRow(xInTable: number, yInTable: number, state: StateManager) {\n xInTable = Math.ceil(xInTable);\n yInTable = Math.ceil(yInTable);\n let detaY = state.rowResize.isBottomFrozen ? state.rowResize.y - yInTable : yInTable - state.rowResize.y;\n // table.getColWidth会使用Math.round,因此这里直接跳过小于1px的修改\n if (Math.abs(detaY) < 1) {\n return;\n }\n\n const heightCache = state.table.getRowHeight(state.rowResize.row);\n let height = heightCache;\n height += detaY;\n\n // limitMinHeight限制\n let afterSize = state.table.getRowHeight(state.rowResize.row) + detaY;\n if (afterSize < state.table.internalProps.limitMinHeight) {\n afterSize = state.table.internalProps.limitMinHeight;\n detaY = afterSize - state.table.getRowHeight(state.rowResize.row);\n }\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n const bottomRowHeightCache = state.table.getRowHeight(state.rowResize.row + 1);\n let bottomRowHeight = bottomRowHeightCache;\n bottomRowHeight -= detaY;\n if (bottomRowHeight - detaY < state.table.internalProps.limitMinHeight) {\n detaY = bottomRowHeight - state.table.internalProps.limitMinHeight;\n }\n }\n detaY = Math.ceil(detaY);\n\n if (\n state.rowResize.row < state.table.columnHeaderLevelCount ||\n state.rowResize.row >= state.table.rowCount - state.table.bottomFrozenRowCount\n ) {\n updateResizeColForRow(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicator') {\n updateResizeColForIndicator(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'indicatorGroup') {\n updateResizeColForIndicatorGroup(detaY, state);\n } else if (state.table.internalProps.rowResizeType === 'all') {\n updateResizeColForAll(detaY, state);\n } else {\n updateResizeColForRow(detaY, state);\n }\n\n state.rowResize.y = yInTable;\n\n // update resize row component\n state.table.scenegraph.component.updateResizeRow(state.rowResize.row, xInTable, state.rowResize.isBottomFrozen);\n state.table._updateSize();\n //#region 后续可以考虑将下面的逻辑统一到_updateSize中\n state.table.internalProps.legends?.forEach(legend => {\n legend?.resize();\n });\n if (state.table.internalProps.title) {\n state.table.internalProps.title.resize();\n }\n if (state.table.internalProps.emptyTip) {\n state.table.internalProps.emptyTip.resize();\n }\n //#endregion\n // stage rerender\n state.table.scenegraph.updateNextFrame();\n}\n\nfunction updateResizeColForRow(detaY: number, state: StateManager) {\n const pendingCornerCustomMergeRanges = new Map();\n if (state.table.heightMode === 'adaptive' && state.rowResize.row < state.table.rowCount - 1) {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY, undefined, pendingCornerCustomMergeRanges);\n state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY, undefined, pendingCornerCustomMergeRanges);\n\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1);\n } else {\n state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._heightResizedRowMap.add(state.rowResize.row);\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n\nfunction updateResizeColForAll(detaY: number, state: StateManager) {\n // 全列调整\n // const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n const pendingCornerCustomMergeRanges = new Map();\n for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) {\n // // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(row, state.table.rowHeaderLevelCount);\n // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // continue;\n // }\n // }\n state.table.scenegraph.updateRowHeight(row, detaY, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n\nfunction updateResizeColForIndicator(detaY: number, state: StateManager) {\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n let resizeIndicatorKey;\n let resizeDimensionKey;\n let resizeDimensionValue;\n if (!layout.indicatorsAsCol) {\n resizeIndicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, state.rowResize.row);\n } else {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, state.rowResize.row);\n const headerPath = headerPaths.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n resizeDimensionKey = headerPath?.dimensionKey;\n resizeDimensionValue = headerPath?.value;\n }\n const pendingCornerCustomMergeRanges = new Map();\n for (\n let row = state.table.columnHeaderLevelCount;\n row < state.table.rowCount - state.table.bottomFrozenRowCount;\n row++\n ) {\n const indicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, row);\n if (!layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) {\n state.table.scenegraph.updateRowHeight(row, detaY, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._heightResizedRowMap.add(row);\n } else if (layout.indicatorsAsCol) {\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount - 1, row);\n const headerPath = headerPaths?.rowHeaderPaths?.[headerPaths.rowHeaderPaths.length - 1];\n if (headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value) {\n state.table.scenegraph.updateRowHeight(row, detaY, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n }\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n\nfunction updateResizeColForIndicatorGroup(detaY: number, state: StateManager) {\n // not support for PivotChart temply\n const layout = state.table.internalProps.layoutMap as PivotHeaderLayoutMap;\n //通过getCellHeaderPaths接口获取列表头最后一层指标维度的path\n const headerPaths = layout.getCellHeaderPaths(state.table.rowHeaderLevelCount, state.rowResize.row);\n const node = layout.getHeadNodeByRowOrColDimensions(\n headerPaths.rowHeaderPaths.slice(0, headerPaths.rowHeaderPaths.length - 1)\n ) as any;\n // 计算宽度受影响列的起止\n const startRow = node.startInTotal + state.table.frozenRowCount;\n const endRow = node.startInTotal + state.table.frozenRowCount + node.size - 1;\n // 计算当前受影响列的总宽度 后面会利用这个计算比例\n const totalRowHeight = state.table.getRowsHeight(startRow, endRow);\n const moveY = detaY; // 纠正moveX 用于指标列均分该值\n const pendingCornerCustomMergeRanges = new Map();\n for (let row = startRow; row <= endRow; row++) {\n // 是否禁止调整列宽disableRowResize 对应canResizeRow的逻辑判断\n // if (!(state.table.internalProps.transpose || (state.table.isPivotTable() && !layout.indicatorsAsCol))) {\n // const cellDefine = layout.getBody(state.table.columnHeaderLevelCount, row);\n // // if ((cellDefine as IndicatorData)?.disableRowResize) {\n // // continue;\n // // }\n // }\n const prevHeight = state.table.getRowHeight(row);\n\n // deltaHeight <0.5 & >=-0.5 在updateRowHeight函数中会被Math.round处理为0,导致高度更新失效\n let deltaHeight = (prevHeight / totalRowHeight) * moveY;\n if (deltaHeight > 0 && deltaHeight < 0.5) {\n deltaHeight = 0.5;\n } else if (deltaHeight < 0 && deltaHeight >= -0.5) {\n deltaHeight = -0.51;\n }\n state.table.scenegraph.updateRowHeight(row, deltaHeight, undefined, pendingCornerCustomMergeRanges);\n state.table.internalProps._heightResizedRowMap.add(row);\n }\n flushCornerCustomMergeContentUpdates(pendingCornerCustomMergeRanges, state.table);\n}\n"]}
package/es/themes.d.ts CHANGED
@@ -4,8 +4,9 @@ import type { ITableThemeDefine } from './ts-types';
4
4
  export declare const DARK: TableTheme;
5
5
  export declare const BRIGHT: TableTheme;
6
6
  export declare const ARCO: TableTheme;
7
- export declare const DEFAULT: TableTheme;
7
+ export declare let DEFAULT: TableTheme;
8
8
  export declare const SIMPLIFY: TableTheme;
9
+ export declare function setDefaultTheme(theme: ITableThemeDefine): void;
9
10
  export declare const theme: {
10
11
  TableTheme: typeof TableTheme;
11
12
  };
@@ -19,12 +20,13 @@ declare const _default: {
19
20
  DARK: TableTheme;
20
21
  BRIGHT: TableTheme;
21
22
  ARCO: TableTheme;
22
- DEFAULT: TableTheme;
23
+ readonly DEFAULT: TableTheme;
23
24
  SIMPLIFY: TableTheme;
24
25
  theme: {
25
26
  TableTheme: typeof TableTheme;
26
27
  };
27
28
  of: typeof of;
28
29
  get: typeof get;
30
+ setDefaultTheme: typeof setDefaultTheme;
29
31
  };
30
32
  export default _default;
package/es/themes.js CHANGED
@@ -20,7 +20,7 @@ export const BRIGHT = new TableTheme(brightTheme, brightTheme);
20
20
 
21
21
  export const ARCO = new TableTheme(arcoTheme, arcoTheme);
22
22
 
23
- export const DEFAULT = new TableTheme(defaultTheme, defaultTheme);
23
+ export let DEFAULT = new TableTheme(defaultTheme, defaultTheme);
24
24
 
25
25
  export const SIMPLIFY = new TableTheme(materialDesignTheme, materialDesignTheme);
26
26
 
@@ -32,6 +32,11 @@ const builtin = {
32
32
  BRIGHT: BRIGHT
33
33
  };
34
34
 
35
+ export function setDefaultTheme(theme) {
36
+ DEFAULT = theme instanceof TableTheme ? theme.extends({}) : new TableTheme(theme, theme),
37
+ builtin.DEFAULT = DEFAULT;
38
+ }
39
+
35
40
  export const theme = {
36
41
  TableTheme: TableTheme
37
42
  };
@@ -57,10 +62,13 @@ export default {
57
62
  DARK: DARK,
58
63
  BRIGHT: BRIGHT,
59
64
  ARCO: ARCO,
60
- DEFAULT: DEFAULT,
65
+ get DEFAULT() {
66
+ return DEFAULT;
67
+ },
61
68
  SIMPLIFY: SIMPLIFY,
62
69
  theme: theme,
63
70
  of: of,
64
- get: get
71
+ get: get,
72
+ setDefaultTheme: setDefaultTheme
65
73
  };
66
74
  //# sourceMappingURL=themes.js.map
package/es/themes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/themes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,mBAAmB,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAEjF,MAAM,OAAO,GAAkC;IAC7C,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,MAAM;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC;AACpC,MAAM,UAAU,EAAE,CAAC,KAAoD;IACrE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,UAAU,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACV;YACD,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;KACb;IACD,IAAI,KAAK,YAAY,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AACD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EAAqB,UAAU,EAAE,CAAC;AACzC,eAAe;IACb,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,KAAK;IACL,EAAE;IACF,GAAG;CACJ,CAAC","file":"themes.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { extend, getIgnoreCase } from './tools/helper';\nimport darkTheme from './themes/DARK';\nimport brightTheme from './themes/BRIGHT';\nimport arcoTheme from './themes/ARCO';\nimport defaultTheme from './themes/DEFAULT';\nimport materialDesignTheme from './themes/SIMPLIFY';\nimport { themes as plugins, tableThemeIsChanged } from './themes/themes';\nimport { TableTheme } from './themes/theme-define';\nimport type { ITableThemeDefine } from './ts-types';\nexport const DARK = new TableTheme(darkTheme, darkTheme);\nexport const BRIGHT = new TableTheme(brightTheme, brightTheme);\nexport const ARCO = new TableTheme(arcoTheme, arcoTheme);\nexport const DEFAULT = new TableTheme(defaultTheme, defaultTheme);\nexport const SIMPLIFY = new TableTheme(materialDesignTheme, materialDesignTheme);\n\nconst builtin: { [key: string]: TableTheme } = {\n DEFAULT,\n SIMPLIFY,\n ARCO,\n DARK,\n BRIGHT\n};\n// let defTheme = DEFAULT;\nexport const theme = { TableTheme };\nexport function of(value: ITableThemeDefine | string | undefined | null): TableTheme | null {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n const t = getIgnoreCase(get(), value);\n if (t) {\n if (t instanceof TableTheme) {\n return t;\n }\n return new TableTheme(t, t);\n }\n return null;\n }\n if (value instanceof TableTheme) {\n return value;\n }\n return new TableTheme(value, value);\n}\n\nexport function get(): { [key: string]: TableTheme } {\n return extend(builtin, plugins);\n}\nexport { tableThemeIsChanged };\nexport { ITableThemeDefine, TableTheme };\nexport default {\n DARK,\n BRIGHT,\n ARCO,\n DEFAULT,\n SIMPLIFY,\n theme,\n of,\n get\n};\n"]}
1
+ {"version":3,"sources":["../src/themes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,SAAS,MAAM,eAAe,CAAC;AACtC,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,mBAAmB,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,CAAC,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAEjF,MAAM,OAAO,GAAkC;IAC7C,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,MAAM;CACP,CAAC;AAMF,MAAM,UAAU,eAAe,CAAC,KAAwB;IACtD,OAAO,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzF,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC;AACpC,MAAM,UAAU,EAAE,CAAC,KAAoD;IACrE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,UAAU,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACV;YACD,OAAO,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;KACb;IACD,IAAI,KAAK,YAAY,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AACD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EAAqB,UAAU,EAAE,CAAC;AACzC,eAAe;IACb,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,IAAI,OAAO;QACT,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,QAAQ;IACR,KAAK;IACL,EAAE;IACF,GAAG;IACH,eAAe;CAChB,CAAC","file":"themes.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { extend, getIgnoreCase } from './tools/helper';\nimport darkTheme from './themes/DARK';\nimport brightTheme from './themes/BRIGHT';\nimport arcoTheme from './themes/ARCO';\nimport defaultTheme from './themes/DEFAULT';\nimport materialDesignTheme from './themes/SIMPLIFY';\nimport { themes as plugins, tableThemeIsChanged } from './themes/themes';\nimport { TableTheme } from './themes/theme-define';\nimport type { ITableThemeDefine } from './ts-types';\nexport const DARK = new TableTheme(darkTheme, darkTheme);\nexport const BRIGHT = new TableTheme(brightTheme, brightTheme);\nexport const ARCO = new TableTheme(arcoTheme, arcoTheme);\nexport let DEFAULT = new TableTheme(defaultTheme, defaultTheme);\nexport const SIMPLIFY = new TableTheme(materialDesignTheme, materialDesignTheme);\n\nconst builtin: { [key: string]: TableTheme } = {\n DEFAULT,\n SIMPLIFY,\n ARCO,\n DARK,\n BRIGHT\n};\n/**\n * Replace the default theme used when no instance theme is specified.\n * Existing instances and previously extended themes are not updated.\n * The supplied theme replaces the default; use DEFAULT.extends() to merge styles.\n */\nexport function setDefaultTheme(theme: ITableThemeDefine): void {\n DEFAULT = theme instanceof TableTheme ? theme.extends({}) : new TableTheme(theme, theme);\n builtin.DEFAULT = DEFAULT;\n}\n\nexport const theme = { TableTheme };\nexport function of(value: ITableThemeDefine | string | undefined | null): TableTheme | null {\n if (!value) {\n return null;\n }\n if (typeof value === 'string') {\n const t = getIgnoreCase(get(), value);\n if (t) {\n if (t instanceof TableTheme) {\n return t;\n }\n return new TableTheme(t, t);\n }\n return null;\n }\n if (value instanceof TableTheme) {\n return value;\n }\n return new TableTheme(value, value);\n}\n\nexport function get(): { [key: string]: TableTheme } {\n return extend(builtin, plugins);\n}\nexport { tableThemeIsChanged };\nexport { ITableThemeDefine, TableTheme };\nexport default {\n DARK,\n BRIGHT,\n ARCO,\n get DEFAULT() {\n return DEFAULT;\n },\n SIMPLIFY,\n theme,\n of,\n get,\n setDefaultTheme\n};\n"]}
@@ -10,16 +10,16 @@ export function createDataset(options) {
10
10
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
11
11
  const layoutNodeId = {
12
12
  seqId: 0
13
- }, dataConfig = {
13
+ }, dataConfig = Object.assign(Object.assign({}, options.dataConfig), {
14
14
  isPivotChart: !0
15
- };
15
+ });
16
16
  let columnDimensionTree, rowDimensionTree, columnTree, rowTree;
17
17
  options.columnTree && (!1 !== options.indicatorsAsCol && (columnTree = supplementIndicatorNodesForCustomTree(options.columnTree, options.indicators)),
18
18
  columnDimensionTree = new DimensionTree(null !== (_a = options.columnTree) && void 0 !== _a ? _a : [], layoutNodeId)),
19
19
  options.rowTree && (!1 === options.indicatorsAsCol && (rowTree = supplementIndicatorNodesForCustomTree(options.rowTree, options.indicators)),
20
20
  rowDimensionTree = new DimensionTree(null !== (_b = options.rowTree) && void 0 !== _b ? _b : [], layoutNodeId));
21
- const rowKeys = (null === (_c = rowDimensionTree.dimensionKeys) || void 0 === _c ? void 0 : _c.count) ? rowDimensionTree.dimensionKeys.valueArr() : null !== (_e = null === (_d = options.rows) || void 0 === _d ? void 0 : _d.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
22
- keys)), [])) && void 0 !== _e ? _e : [], columnKeys = (null === (_f = columnDimensionTree.dimensionKeys) || void 0 === _f ? void 0 : _f.count) ? columnDimensionTree.dimensionKeys.valueArr() : null !== (_h = null === (_g = options.columns) || void 0 === _g ? void 0 : _g.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
21
+ const rowKeys = (null === (_c = null == rowDimensionTree ? void 0 : rowDimensionTree.dimensionKeys) || void 0 === _c ? void 0 : _c.count) ? rowDimensionTree.dimensionKeys.valueArr() : null !== (_e = null === (_d = options.rows) || void 0 === _d ? void 0 : _d.reduce(((keys, rowObj) => ("string" == typeof rowObj ? keys.push(rowObj) : keys.push(rowObj.dimensionKey),
22
+ keys)), [])) && void 0 !== _e ? _e : [], columnKeys = (null === (_f = null == columnDimensionTree ? void 0 : columnDimensionTree.dimensionKeys) || void 0 === _f ? void 0 : _f.count) ? columnDimensionTree.dimensionKeys.valueArr() : null !== (_h = null === (_g = options.columns) || void 0 === _g ? void 0 : _g.reduce(((keys, columnObj) => ("string" == typeof columnObj ? keys.push(columnObj) : keys.push(columnObj.dimensionKey),
23
23
  keys)), [])) && void 0 !== _h ? _h : [], indicatorKeys = null !== (_k = null === (_j = options.indicators) || void 0 === _j ? void 0 : _j.reduce(((keys, indicatorObj) => ("string" == typeof indicatorObj ? keys.push(indicatorObj) : keys.push(indicatorObj.indicatorKey),
24
24
  keys)), [])) && void 0 !== _k ? _k : [];
25
25
  dataConfig.collectValuesBy = _generateCollectValuesConfig(options, columnKeys, rowKeys),