@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,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.flushCornerCustomMergeContentUpdates = exports.queueCornerCustomMergeContentUpdate = exports.updateCornerCustomMergeContent = exports.createCornerCustomMergeContainer = exports.shouldRenderCornerCustomMergeContent = exports.isCornerCustomMergeRange = void 0;
6
+
7
+ const custom_1 = require("../component/custom"), group_1 = require("../graphic/group");
8
+
9
+ function isCornerCustomMergeRange(range, table) {
10
+ 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);
11
+ }
12
+
13
+ function shouldRenderCornerCustomMergeContent(col, row, range, table) {
14
+ return !isCornerCustomMergeRange(range, table) || col === range.end.col && row === range.end.row;
15
+ }
16
+
17
+ function createCornerCustomMergeContainer(customElementsGroup, width, height, range, table) {
18
+ if (!customElementsGroup || !isCornerCustomMergeRange(range, table)) return customElementsGroup;
19
+ const customContainer = new group_1.Group({
20
+ x: 0,
21
+ y: 0,
22
+ width: width,
23
+ height: height,
24
+ fill: !1,
25
+ stroke: !1,
26
+ pickable: !1,
27
+ clip: !0
28
+ });
29
+ return customContainer.name = custom_1.CUSTOM_CONTAINER_NAME, customContainer.col = range.start.col,
30
+ customContainer.row = range.start.row, customContainer.appendChild(customElementsGroup),
31
+ customContainer;
32
+ }
33
+
34
+ function updateCornerCustomMergeContent(range, table) {
35
+ refreshCornerCustomMergeContent(range, table);
36
+ }
37
+
38
+ function queueCornerCustomMergeContentUpdate(range, table, pendingRanges) {
39
+ pendingRanges ? pendingRanges.set(getCornerCustomMergeRangeKey(range), range) : refreshCornerCustomMergeContent(range, table);
40
+ }
41
+
42
+ function flushCornerCustomMergeContentUpdates(pendingRanges, table) {
43
+ pendingRanges.forEach((range => {
44
+ refreshCornerCustomMergeContentForResize(range, table);
45
+ })), pendingRanges.clear();
46
+ }
47
+
48
+ function getCornerCustomMergeRangeKey(range) {
49
+ return `${range.start.col}-${range.start.row}-${range.end.col}-${range.end.row}`;
50
+ }
51
+
52
+ function refreshCornerCustomMergeContent(range, table) {
53
+ var _a;
54
+ const cellGroup = table.scenegraph.getCell(range.end.col, range.end.row), customContainer = cellGroup.getChildByName(custom_1.CUSTOM_CONTAINER_NAME) || cellGroup.getChildByName(custom_1.CUSTOM_MERGE_CONTAINER_NAME);
55
+ customContainer && (null === (_a = table.reactCustomLayout) || void 0 === _a || _a.removeCustomCell(range.start.col, range.start.row),
56
+ customContainer.removeAllChild(), cellGroup.removeChild(customContainer)), table.scenegraph.updateCellContent(range.end.col, range.end.row);
57
+ }
58
+
59
+ function refreshCornerCustomMergeContentForResize(range, table) {
60
+ const cellGroup = table.scenegraph.getCell(range.end.col, range.end.row), customContainer = cellGroup.getChildByName(custom_1.CUSTOM_CONTAINER_NAME) || cellGroup.getChildByName(custom_1.CUSTOM_MERGE_CONTAINER_NAME);
61
+ customContainer && cellGroup.removeChild(customContainer), table.scenegraph.updateCellContent(range.end.col, range.end.row);
62
+ }
63
+
64
+ exports.isCornerCustomMergeRange = isCornerCustomMergeRange, exports.shouldRenderCornerCustomMergeContent = shouldRenderCornerCustomMergeContent,
65
+ exports.createCornerCustomMergeContainer = createCornerCustomMergeContainer, exports.updateCornerCustomMergeContent = updateCornerCustomMergeContent,
66
+ exports.queueCornerCustomMergeContentUpdate = queueCornerCustomMergeContentUpdate,
67
+ exports.flushCornerCustomMergeContentUpdates = flushCornerCustomMergeContentUpdates;
68
+ //# 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,5 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.updateResizeColumn = void 0;
6
+
7
+ const corner_custom_merge_1 = require("../../scenegraph/utils/corner-custom-merge");
8
+
3
9
  function updateResizeColumn(xInTable, yInTable, state) {
4
10
  var _a;
5
11
  xInTable = Math.ceil(xInTable), yInTable = Math.ceil(yInTable);
@@ -36,21 +42,25 @@ function updateResizeColumn(xInTable, yInTable, state) {
36
42
  }
37
43
 
38
44
  function updateResizeColForColumn(detaX, state) {
39
- "adaptive" === state.table.widthMode && state.columnResize.col < state.table.colCount - 1 ? (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX),
40
- state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX), state.table.internalProps._widthResizedColMap.add(state.columnResize.col),
41
- state.table.internalProps._widthResizedColMap.add(state.columnResize.col + 1)) : (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX),
42
- state.table.internalProps._widthResizedColMap.add(state.columnResize.col));
45
+ const pendingCornerCustomMergeRanges = new Map;
46
+ "adaptive" === state.table.widthMode && state.columnResize.col < state.table.colCount - 1 ? (state.table.scenegraph.updateColWidth(state.columnResize.col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
47
+ state.table.scenegraph.updateColWidth(state.columnResize.col + 1, -detaX, void 0, void 0, pendingCornerCustomMergeRanges),
48
+ 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),
49
+ state.table.internalProps._widthResizedColMap.add(state.columnResize.col)), (0,
50
+ corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
43
51
  }
