@visactor/vtable 1.6.0-alpha.4 → 1.6.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 (341) hide show
  1. package/cjs/ListTable-all.js +5 -5
  2. package/cjs/ListTable-all.js.map +1 -1
  3. package/cjs/ListTable.d.ts +3 -0
  4. package/cjs/ListTable.js +42 -285
  5. package/cjs/ListTable.js.map +1 -1
  6. package/cjs/PivotChart.d.ts +1 -0
  7. package/cjs/PivotChart.js +4 -0
  8. package/cjs/PivotChart.js.map +1 -1
  9. package/cjs/PivotTable.js +1 -1
  10. package/cjs/PivotTable.js.map +1 -1
  11. package/cjs/components/axis/axis.js +3 -2
  12. package/cjs/components/axis/axis.js.map +1 -1
  13. package/cjs/components/legend/discrete-legend/discrete-legend.js +2 -1
  14. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  15. package/cjs/components/title/title.js +3 -1
  16. package/cjs/components/title/title.js.map +1 -1
  17. package/cjs/core/BaseTable.d.ts +8 -5
  18. package/cjs/core/BaseTable.js +57 -111
  19. package/cjs/core/BaseTable.js.map +1 -1
  20. package/cjs/core/FouseInput.d.ts +1 -0
  21. package/cjs/core/FouseInput.js +5 -2
  22. package/cjs/core/FouseInput.js.map +1 -1
  23. package/cjs/core/group-helper.d.ts +6 -0
  24. package/cjs/core/group-helper.js +22 -0
  25. package/cjs/core/group-helper.js.map +1 -0
  26. package/cjs/core/record-helper.d.ts +8 -0
  27. package/cjs/core/record-helper.js +337 -0
  28. package/cjs/core/record-helper.js.map +1 -0
  29. package/cjs/core/style-helper.d.ts +3 -0
  30. package/cjs/core/style-helper.js +110 -0
  31. package/cjs/core/style-helper.js.map +1 -0
  32. package/cjs/core/style.js +1 -1
  33. package/cjs/core/style.js.map +1 -1
  34. package/cjs/core/tableHelper.d.ts +3 -5
  35. package/cjs/core/tableHelper.js +18 -23
  36. package/cjs/core/tableHelper.js.map +1 -1
  37. package/cjs/core/utils/get-cell-position.d.ts +5 -25
  38. package/cjs/core/utils/get-cell-position.js.map +1 -1
  39. package/cjs/data/CachedDataSource.d.ts +10 -1
  40. package/cjs/data/CachedDataSource.js +102 -3
  41. package/cjs/data/CachedDataSource.js.map +1 -1
  42. package/cjs/dataset/dataset-pivot-table.js +0 -1
  43. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  44. package/cjs/dataset/dataset.js +0 -1
  45. package/cjs/edit/edit-manager.js +2 -1
  46. package/cjs/event/event.js +5 -2
  47. package/cjs/event/event.js.map +1 -1
  48. package/cjs/event/listener/container-dom.js +2 -2
  49. package/cjs/event/listener/container-dom.js.map +1 -1
  50. package/cjs/event/listener/table-group.js +4 -6
  51. package/cjs/event/listener/table-group.js.map +1 -1
  52. package/cjs/event/util.js +2 -2
  53. package/cjs/event/util.js.map +1 -1
  54. package/cjs/index.d.ts +5 -3
  55. package/cjs/index.js +25 -2
  56. package/cjs/index.js.map +1 -1
  57. package/cjs/layout/cell-range/simple-cell-range.d.ts +4 -0
  58. package/cjs/layout/cell-range/simple-cell-range.js +106 -0
  59. package/cjs/layout/cell-range/simple-cell-range.js.map +1 -0
  60. package/cjs/layout/layout-helper.js +2 -2
  61. package/cjs/layout/layout-helper.js.map +1 -1
  62. package/cjs/layout/pivot-header-layout.js +20 -19
  63. package/cjs/layout/pivot-header-layout.js.map +1 -1
  64. package/cjs/layout/row-height-map.js +1 -0
  65. package/cjs/layout/simple-header-layout.d.ts +1 -2
  66. package/cjs/layout/simple-header-layout.js +6 -90
  67. package/cjs/layout/simple-header-layout.js.map +1 -1
  68. package/cjs/plugins/icons.js +1 -1
  69. package/cjs/plugins/list-tree-stick-cell.d.ts +16 -0
  70. package/cjs/plugins/list-tree-stick-cell.js +178 -0
  71. package/cjs/plugins/list-tree-stick-cell.js.map +1 -0
  72. package/cjs/plugins/themes.js +1 -1
  73. package/cjs/scenegraph/component/custom.js +1 -1
  74. package/cjs/scenegraph/component/custom.js.map +1 -1
  75. package/cjs/scenegraph/component/table-component.js +14 -18
  76. package/cjs/scenegraph/component/table-component.js.map +1 -1
  77. package/cjs/scenegraph/debug-tool/debug-tool.js +4 -1
  78. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  79. package/cjs/scenegraph/graphic/chart.d.ts +1 -0
  80. package/cjs/scenegraph/graphic/chart.js +34 -20
  81. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  82. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +56 -16
  83. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  84. package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +2 -1
  85. package/cjs/scenegraph/graphic/contributions/chart-render.js +40 -24
  86. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  87. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +6 -3
  88. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  89. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +1 -0
  90. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +48 -7
  91. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  92. package/cjs/scenegraph/graphic/group.js +1 -1
  93. package/cjs/scenegraph/graphic/group.js.map +1 -1
  94. package/cjs/scenegraph/group-creater/cell-helper.d.ts +2 -1
  95. package/cjs/scenegraph/group-creater/cell-helper.js +29 -10
  96. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  97. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
  98. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  99. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +9 -1
  100. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  101. package/cjs/scenegraph/group-creater/column-helper.js +9 -2
  102. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  103. package/cjs/scenegraph/group-creater/init-scenegraph.js +2 -2
  104. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  105. package/cjs/scenegraph/layout/compute-col-width.js +2 -2
  106. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  107. package/cjs/scenegraph/layout/compute-row-height.js +2 -2
  108. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  109. package/cjs/scenegraph/layout/update-height.js +3 -1
  110. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  111. package/cjs/scenegraph/layout/update-width.js +5 -3
  112. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  113. package/cjs/scenegraph/refresh-node/update-chart.d.ts +1 -0
  114. package/cjs/scenegraph/refresh-node/update-chart.js +84 -32
  115. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  116. package/cjs/scenegraph/scenegraph.d.ts +1 -1
  117. package/cjs/scenegraph/scenegraph.js +67 -46
  118. package/cjs/scenegraph/scenegraph.js.map +1 -1
  119. package/cjs/scenegraph/stick-text/index.js +5 -6
  120. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  121. package/cjs/scenegraph/style/frame-border.d.ts +1 -1
  122. package/cjs/scenegraph/style/frame-border.js +27 -12
  123. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  124. package/cjs/scenegraph/utils/cell-border-stroke-width.js +14 -9
  125. package/cjs/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  126. package/cjs/scenegraph/utils/get-cell-merge.js +1 -1
  127. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  128. package/cjs/scenegraph/utils/get-hierarchy-offset.js +6 -8
  129. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  130. package/cjs/scenegraph/utils/text-icon-layout.js +6 -4
  131. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  132. package/cjs/state/resize/update-resize-row.js +1 -1
  133. package/cjs/state/resize/update-resize-row.js.map +1 -1
  134. package/cjs/state/state.d.ts +2 -2
  135. package/cjs/state/state.js +5 -5
  136. package/cjs/state/state.js.map +1 -1
  137. package/cjs/themes/theme.d.ts +2 -0
  138. package/cjs/themes/theme.js +13 -10
  139. package/cjs/themes/theme.js.map +1 -1
  140. package/cjs/tools/helper.d.ts +1 -1
  141. package/cjs/tools/helper.js +3 -3
  142. package/cjs/tools/helper.js.map +1 -1
  143. package/cjs/tools/style.d.ts +1 -2
  144. package/cjs/tools/style.js +3 -9
  145. package/cjs/tools/style.js.map +1 -1
  146. package/cjs/ts-types/base-table.d.ts +21 -3
  147. package/cjs/ts-types/base-table.js.map +1 -1
  148. package/cjs/ts-types/column/style.d.ts +2 -2
  149. package/cjs/ts-types/column/style.js.map +1 -1
  150. package/cjs/ts-types/component/index.d.ts +1 -0
  151. package/cjs/ts-types/component/index.js +21 -0
  152. package/cjs/ts-types/component/index.js.map +1 -0
  153. package/cjs/ts-types/index.d.ts +1 -0
  154. package/cjs/ts-types/index.js +1 -1
  155. package/cjs/ts-types/index.js.map +1 -1
  156. package/cjs/ts-types/list-table/layout-map/api.d.ts +1 -0
  157. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  158. package/cjs/ts-types/new-data-set.d.ts +1 -0
  159. package/cjs/ts-types/new-data-set.js.map +1 -1
  160. package/cjs/ts-types/pivot-table/corner.d.ts +1 -0
  161. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  162. package/cjs/ts-types/table-engine.d.ts +11 -46
  163. package/cjs/ts-types/table-engine.js.map +1 -1
  164. package/cjs/ts-types/theme.d.ts +2 -3
  165. package/cjs/ts-types/theme.js.map +1 -1
  166. package/cjs/vrender.js +2 -1
  167. package/cjs/vrender.js.map +1 -1
  168. package/dist/vtable.js +36370 -32652
  169. package/dist/vtable.min.js +2 -2
  170. package/es/ListTable-all.js +5 -3
  171. package/es/ListTable-all.js.map +1 -1
  172. package/es/ListTable.d.ts +3 -0
  173. package/es/ListTable.js +45 -287
  174. package/es/ListTable.js.map +1 -1
  175. package/es/PivotChart.d.ts +1 -0
  176. package/es/PivotChart.js +5 -2
  177. package/es/PivotChart.js.map +1 -1
  178. package/es/PivotTable.js +1 -1
  179. package/es/PivotTable.js.map +1 -1
  180. package/es/components/axis/axis.js +3 -1
  181. package/es/components/axis/axis.js.map +1 -1
  182. package/es/components/legend/discrete-legend/discrete-legend.js +2 -1
  183. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  184. package/es/components/title/title.js +3 -1
  185. package/es/components/title/title.js.map +1 -1
  186. package/es/core/BaseTable.d.ts +8 -5
  187. package/es/core/BaseTable.js +61 -115
  188. package/es/core/BaseTable.js.map +1 -1
  189. package/es/core/FouseInput.d.ts +1 -0
  190. package/es/core/FouseInput.js +5 -2
  191. package/es/core/FouseInput.js.map +1 -1
  192. package/es/core/group-helper.d.ts +6 -0
  193. package/es/core/group-helper.js +14 -0
  194. package/es/core/group-helper.js.map +1 -0
  195. package/es/core/record-helper.d.ts +8 -0
  196. package/es/core/record-helper.js +332 -0
  197. package/es/core/record-helper.js.map +1 -0
  198. package/es/core/style-helper.d.ts +3 -0
  199. package/es/core/style-helper.js +86 -0
  200. package/es/core/style-helper.js.map +1 -0
  201. package/es/core/style.js +1 -1
  202. package/es/core/style.js.map +1 -1
  203. package/es/core/tableHelper.d.ts +3 -5
  204. package/es/core/tableHelper.js +15 -22
  205. package/es/core/tableHelper.js.map +1 -1
  206. package/es/core/utils/get-cell-position.d.ts +5 -25
  207. package/es/core/utils/get-cell-position.js.map +1 -1
  208. package/es/data/CachedDataSource.d.ts +10 -1
  209. package/es/data/CachedDataSource.js +103 -0
  210. package/es/data/CachedDataSource.js.map +1 -1
  211. package/es/dataset/dataset-pivot-table.js +0 -1
  212. package/es/dataset/dataset-pivot-table.js.map +1 -1
  213. package/es/dataset/dataset.js +1 -2
  214. package/es/edit/edit-manager.js +2 -1
  215. package/es/event/event.js +5 -2
  216. package/es/event/event.js.map +1 -1
  217. package/es/event/listener/container-dom.js +2 -2
  218. package/es/event/listener/container-dom.js.map +1 -1
  219. package/es/event/listener/table-group.js +4 -6
  220. package/es/event/listener/table-group.js.map +1 -1
  221. package/es/event/util.js +2 -2
  222. package/es/event/util.js.map +1 -1
  223. package/es/index.d.ts +5 -3
  224. package/es/index.js +5 -1
  225. package/es/index.js.map +1 -1
  226. package/es/layout/cell-range/simple-cell-range.d.ts +4 -0
  227. package/es/layout/cell-range/simple-cell-range.js +99 -0
  228. package/es/layout/cell-range/simple-cell-range.js.map +1 -0
  229. package/es/layout/layout-helper.js +2 -2
  230. package/es/layout/layout-helper.js.map +1 -1
  231. package/es/layout/pivot-header-layout.js +20 -19
  232. package/es/layout/pivot-header-layout.js.map +1 -1
  233. package/es/layout/row-height-map.js +2 -1
  234. package/es/layout/simple-header-layout.d.ts +1 -2
  235. package/es/layout/simple-header-layout.js +7 -89
  236. package/es/layout/simple-header-layout.js.map +1 -1
  237. package/es/plugins/icons.js +1 -1
  238. package/es/plugins/list-tree-stick-cell.d.ts +16 -0
  239. package/es/plugins/list-tree-stick-cell.js +176 -0
  240. package/es/plugins/list-tree-stick-cell.js.map +1 -0
  241. package/es/plugins/themes.js +1 -1
  242. package/es/scenegraph/component/custom.js +1 -1
  243. package/es/scenegraph/component/custom.js.map +1 -1
  244. package/es/scenegraph/component/table-component.js +14 -18
  245. package/es/scenegraph/component/table-component.js.map +1 -1
  246. package/es/scenegraph/debug-tool/debug-tool.js +4 -1
  247. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  248. package/es/scenegraph/graphic/chart.d.ts +1 -0
  249. package/es/scenegraph/graphic/chart.js +33 -21
  250. package/es/scenegraph/graphic/chart.js.map +1 -1
  251. package/es/scenegraph/graphic/contributions/chart-render-helper.js +57 -15
  252. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  253. package/es/scenegraph/graphic/contributions/chart-render.d.ts +2 -1
  254. package/es/scenegraph/graphic/contributions/chart-render.js +41 -25
  255. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  256. package/es/scenegraph/graphic/contributions/group-contribution-render.js +8 -3
  257. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  258. package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +1 -0
  259. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +49 -5
  260. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  261. package/es/scenegraph/graphic/group.js +1 -1
  262. package/es/scenegraph/graphic/group.js.map +1 -1
  263. package/es/scenegraph/group-creater/cell-helper.d.ts +2 -1
  264. package/es/scenegraph/group-creater/cell-helper.js +23 -8
  265. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  266. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
  267. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  268. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +9 -1
  269. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  270. package/es/scenegraph/group-creater/column-helper.js +8 -2
  271. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  272. package/es/scenegraph/group-creater/init-scenegraph.js +2 -2
  273. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  274. package/es/scenegraph/layout/compute-col-width.js +1 -3
  275. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  276. package/es/scenegraph/layout/compute-row-height.js +2 -2
  277. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  278. package/es/scenegraph/layout/update-height.js +3 -1
  279. package/es/scenegraph/layout/update-height.js.map +1 -1
  280. package/es/scenegraph/layout/update-width.js +5 -3
  281. package/es/scenegraph/layout/update-width.js.map +1 -1
  282. package/es/scenegraph/refresh-node/update-chart.d.ts +1 -0
  283. package/es/scenegraph/refresh-node/update-chart.js +81 -29
  284. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  285. package/es/scenegraph/scenegraph.d.ts +1 -1
  286. package/es/scenegraph/scenegraph.js +67 -46
  287. package/es/scenegraph/scenegraph.js.map +1 -1
  288. package/es/scenegraph/stick-text/index.js +5 -6
  289. package/es/scenegraph/stick-text/index.js.map +1 -1
  290. package/es/scenegraph/style/frame-border.d.ts +1 -1
  291. package/es/scenegraph/style/frame-border.js +27 -10
  292. package/es/scenegraph/style/frame-border.js.map +1 -1
  293. package/es/scenegraph/utils/cell-border-stroke-width.js +9 -6
  294. package/es/scenegraph/utils/cell-border-stroke-width.js.map +1 -1
  295. package/es/scenegraph/utils/get-cell-merge.js +1 -1
  296. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  297. package/es/scenegraph/utils/get-hierarchy-offset.js +7 -9
  298. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -1
  299. package/es/scenegraph/utils/text-icon-layout.js +6 -4
  300. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  301. package/es/state/resize/update-resize-row.js +1 -1
  302. package/es/state/resize/update-resize-row.js.map +1 -1
  303. package/es/state/state.d.ts +2 -2
  304. package/es/state/state.js +5 -5
  305. package/es/state/state.js.map +1 -1
  306. package/es/themes/theme.d.ts +2 -0
  307. package/es/themes/theme.js +13 -10
  308. package/es/themes/theme.js.map +1 -1
  309. package/es/tools/helper.d.ts +1 -1
  310. package/es/tools/helper.js +1 -1
  311. package/es/tools/helper.js.map +1 -1
  312. package/es/tools/style.d.ts +1 -2
  313. package/es/tools/style.js +2 -7
  314. package/es/tools/style.js.map +1 -1
  315. package/es/ts-types/base-table.d.ts +21 -3
  316. package/es/ts-types/base-table.js.map +1 -1
  317. package/es/ts-types/column/style.d.ts +2 -2
  318. package/es/ts-types/column/style.js.map +1 -1
  319. package/es/ts-types/component/index.d.ts +1 -0
  320. package/es/ts-types/component/index.js +2 -0
  321. package/es/ts-types/component/index.js.map +1 -0
  322. package/es/ts-types/index.d.ts +1 -0
  323. package/es/ts-types/index.js +2 -0
  324. package/es/ts-types/index.js.map +1 -1
  325. package/es/ts-types/list-table/layout-map/api.d.ts +1 -0
  326. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  327. package/es/ts-types/new-data-set.d.ts +1 -0
  328. package/es/ts-types/new-data-set.js.map +1 -1
  329. package/es/ts-types/pivot-table/corner.d.ts +1 -0
  330. package/es/ts-types/pivot-table/corner.js.map +1 -1
  331. package/es/ts-types/table-engine.d.ts +11 -46
  332. package/es/ts-types/table-engine.js.map +1 -1
  333. package/es/ts-types/theme.d.ts +2 -3
  334. package/es/ts-types/theme.js.map +1 -1
  335. package/es/vrender.js +3 -2
  336. package/es/vrender.js.map +1 -1
  337. package/package.json +8 -8
  338. package/cjs/scenegraph/component/menu.d.ts +0 -41
  339. package/cjs/scenegraph/utils/text-measure.d.ts +0 -33
  340. package/es/scenegraph/component/menu.d.ts +0 -41
  341. package/es/scenegraph/utils/text-measure.d.ts +0 -33
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ function getCellRange(col, row, layout) {
4
+ var _a, _b, _c;
5
+ if (-1 === col || -1 === row) return {
6
+ start: {
7
+ col: col,
8
+ row: row
9
+ },
10
+ end: {
11
+ col: col,
12
+ row: row
13
+ }
14
+ };
15
+ if (layout._cellRangeMap.has(`$${col}$${row}`)) return layout._cellRangeMap.get(`$${col}$${row}`);
16
+ let cellRange = {
17
+ start: {
18
+ col: col,
19
+ row: row
20
+ },
21
+ end: {
22
+ col: col,
23
+ row: row
24
+ }
25
+ };
26
+ if (layout.transpose) cellRange = getCellRangeTranspose(col, row, layout); else if (layout.headerLevelCount <= row) {
27
+ if (layout.headerLevelCount <= row && (null === (_b = null === (_a = layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount]) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.mergeCell)) {
28
+ const value = layout._table.getCellValue(col, row);
29
+ for (let r = row - 1; r >= layout.headerLevelCount; r--) {
30
+ const last_Value = layout._table.getCellValue(col, r);
31
+ if ("boolean" == typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell) {
32
+ if (value !== last_Value) break;
33
+ } else if (!layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell(value, last_Value)) break;
34
+ cellRange.start.row = r;
35
+ }
36
+ for (let r = row + 1; r < layout.rowCount; r++) {
37
+ const next_Value = layout._table.getCellValue(col, r);
38
+ if ("boolean" == typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell) {
39
+ if (value !== next_Value) break;
40
+ } else if (!layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell(value, next_Value)) break;
41
+ cellRange.end.row = r;
42
+ }
43
+ }
44
+ getTreeTitleMerge(col, row, cellRange, layout);
45
+ } else {
46
+ const id = layout.getCellId(col, row);
47
+ for (let c = col - 1; c >= 0 && id === layout.getCellId(c, row); c--) cellRange.start.col = c;
48
+ for (let c = col + 1; c < (null !== (_c = layout.colCount) && void 0 !== _c ? _c : 0) && id === layout.getCellId(c, row); c++) cellRange.end.col = c;
49
+ for (let r = row - 1; r >= 0 && id === layout.getCellId(col, r); r--) cellRange.start.row = r;
50
+ for (let r = row + 1; r < layout.headerLevelCount && id === layout.getCellId(col, r); r++) cellRange.end.row = r;
51
+ }
52
+ return layout._cellRangeMap.set(`$${col}$${row}`, cellRange), cellRange;
53
+ }
54
+
55
+ function getTreeTitleMerge(col, row, cellRange, layout) {
56
+ if ("tree" !== layout.rowHierarchyType) return;
57
+ const cellRecord = layout._table.getCellRawRecord(col, row);
58
+ (null == cellRecord ? void 0 : cellRecord.vTableMerge) && (cellRange.start.col = layout.rowHeaderLevelCount,
59
+ cellRange.end.col = layout.colCount - 1, cellRange.start.row = cellRange.end.row = row);
60
+ }
61
+
62
+ function getCellRangeTranspose(col, row, layout) {
63
+ var _a, _b, _c, _d;
64
+ const result = {
65
+ start: {
66
+ col: col,
67
+ row: row
68
+ },
69
+ end: {
70
+ col: col,
71
+ row: row
72
+ }
73
+ };
74
+ if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col || -1 === col && -1 === row) {
75
+ if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col && (null === (_b = null === (_a = layout.columnObjects[row]) || void 0 === _a ? void 0 : _a.define) || void 0 === _b ? void 0 : _b.mergeCell)) {
76
+ const value = layout._table.getCellValue(col, row);
77
+ for (let c = col - 1; c >= layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c--) {
78
+ const last_Value = layout._table.getCellValue(c, row);
79
+ if ("boolean" == typeof layout.columnObjects[row].define.mergeCell) {
80
+ if (value !== last_Value) break;
81
+ } else if (!layout.columnObjects[row].define.mergeCell(value, last_Value)) break;
82
+ result.start.col = c;
83
+ }
84
+ for (let c = col + 1; c < (null !== (_c = layout.colCount) && void 0 !== _c ? _c : 0); c++) {
85
+ const next_Value = layout._table.getCellValue(c, row);
86
+ if ("boolean" == typeof layout.columnObjects[row].define.mergeCell) {
87
+ if (value !== next_Value) break;
88
+ } else if (!layout.columnObjects[row].define.mergeCell(value, next_Value)) break;
89
+ result.end.col = c;
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+ const id = layout.getCellId(col, row);
95
+ for (let r = row - 1; r >= 0 && id === layout.getCellId(col, r); r--) result.start.row = r;
96
+ for (let r = row + 1; r < (null !== (_d = layout.rowCount) && void 0 !== _d ? _d : 0) && id === layout.getCellId(col, r); r++) result.end.row = r;
97
+ for (let c = col - 1; c >= 0 && id === layout.getCellId(c, row); c--) result.start.col = c;
98
+ for (let c = col + 1; c < layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount && id === layout.getCellId(c, row); c++) result.end.col = c;
99
+ return result;
100
+ }
101
+
102
+ Object.defineProperty(exports, "__esModule", {
103
+ value: !0
104
+ }), exports.getCellRangeTranspose = exports.getCellRange = void 0, exports.getCellRange = getCellRange,
105
+ exports.getCellRangeTranspose = getCellRangeTranspose;
106
+ //# sourceMappingURL=simple-cell-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/layout/cell-range/simple-cell-range.ts"],"names":[],"mappings":"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","file":"simple-cell-range.js","sourcesContent":["import type { CellRange, TextColumnDefine } from '../../ts-types';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\n\nexport function getCellRange(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n if (col === -1 || row === -1) {\n return {\n start: { col, row },\n end: { col, row }\n };\n }\n if (layout._cellRangeMap.has(`$${col}$${row}`)) {\n return layout._cellRangeMap.get(`$${col}$${row}`);\n }\n let cellRange: CellRange = { start: { col, row }, end: { col, row } };\n if (layout.transpose) {\n cellRange = getCellRangeTranspose(col, row, layout);\n } else {\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount <= row) {\n //如果是body部分 设置了需要合并单元格 这里判断上下是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount <= row &&\n (layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount]?.define as TextColumnDefine)?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let r = row - 1; r >= layout.headerLevelCount; r--) {\n const last_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n last_Value\n )\n ) {\n break;\n }\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.rowCount; r++) {\n const next_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n next_Value\n )\n ) {\n break;\n }\n }\n cellRange.end.row = r;\n }\n }\n getTreeTitleMerge(col, row, cellRange, layout);\n // return cellRange;\n } else {\n //in header\n const id = layout.getCellId(col, row);\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.end.col = c;\n }\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.headerLevelCount; r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.end.row = r;\n }\n // return cellRange;\n }\n }\n layout._cellRangeMap.set(`$${col}$${row}`, cellRange);\n return cellRange;\n}\n\nfunction getTreeTitleMerge(col: number, row: number, cellRange: CellRange, layout: SimpleHeaderLayoutMap) {\n if (layout.rowHierarchyType !== 'tree') {\n return;\n }\n\n const cellRecord = layout._table.getCellRawRecord(col, row);\n if (cellRecord?.vTableMerge) {\n // const vTableMergeName = cellRecord.vtableMergeName;\n cellRange.start.col = layout.rowHeaderLevelCount;\n cellRange.end.col = layout.colCount - 1;\n cellRange.start.row = cellRange.end.row = row;\n }\n}\n\nexport function getCellRangeTranspose(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n const result: CellRange = { start: { col, row }, end: { col, row } };\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col || (col === -1 && row === -1)) {\n //如果是body部分 设置了需要合并单元格 这里判断左右是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col &&\n layout.columnObjects[row]?.define?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let c = col - 1; c >= layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c--) {\n const last_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (!(layout.columnObjects[row].define.mergeCell as Function)(value, last_Value)) {\n break;\n }\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n const next_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (!(layout.columnObjects[row].define.mergeCell as Function)(value, next_Value)) {\n break;\n }\n }\n result.end.col = c;\n }\n }\n return result;\n }\n //in header\n const id = layout.getCellId(col, row);\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.start.row = r;\n }\n for (let r = row + 1; r < (layout.rowCount ?? 0); r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.end.row = r;\n }\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.end.col = c;\n }\n return result;\n}\n"]}
@@ -36,6 +36,7 @@ function checkHasAggregationOnBottom(layoutMap) {
36
36
  }
37
37
 
38
38
  function checkHasTreeDefine(layoutMap) {
39
+ if (layoutMap._table.options.groupBy) return !0;
39
40
  const {columns: columns} = layoutMap._table.options;
40
41
  if ((0, vutils_1.isArray)(columns) && columns.length > 0) for (let i = 0; i < columns.length; i++) {
41
42
  const column = columns[i];
@@ -139,5 +140,4 @@ function supplementIndicatorNodesForCustomTree(customTree, indicators) {
139
140
  exports.checkHasAggregation = checkHasAggregation, exports.checkHasAggregationOnTop = checkHasAggregationOnTop,
140
141
  exports.checkHasAggregationOnBottom = checkHasAggregationOnBottom, exports.checkHasTreeDefine = checkHasTreeDefine,
141
142
  exports.hasAutoImageColumn = hasAutoImageColumn, exports.parseColKeyRowKeyForPivotTable = parseColKeyRowKeyForPivotTable,
142
- exports.supplementIndicatorNodesForCustomTree = supplementIndicatorNodesForCustomTree;
143
- //# sourceMappingURL=layout-helper.js.map
143
+ exports.supplementIndicatorNodesForCustomTree = supplementIndicatorNodesForCustomTree;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import { isArray, isString } from '@visactor/vutils';\nimport type { PivotTable } from '../PivotTable';\nimport { AggregationType } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type {\n Aggregation,\n IHeaderTreeDefine,\n IIndicator,\n ListTableConstructorOptions,\n PivotTableConstructorOptions\n} from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { IChartColumnIndicator } from '../ts-types/pivot-table/indicator/chart-indicator';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\nimport type { IImageDimension } from '../ts-types/pivot-table/dimension/image-dimension';\nimport type { IImageColumnIndicator, IImageHeaderIndicator } from '../ts-types/pivot-table/indicator/image-indicator';\nimport type { IImageColumnBodyDefine, IImageHeaderDefine } from '../ts-types/list-table/define/image-define';\nimport type { ITreeLayoutHeadNode } from './tree-helper';\nimport { DimensionTree } from './tree-helper';\nimport type { ISparklineColumnIndicator } from '../ts-types/pivot-table/indicator/sparkline-indicator';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const { columns } = layoutMap._table.options as ListTableConstructorOptions;\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n if (isString(column)) {\n continue;\n }\n if (column.tree) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function hasAutoImageColumn(table: BaseTableAPI) {\n const { columns, rows, indicators } = table.options as PivotTableConstructorOptions;\n if (table.isPivotTable()) {\n // pivot table\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n if (isString(column)) {\n continue;\n }\n if (\n (column.headerType === 'image' || column.headerType === 'video' || typeof column.headerType === 'function') &&\n (column as IImageDimension).imageAutoSizing\n ) {\n return true;\n }\n }\n }\n if (isArray(rows) && rows.length > 0) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n if (isString(row)) {\n continue;\n }\n if (\n (row.headerType === 'image' || row.headerType === 'video' || typeof row.headerType === 'function') &&\n (row as IImageDimension).imageAutoSizing\n ) {\n return true;\n }\n }\n }\n if (isArray(indicators) && indicators.length > 0) {\n for (let i = 0; i < indicators.length; i++) {\n const indicator = indicators[i];\n if (isString(indicator)) {\n continue;\n }\n if (\n ((indicator.cellType === 'image' ||\n indicator.cellType === 'video' ||\n typeof indicator.cellType === 'function') &&\n (indicator as IImageColumnIndicator).imageAutoSizing) ||\n ((indicator.headerType === 'image' ||\n indicator.headerType === 'video' ||\n typeof indicator.headerType === 'function') &&\n (indicator as IImageHeaderIndicator).imageAutoSizing)\n ) {\n return true;\n }\n }\n }\n } else {\n // list table\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i] as unknown as ListTableConstructorOptions['columns'][0];\n if (\n ((column.cellType === 'image' || column.cellType === 'video' || typeof column.cellType === 'function') &&\n (column as IImageColumnBodyDefine).imageAutoSizing) ||\n ((column.headerType === 'image' ||\n column.headerType === 'video' ||\n typeof column.headerType === 'function') &&\n (column as IImageHeaderDefine).imageAutoSizing)\n ) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nexport function parseColKeyRowKeyForPivotTable(table: PivotTable, options: PivotTableConstructorOptions) {\n let columnDimensionTree;\n let rowDimensionTree;\n // let isNeedResetColumnDimensionTree = true;\n // let isNeedResetRowDimensionTree = true;\n if (options.columnTree) {\n if (table.options.indicatorsAsCol !== false && table.options.supplementIndicatorNodes !== false) {\n table.internalProps.columnTree = supplementIndicatorNodesForCustomTree(\n table.internalProps.columnTree,\n options.indicators\n );\n }\n columnDimensionTree = new DimensionTree(\n (table.internalProps.columnTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId\n );\n\n // if (\n // table.options.supplementIndicatorNodes !== false &&\n // table.options.indicatorsAsCol !== false &&\n // !columnDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n // options.indicators?.length >= 1\n // ) {\n // isNeedResetColumnDimensionTree = true;\n // } else {\n // isNeedResetColumnDimensionTree = false;\n // }\n // } else {\n // if (options.indicatorsAsCol !== false) {\n // table.internalProps.columnTree = supplementIndicatorNodesForCustomTree([], options.indicators);\n // }\n }\n if (options.rowTree) {\n if (table.options.indicatorsAsCol === false && table.options.supplementIndicatorNodes !== false) {\n table.internalProps.rowTree = supplementIndicatorNodesForCustomTree(\n table.internalProps.rowTree,\n options.indicators\n );\n }\n rowDimensionTree = new DimensionTree(\n (table.internalProps.rowTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId,\n table.options.rowHierarchyType,\n table.options.rowHierarchyType === 'tree' ? table.options.rowExpandLevel ?? 1 : undefined\n );\n // if (\n // table.options.supplementIndicatorNodes !== false &&\n // table.options.indicatorsAsCol === false &&\n // !rowDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n // options.indicators?.length >= 1\n // ) {\n // isNeedResetRowDimensionTree = true;\n // } else {\n // isNeedResetRowDimensionTree = false;\n // }\n // } else {\n // if (options.indicatorsAsCol === false) {\n // table.internalProps.rowTree = supplementIndicatorNodesForCustomTree([], options.indicators);\n // }\n }\n const rowKeys = rowDimensionTree?.dimensionKeys?.count\n ? rowDimensionTree.dimensionKeys.valueArr()\n : options.rows?.reduce((keys: string[], rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys = columnDimensionTree?.dimensionKeys?.count\n ? columnDimensionTree.dimensionKeys.valueArr()\n : options.columns?.reduce((keys: string[], columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys: string[], indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n if (\n (indicatorObj as IChartColumnIndicator).chartSpec ||\n (indicatorObj as ISparklineColumnIndicator).sparklineSpec\n ) {\n if (table.internalProps.dataConfig?.aggregationRules) {\n if (\n !table.internalProps.dataConfig.aggregationRules.find(aggregation => {\n return aggregation.indicatorKey === indicatorObj.indicatorKey;\n })\n ) {\n table.internalProps.dataConfig.aggregationRules.push({\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n });\n }\n } else if (table.internalProps.dataConfig) {\n table.internalProps.dataConfig.aggregationRules = [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ];\n } else {\n table.internalProps.dataConfig = {\n aggregationRules: [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ]\n };\n }\n }\n }\n return keys;\n }, []) ?? [];\n if (options.rowHierarchyType === 'tree' && (options.extensionRows?.length ?? 0) >= 1) {\n options.extensionRows?.forEach(extensionRow => {\n const extension_rowKeys: string[] = [];\n extensionRow.rows.forEach(row => {\n if (typeof row === 'string') {\n extension_rowKeys.push(row);\n } else {\n extension_rowKeys.push(row.dimensionKey);\n }\n });\n rowKeys.push(...extension_rowKeys);\n });\n }\n return {\n rowKeys,\n columnKeys,\n indicatorKeys,\n // isNeedResetColumnDimensionTree,\n // isNeedResetRowDimensionTree,\n columnDimensionTree,\n rowDimensionTree\n };\n}\n\nexport function supplementIndicatorNodesForCustomTree(\n customTree: IHeaderTreeDefine[],\n indicators: (string | IIndicator)[]\n) {\n const checkNode = (nodes: IHeaderTreeDefine[], isHasIndicator: boolean) => {\n nodes.forEach((node: IHeaderTreeDefine) => {\n if (\n !node.indicatorKey &&\n !isHasIndicator &&\n (!(node.children as IHeaderTreeDefine[])?.length || !node.children)\n ) {\n node.children = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n } else if (node.children && Array.isArray(node.children)) {\n checkNode(node.children, isHasIndicator || !!node.indicatorKey);\n }\n });\n };\n if (customTree?.length) {\n checkNode(customTree, false);\n } else {\n customTree = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n }\n return customTree;\n}\n"]}
1
+ {"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import { isArray, isString } from '@visactor/vutils';\nimport type { PivotTable } from '../PivotTable';\nimport { AggregationType } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type {\n Aggregation,\n IHeaderTreeDefine,\n IIndicator,\n ListTableConstructorOptions,\n PivotTableConstructorOptions\n} from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { IChartColumnIndicator } from '../ts-types/pivot-table/indicator/chart-indicator';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\nimport type { IImageDimension } from '../ts-types/pivot-table/dimension/image-dimension';\nimport type { IImageColumnIndicator, IImageHeaderIndicator } from '../ts-types/pivot-table/indicator/image-indicator';\nimport type { IImageColumnBodyDefine, IImageHeaderDefine } from '../ts-types/list-table/define/image-define';\nimport type { ITreeLayoutHeadNode } from './tree-helper';\nimport { DimensionTree } from './tree-helper';\nimport type { ISparklineColumnIndicator } from '../ts-types/pivot-table/indicator/sparkline-indicator';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n if (layoutMap._table.options.groupBy) {\n return true;\n }\n const { columns } = layoutMap._table.options as ListTableConstructorOptions;\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n if (isString(column)) {\n continue;\n }\n if (column.tree) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function hasAutoImageColumn(table: BaseTableAPI) {\n const { columns, rows, indicators } = table.options as PivotTableConstructorOptions;\n if (table.isPivotTable()) {\n // pivot table\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n if (isString(column)) {\n continue;\n }\n if (\n (column.headerType === 'image' || column.headerType === 'video' || typeof column.headerType === 'function') &&\n (column as IImageDimension).imageAutoSizing\n ) {\n return true;\n }\n }\n }\n if (isArray(rows) && rows.length > 0) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n if (isString(row)) {\n continue;\n }\n if (\n (row.headerType === 'image' || row.headerType === 'video' || typeof row.headerType === 'function') &&\n (row as IImageDimension).imageAutoSizing\n ) {\n return true;\n }\n }\n }\n if (isArray(indicators) && indicators.length > 0) {\n for (let i = 0; i < indicators.length; i++) {\n const indicator = indicators[i];\n if (isString(indicator)) {\n continue;\n }\n if (\n ((indicator.cellType === 'image' ||\n indicator.cellType === 'video' ||\n typeof indicator.cellType === 'function') &&\n (indicator as IImageColumnIndicator).imageAutoSizing) ||\n ((indicator.headerType === 'image' ||\n indicator.headerType === 'video' ||\n typeof indicator.headerType === 'function') &&\n (indicator as IImageHeaderIndicator).imageAutoSizing)\n ) {\n return true;\n }\n }\n }\n } else {\n // list table\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i] as unknown as ListTableConstructorOptions['columns'][0];\n if (\n ((column.cellType === 'image' || column.cellType === 'video' || typeof column.cellType === 'function') &&\n (column as IImageColumnBodyDefine).imageAutoSizing) ||\n ((column.headerType === 'image' ||\n column.headerType === 'video' ||\n typeof column.headerType === 'function') &&\n (column as IImageHeaderDefine).imageAutoSizing)\n ) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nexport function parseColKeyRowKeyForPivotTable(table: PivotTable, options: PivotTableConstructorOptions) {\n let columnDimensionTree;\n let rowDimensionTree;\n // let isNeedResetColumnDimensionTree = true;\n // let isNeedResetRowDimensionTree = true;\n if (options.columnTree) {\n if (table.options.indicatorsAsCol !== false && table.options.supplementIndicatorNodes !== false) {\n table.internalProps.columnTree = supplementIndicatorNodesForCustomTree(\n table.internalProps.columnTree,\n options.indicators\n );\n }\n columnDimensionTree = new DimensionTree(\n (table.internalProps.columnTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId\n );\n\n // if (\n // table.options.supplementIndicatorNodes !== false &&\n // table.options.indicatorsAsCol !== false &&\n // !columnDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n // options.indicators?.length >= 1\n // ) {\n // isNeedResetColumnDimensionTree = true;\n // } else {\n // isNeedResetColumnDimensionTree = false;\n // }\n // } else {\n // if (options.indicatorsAsCol !== false) {\n // table.internalProps.columnTree = supplementIndicatorNodesForCustomTree([], options.indicators);\n // }\n }\n if (options.rowTree) {\n if (table.options.indicatorsAsCol === false && table.options.supplementIndicatorNodes !== false) {\n table.internalProps.rowTree = supplementIndicatorNodesForCustomTree(\n table.internalProps.rowTree,\n options.indicators\n );\n }\n rowDimensionTree = new DimensionTree(\n (table.internalProps.rowTree as ITreeLayoutHeadNode[]) ?? [],\n table.layoutNodeId,\n table.options.rowHierarchyType,\n table.options.rowHierarchyType === 'tree' ? table.options.rowExpandLevel ?? 1 : undefined\n );\n // if (\n // table.options.supplementIndicatorNodes !== false &&\n // table.options.indicatorsAsCol === false &&\n // !rowDimensionTree.dimensionKeys.contain(IndicatorDimensionKeyPlaceholder) &&\n // options.indicators?.length >= 1\n // ) {\n // isNeedResetRowDimensionTree = true;\n // } else {\n // isNeedResetRowDimensionTree = false;\n // }\n // } else {\n // if (options.indicatorsAsCol === false) {\n // table.internalProps.rowTree = supplementIndicatorNodesForCustomTree([], options.indicators);\n // }\n }\n const rowKeys = rowDimensionTree?.dimensionKeys?.count\n ? rowDimensionTree.dimensionKeys.valueArr()\n : options.rows?.reduce((keys: string[], rowObj) => {\n if (typeof rowObj === 'string') {\n keys.push(rowObj);\n } else {\n keys.push(rowObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const columnKeys = columnDimensionTree?.dimensionKeys?.count\n ? columnDimensionTree.dimensionKeys.valueArr()\n : options.columns?.reduce((keys: string[], columnObj) => {\n if (typeof columnObj === 'string') {\n keys.push(columnObj);\n } else {\n keys.push(columnObj.dimensionKey);\n }\n return keys;\n }, []) ?? [];\n const indicatorKeys =\n options.indicators?.reduce((keys: string[], indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n if (\n (indicatorObj as IChartColumnIndicator).chartSpec ||\n (indicatorObj as ISparklineColumnIndicator).sparklineSpec\n ) {\n if (table.internalProps.dataConfig?.aggregationRules) {\n if (\n !table.internalProps.dataConfig.aggregationRules.find(aggregation => {\n return aggregation.indicatorKey === indicatorObj.indicatorKey;\n })\n ) {\n table.internalProps.dataConfig.aggregationRules.push({\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n });\n }\n } else if (table.internalProps.dataConfig) {\n table.internalProps.dataConfig.aggregationRules = [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ];\n } else {\n table.internalProps.dataConfig = {\n aggregationRules: [\n {\n field: indicatorObj.indicatorKey,\n indicatorKey: indicatorObj.indicatorKey,\n aggregationType: AggregationType.NONE\n }\n ]\n };\n }\n }\n }\n return keys;\n }, []) ?? [];\n if (options.rowHierarchyType === 'tree' && (options.extensionRows?.length ?? 0) >= 1) {\n options.extensionRows?.forEach(extensionRow => {\n const extension_rowKeys: string[] = [];\n extensionRow.rows.forEach(row => {\n if (typeof row === 'string') {\n extension_rowKeys.push(row);\n } else {\n extension_rowKeys.push(row.dimensionKey);\n }\n });\n rowKeys.push(...extension_rowKeys);\n });\n }\n return {\n rowKeys,\n columnKeys,\n indicatorKeys,\n // isNeedResetColumnDimensionTree,\n // isNeedResetRowDimensionTree,\n columnDimensionTree,\n rowDimensionTree\n };\n}\n\nexport function supplementIndicatorNodesForCustomTree(\n customTree: IHeaderTreeDefine[],\n indicators: (string | IIndicator)[]\n) {\n const checkNode = (nodes: IHeaderTreeDefine[], isHasIndicator: boolean) => {\n nodes.forEach((node: IHeaderTreeDefine) => {\n if (\n !node.indicatorKey &&\n !isHasIndicator &&\n (!(node.children as IHeaderTreeDefine[])?.length || !node.children)\n ) {\n node.children = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n } else if (node.children && Array.isArray(node.children)) {\n checkNode(node.children, isHasIndicator || !!node.indicatorKey);\n }\n });\n };\n if (customTree?.length) {\n checkNode(customTree, false);\n } else {\n customTree = indicators?.map((indicator: IIndicator | string): { indicatorKey: string; value: string } => {\n if (typeof indicator === 'string') {\n return { indicatorKey: indicator, value: indicator };\n }\n return { indicatorKey: indicator.indicatorKey, value: indicator.title ?? indicator.indicatorKey };\n });\n }\n return customTree;\n}\n"]}
@@ -11,7 +11,7 @@ const util_1 = require("../tools/util"), ts_types_1 = require("../ts-types"), gl
11
11
 
12
12
  class PivotHeaderLayoutMap {
13
13
  constructor(table, dataset, columnDimensionTree, rowDimensionTree) {
14
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
15
15
  this.colIndex = 0, this._showHeader = !0, this.columnHeaderObjs = [], this.rowHeaderObjs = [],
16
16
  this._cornerHeaderCellFullPathIds = [], this._columnHeaderCellFullPathIds = [],
17
17
  this._rowHeaderCellFullPathIds = [], this._rowHeaderCellFullPathIds_FULL = [], this._cornerHeaderCellIds = [],
@@ -39,10 +39,11 @@ class PivotHeaderLayoutMap {
39
39
  this.rowExpandLevel = null !== (_j = table.options.rowExpandLevel) && void 0 !== _j ? _j : 1,
40
40
  this.rowHierarchyIndent = null !== (_k = table.options.rowHierarchyIndent) && void 0 !== _k ? _k : 20,
41
41
  this.rowHierarchyTextStartAlignment = table.options.rowHierarchyTextStartAlignment,
42
- this.cornerSetting = null !== (_l = table.options.corner) && void 0 !== _l ? _l : {
43
- titleOnDimension: "column"
44
- }, dataset && (this.rowTree = dataset.rowHeaderTree, this.columnTree = dataset.colHeaderTree),
45
- null === (_m = this.indicatorsDefine) || void 0 === _m || _m.forEach((indicator => {
42
+ this.cornerSetting = Object.assign({
43
+ titleOnDimension: "column",
44
+ forceShowHeader: !1
45
+ }, table.options.corner), dataset && (this.rowTree = dataset.rowHeaderTree, this.columnTree = dataset.colHeaderTree),
46
+ null === (_l = this.indicatorsDefine) || void 0 === _l || _l.forEach((indicator => {
46
47
  "string" == typeof indicator ? this.indicatorKeys.push(indicator) : this.indicatorKeys.push(indicator.indicatorKey);
47
48
  })), this.columnDimensionTree = columnDimensionTree, this.rowDimensionTree = rowDimensionTree,
48
49
  this.colDimensionKeys = this.columnDimensionTree.dimensionKeys.valueArr(), this.rowDimensionKeys = this.rowDimensionTree.dimensionKeys.valueArr(),
@@ -56,7 +57,7 @@ class PivotHeaderLayoutMap {
56
57
  return !1;
57
58
  }))), this.resetColumnHeaderLevelCount(), this._generateColHeaderIds(), this.colIndex = 0,
58
59
  this._generateRowHeaderIds(), this._rowHeaderCellFullPathIds_FULL = (0, util_1.transpose)(this._rowHeaderCellFullPathIds_FULL),
59
- "tree" === table.options.rowHierarchyType && (null === (_o = this.extensionRows) || void 0 === _o ? void 0 : _o.length) >= 1 && (this.generateExtensionRowTree(),
60
+ "tree" === table.options.rowHierarchyType && (null === (_m = this.extensionRows) || void 0 === _m ? void 0 : _m.length) >= 1 && (this.generateExtensionRowTree(),
60
61
  this.extensionRows.forEach((extensionRow => {
61
62
  const rowKeys = [];
62
63
  extensionRow.rows.forEach((row => {
@@ -64,17 +65,17 @@ class PivotHeaderLayoutMap {
64
65
  })), this._extensionRowDimensionKeys.push(rowKeys), this.fullRowDimensionKeys = this.fullRowDimensionKeys.concat(rowKeys);
65
66
  }))), this.sharedVar.seqId = Math.max(this.sharedVar.seqId, this._headerObjects.length);
66
67
  let rowDimensionKeys, colDimensionKeys = this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr();
67
- !this.dataset || 0 !== (null !== (_q = null === (_p = this.dataset.records) || void 0 === _p ? void 0 : _p.length) && void 0 !== _q ? _q : 0) || this.dataset.customColTree || this.dataset.customRowTree || (colDimensionKeys = this.columnsDefine.map((define => "string" == typeof define ? define : define.dimensionKey)),
68
+ !this.dataset || 0 !== (null !== (_p = null === (_o = this.dataset.records) || void 0 === _o ? void 0 : _o.length) && void 0 !== _p ? _p : 0) || this.dataset.customColTree || this.dataset.customRowTree || (colDimensionKeys = this.columnsDefine.map((define => "string" == typeof define ? define : define.dimensionKey)),
68
69
  this.indicatorsAsCol && colDimensionKeys.push(this.indicatorDimensionKey)), colDimensionKeys = this.columnHeaderTitle ? [ "" ].concat(colDimensionKeys) : colDimensionKeys;
69
70
  let extensionRowDimensions = [];
70
- if ("tree" === this.rowHierarchyType && (null === (_r = this.extensionRows) || void 0 === _r ? void 0 : _r.length) >= 1) {
71
+ if ("tree" === this.rowHierarchyType && (null === (_q = this.extensionRows) || void 0 === _q ? void 0 : _q.length) >= 1) {
71
72
  const rowTreeFirstKey = [];
72
73
  rowTreeFirstKey.push(this.rowDimensionKeys[0]), this._extensionRowDimensionKeys.forEach((extensionRowKeys => {
73
74
  rowTreeFirstKey.push(extensionRowKeys[0]);
74
75
  })), extensionRowDimensions = this.extensionRows.reduce(((dimensions, cur) => dimensions.concat(cur.rows)), []),
75
76
  rowDimensionKeys = this.rowHeaderTitle ? [ "" ].concat(rowTreeFirstKey) : rowTreeFirstKey;
76
77
  } else rowDimensionKeys = this.rowDimensionTree.dimensionKeysIncludeVirtual.valueArr(),
77
- !this.dataset || 0 !== (null !== (_t = null === (_s = this.dataset.records) || void 0 === _s ? void 0 : _s.length) && void 0 !== _t ? _t : 0) || this.dataset.customColTree || this.dataset.customRowTree || (rowDimensionKeys = this.rowsDefine.map((define => "string" == typeof define ? define : define.dimensionKey)),
78
+ !this.dataset || 0 !== (null !== (_s = null === (_r = this.dataset.records) || void 0 === _r ? void 0 : _r.length) && void 0 !== _s ? _s : 0) || this.dataset.customColTree || this.dataset.customRowTree || (rowDimensionKeys = this.rowsDefine.map((define => "string" == typeof define ? define : define.dimensionKey)),
78
79
  this.indicatorsAsCol || rowDimensionKeys.push(this.indicatorDimensionKey)), rowDimensionKeys = this.rowHeaderTitle ? [ "" ].concat(rowDimensionKeys) : rowDimensionKeys;
79
80
  this.cornerHeaderObjs = this._addCornerHeaders(colDimensionKeys, rowDimensionKeys, this.columnsDefine.concat(...this.rowsDefine, ...extensionRowDimensions)),
80
81
  this.colIndex = 0, this._headerObjectMap = this._headerObjects.reduce(((o, e) => (o[e.id] = e,
@@ -94,14 +95,15 @@ class PivotHeaderLayoutMap {
94
95
  }))), this.handleRowSeriesNumber(table.internalProps.rowSeriesNumber), this.setColumnWidths();
95
96
  }
96
97
  handleRowSeriesNumber(rowSeriesNumber) {
97
- var _a;
98
+ var _a, _b;
98
99
  rowSeriesNumber && (Array.isArray(rowSeriesNumber) ? this.rowSeriesNumberColumn = rowSeriesNumber.map((seriesNumber => {
99
- var _a;
100
+ var _a, _b;
100
101
  return {
101
102
  id: "",
102
103
  title: seriesNumber.title,
103
104
  define: seriesNumber,
104
105
  cellType: null !== (_a = seriesNumber.cellType) && void 0 !== _a ? _a : "text",
106
+ headerType: null !== (_b = seriesNumber.cellType) && void 0 !== _b ? _b : "text",
105
107
  width: seriesNumber.width,
106
108
  style: seriesNumber.style,
107
109
  format: seriesNumber.format,
@@ -113,6 +115,7 @@ class PivotHeaderLayoutMap {
113
115
  title: rowSeriesNumber.title,
114
116
  define: rowSeriesNumber,
115
117
  cellType: null !== (_a = rowSeriesNumber.cellType) && void 0 !== _a ? _a : "text",
118
+ headerType: null !== (_b = rowSeriesNumber.cellType) && void 0 !== _b ? _b : "text",
116
119
  style: rowSeriesNumber.style,
117
120
  width: rowSeriesNumber.width,
118
121
  format: rowSeriesNumber.format,
@@ -627,20 +630,19 @@ class PivotHeaderLayoutMap {
627
630
  return this.columnHeaderLevelCount;
628
631
  }
629
632
  resetColumnHeaderLevelCount() {
630
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
633
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
631
634
  if (this.showHeader && this.showColumnHeader) {
632
635
  if (this._table.isPivotChart() && this.indicatorsAsCol && !(null === (_b = null === (_a = this.dataset) || void 0 === _a ? void 0 : _a.colKeys) || void 0 === _b ? void 0 : _b.length) && 0 === (null === (_d = null === (_c = this.columnDimensionTree) || void 0 === _c ? void 0 : _c.tree) || void 0 === _d ? void 0 : _d.level) && !this.hasTwoIndicatorAxes) return void (this.columnHeaderLevelCount = 0);
633
636
  let count = this.indicatorsAsCol && this.hideIndicatorName && this.colDimensionKeys[this.colDimensionKeys.length - 1] === this.indicatorDimensionKey ? this.columnDimensionTree.totalLevel - 1 : this.columnDimensionTree.totalLevel;
634
637
  return this.columnHeaderTitle && (count += 1), this._table.isPivotChart() && this.indicatorsAsCol && !this.hasTwoIndicatorAxes && (0,
635
638
  get_chart_spec_1.checkHasCartesianChart)(this.indicatorsDefine) && (count -= 1),
636
- 0 !== count || !this.dataset || this.dataset.customColTree || this.dataset.customRowTree ? !this.dataset || 0 !== (null !== (_j = null === (_h = this.dataset.records) || void 0 === _h ? void 0 : _h.length) && void 0 !== _j ? _j : 0) || this.dataset.customColTree || this.dataset.customRowTree || "column" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = null !== (_k = this.columnsDefine.length) && void 0 !== _k ? _k : 0,
637
- !this.hideIndicatorName && this.indicatorsAsCol && count++) : "row" === this.cornerSetting.titleOnDimension ? count = 1 : 0 !== (null !== (_f = null === (_e = this.dataset.records) || void 0 === _e ? void 0 : _e.length) && void 0 !== _f ? _f : 0) || "column" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = null !== (_g = this.columnsDefine.length) && void 0 !== _g ? _g : 0),
638
- void (this.columnHeaderLevelCount = count);
639
+ 0 === count && this.dataset && !(null === (_e = this.dataset.customColTree) || void 0 === _e ? void 0 : _e.length) ? "row" === this.cornerSetting.titleOnDimension && this.cornerSetting.forceShowHeader ? count = 1 : 0 !== (null !== (_g = null === (_f = this.dataset.records) || void 0 === _f ? void 0 : _f.length) && void 0 !== _g ? _g : 0) || "column" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = null !== (_h = this.columnsDefine.length) && void 0 !== _h ? _h : 0) : !this.dataset || 0 !== (null !== (_k = null === (_j = this.dataset.records) || void 0 === _j ? void 0 : _j.length) && void 0 !== _k ? _k : 0) || this.dataset.customColTree || this.dataset.customRowTree || "column" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = null !== (_l = this.columnsDefine.length) && void 0 !== _l ? _l : 0,
640
+ !this.hideIndicatorName && this.indicatorsAsCol && count++), void (this.columnHeaderLevelCount = count);
639
641
  }
640
642
  this.columnHeaderLevelCount = this.indicatorsAsCol ? this.hideIndicatorName ? 0 : 1 : 0;
641
643
  }
642
644
  resetRowHeaderLevelCount() {
643
- var _a, _b, _c, _d, _e, _f, _g;
645
+ var _a, _b, _c, _d, _e, _f, _g, _h;
644
646
  if (this.showHeader && this.showRowHeader) {
645
647
  if ("tree" === this.rowHierarchyType) {
646
648
  const extensionRowCount = null !== (_b = null === (_a = this.extensionRows) || void 0 === _a ? void 0 : _a.length) && void 0 !== _b ? _b : 0;
@@ -649,9 +651,8 @@ class PivotHeaderLayoutMap {
649
651
  const rowLevelCount = this.rowDimensionTree.totalLevel;
650
652
  let count = rowLevelCount;
651
653
  return this.indicatorsAsCol || this.hideIndicatorName && this.rowDimensionKeys[this.rowDimensionKeys.length - 1] === this.indicatorDimensionKey && (count = rowLevelCount - 1),
652
- this.rowHeaderTitle && (count += 1), 0 !== count || !this.dataset || this.dataset.customColTree || this.dataset.customRowTree ? !this.dataset || 0 !== (null !== (_g = null === (_f = this.dataset.records) || void 0 === _f ? void 0 : _f.length) && void 0 !== _g ? _g : 0) || this.dataset.customColTree || this.dataset.customRowTree || "row" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = this.rowsDefine.length,
653
- this.hideIndicatorName || this.indicatorsAsCol || count++) : "column" === this.cornerSetting.titleOnDimension ? count = 1 : 0 !== (null !== (_d = null === (_c = this.dataset.records) || void 0 === _c ? void 0 : _c.length) && void 0 !== _d ? _d : 0) || "row" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = null !== (_e = this.rowsDefine.length) && void 0 !== _e ? _e : 0),
654
- void (this.rowHeaderLevelCount = count);
654
+ this.rowHeaderTitle && (count += 1), 0 === count && this.dataset && !(null === (_c = this.dataset.customRowTree) || void 0 === _c ? void 0 : _c.length) ? "column" === this.cornerSetting.titleOnDimension && this.cornerSetting.forceShowHeader ? count = 1 : 0 !== (null !== (_e = null === (_d = this.dataset.records) || void 0 === _d ? void 0 : _d.length) && void 0 !== _e ? _e : 0) || "row" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = null !== (_f = this.rowsDefine.length) && void 0 !== _f ? _f : 0) : !this.dataset || 0 !== (null !== (_h = null === (_g = this.dataset.records) || void 0 === _g ? void 0 : _g.length) && void 0 !== _h ? _h : 0) || this.dataset.customColTree || this.dataset.customRowTree || "row" !== this.cornerSetting.titleOnDimension && "all" !== this.cornerSetting.titleOnDimension || (count = this.rowsDefine.length,
655
+ this.hideIndicatorName || this.indicatorsAsCol || count++), void (this.rowHeaderLevelCount = count);
655
656
  }
656
657
  this.rowHeaderLevelCount = this.indicatorsAsCol || this.hideIndicatorName ? 0 : 1;
657
658
  }