@visactor/vtable 0.9.1 → 0.9.2-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/cjs/core/BaseTable.d.ts +1 -1
  2. package/cjs/core/BaseTable.js +10 -8
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/event/event.js +1 -1
  5. package/cjs/event/event.js.map +1 -1
  6. package/cjs/index.d.ts +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/index.js.map +1 -1
  9. package/cjs/layout/pivot-header-layout.d.ts +2 -0
  10. package/cjs/layout/pivot-header-layout.js +26 -0
  11. package/cjs/layout/pivot-header-layout.js.map +1 -1
  12. package/cjs/layout/pivot-layout.d.ts +2 -0
  13. package/cjs/layout/pivot-layout.js +26 -0
  14. package/cjs/layout/pivot-layout.js.map +1 -1
  15. package/cjs/layout/simple-header-layout.d.ts +2 -0
  16. package/cjs/layout/simple-header-layout.js +6 -0
  17. package/cjs/layout/simple-header-layout.js.map +1 -1
  18. package/cjs/render/layout/container.js +13 -0
  19. package/cjs/render/layout/container.js.map +1 -1
  20. package/cjs/scenegraph/graphic/text.js +5 -5
  21. package/cjs/scenegraph/graphic/text.js.map +1 -1
  22. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
  23. package/cjs/scenegraph/group-creater/cell-helper.js +14 -10
  24. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  25. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +2 -1
  26. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  27. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  28. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  29. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -2
  30. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  31. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +2 -1
  32. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +2 -3
  33. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  34. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -2
  35. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +6 -18
  36. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  38. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -2
  39. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  40. package/cjs/scenegraph/group-creater/column-helper.js +9 -30
  41. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +31 -12
  43. package/cjs/scenegraph/group-creater/progress/proxy.js +118 -123
  44. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  45. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -0
  46. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +112 -0
  47. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -0
  48. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +2 -0
  49. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +109 -0
  50. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -0
  51. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +2 -0
  52. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +24 -0
  53. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -0
  54. package/cjs/scenegraph/layout/compute-col-width.d.ts +9 -1
  55. package/cjs/scenegraph/layout/compute-col-width.js +11 -9
  56. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  57. package/cjs/scenegraph/layout/compute-row-height.d.ts +3 -0
  58. package/cjs/scenegraph/layout/compute-row-height.js +162 -0
  59. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -0
  60. package/cjs/scenegraph/layout/update-height.js +3 -2
  61. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  62. package/cjs/scenegraph/layout/update-width.js +3 -2
  63. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  64. package/cjs/scenegraph/scenegraph.d.ts +4 -5
  65. package/cjs/scenegraph/scenegraph.js +23 -42
  66. package/cjs/scenegraph/scenegraph.js.map +1 -1
  67. package/cjs/scenegraph/stick-text/index.d.ts +1 -0
  68. package/cjs/scenegraph/stick-text/index.js +16 -2
  69. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  70. package/cjs/scenegraph/utils/text-icon-layout.d.ts +2 -1
  71. package/cjs/scenegraph/utils/text-icon-layout.js +6 -5
  72. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  73. package/cjs/state/hover/col.js +4 -4
  74. package/cjs/state/hover/col.js.map +1 -1
  75. package/cjs/tools/NumberMap.d.ts +1 -0
  76. package/cjs/tools/NumberMap.js +3 -0
  77. package/cjs/tools/NumberMap.js.map +1 -1
  78. package/cjs/ts-types/base-table.d.ts +12 -0
  79. package/cjs/ts-types/base-table.js.map +1 -1
  80. package/cjs/ts-types/list-table/layout-map/api.d.ts +2 -0
  81. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  82. package/dist/vtable.js +7621 -7036
  83. package/dist/vtable.min.js +2 -2
  84. package/es/core/BaseTable.d.ts +1 -1
  85. package/es/core/BaseTable.js +10 -8
  86. package/es/core/BaseTable.js.map +1 -1
  87. package/es/event/event.js +2 -2
  88. package/es/event/event.js.map +1 -1
  89. package/es/index.d.ts +1 -1
  90. package/es/index.js +1 -1
  91. package/es/index.js.map +1 -1
  92. package/es/layout/pivot-header-layout.d.ts +2 -0
  93. package/es/layout/pivot-header-layout.js +26 -0
  94. package/es/layout/pivot-header-layout.js.map +1 -1
  95. package/es/layout/pivot-layout.d.ts +2 -0
  96. package/es/layout/pivot-layout.js +26 -0
  97. package/es/layout/pivot-layout.js.map +1 -1
  98. package/es/layout/simple-header-layout.d.ts +2 -0
  99. package/es/layout/simple-header-layout.js +6 -0
  100. package/es/layout/simple-header-layout.js.map +1 -1
  101. package/es/render/layout/container.js +13 -0
  102. package/es/render/layout/container.js.map +1 -1
  103. package/es/scenegraph/graphic/text.js +5 -5
  104. package/es/scenegraph/graphic/text.js.map +1 -1
  105. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
  106. package/es/scenegraph/group-creater/cell-helper.js +14 -9
  107. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  108. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +2 -1
  109. package/es/scenegraph/group-creater/cell-type/chart-cell.js +3 -5
  110. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  111. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  112. package/es/scenegraph/group-creater/cell-type/image-cell.js +0 -3
  113. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  114. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +2 -1
  115. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -4
  116. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  117. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -2
  118. package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -17
  119. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  120. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  121. package/es/scenegraph/group-creater/cell-type/video-cell.js +0 -3
  122. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  123. package/es/scenegraph/group-creater/column-helper.js +8 -29
  124. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  125. package/es/scenegraph/group-creater/progress/proxy.d.ts +31 -12
  126. package/es/scenegraph/group-creater/progress/proxy.js +124 -123
  127. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  128. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -0
  129. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +104 -0
  130. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -0
  131. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +2 -0
  132. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +102 -0
  133. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -0
  134. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +2 -0
  135. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +18 -0
  136. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -0
  137. package/es/scenegraph/layout/compute-col-width.d.ts +9 -1
  138. package/es/scenegraph/layout/compute-col-width.js +9 -8
  139. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  140. package/es/scenegraph/layout/compute-row-height.d.ts +3 -0
  141. package/es/scenegraph/layout/compute-row-height.js +164 -0
  142. package/es/scenegraph/layout/compute-row-height.js.map +1 -0
  143. package/es/scenegraph/layout/update-height.js +3 -1
  144. package/es/scenegraph/layout/update-height.js.map +1 -1
  145. package/es/scenegraph/layout/update-width.js +3 -1
  146. package/es/scenegraph/layout/update-width.js.map +1 -1
  147. package/es/scenegraph/scenegraph.d.ts +4 -5
  148. package/es/scenegraph/scenegraph.js +24 -44
  149. package/es/scenegraph/scenegraph.js.map +1 -1
  150. package/es/scenegraph/stick-text/index.d.ts +1 -0
  151. package/es/scenegraph/stick-text/index.js +14 -0
  152. package/es/scenegraph/stick-text/index.js.map +1 -1
  153. package/es/scenegraph/utils/text-icon-layout.d.ts +2 -1
  154. package/es/scenegraph/utils/text-icon-layout.js +4 -4
  155. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  156. package/es/state/hover/col.js +4 -4
  157. package/es/state/hover/col.js.map +1 -1
  158. package/es/tools/NumberMap.d.ts +1 -0
  159. package/es/tools/NumberMap.js +3 -0
  160. package/es/tools/NumberMap.js.map +1 -1
  161. package/es/ts-types/base-table.d.ts +12 -0
  162. package/es/ts-types/base-table.js.map +1 -1
  163. package/es/ts-types/list-table/layout-map/api.d.ts +2 -0
  164. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  165. package/package.json +4 -4
  166. package/dist/vtable.es5.js +0 -53155
  167. package/dist/vtable.es5.min.js +0 -3
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.computeRowHeight = exports.computeRowsHeight = void 0;
6
+
7
+ const vrender_1 = require("@visactor/vrender"), util_1 = require("../../tools/util"), ts_types_1 = require("../../ts-types"), text_1 = require("../graphic/text"), get_prop_1 = require("../utils/get-prop"), padding_1 = require("../utils/padding"), compute_col_width_1 = require("./compute-col-width"), text_icon_layout_1 = require("../utils/text-icon-layout"), utilTextMark = new text_1.WrapText({
8
+ autoWrapText: !0
9
+ }), utilRichTextMark = new vrender_1.RichText({
10
+ width: 0,
11
+ height: 0,
12
+ textConfig: []
13
+ });
14
+
15
+ function computeRowsHeight(table, rowStart, rowEnd) {
16
+ if (!table.internalProps.autoRowHeight) return;
17
+ rowStart = null != rowStart ? rowStart : 0, rowEnd = null != rowEnd ? rowEnd : table.rowCount - 1;
18
+ const time = "undefined" != typeof window ? window.performance.now() : 0;
19
+ if (0 === rowStart && rowEnd === table.rowCount - 1) table._clearRowRangeHeightsMap(); else for (let row = rowStart; row <= rowEnd; row++) table._clearRowRangeHeightsMap(row);
20
+ for (let row = rowStart; row < table.columnHeaderLevelCount; row++) {
21
+ const height = computeRowHeight(row, 0, table.colCount - 1, table);
22
+ table.setRowHeight(row, height);
23
+ }
24
+ if (!(rowEnd < table.columnHeaderLevelCount)) {
25
+ if (table.internalProps.transpose || table.isPivotTable() && table.internalProps.layoutMap.indicatorsAsCol || !checkFixedStyleAndNoWrap(table)) if ((table.internalProps.transpose || table.isPivotTable() && !table.internalProps.layoutMap.indicatorsAsCol) && checkFixedStyleAndNoWrap(table)) for (let row = Math.max(rowStart, table.columnHeaderLevelCount); row <= rowEnd; row++) {
26
+ table._clearRowRangeHeightsMap(row);
27
+ const height = computeRowHeight(row, 0, table.rowHeaderLevelCount, table);
28
+ table.setRowHeight(row, height);
29
+ } else for (let row = Math.max(rowStart, table.columnHeaderLevelCount); row <= rowEnd; row++) {
30
+ table._clearRowRangeHeightsMap(row);
31
+ const height = computeRowHeight(row, 0, table.colCount - 1, table);
32
+ table.setRowHeight(row, height);
33
+ } else {
34
+ fillRowsHeight(computeRowHeight(table.columnHeaderLevelCount, 0, table.colCount - 1, table), table.columnHeaderLevelCount, table.rowCount - 1, table);
35
+ }
36
+ console.log("computeRowsHeight time:", ("undefined" != typeof window ? window.performance.now() : 0) - time);
37
+ }
38
+ }
39
+
40
+ function computeRowHeight(row, startCol, endCol, table) {
41
+ let maxHeight = 0;
42
+ for (let col = startCol; col <= endCol; col++) {
43
+ const customHeight = computeCustomRenderHeight(col, row, table);
44
+ if ("number" == typeof customHeight) {
45
+ maxHeight = Math.max(customHeight, maxHeight);
46
+ continue;
47
+ }
48
+ const textHeight = computeTextHeight(col, row, table);
49
+ maxHeight = Math.max(textHeight, maxHeight);
50
+ }
51
+ return maxHeight;
52
+ }
53
+
54
+ function checkFixedStyleAndNoWrap(table) {
55
+ var _a, _b, _c, _d;
56
+ const {layoutMap: layoutMap} = table.internalProps, row = table.columnHeaderLevelCount;
57
+ for (let col = 0; col < table.colCount; col++) {
58
+ const isHeader = layoutMap.isHeader(col, row), cellDefine = isHeader ? layoutMap.getHeader(col, row) : layoutMap.getBody(col, row);
59
+ if ("function" == typeof cellDefine.style || "function" == typeof cellDefine.icon || "function" == typeof cellDefine.headerIcon || (isHeader ? null === (_a = cellDefine.define) || void 0 === _a ? void 0 : _a.headerCustomRender : null === (_b = cellDefine.define) || void 0 === _b ? void 0 : _b.customRender) || (isHeader ? "function" == typeof (null === (_c = cellDefine.define) || void 0 === _c ? void 0 : _c.headerIcon) : "function" == typeof (null === (_d = cellDefine.define) || void 0 === _d ? void 0 : _d.icon))) return !1;
60
+ const cellStyle = table._getCellStyle(col, row);
61
+ if ("function" == typeof cellStyle.padding || "function" == typeof cellStyle.fontSize || "function" == typeof cellStyle.lineHeight || !0 === cellStyle.autoWrapText) return !1;
62
+ }
63
+ return !0;
64
+ }
65
+
66
+ function fillRowsHeight(height, startRow, endRow, table) {
67
+ for (let row = startRow; row <= endRow; row++) table.setRowHeight(row, height);
68
+ }
69
+
70
+ function computeCustomRenderHeight(col, row, table) {
71
+ var _a, _b, _c;
72
+ const customRender = table.getCustomRender(col, row), customLayout = table.getCustomLayout(col, row);
73
+ if (customRender || customLayout) {
74
+ let spanCol = 1, height = 0;
75
+ if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row).mergeCell) {
76
+ const cellRange = table.getCellRange(col, row);
77
+ spanCol = cellRange.end.col - cellRange.start.col + 1;
78
+ }
79
+ const arg = {
80
+ col: col,
81
+ row: row,
82
+ dataValue: table.getCellOriginValue(col, row),
83
+ value: table.getCellValue(col, row) || "",
84
+ rect: (0, compute_col_width_1.getCellRect)(col, row, table),
85
+ table: table
86
+ };
87
+ if (customLayout) {
88
+ const customLayoutObj = customLayout(arg);
89
+ customLayoutObj.rootContainer.isRoot = !0;
90
+ height = null !== (_a = customLayoutObj.rootContainer.getContentSize().height) && void 0 !== _a ? _a : 0;
91
+ } else if ("function" == typeof customRender) {
92
+ const customRenderObj = customRender(arg);
93
+ height = null !== (_b = null == customRenderObj ? void 0 : customRenderObj.expectedHeight) && void 0 !== _b ? _b : 0;
94
+ } else height = null !== (_c = null == customRender ? void 0 : customRender.expectedHeight) && void 0 !== _c ? _c : 0;
95
+ return height / spanCol;
96
+ }
97
+ }
98
+
99
+ function computeTextHeight(col, row, table) {
100
+ var _a;
101
+ let maxHeight = 0;
102
+ const cellValue = table.getCellValue(col, row), actStyle = table._getCellStyle(col, row);
103
+ let iconHeight = 0, iconWidth = 0;
104
+ const iconInlineFront = [];
105
+ let iconInlineFrontHeight = 0;
106
+ const iconInlineEnd = [];
107
+ let iconInlineEndHeight = 0;
108
+ const define = table.getBodyColumnDefine(col, row);
109
+ if ("body" !== table.getCellType(col, row) || (!!(null == define ? void 0 : define.icon) || !!(null == define ? void 0 : define.tree))) {
110
+ const icons = table.getCellIcons(col, row);
111
+ null == icons || icons.forEach((icon => {
112
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
113
+ icon.positionType !== ts_types_1.IconPosition.absoluteRight && icon.positionType !== ts_types_1.IconPosition.inlineFront && icon.positionType !== ts_types_1.IconPosition.inlineEnd ? (iconWidth += (null !== (_a = icon.width) && void 0 !== _a ? _a : 0) + (null !== (_b = icon.marginLeft) && void 0 !== _b ? _b : 0) + (null !== (_c = icon.marginRight) && void 0 !== _c ? _c : 0),
114
+ iconHeight = Math.max(iconHeight, null !== (_d = icon.height) && void 0 !== _d ? _d : 0)) : icon.positionType === ts_types_1.IconPosition.inlineFront ? (iconInlineFront.push(icon),
115
+ iconInlineFrontHeight = Math.max(iconInlineFrontHeight, (null !== (_e = icon.height) && void 0 !== _e ? _e : 0) + (null !== (_f = icon.marginLeft) && void 0 !== _f ? _f : 0) + (null !== (_g = icon.marginRight) && void 0 !== _g ? _g : 0))) : icon.positionType === ts_types_1.IconPosition.inlineEnd && (iconInlineEnd.push(icon),
116
+ iconInlineEndHeight = Math.max(iconInlineEndHeight, (null !== (_h = icon.height) && void 0 !== _h ? _h : 0) + (null !== (_j = icon.marginLeft) && void 0 !== _j ? _j : 0) + (null !== (_k = icon.marginRight) && void 0 !== _k ? _k : 0)));
117
+ }));
118
+ }
119
+ let spanRow = 1;
120
+ if (table.isHeader(col, row) || table.getBodyColumnDefine(col, row).mergeCell) {
121
+ const cellRange = table.getCellRange(col, row);
122
+ spanRow = cellRange.end.row - cellRange.start.row + 1;
123
+ }
124
+ const padding = (0, padding_1.getQuadProps)((0, get_prop_1.getProp)("padding", actStyle, col, row, table)), fontSize = (0,
125
+ get_prop_1.getProp)("fontSize", actStyle, col, row, table), fontStyle = (0, get_prop_1.getProp)("fontStyle", actStyle, col, row, table), fontWeight = (0,
126
+ get_prop_1.getProp)("fontWeight", actStyle, col, row, table), lineHeight = null !== (_a = (0,
127
+ get_prop_1.getProp)("lineHeight", actStyle, col, row, table)) && void 0 !== _a ? _a : fontSize, fontFamily = (0,
128
+ get_prop_1.getProp)("fontFamily", actStyle, col, row, table), autoWrapText = (0,
129
+ get_prop_1.getProp)("autoWrapText", actStyle, col, row, table), lines = (0, util_1.validToString)(cellValue).split("\n") || [];
130
+ if (iconInlineFront.length || iconInlineEnd.length) {
131
+ const textOption = Object.assign({
132
+ text: null == cellValue ? void 0 : cellValue.toString(),
133
+ fontFamily: fontFamily,
134
+ fontSize: fontSize,
135
+ fontStyle: fontStyle,
136
+ fontWeight: fontWeight,
137
+ lineHeight: lineHeight
138
+ });
139
+ textOption.textBaseline = "middle";
140
+ const textConfig = [ ...iconInlineFront.map((icon => (0, text_icon_layout_1.dealWithRichTextIcon)(icon))), textOption, ...iconInlineEnd.map((icon => (0,
141
+ text_icon_layout_1.dealWithRichTextIcon)(icon))) ];
142
+ utilRichTextMark.setAttributes({
143
+ width: table.getColWidth(col) - (padding[1] + padding[3]) - iconWidth,
144
+ height: 0,
145
+ textConfig: textConfig
146
+ }), maxHeight = utilRichTextMark.AABBBounds.height();
147
+ } else if (autoWrapText) {
148
+ const maxLineWidth = table.getColWidth(col) - (padding[1] + padding[3]) - iconWidth;
149
+ utilTextMark.setAttributes({
150
+ maxLineWidth: maxLineWidth,
151
+ text: lines,
152
+ fontSize: fontSize,
153
+ fontStyle: fontStyle,
154
+ fontWeight: fontWeight,
155
+ fontFamily: fontFamily
156
+ }), maxHeight = utilTextMark.AABBBounds.height();
157
+ } else maxHeight = lines.length * lineHeight;
158
+ return (Math.max(maxHeight, iconHeight) + padding[0] + padding[2]) / spanRow;
159
+ }
160
+
161
+ exports.computeRowsHeight = computeRowsHeight, exports.computeRowHeight = computeRowHeight;
162
+ //# sourceMappingURL=compute-row-height.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["scenegraph/layout/compute-row-height.ts"],"names":[],"mappings":"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","file":"compute-row-height.js","sourcesContent":["import { RichText } from '@visactor/vrender';\nimport type { PivotHeaderLayoutMap } from '../../layout/pivot-header-layout';\nimport { validToString } from '../../tools/util';\nimport type { ColumnIconOption } from '../../ts-types';\nimport { IconPosition } from '../../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../../ts-types/base-table';\nimport type { ColumnData, TextColumnDefine } from '../../ts-types/list-table/layout-map/api';\nimport { WrapText } from '../graphic/text';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { getCellRect } from './compute-col-width';\nimport { dealWithRichTextIcon } from '../utils/text-icon-layout';\n\nconst utilTextMark = new WrapText({\n autoWrapText: true\n});\nconst utilRichTextMark = new RichText({\n width: 0,\n height: 0,\n textConfig: []\n});\n\nexport function computeRowsHeight(table: BaseTableAPI, rowStart?: number, rowEnd?: number): void {\n if (!table.internalProps.autoRowHeight) {\n // autoRowHeight false use default height\n return;\n }\n rowStart = rowStart ?? 0;\n rowEnd = rowEnd ?? table.rowCount - 1;\n const time = typeof window !== 'undefined' ? window.performance.now() : 0;\n\n // clear rowRangeHeightsMap\n if (rowStart === 0 && rowEnd === table.rowCount - 1) {\n table._clearRowRangeHeightsMap();\n } else {\n for (let row = rowStart; row <= rowEnd; row++) {\n table._clearRowRangeHeightsMap(row);\n }\n }\n\n // compute header row in column header row\n for (let row = rowStart; row < table.columnHeaderLevelCount; row++) {\n const height = computeRowHeight(row, 0, table.colCount - 1, table);\n table.setRowHeight(row, height);\n }\n\n if (rowEnd < table.columnHeaderLevelCount) {\n return;\n }\n\n // compute body row\n if (\n !table.internalProps.transpose &&\n !(table.isPivotTable() && (table.internalProps.layoutMap as PivotHeaderLayoutMap).indicatorsAsCol) &&\n checkFixedStyleAndNoWrap(table)\n ) {\n // check fixed style and no wrap situation, fill all row width single compute\n // traspose table and row indicator pivot table cannot use single row height\n const height = computeRowHeight(table.columnHeaderLevelCount, 0, table.colCount - 1, table);\n fillRowsHeight(height, table.columnHeaderLevelCount, table.rowCount - 1, table);\n } else if (\n (table.internalProps.transpose ||\n (table.isPivotTable() && !(table.internalProps.layoutMap as PivotHeaderLayoutMap).indicatorsAsCol)) &&\n checkFixedStyleAndNoWrap(table)\n ) {\n // check fixed style and no wrap situation, just compute 0-table.rowHeaderLevelCount column(the column after row header) in ervey row\n // in traspose table and row indicator pivot table\n for (let row = Math.max(rowStart, table.columnHeaderLevelCount); row <= rowEnd; row++) {\n table._clearRowRangeHeightsMap(row);\n const height = computeRowHeight(row, 0, table.rowHeaderLevelCount, table);\n table.setRowHeight(row, height);\n }\n } else {\n for (let row = Math.max(rowStart, table.columnHeaderLevelCount); row <= rowEnd; row++) {\n table._clearRowRangeHeightsMap(row);\n const height = computeRowHeight(row, 0, table.colCount - 1, table);\n table.setRowHeight(row, height);\n }\n }\n\n console.log('computeRowsHeight time:', (typeof window !== 'undefined' ? window.performance.now() : 0) - time);\n}\n\nexport function computeRowHeight(row: number, startCol: number, endCol: number, table: BaseTableAPI): number {\n let maxHeight = 0;\n for (let col = startCol; col <= endCol; col++) {\n // CustomRender height calculation\n const customHeight = computeCustomRenderHeight(col, row, table);\n if (typeof customHeight === 'number') {\n maxHeight = Math.max(customHeight, maxHeight);\n continue;\n }\n\n // text height calculation\n const textHeight = computeTextHeight(col, row, table);\n maxHeight = Math.max(textHeight, maxHeight);\n }\n return maxHeight;\n}\n\nfunction checkFixedStyleAndNoWrap(table: BaseTableAPI): boolean {\n const { layoutMap } = table.internalProps;\n const row = table.columnHeaderLevelCount;\n for (let col = 0; col < table.colCount; col++) {\n const isHeader = layoutMap.isHeader(col, row);\n const cellDefine = isHeader ? layoutMap.getHeader(col, row) : layoutMap.getBody(col, row);\n if (\n typeof cellDefine.style === 'function' ||\n typeof (cellDefine as ColumnData).icon === 'function' ||\n typeof (cellDefine as HeaderData).headerIcon === 'function' ||\n (isHeader ? cellDefine.define?.headerCustomRender : cellDefine.define?.customRender) ||\n (isHeader ? typeof cellDefine.define?.headerIcon === 'function' : typeof cellDefine.define?.icon === 'function')\n ) {\n return false;\n }\n const cellStyle = table._getCellStyle(col, row);\n if (\n typeof cellStyle.padding === 'function' ||\n typeof cellStyle.fontSize === 'function' ||\n typeof cellStyle.lineHeight === 'function' ||\n cellStyle.autoWrapText === true\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction fillRowsHeight(height: number, startRow: number, endRow: number, table: BaseTableAPI) {\n for (let row = startRow; row <= endRow; row++) {\n table.setRowHeight(row, height);\n }\n}\n\n/**\n * @description: compute customRender height\n * @param {number} col\n * @param {number} row\n * @param {BaseTableAPI} table\n * @return {*}\n */\nfunction computeCustomRenderHeight(col: number, row: number, table: BaseTableAPI): number | undefined {\n const customRender = table.getCustomRender(col, row);\n const customLayout = table.getCustomLayout(col, row);\n if (customRender || customLayout) {\n let spanCol = 1;\n let height = 0;\n if (table.isHeader(col, row) || (table.getBodyColumnDefine(col, row) as TextColumnDefine).mergeCell) {\n const cellRange = table.getCellRange(col, row);\n spanCol = cellRange.end.col - cellRange.start.col + 1;\n }\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row),\n value: table.getCellValue(col, row) || '',\n rect: getCellRect(col, row, table),\n table\n };\n if (customLayout) {\n // 处理customLayout\n const customLayoutObj = customLayout(arg);\n customLayoutObj.rootContainer.isRoot = true;\n const size = customLayoutObj.rootContainer.getContentSize();\n height = size.height ?? 0;\n } else if (typeof customRender === 'function') {\n // 处理customRender\n const customRenderObj = customRender(arg);\n height = customRenderObj?.expectedHeight ?? 0;\n } else {\n height = customRender?.expectedHeight ?? 0;\n }\n return height / spanCol;\n }\n return undefined;\n}\n\n/**\n * @description: compute text height\n * @param {number} col\n * @param {number} row\n * @param {BaseTableAPI} table\n * @return {*}\n */\nfunction computeTextHeight(col: number, row: number, table: BaseTableAPI): number {\n let maxHeight = 0;\n const cellValue = table.getCellValue(col, row);\n // const dataValue = table.getCellOriginValue(col, row);\n const actStyle = table._getCellStyle(col, row);\n let iconHeight = 0;\n let iconWidth = 0;\n const iconInlineFront: ColumnIconOption[] = [];\n let iconInlineFrontHeight = 0;\n const iconInlineEnd: ColumnIconOption[] = [];\n let iconInlineEndHeight = 0;\n const define = table.getBodyColumnDefine(col, row);\n const mayHaveIcon = table.getCellType(col, row) !== 'body' ? true : !!define?.icon || !!define?.tree;\n if (mayHaveIcon) {\n const icons = table.getCellIcons(col, row);\n icons?.forEach(icon => {\n if (\n icon.positionType !== IconPosition.absoluteRight &&\n icon.positionType !== IconPosition.inlineFront &&\n icon.positionType !== IconPosition.inlineEnd\n ) {\n iconWidth += (icon.width ?? 0) + (icon.marginLeft ?? 0) + (icon.marginRight ?? 0);\n iconHeight = Math.max(iconHeight, icon.height ?? 0);\n } else if (icon.positionType === IconPosition.inlineFront) {\n iconInlineFront.push(icon);\n iconInlineFrontHeight = Math.max(\n iconInlineFrontHeight,\n (icon.height ?? 0) + (icon.marginLeft ?? 0) + (icon.marginRight ?? 0)\n );\n } else if (icon.positionType === IconPosition.inlineEnd) {\n iconInlineEnd.push(icon);\n iconInlineEndHeight = Math.max(\n iconInlineEndHeight,\n (icon.height ?? 0) + (icon.marginLeft ?? 0) + (icon.marginRight ?? 0)\n );\n }\n });\n }\n let spanRow = 1;\n if (table.isHeader(col, row) || (table.getBodyColumnDefine(col, row) as TextColumnDefine).mergeCell) {\n const cellRange = table.getCellRange(col, row);\n spanRow = cellRange.end.row - cellRange.start.row + 1;\n }\n\n const padding = getQuadProps(getProp('padding', actStyle, col, row, table));\n const fontSize = getProp('fontSize', actStyle, col, row, table);\n const fontStyle = getProp('fontStyle', actStyle, col, row, table);\n const fontWeight = getProp('fontWeight', actStyle, col, row, table);\n const lineHeight = getProp('lineHeight', actStyle, col, row, table) ?? fontSize;\n const fontFamily = getProp('fontFamily', actStyle, col, row, table);\n const autoWrapText = getProp('autoWrapText', actStyle, col, row, table);\n const lines = validToString(cellValue).split('\\n') || [];\n\n if (iconInlineFront.length || iconInlineEnd.length) {\n // if (autoWrapText) {\n const textOption = Object.assign({\n text: cellValue?.toString(),\n fontFamily,\n fontSize,\n fontStyle,\n fontWeight,\n lineHeight\n });\n textOption.textBaseline = 'middle';\n const textConfig = [\n ...iconInlineFront.map(icon => dealWithRichTextIcon(icon)),\n textOption,\n ...iconInlineEnd.map(icon => dealWithRichTextIcon(icon))\n ];\n utilRichTextMark.setAttributes({\n width: table.getColWidth(col) - (padding[1] + padding[3]) - iconWidth,\n height: 0,\n textConfig\n });\n maxHeight = utilRichTextMark.AABBBounds.height();\n // } else {\n // maxHeight = 0;\n // lines.forEach((line: string, index: number) => {\n // if (index === 0 && iconInlineFront.length) {\n // maxHeight += Math.max(lineHeight, iconInlineFrontHeight);\n // } else if (index === lines.length - 1 && iconInlineEnd.length) {\n // maxHeight += Math.max(lineHeight, iconInlineEndHeight);\n // } else {\n // maxHeight += lineHeight;\n // }\n // });\n // }\n } else if (autoWrapText) {\n const maxLineWidth = table.getColWidth(col) - (padding[1] + padding[3]) - iconWidth;\n utilTextMark.setAttributes({\n maxLineWidth,\n text: lines,\n fontSize,\n fontStyle,\n fontWeight,\n fontFamily\n });\n maxHeight = utilTextMark.AABBBounds.height();\n } else {\n // autoWrapText = false\n maxHeight = lines.length * lineHeight;\n }\n\n return (Math.max(maxHeight, iconHeight) + padding[0] + padding[2]) / spanRow;\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.updateCellHeight = exports.updateCellHeightForColumn = exports.updateCellHeightForRow = exports.updateRowHeight = void 0;
6
6
 