44
52
 
45
53
  function updateResizeColForAll(detaX, state) {
46
- const layout = state.table.internalProps.layoutMap;
54
+ const layout = state.table.internalProps.layoutMap, pendingCornerCustomMergeRanges = new Map;
47
55
  for (let col = state.table.frozenColCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {
48
56
  if (!(state.table.internalProps.transpose || state.table.isPivotTable() && !layout.indicatorsAsCol)) {
49
57
  const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);
50
58
  if (null == cellDefine ? void 0 : cellDefine.disableColumnResize) continue;
51
59
  }
52
- state.table.scenegraph.updateColWidth(col, detaX), state.table.internalProps._widthResizedColMap.add(col);
60
+ state.table.scenegraph.updateColWidth(col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
61
+ state.table.internalProps._widthResizedColMap.add(col);
53
62
  }
63
+ (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
54
64
  }
55
65
 
56
66
  function updateResizeColForIndicator(detaX, state) {
@@ -60,19 +70,21 @@ function updateResizeColForIndicator(detaX, state) {
60
70
  const headerPaths = layout.getCellHeaderPaths(state.columnResize.col, state.table.columnHeaderLevelCount - 1), headerPath = headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];
61
71
  resizeDimensionKey = headerPath.dimensionKey, resizeDimensionValue = headerPath.value;
62
72
  }
73
+ const pendingCornerCustomMergeRanges = new Map;
63
74
  for (let col = state.table.rowHeaderLevelCount; col < state.table.colCount - state.table.rightFrozenColCount; col++) {
64
75
  const indicatorKey = layout.getIndicatorKey(col, state.table.columnHeaderLevelCount);
65
- if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) state.table.scenegraph.updateColWidth(col, detaX),
76
+ if (layout.indicatorsAsCol && indicatorKey === resizeIndicatorKey) state.table.scenegraph.updateColWidth(col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
66
77
  state.table.internalProps._widthResizedColMap.add(col); else if (!layout.indicatorsAsCol) {
67
78
  const headerPaths = layout.getCellHeaderPaths(col, state.table.columnHeaderLevelCount - 1), headerPath = null == headerPaths ? void 0 : headerPaths.colHeaderPaths[headerPaths.colHeaderPaths.length - 1];
68
- headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateColWidth(col, detaX),
79
+ headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateColWidth(col, detaX, void 0, void 0, pendingCornerCustomMergeRanges),
69
80
  state.table.internalProps._widthResizedColMap.add(col));
70
81
  }
71
82
  }
83
+ (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
72
84
  }
73
85
 
74
86
  function updateResizeColForIndicatorGroup(detaX, state) {
75
- 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;
87
+ 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;
76
88
  for (let col = startCol; col <= endCol; col++) {
77
89
  if (!(state.table.internalProps.transpose || state.table.isPivotTable() && !layout.indicatorsAsCol)) {
78
90
  const cellDefine = layout.getBody(col, state.table.columnHeaderLevelCount);
@@ -80,11 +92,11 @@ function updateResizeColForIndicatorGroup(detaX, state) {
80
92
  }
81
93
  let deltaWidth = state.table.getColWidth(col) / totalColWidth * moveX;
82
94
  deltaWidth > 0 && deltaWidth < .5 ? deltaWidth = .5 : deltaWidth < 0 && deltaWidth >= -.5 && (deltaWidth = -.5),
83
- state.table.scenegraph.updateColWidth(col, deltaWidth), state.table.internalProps._widthResizedColMap.add(col);
95
+ state.table.scenegraph.updateColWidth(col, deltaWidth, void 0, void 0, pendingCornerCustomMergeRanges),
96
+ state.table.internalProps._widthResizedColMap.add(col);
84
97
  }
98
+ (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
85
99
  }
86
100
 
87
- Object.defineProperty(exports, "__esModule", {
88
- value: !0
89
- }), exports.updateResizeColumn = void 0, exports.updateResizeColumn = updateResizeColumn;
101
+ exports.updateResizeColumn = updateResizeColumn;
90
102
  //# 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":";;;AAEA,oFAAkG;AAKlG,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,QAAgB,EAAE,KAAmB;;IACxF,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAEjH,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO;KACR;IASD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAEnE,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,KAAK,IAAI,KAAK,CAAC;IACf,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACpE,IAAI,KAAK,GAAG,QAAQ,IAAI,KAAK,GAAG,QAAQ,EAAE;QACxC,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE;YACtD,OAAO;SACR;aAAM,IAAI,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,EAAE;YACxD,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;SAC/B;aAAM;YACL,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;SAC/B;KACF;IAGD,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxE,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;QACvD,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;QACpD,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;KACrE;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;QAC7F,MAAM,kBAAkB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChF,IAAI,aAAa,GAAG,kBAAkB,CAAC;QACvC,aAAa,IAAI,KAAK,CAAC;QACvB,IAAI,aAAa,GAAG,gBAAgB,IAAI,aAAa,GAAG,gBAAgB,EAAE;YACxE,IAAI,kBAAkB,KAAK,gBAAgB,IAAI,kBAAkB,KAAK,gBAAgB,EAAE;gBACtF,OAAO;aACR;iBAAM,IAAI,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,EAAE;gBACxF,KAAK,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;aAC/C;iBAAM;gBACL,KAAK,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;aAC/C;SACF;QACD,IAAI,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;YACnE,KAAK,GAAG,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;SACjE;KACF;IACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,IACE,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB;QACxD,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAChF;QACA,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACxC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,KAAK,WAAW,EAAE;QACrE,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC3C;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,KAAK,gBAAgB,EAAE;QAC1E,gCAAgC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAChD;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,KAAK,KAAK,EAAE;QAC/D,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACrC;SAAM;QAEL,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACxC;IAaD,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,QAAQ,CAAC;IAGhC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACrH,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAE1B,MAAA,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,0CAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QAClD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;QACnC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;KAC1C;IACD,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;QACtC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC7C;IAED,IACE,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc;QACnD,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE;QAC3B,CAAE,KAAK,CAAC,KAAmB,CAAC,SAAS,EACrC;QACA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,qBAAqB,CACpD,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAC9B,KAAK,CAAC,YAAY,CAAC,aAAa,CACjC,CAAC;KACH;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;QAC7C,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;KACxF;IACD,IACE,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB;QAChF,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE;QAC3B,CAAE,KAAK,CAAC,KAAmB,CAAC,SAAS,EACrC;QACA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACrH;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAClD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACrH;IAGD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AAC3C,CAAC;AA9HD,gDA8HC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,KAAmB;IAClE,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAE,CAAC;IACjD,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE;QAM7F,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CACnC,KAAK,CAAC,YAAY,CAAC,GAAG,EACtB,KAAK,EACL,SAAS,EACT,SAAS,EACT,8BAA8B,CAC/B,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CACnC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,EAC1B,CAAC,KAAK,EACN,SAAS,EACT,SAAS,EACT,8BAA8B,CAC/B,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1E,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;KAC/E;SAAM;QACL,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CACnC,KAAK,CAAC,YAAY,CAAC,GAAG,EACtB,KAAK,EACL,SAAS,EACT,SAAS,EACT,8BAA8B,CAC/B,CAAC;QACF,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;KAC3E;IACD,IAAA,0DAAoC,EAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,KAAmB;IAE/D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiC,CAAC;IAC3E,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAE,CAAC;IACjD,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,EAAE;QAE9G,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE;YACrG,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC3E,IAAK,UAA4B,aAA5B,UAAU,uBAAV,UAAU,CAAoB,mBAAmB,EAAE;gBACtD,SAAS;aACV;SACF;QAED,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;QACxG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACxD;IACD,IAAA,0DAAoC,EAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa,EAAE,KAAmB;IACrE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiC,CAAC;IAC3E,IAAI,kBAAkB,CAAC;IACvB,IAAI,kBAAkB,CAAC;IACvB,IAAI,oBAAoB,CAAC;IACzB,IAAI,MAAM,CAAC,eAAe,EAAE;QAC1B,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzG;SAAM;QACL,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;QAC9G,MAAM,UAAU,GAAG,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAAC;QAC7C,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC;KACzC;IACD,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAE,CAAC;IACjD,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,EAAE;QACnH,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,eAAe,IAAI,YAAY,KAAK,kBAAkB,EAAE;YACjE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;YACxG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACxD;aAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtF,IAAI,UAAU,IAAI,kBAAkB,KAAK,UAAU,CAAC,YAAY,IAAI,oBAAoB,KAAK,UAAU,CAAC,KAAK,EAAE;gBAC7G,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;gBACxG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACxD;SACF;KACF;IACD,IAAA,0DAAoC,EAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,gCAAgC,CAAC,KAAa,EAAE,KAAmB;IAE1E,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiC,CAAC;IAE3E,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1G,MAAM,IAAI,GAAG,MAAM,CAAC,+BAA+B,CACjD,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CACpE,CAAC;IAET,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAE9E,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAE,CAAC;IACjD,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE;QAE7C,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE;YACrG,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC3E,IAAK,UAA4B,aAA5B,UAAU,uBAAV,UAAU,CAAoB,mBAAmB,EAAE;gBACtD,SAAS;aACV;SACF;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAG/C,IAAI,UAAU,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE;YACtC,UAAU,GAAG,GAAG,CAAC;SAClB;aAAM,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE;YAC/C,UAAU,GAAG,CAAC,GAAG,CAAC;SACnB;QACD,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,8BAA8B,CAAC,CAAC;QAC7G,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACxD;IACD,IAAA,0DAAoC,EAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACpF,CAAC","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,5 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.updateResizeRow = void 0;
6
+
7
+ const corner_custom_merge_1 = require("../../scenegraph/utils/corner-custom-merge");
8
+
3
9
  function updateResizeRow(xInTable, yInTable, state) {
4
10
  var _a;
5
11
  xInTable = Math.ceil(xInTable), yInTable = Math.ceil(yInTable);
@@ -23,15 +29,18 @@ function updateResizeRow(xInTable, yInTable, state) {
23
29
  }
24
30
 
25
31
  function updateResizeColForRow(detaY, state) {
26
- "adaptive" === state.table.heightMode && state.rowResize.row < state.table.rowCount - 1 ? (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY),
27
- state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY), state.table.internalProps._heightResizedRowMap.add(state.rowResize.row),
28
- state.table.internalProps._heightResizedRowMap.add(state.rowResize.row + 1)) : (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY),
29
- state.table.internalProps._heightResizedRowMap.add(state.rowResize.row));
32
+ const pendingCornerCustomMergeRanges = new Map;
33
+ "adaptive" === state.table.heightMode && state.rowResize.row < state.table.rowCount - 1 ? (state.table.scenegraph.updateRowHeight(state.rowResize.row, detaY, void 0, pendingCornerCustomMergeRanges),
34
+ state.table.scenegraph.updateRowHeight(state.rowResize.row + 1, -detaY, void 0, pendingCornerCustomMergeRanges),
35
+ 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),
36
+ state.table.internalProps._heightResizedRowMap.add(state.rowResize.row)), (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
30
37
  }
31
38
 
32
39
  function updateResizeColForAll(detaY, state) {
33
- for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) state.table.scenegraph.updateRowHeight(row, detaY),
40
+ const pendingCornerCustomMergeRanges = new Map;
41
+ for (let row = state.table.frozenRowCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) state.table.scenegraph.updateRowHeight(row, detaY, void 0, pendingCornerCustomMergeRanges),
34
42
  state.table.internalProps._heightResizedRowMap.add(row);
43
+ (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
35
44
  }
36
45
 
37
46
  function updateResizeColForIndicator(detaY, state) {
@@ -42,28 +51,31 @@ function updateResizeColForIndicator(detaY, state) {
42
51
  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];
43
52
  resizeDimensionKey = null == headerPath ? void 0 : headerPath.dimensionKey, resizeDimensionValue = null == headerPath ? void 0 : headerPath.value;
44
53
  } else resizeIndicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, state.rowResize.row);
54
+ const pendingCornerCustomMergeRanges = new Map;
45
55
  for (let row = state.table.columnHeaderLevelCount; row < state.table.rowCount - state.table.bottomFrozenRowCount; row++) {
46
56
  const indicatorKey = layout.getIndicatorKey(state.table.rowHeaderLevelCount, row);
47
57
  if (layout.indicatorsAsCol || indicatorKey !== resizeIndicatorKey) {
48
58
  if (layout.indicatorsAsCol) {
49
59
  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];
50
- headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateRowHeight(row, detaY),
60
+ headerPath && resizeDimensionKey === headerPath.dimensionKey && resizeDimensionValue === headerPath.value && (state.table.scenegraph.updateRowHeight(row, detaY, void 0, pendingCornerCustomMergeRanges),
51
61
  state.table.internalProps._heightResizedRowMap.add(row));
52
62
  }
53
- } else state.table.scenegraph.updateRowHeight(row, detaY), state.table.internalProps._heightResizedRowMap.add(row);
63
+ } else state.table.scenegraph.updateRowHeight(row, detaY, void 0, pendingCornerCustomMergeRanges),
64
+ state.table.internalProps._heightResizedRowMap.add(row);
54
65
  }
66
+ (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
55
67
  }
56
68
 
57
69
  function updateResizeColForIndicatorGroup(detaY, state) {
58
- 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;
70
+ 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;
59
71
  for (let row = startRow; row <= endRow; row++) {
60
72
  let deltaHeight = state.table.getRowHeight(row) / totalRowHeight * moveY;
61
73
  deltaHeight > 0 && deltaHeight < .5 ? deltaHeight = .5 : deltaHeight < 0 && deltaHeight >= -.5 && (deltaHeight = -.51),
62
- state.table.scenegraph.updateRowHeight(row, deltaHeight), state.table.internalProps._heightResizedRowMap.add(row);
74
+ state.table.scenegraph.updateRowHeight(row, deltaHeight, void 0, pendingCornerCustomMergeRanges),
75
+ state.table.internalProps._heightResizedRowMap.add(row);
63
76
  }
77
+ (0, corner_custom_merge_1.flushCornerCustomMergeContentUpdates)(pendingCornerCustomMergeRanges, state.table);
64
78
  }