7
- const progress_bar_cell_1 = require("../group-creater/cell-type/progress-bar-cell"), spark_line_cell_1 = require("../group-creater/cell-type/spark-line-cell"), get_cell_merge_1 = require("../utils/get-cell-merge"), get_prop_1 = require("../utils/get-prop"), padding_1 = require("../utils/padding"), text_icon_layout_1 = require("../utils/text-icon-layout"), custom_1 = require("../component/custom"), image_cell_1 = require("../group-creater/cell-type/image-cell");
7
+ const progress_bar_cell_1 = require("../group-creater/cell-type/progress-bar-cell"), spark_line_cell_1 = require("../group-creater/cell-type/spark-line-cell"), get_cell_merge_1 = require("../utils/get-cell-merge"), get_prop_1 = require("../utils/get-prop"), padding_1 = require("../utils/padding"), text_icon_layout_1 = require("../utils/text-icon-layout"), custom_1 = require("../component/custom"), image_cell_1 = require("../group-creater/cell-type/image-cell"), tableHelper_1 = require("../../core/tableHelper");
8
8
 
9
9
  function updateRowHeight(scene, row, detaY) {
10
10
  for (let col = 0; col < scene.table.colCount; col++) {
@@ -62,7 +62,8 @@ function updateCellHeight(scene, cell, col, row, distHeight, detaY, isHeader) {
62
62
  cell.removeAllChild();
63
63
  const headerStyle = scene.table._getCellStyle(col, row), padding = (0, padding_1.getQuadProps)((0,
64
64
  get_prop_1.getProp)("padding", headerStyle, col, row, scene.table));
65
- (0, spark_line_cell_1.createSparkLineCellGroup)(cell, cell.parent, cell.attribute.x, cell.attribute.y, col, row, cell.attribute.width, cell.attribute.height, padding, scene.table);
65
+ (0, spark_line_cell_1.createSparkLineCellGroup)(cell, cell.parent, cell.attribute.x, cell.attribute.y, col, row, cell.attribute.width, cell.attribute.height, padding, scene.table, (0,
66
+ tableHelper_1.getStyleTheme)(headerStyle, scene.table, col, row, get_prop_1.getProp).theme);
66
67
  } else if ("image" === type || "video" === type) (0, image_cell_1.updateImageCellContentWhileResize)(cell, col, row, scene.table); else {
67
68
  const style = scene.table._getCellStyle(col, row);
68
69
  (0, text_icon_layout_1.updateCellContentHeight)(cell, distHeight, detaY, scene.table.internalProps.autoRowHeight, (0,
@@ -1 +1 @@
1
- {"version":3,"sources":["scenegraph/layout/update-height.ts"],"names":[],"mappings":"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","file":"update-height.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport type { Group } from '../graphic/group';\nimport { createProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport { createSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentHeight } from '../utils/text-icon-layout';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport { dealWithCustom } from '../component/custom';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\n\nexport function updateRowHeight(scene: Scenegraph, row: number, detaY: number) {\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.getCell(col, row);\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.start.col !== col) {\n continue;\n }\n const height = cell.attribute.height;\n // cell.setAttribute('height', height);\n // (cell.firstChild as Rect).setAttribute('height', cell.attribute.height);\n updateCellHeightForRow(scene, cell, col, row, height, detaY, scene.table.isHeader(col, row));\n\n scene.updateCellContentWhileResize(col, row);\n }\n\n let rowStart = 0;\n let rowEnd = 0;\n // 更新header 高度\n if (row < scene.table.columnHeaderLevelCount) {\n scene.colHeaderGroup.setAttribute('height', scene.colHeaderGroup.attribute.height + detaY);\n scene.rowHeaderGroup.setAttribute('y', scene.colHeaderGroup.attribute.y + detaY);\n scene.bodyGroup.setAttribute('y', scene.bodyGroup.attribute.y + detaY);\n\n rowStart = row + 1;\n rowEnd = scene.table.columnHeaderLevelCount - 1;\n } else {\n rowStart = row + 1;\n // rowEnd = scene.table.rowCount - 1;\n rowEnd = scene.bodyRowEnd;\n }\n\n // 更新以下行位置\n for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {\n // if (rowIndex === 2) debugger;\n for (let colIndex = 0; colIndex < scene.table.colCount; colIndex++) {\n const cellGroup = scene.getCell(colIndex, rowIndex);\n const mergeInfo = getCellMergeInfo(scene.table, colIndex, rowIndex);\n if (mergeInfo && (mergeInfo.start.col !== colIndex || mergeInfo.start.row !== rowIndex)) {\n continue;\n }\n\n cellGroup.setAttribute('y', cellGroup.attribute.y + detaY);\n }\n }\n\n // 更新table行高存储\n scene.table.setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);\n}\n\n/**\n * @description: 更新单个单元格高度\n * @return {*}\n */\nexport function updateCellHeightForRow(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n // autoRowHeight: boolean\n) {\n let cellGroup;\n let distHeight;\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n // TO BE FIXED 这里使用横向和纵向来判断单元格merge情况,目前没有横纵都merge的情况,\n // 如果有这里的逻辑要修改\n if (mergeInfo && mergeInfo.end.col - mergeInfo.start.col && mergeInfo.start.col === col) {\n // 更新横向merge cell height,只更新一次\n const mergeCell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n const mergeCellheight = mergeCell.attribute.height;\n mergeCell.setAttribute('height', mergeCellheight + detaY);\n\n cellGroup = mergeCell;\n distHeight = mergeCell.attribute.height;\n } else if (mergeInfo) {\n // 更新纵向merge cell width\n cell.setAttribute('height', height + detaY);\n\n cellGroup = cell;\n distHeight = height + detaY;\n } else if (!mergeInfo) {\n cell.setAttribute('height', height + detaY);\n cellGroup = cell;\n distHeight = height + detaY;\n // cell.setTheme({\n // rect: {\n // height: cell.attribute.height,\n // },\n // });\n }\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return;\n }\n\n updateCellHeight(scene, cellGroup, col, row, distHeight, detaY, isHeader);\n}\n\nexport function updateCellHeightForColumn(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n) {\n let cellGroup;\n // let distHeight;\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n cell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n if (row === mergeInfo.start.row) {\n // 初始化高度\n (cell as any)._tempHeight = height;\n return;\n } else if (row === mergeInfo.end.row) {\n cell.setAttribute('height', (cell as any)._tempHeight + height);\n cellGroup = cell;\n height = cell.attribute.height;\n // updateCellHeight(scene, cellGroup, col, row, cell.attribute.height, 0, isHeader);\n } else {\n // 累加高度\n (cell as any)._tempHeight += height;\n return;\n }\n } else if (mergeInfo) {\n cell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n cell.setAttribute('height', height);\n cellGroup = cell;\n\n // const rect = cell.firstChild as Rect;\n // rect.setAttribute('height', cell.attribute.height);\n } else {\n cell.setAttribute('height', height);\n cellGroup = cell;\n }\n updateCellHeight(scene, cellGroup, col, row, height, 0, isHeader);\n}\n\nexport function updateCellHeight(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n distHeight: number,\n detaY: number,\n isHeader: boolean\n) {\n // 更新单元格布局\n const type = scene.table.isHeader(col, row)\n ? scene.table._getHeaderLayoutMap(col, row).headerType\n : scene.table.getBodyColumnType(col, row);\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cell.attribute.width,\n // cell.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table\n );\n\n const oldBarCell = cell.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cell.insertBefore(newBarCell, oldBarCell);\n cell.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cell.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n createSparkLineCellGroup(\n cell,\n cell.parent,\n cell.attribute.x,\n cell.attribute.y,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n padding,\n scene.table\n );\n } else if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cell, col, row, scene.table);\n } else {\n // 处理文字\n const style = scene.table._getCellStyle(col, row);\n updateCellContentHeight(\n cell,\n distHeight,\n detaY,\n scene.table.internalProps.autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n\n // 处理自定义渲染\n const customContainer = cell.getChildByName('custom-container') as Group;\n if (customContainer) {\n customContainer.clear();\n cell.removeChild(customContainer);\n\n let customRender;\n let customLayout;\n const cellType = scene.table.getCellType(col, row);\n if (cellType !== 'body') {\n const define = scene.table.getHeaderDefine(col, row);\n customRender = define?.headerCustomRender;\n customLayout = define?.headerCustomLayout;\n } else {\n const define = scene.table.getBodyColumnDefine(col, row);\n customRender = define?.customRender || scene.table.customRender;\n customLayout = define?.customLayout;\n }\n const customResult = dealWithCustom(\n customLayout,\n customRender,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n false,\n false,\n scene.table\n );\n if (cell.childrenCount > 0) {\n cell.insertBefore(customResult.elementsGroup, cell.firstChild);\n } else {\n cell.appendChild(customResult.elementsGroup);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["scenegraph/layout/update-height.ts"],"names":[],"mappings":"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","file":"update-height.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport type { Group } from '../graphic/group';\nimport { createProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport { createSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentHeight } from '../utils/text-icon-layout';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport { dealWithCustom } from '../component/custom';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\nimport { getStyleTheme } from '../../core/tableHelper';\n\nexport function updateRowHeight(scene: Scenegraph, row: number, detaY: number) {\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.getCell(col, row);\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.start.col !== col) {\n continue;\n }\n const height = cell.attribute.height;\n // cell.setAttribute('height', height);\n // (cell.firstChild as Rect).setAttribute('height', cell.attribute.height);\n updateCellHeightForRow(scene, cell, col, row, height, detaY, scene.table.isHeader(col, row));\n\n scene.updateCellContentWhileResize(col, row);\n }\n\n let rowStart = 0;\n let rowEnd = 0;\n // 更新header 高度\n if (row < scene.table.columnHeaderLevelCount) {\n scene.colHeaderGroup.setAttribute('height', scene.colHeaderGroup.attribute.height + detaY);\n scene.rowHeaderGroup.setAttribute('y', scene.colHeaderGroup.attribute.y + detaY);\n scene.bodyGroup.setAttribute('y', scene.bodyGroup.attribute.y + detaY);\n\n rowStart = row + 1;\n rowEnd = scene.table.columnHeaderLevelCount - 1;\n } else {\n rowStart = row + 1;\n // rowEnd = scene.table.rowCount - 1;\n rowEnd = scene.bodyRowEnd;\n }\n\n // 更新以下行位置\n for (let rowIndex = rowStart; rowIndex <= rowEnd; rowIndex++) {\n // if (rowIndex === 2) debugger;\n for (let colIndex = 0; colIndex < scene.table.colCount; colIndex++) {\n const cellGroup = scene.getCell(colIndex, rowIndex);\n const mergeInfo = getCellMergeInfo(scene.table, colIndex, rowIndex);\n if (mergeInfo && (mergeInfo.start.col !== colIndex || mergeInfo.start.row !== rowIndex)) {\n continue;\n }\n\n cellGroup.setAttribute('y', cellGroup.attribute.y + detaY);\n }\n }\n\n // 更新table行高存储\n scene.table.setRowHeight(row, scene.table.getRowHeight(row) + detaY, true);\n}\n\n/**\n * @description: 更新单个单元格高度\n * @return {*}\n */\nexport function updateCellHeightForRow(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n // autoRowHeight: boolean\n) {\n let cellGroup;\n let distHeight;\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n // TO BE FIXED 这里使用横向和纵向来判断单元格merge情况,目前没有横纵都merge的情况,\n // 如果有这里的逻辑要修改\n if (mergeInfo && mergeInfo.end.col - mergeInfo.start.col && mergeInfo.start.col === col) {\n // 更新横向merge cell height,只更新一次\n const mergeCell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n const mergeCellheight = mergeCell.attribute.height;\n mergeCell.setAttribute('height', mergeCellheight + detaY);\n\n cellGroup = mergeCell;\n distHeight = mergeCell.attribute.height;\n } else if (mergeInfo) {\n // 更新纵向merge cell width\n cell.setAttribute('height', height + detaY);\n\n cellGroup = cell;\n distHeight = height + detaY;\n } else if (!mergeInfo) {\n cell.setAttribute('height', height + detaY);\n cellGroup = cell;\n distHeight = height + detaY;\n // cell.setTheme({\n // rect: {\n // height: cell.attribute.height,\n // },\n // });\n }\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return;\n }\n\n updateCellHeight(scene, cellGroup, col, row, distHeight, detaY, isHeader);\n}\n\nexport function updateCellHeightForColumn(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n height: number,\n detaY: number,\n isHeader: boolean\n) {\n let cellGroup;\n // let distHeight;\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n cell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n if (row === mergeInfo.start.row) {\n // 初始化高度\n (cell as any)._tempHeight = height;\n return;\n } else if (row === mergeInfo.end.row) {\n cell.setAttribute('height', (cell as any)._tempHeight + height);\n cellGroup = cell;\n height = cell.attribute.height;\n // updateCellHeight(scene, cellGroup, col, row, cell.attribute.height, 0, isHeader);\n } else {\n // 累加高度\n (cell as any)._tempHeight += height;\n return;\n }\n } else if (mergeInfo) {\n cell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n cell.setAttribute('height', height);\n cellGroup = cell;\n\n // const rect = cell.firstChild as Rect;\n // rect.setAttribute('height', cell.attribute.height);\n } else {\n cell.setAttribute('height', height);\n cellGroup = cell;\n }\n updateCellHeight(scene, cellGroup, col, row, height, 0, isHeader);\n}\n\nexport function updateCellHeight(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n distHeight: number,\n detaY: number,\n isHeader: boolean\n) {\n // 更新单元格布局\n const type = scene.table.isHeader(col, row)\n ? scene.table._getHeaderLayoutMap(col, row).headerType\n : scene.table.getBodyColumnType(col, row);\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cell.attribute.width,\n // cell.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table\n );\n\n const oldBarCell = cell.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cell.insertBefore(newBarCell, oldBarCell);\n cell.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cell.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n createSparkLineCellGroup(\n cell,\n cell.parent,\n cell.attribute.x,\n cell.attribute.y,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n padding,\n scene.table,\n getStyleTheme(headerStyle, scene.table, col, row, getProp).theme\n );\n } else if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cell, col, row, scene.table);\n } else {\n // 处理文字\n const style = scene.table._getCellStyle(col, row);\n updateCellContentHeight(\n cell,\n distHeight,\n detaY,\n scene.table.internalProps.autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline\n );\n\n // 处理自定义渲染\n const customContainer = cell.getChildByName('custom-container') as Group;\n if (customContainer) {\n customContainer.clear();\n cell.removeChild(customContainer);\n\n let customRender;\n let customLayout;\n const cellType = scene.table.getCellType(col, row);\n if (cellType !== 'body') {\n const define = scene.table.getHeaderDefine(col, row);\n customRender = define?.headerCustomRender;\n customLayout = define?.headerCustomLayout;\n } else {\n const define = scene.table.getBodyColumnDefine(col, row);\n customRender = define?.customRender || scene.table.customRender;\n customLayout = define?.customLayout;\n }\n const customResult = dealWithCustom(\n customLayout,\n customRender,\n col,\n row,\n cell.attribute.width,\n cell.attribute.height,\n false,\n false,\n scene.table\n );\n if (cell.childrenCount > 0) {\n cell.insertBefore(customResult.elementsGroup, cell.firstChild);\n } else {\n cell.appendChild(customResult.elementsGroup);\n }\n }\n }\n}\n"]}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.updateColWidth = void 0;
6
6
 
7
- const image_cell_1 = require("../group-creater/cell-type/image-cell"), progress_bar_cell_1 = require("../group-creater/cell-type/progress-bar-cell"), spark_line_cell_1 = require("../group-creater/cell-type/spark-line-cell"), get_cell_merge_1 = require("../utils/get-cell-merge"), get_prop_1 = require("../utils/get-prop"), padding_1 = require("../utils/padding"), text_icon_layout_1 = require("../utils/text-icon-layout"), update_height_1 = require("./update-height");
7
+ const tableHelper_1 = require("../../core/tableHelper"), image_cell_1 = require("../group-creater/cell-type/image-cell"), progress_bar_cell_1 = require("../group-creater/cell-type/progress-bar-cell"), spark_line_cell_1 = require("../group-creater/cell-type/spark-line-cell"), get_cell_merge_1 = require("../utils/get-cell-merge"), get_prop_1 = require("../utils/get-prop"), padding_1 = require("../utils/padding"), text_icon_layout_1 = require("../utils/text-icon-layout"), update_height_1 = require("./update-height");
8
8
 
9
9
  function updateColWidth(scene, col, detaX) {
10
10
  const {autoRowHeight: autoRowHeight} = scene.table.internalProps;
@@ -82,7 +82,8 @@ function updateCellWidth(scene, cell, col, row, width, detaX, isHeader, autoRowH
82
82
  cellGroup.removeAllChild();
83
83
  const headerStyle = scene.table._getCellStyle(col, row), padding = (0, padding_1.getQuadProps)((0,
84
84
  get_prop_1.getProp)("padding", headerStyle, col, row, scene.table));
85
- (0, spark_line_cell_1.createSparkLineCellGroup)(cellGroup, cellGroup.parent, cellGroup.attribute.x, cellGroup.attribute.y, col, row, cellGroup.attribute.width, cellGroup.attribute.height, padding, scene.table);
85
+ (0, spark_line_cell_1.createSparkLineCellGroup)(cellGroup, cellGroup.parent, cellGroup.attribute.x, cellGroup.attribute.y, col, row, cellGroup.attribute.width, cellGroup.attribute.height, padding, scene.table, (0,
86
+ tableHelper_1.getStyleTheme)(headerStyle, scene.table, col, row, get_prop_1.getProp).theme);
86
87
  } else if ("image" === type || "video" === type) (0, image_cell_1.updateImageCellContentWhileResize)(cellGroup, col, row, scene.table); else {
87
88
  const style = scene.table._getCellStyle(col, row);
88
89
  isHeightChange = (0, text_icon_layout_1.updateCellContentWidth)(cellGroup, distWidth, detaX, autoRowHeight, (0,
@@ -1 +1 @@
1
- {"version":3,"sources":["scenegraph/layout/update-width.ts"],"names":[],"mappings":"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","file":"update-width.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport type { Group } from '../graphic/group';\nimport type { Icon } from '../graphic/icon';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\nimport { createProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport { createSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentWidth } from '../utils/text-icon-layout';\nimport { updateCellHeightForRow } from './update-height';\n// import { updateAutoRowHeight } from './auto-height';\n\n/**\n * @description: 更新指定列列宽,在拖拽调整列宽中使用\n * @param {Scenegraph} scene\n * @param {number} col\n * @param {number} detaX\n * @return {*}\n */\nexport function updateColWidth(scene: Scenegraph, col: number, detaX: number) {\n // getColWidth会进行Math.round,所以先从colWidthsMap获取:\n // 如果是数值,直接使用;如果不是,则通过getColWidth获取像素值\n // const widthCache = (scene.table as any).colWidthsMap.get(col);\n // let width = 0;\n // if (typeof widthCache === 'number') {\n // width = widthCache;\n // } else {\n // width = scene.table.getColWidth(col);\n // }\n\n const { autoRowHeight } = scene.table.internalProps;\n let needRerangeRow = false;\n const colOrCornerHeaderColumn = scene.getColGroup(col, true) as Group;\n const oldColOrCornerHeaderColumnWidth = colOrCornerHeaderColumn?.attribute.width;\n colOrCornerHeaderColumn?.setAttribute('width', oldColOrCornerHeaderColumnWidth + detaX);\n // 更新单元格宽度\n colOrCornerHeaderColumn?.forEachChildren((cell: Group, index: number) => {\n const isHeightChange = updateCellWidth(\n scene,\n cell,\n col,\n // index,\n cell.row,\n oldColOrCornerHeaderColumnWidth,\n detaX,\n // true\n index < scene.table.columnHeaderLevelCount,\n autoRowHeight\n );\n if (isHeightChange) {\n const mergeInfo = getCellMergeInfo(scene.table, cell.col, cell.row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n for (let row = mergeInfo.start.row; row <= mergeInfo.end.row; row++) {\n resetRowHeight(scene, row);\n }\n } else {\n resetRowHeight(scene, cell.row);\n }\n needRerangeRow = true;\n }\n });\n\n if (needRerangeRow) {\n let newTotalHeight = 0;\n for (let col = 0; col < scene.table.colCount; col++) {\n const colGroup = scene.getColGroup(col, true);\n let y = 0;\n colGroup.forEachChildren((cellGroup: Group) => {\n if (cellGroup.role !== 'cell') {\n return;\n }\n cellGroup.setAttribute('y', y);\n y += cellGroup.attribute.height;\n });\n newTotalHeight = y;\n }\n scene.updateContainerHeight(0, newTotalHeight - scene.colHeaderGroup.attribute.height);\n }\n\n needRerangeRow = false;\n const rowHeaderOrBodyColumn = scene.getColGroup(col) as Group;\n const oldRowHeaderOrBodyColumn = rowHeaderOrBodyColumn.attribute.width;\n rowHeaderOrBodyColumn?.setAttribute('width', oldRowHeaderOrBodyColumn + detaX);\n rowHeaderOrBodyColumn?.forEachChildren((cell: Group, index: number) => {\n const isHeightChange = updateCellWidth(\n scene,\n cell,\n // col + (!isRowHeader ? scene.table.frozenColCount : 0),\n cell.col,\n // index + scene.table.frozenRowCount,\n cell.row,\n oldRowHeaderOrBodyColumn,\n detaX,\n // isRowHeader\n col < scene.table.rowHeaderLevelCount,\n autoRowHeight\n );\n if (isHeightChange) {\n const mergeInfo = getCellMergeInfo(scene.table, cell.col, cell.row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n for (let row = mergeInfo.start.row; row <= mergeInfo.end.row; row++) {\n resetRowHeight(scene, row);\n }\n } else {\n resetRowHeight(scene, cell.row);\n }\n needRerangeRow = true;\n }\n });\n\n if (needRerangeRow) {\n let newTotalHeight = 0;\n for (let col = 0; col < scene.table.colCount; col++) {\n const colGroup = scene.getColGroup(col, false);\n let y = 0;\n colGroup.forEachChildren((cellGroup: Group) => {\n if (cellGroup.role !== 'cell') {\n return;\n }\n cellGroup.setAttribute('y', y);\n y += cellGroup.attribute.height;\n });\n newTotalHeight = y;\n }\n scene.updateContainerHeight(scene.table.frozenRowCount, newTotalHeight - scene.bodyGroup.attribute.height);\n }\n\n // 更新剩余列位置\n if (col < scene.frozenColCount) {\n scene.cornerHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n scene.rowHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n } else {\n scene.colHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n scene.bodyGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n }\n\n scene.table.setColWidth(col, rowHeaderOrBodyColumn.attribute.width, true);\n}\n\n/**\n * @description: 更新单个单元格宽度\n * @return {*}\n */\nfunction updateCellWidth(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n width: number, // old width, not dist\n detaX: number,\n isHeader: boolean,\n // autoColWidth: boolean,\n autoRowHeight: boolean\n): boolean {\n let cellGroup;\n let distWidth;\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n // TO BE FIXED 这里使用横向和纵向来判断单元格merge情况,目前没有横纵都merge的情况,\n // 如果有这里的逻辑要修改\n if (mergeInfo && mergeInfo.end.col - mergeInfo.start.col) {\n // 更新横向merge cell width\n const mergeCell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n const mergeCellWidth = mergeCell.attribute.width;\n mergeCell.setAttribute('width', mergeCellWidth + detaX);\n\n cellGroup = mergeCell;\n distWidth = mergeCell.attribute.width;\n col = cellGroup.col;\n row = cellGroup.row;\n } else if (mergeInfo && mergeInfo.start.row === row) {\n // 更新纵向merge cell width,只更新一次\n cell.setAttribute('width', width + detaX);\n\n cellGroup = cell;\n distWidth = width + detaX;\n col = cellGroup.col;\n row = cellGroup.row;\n } else if (!mergeInfo) {\n cell.setAttribute('width', width + detaX);\n cellGroup = cell;\n distWidth = width + detaX;\n }\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return false;\n }\n\n // 更新单元格布局\n const type = scene.table.isHeader(col, row)\n ? scene.table._getHeaderLayoutMap(col, row).headerType\n : scene.table.getBodyColumnType(col, row);\n let isHeightChange = false;\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cellGroup.attribute.width,\n // cellGroup.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table\n );\n\n const oldBarCell = cellGroup.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cellGroup.insertBefore(newBarCell, oldBarCell);\n cellGroup.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cellGroup.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n createSparkLineCellGroup(\n cellGroup,\n cellGroup.parent,\n cellGroup.attribute.x,\n cellGroup.attribute.y,\n col,\n row,\n cellGroup.attribute.width,\n cellGroup.attribute.height,\n padding,\n scene.table\n );\n } else if (type === 'image' || type === 'video') {\n // // 只更新背景边框\n // const rect = cell.firstChild as Rect;\n // rect.setAttribute('width', cell.attribute.width);\n updateImageCellContentWhileResize(cellGroup, col, row, scene.table);\n } else {\n // 处理文字\n const style = scene.table._getCellStyle(col, row);\n isHeightChange = updateCellContentWidth(\n cellGroup,\n distWidth,\n detaX,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline,\n scene\n );\n }\n\n return isHeightChange;\n}\n\n/**\n * @description: 重置指定行行高\n * @param {Scenegraph} scene\n * @param {number} row\n * @return {*}\n */\nfunction resetRowHeight(scene: Scenegraph, row: number) {\n let maxHeight = 0;\n // 获取高度\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.highPerformanceGetCell(col, row);\n let cellHeight = getCleanCellHeight(cell, scene);\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n cellHeight = cellHeight / (mergeInfo.end.row - mergeInfo.start.row + 1);\n }\n maxHeight = Math.max(maxHeight, cellHeight);\n }\n\n // 更新高度\n for (let col = 0; col < scene.table.colCount; col++) {\n let distHeight = maxHeight;\n const cell = scene.highPerformanceGetCell(col, row);\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n for (let rowIndex = mergeInfo.start.row; rowIndex <= mergeInfo.end.row; rowIndex++) {\n if (rowIndex !== row) {\n distHeight += scene.table.getRowHeight(rowIndex);\n }\n }\n }\n updateCellHeightForRow(scene, cell, col, row, distHeight, 0, scene.table.isHeader(col, row));\n }\n\n // 更新table行高存储\n scene.table.setRowHeight(row, maxHeight, true);\n}\n\nfunction getCleanCellHeight(cell: Group, scene: Scenegraph) {\n let maxHeight = 0;\n cell.forEachChildren((child: Icon) => {\n if (\n child.role === 'icon-left' ||\n child.role === 'icon-right' ||\n child.name === 'text' ||\n child.name === 'content'\n ) {\n maxHeight = Math.max(maxHeight, child.AABBBounds.height());\n }\n });\n\n const padding = getQuadProps(scene.table._getCellStyle(cell.col, cell.row).padding as number);\n return maxHeight + padding[0] + padding[2];\n}\n"]}
1
+ {"version":3,"sources":["scenegraph/layout/update-width.ts"],"names":[],"mappings":"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","file":"update-width.js","sourcesContent":["import type { ProgressBarStyle } from '../../body-helper/style/ProgressBarStyle';\nimport { getStyleTheme } from '../../core/tableHelper';\nimport type { IProgressbarColumnBodyDefine } from '../../ts-types/list-table/define/progressbar-define';\nimport type { Group } from '../graphic/group';\nimport type { Icon } from '../graphic/icon';\nimport { updateImageCellContentWhileResize } from '../group-creater/cell-type/image-cell';\nimport { createProgressBarCell } from '../group-creater/cell-type/progress-bar-cell';\nimport { createSparkLineCellGroup } from '../group-creater/cell-type/spark-line-cell';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport { getProp } from '../utils/get-prop';\nimport { getQuadProps } from '../utils/padding';\nimport { updateCellContentWidth } from '../utils/text-icon-layout';\nimport { updateCellHeightForRow } from './update-height';\n// import { updateAutoRowHeight } from './auto-height';\n\n/**\n * @description: 更新指定列列宽,在拖拽调整列宽中使用\n * @param {Scenegraph} scene\n * @param {number} col\n * @param {number} detaX\n * @return {*}\n */\nexport function updateColWidth(scene: Scenegraph, col: number, detaX: number) {\n // getColWidth会进行Math.round,所以先从colWidthsMap获取:\n // 如果是数值,直接使用;如果不是,则通过getColWidth获取像素值\n // const widthCache = (scene.table as any).colWidthsMap.get(col);\n // let width = 0;\n // if (typeof widthCache === 'number') {\n // width = widthCache;\n // } else {\n // width = scene.table.getColWidth(col);\n // }\n\n const { autoRowHeight } = scene.table.internalProps;\n let needRerangeRow = false;\n const colOrCornerHeaderColumn = scene.getColGroup(col, true) as Group;\n const oldColOrCornerHeaderColumnWidth = colOrCornerHeaderColumn?.attribute.width;\n colOrCornerHeaderColumn?.setAttribute('width', oldColOrCornerHeaderColumnWidth + detaX);\n // 更新单元格宽度\n colOrCornerHeaderColumn?.forEachChildren((cell: Group, index: number) => {\n const isHeightChange = updateCellWidth(\n scene,\n cell,\n col,\n // index,\n cell.row,\n oldColOrCornerHeaderColumnWidth,\n detaX,\n // true\n index < scene.table.columnHeaderLevelCount,\n autoRowHeight\n );\n if (isHeightChange) {\n const mergeInfo = getCellMergeInfo(scene.table, cell.col, cell.row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n for (let row = mergeInfo.start.row; row <= mergeInfo.end.row; row++) {\n resetRowHeight(scene, row);\n }\n } else {\n resetRowHeight(scene, cell.row);\n }\n needRerangeRow = true;\n }\n });\n\n if (needRerangeRow) {\n let newTotalHeight = 0;\n for (let col = 0; col < scene.table.colCount; col++) {\n const colGroup = scene.getColGroup(col, true);\n let y = 0;\n colGroup.forEachChildren((cellGroup: Group) => {\n if (cellGroup.role !== 'cell') {\n return;\n }\n cellGroup.setAttribute('y', y);\n y += cellGroup.attribute.height;\n });\n newTotalHeight = y;\n }\n scene.updateContainerHeight(0, newTotalHeight - scene.colHeaderGroup.attribute.height);\n }\n\n needRerangeRow = false;\n const rowHeaderOrBodyColumn = scene.getColGroup(col) as Group;\n const oldRowHeaderOrBodyColumn = rowHeaderOrBodyColumn.attribute.width;\n rowHeaderOrBodyColumn?.setAttribute('width', oldRowHeaderOrBodyColumn + detaX);\n rowHeaderOrBodyColumn?.forEachChildren((cell: Group, index: number) => {\n const isHeightChange = updateCellWidth(\n scene,\n cell,\n // col + (!isRowHeader ? scene.table.frozenColCount : 0),\n cell.col,\n // index + scene.table.frozenRowCount,\n cell.row,\n oldRowHeaderOrBodyColumn,\n detaX,\n // isRowHeader\n col < scene.table.rowHeaderLevelCount,\n autoRowHeight\n );\n if (isHeightChange) {\n const mergeInfo = getCellMergeInfo(scene.table, cell.col, cell.row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n for (let row = mergeInfo.start.row; row <= mergeInfo.end.row; row++) {\n resetRowHeight(scene, row);\n }\n } else {\n resetRowHeight(scene, cell.row);\n }\n needRerangeRow = true;\n }\n });\n\n if (needRerangeRow) {\n let newTotalHeight = 0;\n for (let col = 0; col < scene.table.colCount; col++) {\n const colGroup = scene.getColGroup(col, false);\n let y = 0;\n colGroup.forEachChildren((cellGroup: Group) => {\n if (cellGroup.role !== 'cell') {\n return;\n }\n cellGroup.setAttribute('y', y);\n y += cellGroup.attribute.height;\n });\n newTotalHeight = y;\n }\n scene.updateContainerHeight(scene.table.frozenRowCount, newTotalHeight - scene.bodyGroup.attribute.height);\n }\n\n // 更新剩余列位置\n if (col < scene.frozenColCount) {\n scene.cornerHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n scene.rowHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n } else {\n scene.colHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n scene.bodyGroup.forEachChildrenSkipChild((column: Group, index) => {\n if (column.col > col) {\n column.setAttribute('x', column.attribute.x + detaX);\n }\n });\n }\n\n scene.table.setColWidth(col, rowHeaderOrBodyColumn.attribute.width, true);\n}\n\n/**\n * @description: 更新单个单元格宽度\n * @return {*}\n */\nfunction updateCellWidth(\n scene: Scenegraph,\n cell: Group,\n col: number,\n row: number,\n width: number, // old width, not dist\n detaX: number,\n isHeader: boolean,\n // autoColWidth: boolean,\n autoRowHeight: boolean\n): boolean {\n let cellGroup;\n let distWidth;\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n // TO BE FIXED 这里使用横向和纵向来判断单元格merge情况,目前没有横纵都merge的情况,\n // 如果有这里的逻辑要修改\n if (mergeInfo && mergeInfo.end.col - mergeInfo.start.col) {\n // 更新横向merge cell width\n const mergeCell = scene.getCell(mergeInfo.start.col, mergeInfo.start.row);\n const mergeCellWidth = mergeCell.attribute.width;\n mergeCell.setAttribute('width', mergeCellWidth + detaX);\n\n cellGroup = mergeCell;\n distWidth = mergeCell.attribute.width;\n col = cellGroup.col;\n row = cellGroup.row;\n } else if (mergeInfo && mergeInfo.start.row === row) {\n // 更新纵向merge cell width,只更新一次\n cell.setAttribute('width', width + detaX);\n\n cellGroup = cell;\n distWidth = width + detaX;\n col = cellGroup.col;\n row = cellGroup.row;\n } else if (!mergeInfo) {\n cell.setAttribute('width', width + detaX);\n cellGroup = cell;\n distWidth = width + detaX;\n }\n\n if (!cellGroup) {\n // 合并单元格非主单元格,不处理\n return false;\n }\n\n // 更新单元格布局\n const type = scene.table.isHeader(col, row)\n ? scene.table._getHeaderLayoutMap(col, row).headerType\n : scene.table.getBodyColumnType(col, row);\n let isHeightChange = false;\n if (type === 'progressbar') {\n // 目前先采用重新生成节点的方案\n const columnDefine = scene.table.getBodyColumnDefine(col, row) as IProgressbarColumnBodyDefine;\n const style = scene.table._getCellStyle(col, row) as ProgressBarStyle;\n const value = scene.table.getCellValue(col, row);\n const dataValue = scene.table.getCellOriginValue(col, row);\n const padding = getQuadProps(getProp('padding', style, col, row, scene.table));\n\n const newBarCell = createProgressBarCell(\n columnDefine,\n style,\n cellGroup.attribute.width,\n // cellGroup.attribute.height,\n value,\n dataValue,\n col,\n row,\n padding,\n scene.table\n );\n\n const oldBarCell = cellGroup.getChildByName('progress-bar') as Group;\n // cell.replaceChild(newBarCell, oldBarCell);\n cellGroup.insertBefore(newBarCell, oldBarCell);\n cellGroup.removeChild(oldBarCell);\n oldBarCell.removeAllChild();\n oldBarCell.release();\n } else if (type === 'sparkline') {\n // 目前先采用重新生成节点的方案\n cellGroup.removeAllChild();\n const headerStyle = scene.table._getCellStyle(col, row);\n const padding = getQuadProps(getProp('padding', headerStyle, col, row, scene.table));\n createSparkLineCellGroup(\n cellGroup,\n cellGroup.parent,\n cellGroup.attribute.x,\n cellGroup.attribute.y,\n col,\n row,\n cellGroup.attribute.width,\n cellGroup.attribute.height,\n padding,\n scene.table,\n getStyleTheme(headerStyle, scene.table, col, row, getProp).theme\n );\n } else if (type === 'image' || type === 'video') {\n // // 只更新背景边框\n // const rect = cell.firstChild as Rect;\n // rect.setAttribute('width', cell.attribute.width);\n updateImageCellContentWhileResize(cellGroup, col, row, scene.table);\n } else {\n // 处理文字\n const style = scene.table._getCellStyle(col, row);\n isHeightChange = updateCellContentWidth(\n cellGroup,\n distWidth,\n detaX,\n autoRowHeight,\n getQuadProps(style.padding as number),\n style.textAlign,\n style.textBaseline,\n scene\n );\n }\n\n return isHeightChange;\n}\n\n/**\n * @description: 重置指定行行高\n * @param {Scenegraph} scene\n * @param {number} row\n * @return {*}\n */\nfunction resetRowHeight(scene: Scenegraph, row: number) {\n let maxHeight = 0;\n // 获取高度\n for (let col = 0; col < scene.table.colCount; col++) {\n const cell = scene.highPerformanceGetCell(col, row);\n let cellHeight = getCleanCellHeight(cell, scene);\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n cellHeight = cellHeight / (mergeInfo.end.row - mergeInfo.start.row + 1);\n }\n maxHeight = Math.max(maxHeight, cellHeight);\n }\n\n // 更新高度\n for (let col = 0; col < scene.table.colCount; col++) {\n let distHeight = maxHeight;\n const cell = scene.highPerformanceGetCell(col, row);\n const mergeInfo = getCellMergeInfo(scene.table, col, row);\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n for (let rowIndex = mergeInfo.start.row; rowIndex <= mergeInfo.end.row; rowIndex++) {\n if (rowIndex !== row) {\n distHeight += scene.table.getRowHeight(rowIndex);\n }\n }\n }\n updateCellHeightForRow(scene, cell, col, row, distHeight, 0, scene.table.isHeader(col, row));\n }\n\n // 更新table行高存储\n scene.table.setRowHeight(row, maxHeight, true);\n}\n\nfunction getCleanCellHeight(cell: Group, scene: Scenegraph) {\n let maxHeight = 0;\n cell.forEachChildren((child: Icon) => {\n if (\n child.role === 'icon-left' ||\n child.role === 'icon-right' ||\n child.name === 'text' ||\n child.name === 'content'\n ) {\n maxHeight = Math.max(maxHeight, child.AABBBounds.height());\n }\n });\n\n const padding = getQuadProps(scene.table._getCellStyle(cell.col, cell.row).padding as number);\n return maxHeight + padding[0] + padding[2];\n}\n"]}
@@ -49,14 +49,11 @@ export declare class Scenegraph {
49
49
  clearCells(): void;
50
50
  createComponent(): void;
51
51
  createSceneGraph(): void;
52
- createHeaderSceneGraph(): void;
53
- createBodySceneGraph(): void;
54
- createBodySceneGraphForFirstScreen(): void;
55
52
  renderSceneGraph(): void;
56
53
  getCellOld(col: number, row: number): Group;
57
54
  getColGroupOld(col: number, isHeader?: boolean): Group;
58
55
  getCell(col: number, row: number, getShadow?: boolean): Group;
59
- highPerformanceGetCell(col: number, row: number): Group;
56
+ highPerformanceGetCell(col: number, row: number, getShadow?: boolean): Group;
60
57
  getColGroup(col: number, isCornerOrColHeader?: boolean): Group;
61
58
  getCellSize(col: number, row: number): {
62
59
  width: number;
@@ -83,6 +80,7 @@ export declare class Scenegraph {
83
80
  updateChartSize(col: number): void;
84
81
  updateAutoColWidth(col: number): void;
85
82
  recalculateColWidths(): void;
83
+ recalculateRowHeights(): void;
86
84
  resize(): void;
87
85
  updateTableSize(): void;
88
86
  updateRowHeight(row: number, detaY: number): void;
@@ -93,6 +91,7 @@ export declare class Scenegraph {
93
91
  setX(x: number): void;
94
92
  setY(y: number): void;
95
93
  setBodyAndRowHeaderY(y: number): void;
94
+ setBodyAndColHeaderX(x: number): void;
96
95
  afterScenegraphCreated(): void;
97
96
  dealWidthMode(): void;
98
97
  dealFrozen(): void;
@@ -115,7 +114,7 @@ export declare class Scenegraph {
115
114
  sortCell(): void;
116
115
  getCellOverflowText(col: number, row: number): string | null;
117
116
  updateDrill(visible: boolean, x: number, y: number, drillDown: boolean, drillUp: boolean): void;
118
- updateCellContent(col: number, row: number): void;
117
+ updateCellContent(col: number, row: number): Group;
119
118
  setPixelRatio(pixelRatio: number): void;
120
119
  updateHierarchyIcon(col: number, row: number): void;
121
120
  updateRow(removeCells: CellAddress[], addCells: CellAddress[]): void;