65
79
 
66
- Object.defineProperty(exports, "__esModule", {
67
- value: !0
68
- }), exports.updateResizeRow = void 0, exports.updateResizeRow = updateResizeRow;
80
+ exports.updateResizeRow = updateResizeRow;
69
81
  //# 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/cjs/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/cjs/themes.js CHANGED
@@ -8,7 +8,7 @@ var __importDefault = this && this.__importDefault || function(mod) {
8
8
 
9
9
  Object.defineProperty(exports, "__esModule", {
10
10
  value: !0
11
- }), exports.TableTheme = exports.tableThemeIsChanged = exports.get = exports.of = exports.theme = exports.SIMPLIFY = exports.DEFAULT = exports.ARCO = exports.BRIGHT = exports.DARK = void 0;
11
+ }), exports.TableTheme = exports.tableThemeIsChanged = exports.get = exports.of = exports.theme = exports.setDefaultTheme = exports.SIMPLIFY = exports.DEFAULT = exports.ARCO = exports.BRIGHT = exports.DARK = void 0;
12
12
 
13
13
  const helper_1 = require("./tools/helper"), DARK_1 = __importDefault(require("./themes/DARK")), BRIGHT_1 = __importDefault(require("./themes/BRIGHT")), ARCO_1 = __importDefault(require("./themes/ARCO")), DEFAULT_1 = __importDefault(require("./themes/DEFAULT")), SIMPLIFY_1 = __importDefault(require("./themes/SIMPLIFY")), themes_1 = require("./themes/themes");
14
14
 
@@ -39,6 +39,11 @@ const builtin = {
39
39
  BRIGHT: exports.BRIGHT
40
40
  };
41
41
 
42
+ function setDefaultTheme(theme) {
43
+ exports.DEFAULT = theme instanceof theme_define_1.TableTheme ? theme.extends({}) : new theme_define_1.TableTheme(theme, theme),
44
+ builtin.DEFAULT = exports.DEFAULT;
45
+ }
46
+
42
47
  function of(value) {
43
48
  if (!value) return null;
44
49
  if ("string" == typeof value) {
@@ -52,16 +57,19 @@ function get() {
52
57
  return (0, helper_1.extend)(builtin, themes_1.themes);
53
58
  }
54
59
 
55
- exports.theme = {
60
+ exports.setDefaultTheme = setDefaultTheme, exports.theme = {
56
61
  TableTheme: theme_define_1.TableTheme
57
62
  }, exports.of = of, exports.get = get, exports.default = {
58
63
  DARK: exports.DARK,
59
64
  BRIGHT: exports.BRIGHT,
60
65
  ARCO: exports.ARCO,
61
- DEFAULT: exports.DEFAULT,
66
+ get DEFAULT() {
67
+ return exports.DEFAULT;
68
+ },
62
69
  SIMPLIFY: exports.SIMPLIFY,
63
70
  theme: exports.theme,
64
71
  of: of,
65
- get: get
72
+ get: get,
73
+ setDefaultTheme: setDefaultTheme
66
74
  };
67
75
  //# sourceMappingURL=themes.js.map
package/cjs/themes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/themes.ts"],"names":[],"mappings":";;;;;;AACA,2CAAuD;AACvD,yDAAsC;AACtC,6DAA0C;AAC1C,yDAAsC;AACtC,+DAA4C;AAC5C,iEAAoD;AACpD,4CAAyE;AAyChE,oGAzCmB,4BAAmB,OAyCnB;AAxC5B,wDAAmD;AAyCvB,2FAzCnB,yBAAU,OAyCmB;AAvCzB,QAAA,IAAI,GAAG,IAAI,yBAAU,CAAC,cAAS,EAAE,cAAS,CAAC,CAAC;AAC5C,QAAA,MAAM,GAAG,IAAI,yBAAU,CAAC,gBAAW,EAAE,gBAAW,CAAC,CAAC;AAClD,QAAA,IAAI,GAAG,IAAI,yBAAU,CAAC,cAAS,EAAE,cAAS,CAAC,CAAC;AAC5C,QAAA,OAAO,GAAG,IAAI,yBAAU,CAAC,iBAAY,EAAE,iBAAY,CAAC,CAAC;AACrD,QAAA,QAAQ,GAAG,IAAI,yBAAU,CAAC,kBAAmB,EAAE,kBAAmB,CAAC,CAAC;AAEjF,MAAM,OAAO,GAAkC;IAC7C,OAAO,EAAP,eAAO;IACP,QAAQ,EAAR,gBAAQ;IACR,IAAI,EAAJ,YAAI;IACJ,IAAI,EAAJ,YAAI;IACJ,MAAM,EAAN,cAAM;CACP,CAAC;AAEW,QAAA,KAAK,GAAG,EAAE,UAAU,EAAV,yBAAU,EAAE,CAAC;AACpC,SAAgB,EAAE,CAAC,KAAoD;IACrE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAA,sBAAa,EAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,yBAAU,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACV;YACD,OAAO,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;KACb;IACD,IAAI,KAAK,YAAY,yBAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,yBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAlBD,gBAkBC;AAED,SAAgB,GAAG;IACjB,OAAO,IAAA,eAAM,EAAC,OAAO,EAAE,eAAO,CAAC,CAAC;AAClC,CAAC;AAFD,kBAEC;AAGD,kBAAe;IACb,IAAI,EAAJ,YAAI;IACJ,MAAM,EAAN,cAAM;IACN,IAAI,EAAJ,YAAI;IACJ,OAAO,EAAP,eAAO;IACP,QAAQ,EAAR,gBAAQ;IACR,KAAK,EAAL,aAAK;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,2CAAuD;AACvD,yDAAsC;AACtC,6DAA0C;AAC1C,yDAAsC;AACtC,+DAA4C;AAC5C,iEAAoD;AACpD,4CAAyE;AAkDhE,oGAlDmB,4BAAmB,OAkDnB;AAjD5B,wDAAmD;AAkDvB,2FAlDnB,yBAAU,OAkDmB;AAhDzB,QAAA,IAAI,GAAG,IAAI,yBAAU,CAAC,cAAS,EAAE,cAAS,CAAC,CAAC;AAC5C,QAAA,MAAM,GAAG,IAAI,yBAAU,CAAC,gBAAW,EAAE,gBAAW,CAAC,CAAC;AAClD,QAAA,IAAI,GAAG,IAAI,yBAAU,CAAC,cAAS,EAAE,cAAS,CAAC,CAAC;AAC9C,QAAA,OAAO,GAAG,IAAI,yBAAU,CAAC,iBAAY,EAAE,iBAAY,CAAC,CAAC;AACnD,QAAA,QAAQ,GAAG,IAAI,yBAAU,CAAC,kBAAmB,EAAE,kBAAmB,CAAC,CAAC;AAEjF,MAAM,OAAO,GAAkC;IAC7C,OAAO,EAAP,eAAO;IACP,QAAQ,EAAR,gBAAQ;IACR,IAAI,EAAJ,YAAI;IACJ,IAAI,EAAJ,YAAI;IACJ,MAAM,EAAN,cAAM;CACP,CAAC;AAMF,SAAgB,eAAe,CAAC,KAAwB;IACtD,eAAO,GAAG,KAAK,YAAY,yBAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzF,OAAO,CAAC,OAAO,GAAG,eAAO,CAAC;AAC5B,CAAC;AAHD,0CAGC;AAEY,QAAA,KAAK,GAAG,EAAE,UAAU,EAAV,yBAAU,EAAE,CAAC;AACpC,SAAgB,EAAE,CAAC,KAAoD;IACrE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAA,sBAAa,EAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,YAAY,yBAAU,EAAE;gBAC3B,OAAO,CAAC,CAAC;aACV;YACD,OAAO,IAAI,yBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;KACb;IACD,IAAI,KAAK,YAAY,yBAAU,EAAE;QAC/B,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAI,yBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAlBD,gBAkBC;AAED,SAAgB,GAAG;IACjB,OAAO,IAAA,eAAM,EAAC,OAAO,EAAE,eAAO,CAAC,CAAC;AAClC,CAAC;AAFD,kBAEC;AAGD,kBAAe;IACb,IAAI,EAAJ,YAAI;IACJ,MAAM,EAAN,cAAM;IACN,IAAI,EAAJ,YAAI;IACJ,IAAI,OAAO;QACT,OAAO,eAAO,CAAC;IACjB,CAAC;IACD,QAAQ,EAAR,gBAAQ;IACR,KAAK,EAAL,aAAK;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 @@ 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 = (0, layout_helper_1.supplementIndicatorNodesForCustomTree)(options.columnTree, options.indicators)),
18
18
  columnDimensionTree = new tree_helper_1.DimensionTree(null !== (_a = options.columnTree) && void 0 !== _a ? _a : [], layoutNodeId)),
19
19
  options.rowTree && (!1 === options.indicatorsAsCol && (rowTree = (0, layout_helper_1.supplementIndicatorNodesForCustomTree)(options.rowTree, options.indicators)),
20
20
  rowDimensionTree = new tree_helper_1.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),