@visactor/vtable 0.9.1 → 0.9.2-alpha.1

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 (611) hide show
  1. package/cjs/ListTable.d.ts +2 -1
  2. package/cjs/ListTable.js +17 -13
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +68 -0
  5. package/cjs/PivotChart.js +427 -0
  6. package/cjs/PivotChart.js.map +1 -0
  7. package/cjs/PivotTable.d.ts +2 -1
  8. package/cjs/PivotTable.js +18 -13
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/body-helper/style/MultilineTextStyle.js +2 -2
  11. package/cjs/body-helper/style/MultilineTextStyle.js.map +1 -1
  12. package/cjs/body-helper/style/ProgressBarStyle.js +15 -15
  13. package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -1
  14. package/cjs/body-helper/style/Style.d.ts +0 -1
  15. package/cjs/body-helper/style/Style.js +25 -28
  16. package/cjs/body-helper/style/Style.js.map +1 -1
  17. package/cjs/components/axis/axis.d.ts +45 -0
  18. package/cjs/components/axis/axis.js +146 -0
  19. package/cjs/components/axis/axis.js.map +1 -0
  20. package/cjs/components/axis/band-scale.d.ts +18 -0
  21. package/cjs/components/axis/band-scale.js +54 -0
  22. package/cjs/components/axis/band-scale.js.map +1 -0
  23. package/cjs/components/axis/get-axis-attributes.d.ts +136 -0
  24. package/cjs/components/axis/get-axis-attributes.js +169 -0
  25. package/cjs/components/axis/get-axis-attributes.js.map +1 -0
  26. package/cjs/components/axis/label-overlap.d.ts +3 -0
  27. package/cjs/components/axis/label-overlap.js +46 -0
  28. package/cjs/components/axis/label-overlap.js.map +1 -0
  29. package/cjs/components/axis/linear-scale.d.ts +45 -0
  30. package/cjs/components/axis/linear-scale.js +120 -0
  31. package/cjs/components/axis/linear-scale.js.map +1 -0
  32. package/cjs/components/legend/get-legend-attributes.d.ts +5 -0
  33. package/cjs/components/legend/get-legend-attributes.js +90 -0
  34. package/cjs/components/legend/get-legend-attributes.js.map +1 -0
  35. package/cjs/components/legend/legend.d.ts +23 -0
  36. package/cjs/components/legend/legend.js +94 -0
  37. package/cjs/components/legend/legend.js.map +1 -0
  38. package/cjs/{menu → components/menu}/dom/BaseMenu.d.ts +2 -2
  39. package/cjs/components/menu/dom/BaseMenu.js.map +1 -0
  40. package/cjs/components/menu/dom/Menu.js.map +1 -0
  41. package/{es → cjs/components}/menu/dom/MenuHandler.d.ts +2 -2
  42. package/cjs/{menu → components/menu}/dom/MenuHandler.js +1 -1
  43. package/cjs/components/menu/dom/MenuHandler.js.map +1 -0
  44. package/cjs/{menu → components/menu}/dom/logic/MenuContainer.d.ts +2 -2
  45. package/cjs/{menu → components/menu}/dom/logic/MenuContainer.js +2 -2
  46. package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -0
  47. package/cjs/{menu → components/menu}/dom/logic/MenuElement.d.ts +2 -2
  48. package/cjs/{menu → components/menu}/dom/logic/MenuElement.js +4 -4
  49. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -0
  50. package/cjs/components/menu/dom/logic/MenuElementStyle.js.map +1 -0
  51. package/cjs/components/title/title.d.ts +12 -0
  52. package/cjs/components/title/title.js +66 -0
  53. package/cjs/components/title/title.js.map +1 -0
  54. package/cjs/{tooltip → components/tooltip}/BaseTooltip.d.ts +3 -3
  55. package/cjs/components/tooltip/BaseTooltip.js.map +1 -0
  56. package/cjs/components/tooltip/Tooltip.js.map +1 -0
  57. package/{es → cjs/components}/tooltip/TooltipHandler.d.ts +4 -4
  58. package/cjs/{tooltip → components/tooltip}/TooltipHandler.js +1 -1
  59. package/cjs/components/tooltip/TooltipHandler.js.map +1 -0
  60. package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElement.d.ts +4 -4
  61. package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElement.js +1 -1
  62. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -0
  63. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
  64. package/cjs/components/util/orient.d.ts +3 -0
  65. package/cjs/components/util/orient.js +14 -0
  66. package/cjs/components/util/orient.js.map +1 -0
  67. package/cjs/components/util/register.d.ts +3 -0
  68. package/cjs/components/util/register.js +15 -0
  69. package/cjs/components/util/register.js.map +1 -0
  70. package/cjs/components/util/tick-data/config.d.ts +1 -0
  71. package/cjs/components/util/tick-data/config.js +6 -0
  72. package/cjs/components/util/tick-data/config.js.map +1 -0
  73. package/cjs/components/util/tick-data/continuous.d.ts +2 -0
  74. package/cjs/components/util/tick-data/continuous.js +39 -0
  75. package/cjs/components/util/tick-data/continuous.js.map +1 -0
  76. package/cjs/components/util/tick-data/discrete/linear.d.ts +2 -0
  77. package/cjs/components/util/tick-data/discrete/linear.js +66 -0
  78. package/cjs/components/util/tick-data/discrete/linear.js.map +1 -0
  79. package/cjs/components/util/tick-data/discrete/polar-angle.d.ts +2 -0
  80. package/cjs/components/util/tick-data/discrete/polar-angle.js +46 -0
  81. package/cjs/components/util/tick-data/discrete/polar-angle.js.map +1 -0
  82. package/cjs/components/util/tick-data/index.d.ts +2 -0
  83. package/cjs/components/util/tick-data/index.js +17 -0
  84. package/cjs/components/util/tick-data/index.js.map +1 -0
  85. package/cjs/components/util/tick-data/util.d.ts +21 -0
  86. package/cjs/components/util/tick-data/util.js +115 -0
  87. package/cjs/components/util/tick-data/util.js.map +1 -0
  88. package/cjs/components/util/transform.d.ts +5 -0
  89. package/cjs/components/util/transform.js +45 -0
  90. package/cjs/components/util/transform.js.map +1 -0
  91. package/cjs/core/BaseTable.d.ts +19 -6
  92. package/cjs/core/BaseTable.js +103 -44
  93. package/cjs/core/BaseTable.js.map +1 -1
  94. package/cjs/core/TABLE_EVENT_TYPE.d.ts +3 -0
  95. package/cjs/core/TABLE_EVENT_TYPE.js +4 -1
  96. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  97. package/cjs/core/style.js +1 -1
  98. package/cjs/core/style.js.map +1 -1
  99. package/cjs/core/tableHelper.js +1 -2
  100. package/cjs/data/CachedDataSource.js +2 -1
  101. package/cjs/data/DataSource.js +2 -2
  102. package/cjs/data/DataSource.js.map +1 -1
  103. package/cjs/dataset/dataset.d.ts +12 -19
  104. package/cjs/dataset/dataset.js +168 -196
  105. package/cjs/dataset/dataset.js.map +1 -1
  106. package/cjs/dataset/statistics-helper.d.ts +68 -0
  107. package/cjs/dataset/statistics-helper.js +173 -0
  108. package/cjs/dataset/statistics-helper.js.map +1 -0
  109. package/cjs/dataset/util/zero-align.d.ts +10 -0
  110. package/cjs/dataset/util/zero-align.js +119 -0
  111. package/cjs/dataset/util/zero-align.js.map +1 -0
  112. package/cjs/event/EventHandler.js.map +1 -1
  113. package/cjs/event/EventTarget.d.ts +5 -5
  114. package/cjs/event/EventTarget.js +2 -2
  115. package/cjs/event/EventTarget.js.map +1 -1
  116. package/cjs/event/VChartEventProxy.d.ts +1 -0
  117. package/cjs/event/VChartEventProxy.js +1 -0
  118. package/cjs/event/VChartEventProxy.js.map +1 -0
  119. package/cjs/event/event.js +8 -5
  120. package/cjs/event/event.js.map +1 -1
  121. package/cjs/event/listener/table-group.js +8 -6
  122. package/cjs/event/listener/table-group.js.map +1 -1
  123. package/cjs/event/pivot-chart/axis-click.d.ts +2 -0
  124. package/cjs/event/pivot-chart/axis-click.js +42 -0
  125. package/cjs/event/pivot-chart/axis-click.js.map +1 -0
  126. package/cjs/event/sparkline-event.js.map +1 -1
  127. package/cjs/event/util.js +0 -1
  128. package/cjs/header-helper/header-helper.js +1 -1
  129. package/cjs/header-helper/header-helper.js.map +1 -1
  130. package/cjs/header-helper/style/MultilineTextHeaderStyle.js +2 -2
  131. package/cjs/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
  132. package/cjs/header-helper/style/Style.d.ts +0 -1
  133. package/cjs/header-helper/style/Style.js +25 -28
  134. package/cjs/header-helper/style/Style.js.map +1 -1
  135. package/cjs/index.d.ts +4 -3
  136. package/cjs/index.js +11 -2
  137. package/cjs/index.js.map +1 -1
  138. package/cjs/layout/index.js +2 -1
  139. package/cjs/layout/pivot-chart/get-axis-config.d.ts +2 -0
  140. package/cjs/layout/pivot-chart/get-axis-config.js +118 -0
  141. package/cjs/layout/pivot-chart/get-axis-config.js.map +1 -0
  142. package/cjs/layout/pivot-chart/get-chart-spec.d.ts +4 -0
  143. package/cjs/layout/pivot-chart/get-chart-spec.js +118 -0
  144. package/cjs/layout/pivot-chart/get-chart-spec.js.map +1 -0
  145. package/cjs/layout/pivot-header-layout.d.ts +13 -5
  146. package/cjs/layout/pivot-header-layout.js +68 -12
  147. package/cjs/layout/pivot-header-layout.js.map +1 -1
  148. package/cjs/layout/pivot-layout.d.ts +55 -8
  149. package/cjs/layout/pivot-layout.js +419 -89
  150. package/cjs/layout/pivot-layout.js.map +1 -1
  151. package/cjs/layout/simple-header-layout.d.ts +10 -0
  152. package/cjs/layout/simple-header-layout.js +40 -0
  153. package/cjs/layout/simple-header-layout.js.map +1 -1
  154. package/cjs/render/layout/container.js +13 -0
  155. package/cjs/render/layout/container.js.map +1 -1
  156. package/cjs/scenegraph/component/table-component.js +3 -3
  157. package/cjs/scenegraph/component/table-component.js.map +1 -1
  158. package/cjs/scenegraph/graphic/chart.d.ts +3 -0
  159. package/cjs/scenegraph/graphic/chart.js +21 -6
  160. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  161. package/cjs/scenegraph/graphic/contributions/chart-render.js +15 -3
  162. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  163. package/cjs/scenegraph/graphic/text.js +5 -5
  164. package/cjs/scenegraph/graphic/text.js.map +1 -1
  165. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
  166. package/cjs/scenegraph/group-creater/cell-helper.js +21 -12
  167. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  168. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +2 -1
  169. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +6 -5
  170. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  171. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  172. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -2
  173. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  174. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +2 -1
  175. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +2 -3
  176. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  177. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -2
  178. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +6 -18
  179. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  180. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  181. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -2
  182. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  183. package/cjs/scenegraph/group-creater/column-helper.js +9 -30
  184. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  185. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  186. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +3 -0
  187. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +71 -0
  188. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -0
  189. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +31 -12
  190. package/cjs/scenegraph/group-creater/progress/proxy.js +117 -128
  191. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  192. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -0
  193. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +112 -0
  194. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -0
  195. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +2 -0
  196. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +109 -0
  197. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -0
  198. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +2 -0
  199. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +24 -0
  200. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -0
  201. package/cjs/scenegraph/layout/compute-col-width.d.ts +9 -1
  202. package/cjs/scenegraph/layout/compute-col-width.js +33 -23
  203. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  204. package/cjs/scenegraph/layout/compute-row-height.d.ts +3 -0
  205. package/cjs/scenegraph/layout/compute-row-height.js +173 -0
  206. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -0
  207. package/cjs/scenegraph/layout/move-cell.js +1 -1
  208. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  209. package/cjs/scenegraph/layout/update-cell.js +3 -2
  210. package/cjs/scenegraph/layout/update-cell.js.map +1 -1
  211. package/cjs/scenegraph/layout/update-height.js +4 -3
  212. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  213. package/cjs/scenegraph/layout/update-row.js +1 -1
  214. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  215. package/cjs/scenegraph/layout/update-width.js +4 -3
  216. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  217. package/cjs/scenegraph/refresh-node/update-chart.d.ts +3 -0
  218. package/cjs/scenegraph/refresh-node/update-chart.js +48 -5
  219. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  220. package/cjs/scenegraph/scenegraph.d.ts +13 -5
  221. package/cjs/scenegraph/scenegraph.js +163 -56
  222. package/cjs/scenegraph/scenegraph.js.map +1 -1
  223. package/cjs/scenegraph/stick-text/index.d.ts +1 -0
  224. package/cjs/scenegraph/stick-text/index.js +23 -7
  225. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  226. package/cjs/scenegraph/style/frame-border.js +1 -5
  227. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  228. package/cjs/scenegraph/utils/text-icon-layout.d.ts +2 -1
  229. package/cjs/scenegraph/utils/text-icon-layout.js +6 -5
  230. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  231. package/cjs/state/hover/col.js +4 -4
  232. package/cjs/state/hover/col.js.map +1 -1
  233. package/cjs/state/state.js +1 -1
  234. package/cjs/state/state.js.map +1 -1
  235. package/cjs/themes/DEFAULT.js +1 -2
  236. package/cjs/tools/LimitPromiseQueue.js +2 -1
  237. package/cjs/tools/NumberMap.d.ts +1 -0
  238. package/cjs/tools/NumberMap.js +3 -0
  239. package/cjs/tools/NumberMap.js.map +1 -1
  240. package/cjs/tools/calc.d.ts +3 -0
  241. package/cjs/tools/calc.js +11 -3
  242. package/cjs/tools/calc.js.map +1 -1
  243. package/cjs/tools/diff-cell.js +2 -2
  244. package/cjs/tools/dom.js +1 -1
  245. package/cjs/tools/env.js +1 -1
  246. package/cjs/ts-types/base-table.d.ts +41 -12
  247. package/cjs/ts-types/base-table.js.map +1 -1
  248. package/cjs/ts-types/column/style.d.ts +0 -1
  249. package/cjs/ts-types/column/style.js.map +1 -1
  250. package/cjs/ts-types/component/axis.d.ts +12 -0
  251. package/cjs/ts-types/component/axis.js +6 -0
  252. package/cjs/ts-types/component/axis.js.map +1 -0
  253. package/cjs/ts-types/component/legend.d.ts +5 -0
  254. package/cjs/ts-types/component/legend.js +6 -0
  255. package/cjs/ts-types/component/legend.js.map +1 -0
  256. package/cjs/ts-types/component/title.d.ts +47 -0
  257. package/cjs/ts-types/component/title.js +6 -0
  258. package/cjs/ts-types/component/title.js.map +1 -0
  259. package/cjs/ts-types/component/util.d.ts +1 -0
  260. package/cjs/ts-types/component/util.js +6 -0
  261. package/cjs/ts-types/component/util.js.map +1 -0
  262. package/cjs/ts-types/events.d.ts +100 -83
  263. package/cjs/ts-types/events.js.map +1 -1
  264. package/cjs/ts-types/list-table/layout-map/api.d.ts +4 -0
  265. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  266. package/cjs/ts-types/new-data-set.d.ts +18 -5
  267. package/cjs/ts-types/new-data-set.js +2 -2
  268. package/cjs/ts-types/new-data-set.js.map +1 -1
  269. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +4 -0
  270. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +3 -1
  271. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
  272. package/cjs/ts-types/pivot-table/corner.d.ts +3 -3
  273. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  274. package/cjs/ts-types/pivot-table/indicator/index.d.ts +1 -0
  275. package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -1
  276. package/cjs/ts-types/pivot-table/title.d.ts +1 -1
  277. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  278. package/cjs/ts-types/table-engine.d.ts +27 -3
  279. package/cjs/ts-types/table-engine.js.map +1 -1
  280. package/dist/vtable.js +29113 -17684
  281. package/dist/vtable.min.js +4 -2
  282. package/es/ListTable.d.ts +2 -1
  283. package/es/ListTable.js +17 -13
  284. package/es/ListTable.js.map +1 -1
  285. package/es/PivotChart.d.ts +68 -0
  286. package/es/PivotChart.js +437 -0
  287. package/es/PivotChart.js.map +1 -0
  288. package/es/PivotTable.d.ts +2 -1
  289. package/es/PivotTable.js +19 -14
  290. package/es/PivotTable.js.map +1 -1
  291. package/es/body-helper/style/MultilineTextStyle.js +2 -2
  292. package/es/body-helper/style/MultilineTextStyle.js.map +1 -1
  293. package/es/body-helper/style/ProgressBarStyle.js +15 -15
  294. package/es/body-helper/style/ProgressBarStyle.js.map +1 -1
  295. package/es/body-helper/style/Style.d.ts +0 -1
  296. package/es/body-helper/style/Style.js +25 -28
  297. package/es/body-helper/style/Style.js.map +1 -1
  298. package/es/components/axis/axis.d.ts +45 -0
  299. package/es/components/axis/axis.js +155 -0
  300. package/es/components/axis/axis.js.map +1 -0
  301. package/es/components/axis/band-scale.d.ts +18 -0
  302. package/es/components/axis/band-scale.js +46 -0
  303. package/es/components/axis/band-scale.js.map +1 -0
  304. package/es/components/axis/get-axis-attributes.d.ts +136 -0
  305. package/es/components/axis/get-axis-attributes.js +166 -0
  306. package/es/components/axis/get-axis-attributes.js.map +1 -0
  307. package/es/components/axis/label-overlap.d.ts +3 -0
  308. package/es/components/axis/label-overlap.js +39 -0
  309. package/es/components/axis/label-overlap.js.map +1 -0
  310. package/es/components/axis/linear-scale.d.ts +45 -0
  311. package/es/components/axis/linear-scale.js +104 -0
  312. package/es/components/axis/linear-scale.js.map +1 -0
  313. package/es/components/legend/get-legend-attributes.d.ts +5 -0
  314. package/es/components/legend/get-legend-attributes.js +84 -0
  315. package/es/components/legend/get-legend-attributes.js.map +1 -0
  316. package/es/components/legend/legend.d.ts +23 -0
  317. package/es/components/legend/legend.js +93 -0
  318. package/es/components/legend/legend.js.map +1 -0
  319. package/es/{menu → components/menu}/dom/BaseMenu.d.ts +2 -2
  320. package/es/components/menu/dom/BaseMenu.js.map +1 -0
  321. package/es/components/menu/dom/Menu.js.map +1 -0
  322. package/{cjs → es/components}/menu/dom/MenuHandler.d.ts +2 -2
  323. package/es/{menu → components/menu}/dom/MenuHandler.js +2 -2
  324. package/es/components/menu/dom/MenuHandler.js.map +1 -0
  325. package/es/{menu → components/menu}/dom/logic/MenuContainer.d.ts +2 -2
  326. package/es/{menu → components/menu}/dom/logic/MenuContainer.js +4 -4
  327. package/es/components/menu/dom/logic/MenuContainer.js.map +1 -0
  328. package/es/{menu → components/menu}/dom/logic/MenuElement.d.ts +2 -2
  329. package/es/{menu → components/menu}/dom/logic/MenuElement.js +9 -9
  330. package/es/components/menu/dom/logic/MenuElement.js.map +1 -0
  331. package/es/components/menu/dom/logic/MenuElementStyle.js.map +1 -0
  332. package/es/components/title/title.d.ts +12 -0
  333. package/es/components/title/title.js +61 -0
  334. package/es/components/title/title.js.map +1 -0
  335. package/es/{tooltip → components/tooltip}/BaseTooltip.d.ts +3 -3
  336. package/es/components/tooltip/BaseTooltip.js.map +1 -0
  337. package/es/components/tooltip/Tooltip.js.map +1 -0
  338. package/{cjs → es/components}/tooltip/TooltipHandler.d.ts +4 -4
  339. package/es/{tooltip → components/tooltip}/TooltipHandler.js +4 -4
  340. package/es/components/tooltip/TooltipHandler.js.map +1 -0
  341. package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElement.d.ts +4 -4
  342. package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElement.js +4 -4
  343. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -0
  344. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
  345. package/es/components/util/orient.d.ts +3 -0
  346. package/es/components/util/orient.js +8 -0
  347. package/es/components/util/orient.js.map +1 -0
  348. package/es/components/util/register.d.ts +3 -0
  349. package/es/components/util/register.js +8 -0
  350. package/es/components/util/register.js.map +1 -0
  351. package/es/components/util/tick-data/config.d.ts +1 -0
  352. package/es/components/util/tick-data/config.js +2 -0
  353. package/es/components/util/tick-data/config.js.map +1 -0
  354. package/es/components/util/tick-data/continuous.d.ts +2 -0
  355. package/es/components/util/tick-data/continuous.js +38 -0
  356. package/es/components/util/tick-data/continuous.js.map +1 -0
  357. package/es/components/util/tick-data/discrete/linear.d.ts +2 -0
  358. package/es/components/util/tick-data/discrete/linear.js +59 -0
  359. package/es/components/util/tick-data/discrete/linear.js.map +1 -0
  360. package/es/components/util/tick-data/discrete/polar-angle.d.ts +2 -0
  361. package/es/components/util/tick-data/discrete/polar-angle.js +39 -0
  362. package/es/components/util/tick-data/discrete/polar-angle.js.map +1 -0
  363. package/es/components/util/tick-data/index.d.ts +2 -0
  364. package/es/components/util/tick-data/index.js +19 -0
  365. package/es/components/util/tick-data/index.js.map +1 -0
  366. package/es/components/util/tick-data/util.d.ts +21 -0
  367. package/es/components/util/tick-data/util.js +104 -0
  368. package/es/components/util/tick-data/util.js.map +1 -0
  369. package/es/components/util/transform.d.ts +5 -0
  370. package/es/components/util/transform.js +34 -0
  371. package/es/components/util/transform.js.map +1 -0
  372. package/es/core/BaseTable.d.ts +19 -6
  373. package/es/core/BaseTable.js +107 -46
  374. package/es/core/BaseTable.js.map +1 -1
  375. package/es/core/TABLE_EVENT_TYPE.d.ts +3 -0
  376. package/es/core/TABLE_EVENT_TYPE.js +4 -1
  377. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  378. package/es/core/style.js +1 -1
  379. package/es/core/style.js.map +1 -1
  380. package/es/core/tableHelper.js +1 -2
  381. package/es/data/CachedDataSource.js +2 -1
  382. package/es/data/DataSource.js +2 -2
  383. package/es/data/DataSource.js.map +1 -1
  384. package/es/dataset/dataset.d.ts +12 -19
  385. package/es/dataset/dataset.js +161 -187
  386. package/es/dataset/dataset.js.map +1 -1
  387. package/es/dataset/statistics-helper.d.ts +68 -0
  388. package/es/dataset/statistics-helper.js +152 -0
  389. package/es/dataset/statistics-helper.js.map +1 -0
  390. package/es/dataset/util/zero-align.d.ts +10 -0
  391. package/es/dataset/util/zero-align.js +111 -0
  392. package/es/dataset/util/zero-align.js.map +1 -0
  393. package/es/event/EventHandler.js.map +1 -1
  394. package/es/event/EventTarget.d.ts +5 -5
  395. package/es/event/EventTarget.js +2 -2
  396. package/es/event/EventTarget.js.map +1 -1
  397. package/es/event/VChartEventProxy.d.ts +1 -0
  398. package/es/event/VChartEventProxy.js +1 -0
  399. package/es/event/VChartEventProxy.js.map +1 -0
  400. package/es/event/event.js +10 -5
  401. package/es/event/event.js.map +1 -1
  402. package/es/event/listener/table-group.js +8 -6
  403. package/es/event/listener/table-group.js.map +1 -1
  404. package/es/event/pivot-chart/axis-click.d.ts +2 -0
  405. package/es/event/pivot-chart/axis-click.js +36 -0
  406. package/es/event/pivot-chart/axis-click.js.map +1 -0
  407. package/es/event/sparkline-event.js.map +1 -1
  408. package/es/event/util.js +1 -2
  409. package/es/header-helper/header-helper.js +1 -1
  410. package/es/header-helper/header-helper.js.map +1 -1
  411. package/es/header-helper/style/MultilineTextHeaderStyle.js +2 -2
  412. package/es/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
  413. package/es/header-helper/style/Style.d.ts +0 -1
  414. package/es/header-helper/style/Style.js +25 -28
  415. package/es/header-helper/style/Style.js.map +1 -1
  416. package/es/index.d.ts +4 -3
  417. package/es/index.js +4 -2
  418. package/es/index.js.map +1 -1
  419. package/es/layout/index.js +2 -1
  420. package/es/layout/pivot-chart/get-axis-config.d.ts +2 -0
  421. package/es/layout/pivot-chart/get-axis-config.js +110 -0
  422. package/es/layout/pivot-chart/get-axis-config.js.map +1 -0
  423. package/es/layout/pivot-chart/get-chart-spec.d.ts +4 -0
  424. package/es/layout/pivot-chart/get-chart-spec.js +109 -0
  425. package/es/layout/pivot-chart/get-chart-spec.js.map +1 -0
  426. package/es/layout/pivot-header-layout.d.ts +13 -5
  427. package/es/layout/pivot-header-layout.js +67 -11
  428. package/es/layout/pivot-header-layout.js.map +1 -1
  429. package/es/layout/pivot-layout.d.ts +55 -8
  430. package/es/layout/pivot-layout.js +422 -87
  431. package/es/layout/pivot-layout.js.map +1 -1
  432. package/es/layout/simple-header-layout.d.ts +10 -0
  433. package/es/layout/simple-header-layout.js +40 -0
  434. package/es/layout/simple-header-layout.js.map +1 -1
  435. package/es/render/layout/container.js +13 -0
  436. package/es/render/layout/container.js.map +1 -1
  437. package/es/scenegraph/component/table-component.js +3 -3
  438. package/es/scenegraph/component/table-component.js.map +1 -1
  439. package/es/scenegraph/graphic/chart.d.ts +3 -0
  440. package/es/scenegraph/graphic/chart.js +22 -5
  441. package/es/scenegraph/graphic/chart.js.map +1 -1
  442. package/es/scenegraph/graphic/contributions/chart-render.js +15 -3
  443. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  444. package/es/scenegraph/graphic/text.js +5 -5
  445. package/es/scenegraph/graphic/text.js.map +1 -1
  446. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
  447. package/es/scenegraph/group-creater/cell-helper.js +22 -10
  448. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  449. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +2 -1
  450. package/es/scenegraph/group-creater/cell-type/chart-cell.js +5 -6
  451. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  452. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  453. package/es/scenegraph/group-creater/cell-type/image-cell.js +0 -3
  454. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  455. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +2 -1
  456. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -4
  457. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  458. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -2
  459. package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -17
  460. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  461. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  462. package/es/scenegraph/group-creater/cell-type/video-cell.js +0 -3
  463. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  464. package/es/scenegraph/group-creater/column-helper.js +8 -29
  465. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  466. package/es/scenegraph/group-creater/column.js.map +1 -1
  467. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +3 -0
  468. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +65 -0
  469. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -0
  470. package/es/scenegraph/group-creater/progress/proxy.d.ts +31 -12
  471. package/es/scenegraph/group-creater/progress/proxy.js +124 -130
  472. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  473. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -0
  474. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +104 -0
  475. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -0
  476. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +2 -0
  477. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +102 -0
  478. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -0
  479. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +2 -0
  480. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +18 -0
  481. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -0
  482. package/es/scenegraph/layout/compute-col-width.d.ts +9 -1
  483. package/es/scenegraph/layout/compute-col-width.js +31 -22
  484. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  485. package/es/scenegraph/layout/compute-row-height.d.ts +3 -0
  486. package/es/scenegraph/layout/compute-row-height.js +175 -0
  487. package/es/scenegraph/layout/compute-row-height.js.map +1 -0
  488. package/es/scenegraph/layout/move-cell.js +1 -1
  489. package/es/scenegraph/layout/move-cell.js.map +1 -1
  490. package/es/scenegraph/layout/update-cell.js +3 -1
  491. package/es/scenegraph/layout/update-cell.js.map +1 -1
  492. package/es/scenegraph/layout/update-height.js +4 -2
  493. package/es/scenegraph/layout/update-height.js.map +1 -1
  494. package/es/scenegraph/layout/update-row.js +1 -1
  495. package/es/scenegraph/layout/update-row.js.map +1 -1
  496. package/es/scenegraph/layout/update-width.js +4 -2
  497. package/es/scenegraph/layout/update-width.js.map +1 -1
  498. package/es/scenegraph/refresh-node/update-chart.d.ts +3 -0
  499. package/es/scenegraph/refresh-node/update-chart.js +45 -4
  500. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  501. package/es/scenegraph/scenegraph.d.ts +13 -5
  502. package/es/scenegraph/scenegraph.js +165 -58
  503. package/es/scenegraph/scenegraph.js.map +1 -1
  504. package/es/scenegraph/stick-text/index.d.ts +1 -0
  505. package/es/scenegraph/stick-text/index.js +21 -5
  506. package/es/scenegraph/stick-text/index.js.map +1 -1
  507. package/es/scenegraph/style/frame-border.js +1 -5
  508. package/es/scenegraph/style/frame-border.js.map +1 -1
  509. package/es/scenegraph/utils/text-icon-layout.d.ts +2 -1
  510. package/es/scenegraph/utils/text-icon-layout.js +4 -4
  511. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  512. package/es/state/hover/col.js +4 -4
  513. package/es/state/hover/col.js.map +1 -1
  514. package/es/state/state.js +1 -1
  515. package/es/state/state.js.map +1 -1
  516. package/es/themes/DEFAULT.js +1 -2
  517. package/es/tools/LimitPromiseQueue.js +2 -1
  518. package/es/tools/NumberMap.d.ts +1 -0
  519. package/es/tools/NumberMap.js +3 -0
  520. package/es/tools/NumberMap.js.map +1 -1
  521. package/es/tools/calc.d.ts +3 -0
  522. package/es/tools/calc.js +10 -0
  523. package/es/tools/calc.js.map +1 -1
  524. package/es/tools/diff-cell.js +1 -1
  525. package/es/tools/dom.js +1 -1
  526. package/es/tools/env.js +1 -1
  527. package/es/ts-types/base-table.d.ts +41 -12
  528. package/es/ts-types/base-table.js.map +1 -1
  529. package/es/ts-types/column/style.d.ts +0 -1
  530. package/es/ts-types/column/style.js.map +1 -1
  531. package/es/ts-types/component/axis.d.ts +12 -0
  532. package/es/ts-types/component/axis.js +2 -0
  533. package/es/ts-types/component/axis.js.map +1 -0
  534. package/es/ts-types/component/legend.d.ts +5 -0
  535. package/es/ts-types/component/legend.js +2 -0
  536. package/es/ts-types/component/legend.js.map +1 -0
  537. package/es/ts-types/component/title.d.ts +47 -0
  538. package/es/ts-types/component/title.js +2 -0
  539. package/es/ts-types/component/title.js.map +1 -0
  540. package/es/ts-types/component/util.d.ts +1 -0
  541. package/es/ts-types/component/util.js +2 -0
  542. package/es/ts-types/component/util.js.map +1 -0
  543. package/es/ts-types/events.d.ts +100 -83
  544. package/es/ts-types/events.js.map +1 -1
  545. package/es/ts-types/list-table/layout-map/api.d.ts +4 -0
  546. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  547. package/es/ts-types/new-data-set.d.ts +18 -5
  548. package/es/ts-types/new-data-set.js +2 -2
  549. package/es/ts-types/new-data-set.js.map +1 -1
  550. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +4 -0
  551. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +4 -0
  552. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
  553. package/es/ts-types/pivot-table/corner.d.ts +3 -3
  554. package/es/ts-types/pivot-table/corner.js.map +1 -1
  555. package/es/ts-types/pivot-table/indicator/index.d.ts +1 -0
  556. package/es/ts-types/pivot-table/indicator/index.js.map +1 -1
  557. package/es/ts-types/pivot-table/title.d.ts +1 -1
  558. package/es/ts-types/pivot-table/title.js.map +1 -1
  559. package/es/ts-types/table-engine.d.ts +27 -3
  560. package/es/ts-types/table-engine.js.map +1 -1
  561. package/package.json +13 -7
  562. package/cjs/menu/dom/BaseMenu.js.map +0 -1
  563. package/cjs/menu/dom/Menu.js.map +0 -1
  564. package/cjs/menu/dom/MenuHandler.js.map +0 -1
  565. package/cjs/menu/dom/logic/MenuContainer.js.map +0 -1
  566. package/cjs/menu/dom/logic/MenuElement.js.map +0 -1
  567. package/cjs/menu/dom/logic/MenuElementStyle.js.map +0 -1
  568. package/cjs/scenegraph/layout/auto-width.d.ts +0 -2
  569. package/cjs/scenegraph/layout/auto-width.js +0 -85
  570. package/cjs/scenegraph/layout/auto-width.js.map +0 -1
  571. package/cjs/tooltip/BaseTooltip.js.map +0 -1
  572. package/cjs/tooltip/Tooltip.js.map +0 -1
  573. package/cjs/tooltip/TooltipHandler.js.map +0 -1
  574. package/cjs/tooltip/logic/BubbleTooltipElement.js.map +0 -1
  575. package/cjs/tooltip/logic/BubbleTooltipElementStyle.js.map +0 -1
  576. package/dist/vtable.es5.js +0 -53155
  577. package/dist/vtable.es5.min.js +0 -3
  578. package/es/menu/dom/BaseMenu.js.map +0 -1
  579. package/es/menu/dom/Menu.js.map +0 -1
  580. package/es/menu/dom/MenuHandler.js.map +0 -1
  581. package/es/menu/dom/logic/MenuContainer.js.map +0 -1
  582. package/es/menu/dom/logic/MenuElement.js.map +0 -1
  583. package/es/menu/dom/logic/MenuElementStyle.js.map +0 -1
  584. package/es/scenegraph/layout/auto-width.d.ts +0 -2
  585. package/es/scenegraph/layout/auto-width.js +0 -82
  586. package/es/scenegraph/layout/auto-width.js.map +0 -1
  587. package/es/tooltip/BaseTooltip.js.map +0 -1
  588. package/es/tooltip/Tooltip.js.map +0 -1
  589. package/es/tooltip/TooltipHandler.js.map +0 -1
  590. package/es/tooltip/logic/BubbleTooltipElement.js.map +0 -1
  591. package/es/tooltip/logic/BubbleTooltipElementStyle.js.map +0 -1
  592. /package/cjs/{menu → components/menu}/dom/BaseMenu.js +0 -0
  593. /package/cjs/{menu → components/menu}/dom/Menu.d.ts +0 -0
  594. /package/cjs/{menu → components/menu}/dom/Menu.js +0 -0
  595. /package/cjs/{menu → components/menu}/dom/logic/MenuElementStyle.d.ts +0 -0
  596. /package/cjs/{menu → components/menu}/dom/logic/MenuElementStyle.js +0 -0
  597. /package/cjs/{tooltip → components/tooltip}/BaseTooltip.js +0 -0
  598. /package/cjs/{tooltip → components/tooltip}/Tooltip.d.ts +0 -0
  599. /package/cjs/{tooltip → components/tooltip}/Tooltip.js +0 -0
  600. /package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.d.ts +0 -0
  601. /package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.js +0 -0
  602. /package/es/{menu → components/menu}/dom/BaseMenu.js +0 -0
  603. /package/es/{menu → components/menu}/dom/Menu.d.ts +0 -0
  604. /package/es/{menu → components/menu}/dom/Menu.js +0 -0
  605. /package/es/{menu → components/menu}/dom/logic/MenuElementStyle.d.ts +0 -0
  606. /package/es/{menu → components/menu}/dom/logic/MenuElementStyle.js +0 -0
  607. /package/es/{tooltip → components/tooltip}/BaseTooltip.js +0 -0
  608. /package/es/{tooltip → components/tooltip}/Tooltip.d.ts +0 -0
  609. /package/es/{tooltip → components/tooltip}/Tooltip.js +0 -0
  610. /package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.d.ts +0 -0
  611. /package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.js +0 -0
package/cjs/PivotTable.js CHANGED
@@ -29,6 +29,9 @@ class PivotTable extends BaseTable_1.BaseTable {
29
29
  isPivotTable() {
30
30
  return !0;
31
31
  }
32
+ isPivotChart() {
33
+ return !1;
34
+ }
32
35
  _canResizeColumn(col, row) {
33
36
  const ifCan = super._canResizeColumn(col, row);
34
37
  if (ifCan && !this.internalProps.layoutMap.indicatorsAsCol) {
@@ -57,24 +60,25 @@ class PivotTable extends BaseTable_1.BaseTable {
57
60
  var _a;
58
61
  return null === (_a = null == disposable ? void 0 : disposable.dispose) || void 0 === _a ? void 0 : _a.call(disposable);
59
62
  })), internalProps.disposables = null), this._updateSize(), options.dataSource ? (0,
60
- tableHelper_1._setDataSource)(this, options.dataSource) : options.records ? this.setRecords(options.records, void 0) : this._resetFrozenColCount(),
61
- this.pivotSortState = [], options.pivotSortState && this.updatePivotSortState(options.pivotSortState),
62
- new Promise((resolve => {
63
+ tableHelper_1._setDataSource)(this, options.dataSource) : options.records ? this.setRecords(options.records, void 0) : (this._resetFrozenColCount(),
64
+ this.scenegraph.createSceneGraph(), this.invalidate()), this.pivotSortState = [],
65
+ options.pivotSortState && this.updatePivotSortState(options.pivotSortState), new Promise((resolve => {
63
66
  setTimeout(resolve, 0);
64
67
  }));
65
68
  }
66
69
  refreshHeader() {
67
70
  var _a, _b, _c, _d;
68
71
  const internalProps = this.internalProps;
69
- internalProps.headerEvents && internalProps.headerEvents.forEach((id => this.unlisten(id))),
70
- this.options.enableDataAnalysis ? internalProps.layoutMap = new pivot_layout_1.PivoLayoutMap(this, this.dataset) : (Array.isArray(this.options.columnTree) || Array.isArray(this.options.rowTree)) && (internalProps.layoutMap = new pivot_header_layout_1.PivotHeaderLayoutMap(this),
71
- (null === (_b = null === (_a = this.options.records) || void 0 === _a ? void 0 : _a[0]) || void 0 === _b ? void 0 : _b.constructor) !== Array && (this.flatDataToObjects = new flatDataToObject_1.FlatDataToObjects({
72
+ internalProps.headerEvents && internalProps.headerEvents.forEach((id => this.unlisten(id)));
73
+ const records = null !== (_a = this.options.records) && void 0 !== _a ? _a : this.internalProps.records;
74
+ this.options.enableDataAnalysis ? internalProps.layoutMap = new pivot_layout_1.PivotLayoutMap(this, this.dataset) : (Array.isArray(this.options.columnTree) || Array.isArray(this.options.rowTree)) && (internalProps.layoutMap = new pivot_header_layout_1.PivotHeaderLayoutMap(this),
75
+ (null === (_b = null == records ? void 0 : records[0]) || void 0 === _b ? void 0 : _b.constructor) !== Array && (this.flatDataToObjects = new flatDataToObject_1.FlatDataToObjects({
72
76
  rows: internalProps.layoutMap.rowDimensionKeys,
73
77
  columns: internalProps.layoutMap.colDimensionKeys,
74
78
  indicators: internalProps.layoutMap.indicatorKeys,
75
79
  indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,
76
80
  indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey
77
- }, this.options.records)));
81
+ }, records)));
78
82
  for (let col = 0; col < internalProps.layoutMap.columnWidths.length; col++) {
79
83
  const {width: width, minWidth: minWidth, maxWidth: maxWidth} = null !== (_d = null === (_c = internalProps.layoutMap.columnWidths) || void 0 === _c ? void 0 : _c[col]) && void 0 !== _d ? _d : {};
80
84
  width && ("string" == typeof width && "auto" !== width || "number" == typeof width && width > 0) && this.setColWidth(col, width),
@@ -84,13 +88,14 @@ class PivotTable extends BaseTable_1.BaseTable {
84
88
  this.refreshRowColCount();
85
89
  }
86
90
  refreshRowColCount() {
87
- var _a, _b;
91
+ var _a, _b, _c, _d;
88
92
  const {layoutMap: layoutMap} = this.internalProps;
89
93
  layoutMap && (this.colCount = null !== (_a = layoutMap.colCount) && void 0 !== _a ? _a : 0,
90
94
  this.rowCount = null !== (_b = layoutMap.rowCount) && void 0 !== _b ? _b : 0, this.frozenColCount = layoutMap.rowHeaderLevelCount,
91
- this.frozenRowCount = layoutMap.headerLevelCount);
95
+ this.frozenRowCount = layoutMap.headerLevelCount, this.bottomFrozenRowCount = null !== (_c = null == layoutMap ? void 0 : layoutMap.bottomFrozenRowCount) && void 0 !== _c ? _c : 0,
96
+ this.rightFrozenColCount = null !== (_d = null == layoutMap ? void 0 : layoutMap.rightFrozenColCount) && void 0 !== _d ? _d : 0);
92
97
  }
93
- getSortFuncFromHeaderOption(columns, field, fieldKey) {}
98
+ _getSortFuncFromHeaderOption(columns, field, fieldKey) {}
94
99
  get rowHierarchyType() {
95
100
  return this.internalProps.layoutMap.rowHierarchyType;
96
101
  }
@@ -131,7 +136,7 @@ class PivotTable extends BaseTable_1.BaseTable {
131
136
  return "function" == typeof fieldFormat ? fieldFormat(caption) : caption;
132
137
  }
133
138
  if (this.dataset) {
134
- const colKey = null !== (_a = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [], aggregator = this.dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], this.internalProps.layoutMap.getIndicatorName(col, row));
139
+ const colKey = null !== (_a = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [], aggregator = this.dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], this.internalProps.layoutMap.getIndicatorKey(col, row));
135
140
  return aggregator.formatValue ? aggregator.formatValue() : "";
136
141
  }
137
142
  if (this.flatDataToObjects) {
@@ -155,7 +160,7 @@ class PivotTable extends BaseTable_1.BaseTable {
155
160
  return "function" == typeof caption ? caption() : caption;
156
161
  }
157
162
  if (this.dataset) {
158
- const colKey = null !== (_a = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [], aggregator = this.dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], this.internalProps.layoutMap.getIndicatorName(col, row));
163
+ const colKey = null !== (_a = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [], aggregator = this.dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], this.internalProps.layoutMap.getIndicatorKey(col, row));
159
164
  return aggregator.value ? aggregator.value() : void 0;
160
165
  }
161
166
  if (this.flatDataToObjects) {
@@ -176,7 +181,7 @@ class PivotTable extends BaseTable_1.BaseTable {
176
181
  if (!this.internalProps.layoutMap.isHeader(col, row)) {
177
182
  if (this.dataset) {
178
183
  const colKey = null !== (_a = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [];
179
- return this.dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], this.internalProps.layoutMap.getIndicatorName(col, row)).records;
184
+ return this.dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], this.internalProps.layoutMap.getIndicatorKey(col, row)).records;
180
185
  }
181
186
  if (this.flatDataToObjects) {
182
187
  const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row), colKeys = cellDimensionPath.colHeaderPaths.map((colPath => {
@@ -1 +1 @@
1
- {"version":3,"sources":["PivotTable.ts"],"names":[],"mappings":";;;AAgBA,yCAA4C;AAC5C,sEAAoE;AACpE,kDAA6C;AAC7C,wDAAsD;AACtD,iEAA+D;AAC/D,0FAAuF;AACvF,2CAAsD;AACtD,+CAA4C;AAC5C,oDAAoD;AACpD,gDAA6C;AAG7C,MAAa,UAAW,SAAQ,qBAAS;IASvC,YAAY,OAAqC;;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAK,OAAe,CAAC,MAAM,EAAE;YAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAG,OAAe,CAAC,MAAM,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAChC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC5D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBACnC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,aAAa,GACjB,MAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE;gBAChD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACtC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SAChH;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACnD;QAED,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,IAAA,4BAAc,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAc,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACvE;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACrB;IACH,CAAC;IACD,MAAM,KAAK,UAAU;QACnB,OAAO,+CAAsB,CAAC;IAChC,CAAC;IACD,WAAW;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,GAAW,EAAE,GAAW;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE;gBAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC1F,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE;oBACnC,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY,CAAC,OAAqC,EAAE,qBAAqB,GAAG,KAAK;QAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAGzC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAG5B,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC9C,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAG9D,IACE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,MAAK,MAAM;YACnC,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,KAAK,MAAM;YACjF,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,cAAc,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAA,EACjG;YACA,MAAM,mBAAmB,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjH,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,OAAO,CAAC,OAAO,CACpE,CAAC,IAAuB,EAAE,KAAa,EAAE,EAAE;gBACzC,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC,CACF,CAAC;SACH;QAGD,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAChC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC5D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBACnC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE;gBACrE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACtC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3G;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QAIrB,IAAI,aAAa,CAAC,WAAW,EAAE;YAC7B,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAC,OAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0DAAI,CAAA,EAAA,CAAC,CAAC;YACzE,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;SAClC;QAGD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,IAAA,4BAAc,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAc,EAAE,SAAS,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAGzC,IAAI,aAAa,CAAC,YAAY,EAAE;YAC9B,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;SACvE;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACnC,aAAa,CAAC,SAAS,GAAG,IAAI,4BAAa,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACjE;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxF,aAAa,CAAC,SAAS,GAAG,IAAI,0CAAoB,CAAC,IAAI,CAAC,CAAC;YAGzD,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAG,CAAC,CAAC,0CAAE,WAAW,MAAK,KAAK,EAAE;gBACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,oCAAiB,CAC5C;oBACE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,gBAAgB;oBAC9C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,gBAAgB;oBACjD,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa;oBACjD,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,eAAe;oBACxD,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,qBAAqB;iBACrE,EACD,IAAI,CAAC,OAAO,CAAC,OAAO,CACrB,CAAC;aACH;SACF;QAGD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC1E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAA,MAAA,aAAa,CAAC,SAAS,CAAC,YAAY,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;YAExF,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC1G,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC9B;YACD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACpC;YACD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACpC;SACF;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,KAAK,CAAC,QAAQ,GAAG,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,GAAG,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC;QACzC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC;QACrD,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAC;IACpD,CAAC;IACS,2BAA2B,CACnC,OAAkB,EAClB,KAAe,EACf,QAAsB;QAEtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAID,IAAI,gBAAgB;QAClB,OAAQ,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,CAAC;IACjF,CAAC;IAMO,kBAAkB,CAAC,UAAe,EAAE,UAA6B;;QACvE,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC,YAAY,EAAE;YAChG,UAAU,CAAC,cAAc;gBACvB,MAAA,UAAU,CAAC,cAAc,mCAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9F,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAE,OAAO,CAAC,CAAC,eAAkC,EAAE,KAAa,EAAE,EAAE;;gBAClF,IAAI,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAG,KAAK,CAAC,KAAI,eAAe,EAAE;oBACpD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;iBACtE;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,OAAO,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,GAAW;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,OAAO,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,CAAC,KAAyC,EAAE,GAAW,EAAE,GAAW;;QAC9E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAE7B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnF,OAAO,IAAA,qBAAQ,kBAAG,SAAS,IAAK,eAAe,GAAI,KAAK,EAAE,gBAAc,CAAC,CAAC;SAC3E;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,GAAW;;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACnD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClF,OAAO,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC3E;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,IAAI,CAAC,aAAa,CAAC,SAA2B,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC3E,CAAC;YACF,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAClD,OAAO,EACP,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAC5D,CAAC;YACF,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvE,OAAO,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,mCAAI,EAAE,CAAC;SACpG;QACD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SAC5D;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,IAAI,CAAC,aAAa,CAAC,SAA2B,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC3E,CAAC;YACF,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAE1D;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACjD,OAAO,EACP,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAC5D,CAAC;YACF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAC;SACxB;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAGD,mBAAmB,CAAC,GAAW,EAAE,GAAW;;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,IAAI,CAAC,aAAa,CAAC,SAA2B,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAC3E,CAAC;YACF,OAAO,UAAU,CAAC,OAAO,CAAC;SAE3B;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACjD,OAAO,EACP,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAC5D,CAAC;YACF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,eAAe,CAAC,SAAoB;QAClC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,SAA2B,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,oBAAoB,CAClB,oBAGG;QAWH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE1G,WAAW;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,GAAG,EAAE,WAAW,CAAC,GAAG;oBACpB,GAAG,EAAE,WAAW,CAAC,GAAG;oBACpB,KAAK;iBACN,CAAC,CAAC;SACN;IAMH,CAAC;IAED,iBAAiB,CAAC,GAAW,EAAE,GAAW;QACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAErE,IAAI,IAAA,oBAAW,EAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;gBAC5C,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAMD,kBAAkB,CAAC,MAAmB,EAAE,MAAmB;;QAEzD,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9G,IAAI,WAAW,EAAE;YACf,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAErC,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAG,CAAC,CAAC,0CAAE,WAAW,MAAK,KAAK,EAAE;oBACpD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;wBAClD,MAAM,aAAa,GAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAyB,CAAC,MAAM,CACrE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAClD,WAAW,CAAC,QAAQ,CACrB,CAAC;wBACF,aAAa,CAAC,OAAO,CAAE,WAAW,CAAC,WAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAQ,CAAC,CAAC;wBAC7F,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,EAAE,aAAa,CAAC,CAAC;qBACvF;iBACF;gBAED,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAGtG,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oBAC/E,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;oBACtF,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;wBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACpC;oBACD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;wBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACpC;iBACF;aACF;iBAAM,IAAI,WAAW,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAEzC,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAG,CAAC,CAAC,0CAAE,WAAW,MAAK,KAAK,EAAE;oBACpD,MAAM,UAAU,GAAI,IAAI,CAAC,OAA+B,CAAC,MAAM,CAC7D,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,EACrD,WAAW,CAAC,QAAQ,CACrB,CAAC;oBACF,UAAU,CAAC,OAAO,CAAE,WAAW,CAAC,WAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAQ,CAAC,CAAC;oBAC7F,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;iBACxD;gBAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;aACxG;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,oBAAoB,CAAC,GAAW,EAAE,GAAW;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,cAAc,KAAK,yBAAc,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,+CAAsB,CAAC,2BAA2B,EAAE;gBACrE,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE,yBAAc,CAAC,QAAQ;aACxC,CAAC,CAAC;SACJ;aAAM,IAAI,cAAc,KAAK,yBAAc,CAAC,QAAQ,EAAE;YACrD,IAAI,CAAC,aAAa,CAAC,+CAAsB,CAAC,2BAA2B,EAAE;gBACrE,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE,yBAAc,CAAC,MAAM;gBACrC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;aAC/C,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAErG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAI1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;IAMD,0BAA0B,CAAC,cAAgC;QACzD,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9G,OAAO,WAAW,CAAC;IACrB,CAAC;IAMD,2BAA2B,CACzB,cAKoB;QAEpB,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,yBAAyB,CAClG,cAAc,CACf,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC;IAQD,iBAAiB,CAAC,UAAqC;QACrD,IAAI,QAAQ,CAAC;QACb,IAAI,UAAU,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC,SAAS,CACvB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAC9D,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAC/D,CAAC;SACH;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,SAAS,CACvB,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAC/C,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAChD,CAAC;SACH;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpG,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,iBAAiB,CAAC,GAAW,EAAE,GAAW;;QACxC,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,0CAAE,cAAc,CAAC;IAC5D,CAAC;IAED,sBAAsB;QACpB,OAAQ,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,KAAK,MAAM,CAAC;IAC5F,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,GAAW,EAAE,IAAY;QAChD,MAAM,cAAc,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9G,MAAM,MAAM,GAA0B;YACpC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY;YACpE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;YACpC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;SAC7C,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAjlBD,gCAilBC","file":"PivotTable.js","sourcesContent":["import type {\n FieldData,\n FieldDef,\n FieldFormat,\n PivotTableAPI,\n SortRules,\n PivotSortState,\n CellAddress,\n ICellHeaderPaths,\n DropDownMenuEventInfo,\n FieldKeyDef,\n PivotTableConstructorOptions,\n IHeaderTreeDefine,\n IDimensionInfo,\n SortOrder\n} from './ts-types';\nimport { HierarchyState } from './ts-types';\nimport { PivotHeaderLayoutMap } from './layout/pivot-header-layout';\nimport { getField } from './data/DataSource';\nimport { PivoLayoutMap } from './layout/pivot-layout';\nimport { FlatDataToObjects } from './dataset/flatDataToObject';\nimport { PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\nimport { cellInRange, emptyFn } from './tools/helper';\nimport { Dataset } from './dataset/dataset';\nimport { _setDataSource } from './core/tableHelper';\nimport { BaseTable } from './core/BaseTable';\nimport type { PivotTableProtected } from './ts-types/base-table';\n\nexport class PivotTable extends BaseTable implements PivotTableAPI {\n declare internalProps: PivotTableProtected;\n declare options: PivotTableConstructorOptions;\n pivotSortState: PivotSortState[];\n\n dataset?: Dataset; //数据处理对象 开启数据透视分析的表\n flatDataToObjects?: FlatDataToObjects; //数据处理对象 聚合后的flat数据 转成便于查询的行列二维数组\n // drillMenu: Menu; //上卷下钻的按钮\n // eslint-disable-next-line default-param-last\n constructor(options: PivotTableConstructorOptions) {\n super(options);\n if ((options as any).layout) {\n //TODO hack处理之前的demo都是定义到layout上的 所以这里直接并到options中\n Object.assign(options, (options as any).layout);\n }\n this.internalProps.dataConfig = options.dataConfig;\n this.internalProps.enableDataAnalysis = options.enableDataAnalysis;\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys = options.rows.reduce((keys, 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 = options.columns.reduce((keys, 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, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []) ?? [];\n this.dataset = new Dataset(this.internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, options.records);\n }\n\n this.refreshHeader();\n\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n\n if (options.dataSource) {\n _setDataSource(this, options.dataSource);\n } else if (options.records) {\n this.setRecords(options.records as any, this.internalProps.sortState);\n } else {\n this.setRecords([]);\n }\n }\n static get EVENT_TYPE(): typeof PIVOT_TABLE_EVENT_TYPE {\n return PIVOT_TABLE_EVENT_TYPE;\n }\n isListTable(): false {\n return false;\n }\n isPivotTable(): true {\n return true;\n }\n\n _canResizeColumn(col: number, row: number): boolean {\n const ifCan = super._canResizeColumn(col, row);\n if (ifCan) {\n if (!this.internalProps.layoutMap.indicatorsAsCol) {\n // 列上是否配置了禁止拖拽列宽的配置项disableColumnResize\n const cellDefine = this.internalProps.layoutMap.getBody(col, this.columnHeaderLevelCount);\n if (cellDefine?.disableColumnResize) {\n return false;\n }\n }\n }\n return ifCan;\n }\n updateOption(options: PivotTableConstructorOptions, accelerateFirstScreen = false) {\n const internalProps = this.internalProps;\n //维护选中状态\n // const range = internalProps.selection.range; //保留原有单元格选中状态\n super.updateOption(options);\n\n // 更新protectedSpace\n internalProps.dataConfig = options.dataConfig;\n internalProps.enableDataAnalysis = options.enableDataAnalysis;\n\n //维护tree树形结构的展开状态\n if (\n options?.rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowExpandLevel === options?.rowExpandLevel\n ) {\n const beforeRowDimensions = (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowDimensionTree.tree.children;\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowTree.forEach(\n (node: IHeaderTreeDefine, index: number) => {\n this.syncHierarchyState(beforeRowDimensions[index], node);\n }\n );\n }\n\n //TODO 这里需要加上判断 dataConfig是否有配置变化\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys = options.rows.reduce((keys, 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 = options.columns.reduce((keys, 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 = options.indicators.reduce((keys, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []);\n this.dataset = new Dataset(internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, options.records);\n }\n // 更新表头\n this.refreshHeader();\n\n // this.hasMedia = null; // 避免重复绑定\n // 清空目前数据\n if (internalProps.disposables) {\n internalProps.disposables.forEach(disposable => disposable?.dispose?.());\n internalProps.disposables = null;\n }\n // // 恢复selection状态\n // internalProps.selection.range = range;\n this._updateSize();\n // 传入新数据\n if (options.dataSource) {\n _setDataSource(this, options.dataSource);\n } else if (options.records) {\n this.setRecords(options.records as any, undefined);\n } else {\n this._resetFrozenColCount();\n }\n\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n return new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n }\n\n refreshHeader(): void {\n const internalProps = this.internalProps;\n\n //原表头绑定的事件 解除掉\n if (internalProps.headerEvents) {\n internalProps.headerEvents.forEach((id: number) => this.unlisten(id));\n }\n\n if (this.options.enableDataAnalysis) {\n internalProps.layoutMap = new PivoLayoutMap(this, this.dataset);\n } else if (Array.isArray(this.options.columnTree) || Array.isArray(this.options.rowTree)) {\n internalProps.layoutMap = new PivotHeaderLayoutMap(this);\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (this.options.records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: internalProps.layoutMap.rowDimensionKeys,\n columns: internalProps.layoutMap.colDimensionKeys,\n indicators: internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey\n },\n this.options.records\n );\n }\n }\n\n //设置列宽\n for (let col = 0; col < internalProps.layoutMap.columnWidths.length; col++) {\n const { width, minWidth, maxWidth } = internalProps.layoutMap.columnWidths?.[col] ?? {};\n // width 为 \"auto\" 时先不存储ColWidth\n if (width && ((typeof width === 'string' && width !== 'auto') || (typeof width === 'number' && width > 0))) {\n this.setColWidth(col, width);\n }\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n }\n\n refreshRowColCount(): void {\n const table = this;\n const { layoutMap } = table.internalProps;\n if (!layoutMap) {\n return;\n }\n table.colCount = layoutMap.colCount ?? 0;\n table.rowCount = layoutMap.rowCount ?? 0;\n table.frozenColCount = layoutMap.rowHeaderLevelCount; //TODO\n table.frozenRowCount = layoutMap.headerLevelCount;\n }\n protected getSortFuncFromHeaderOption(\n columns: undefined,\n field: FieldDef,\n fieldKey?: FieldKeyDef\n ): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined {\n return undefined;\n }\n /**\n * Get rowHierarchyType of pivotTable\n */\n get rowHierarchyType(): 'grid' | 'tree' {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType;\n }\n /**\n * 将现有tree中的的hierarchyState同步到rows透视树中\n * @param sourceNode\n * @param targetNode\n */\n private syncHierarchyState(sourceNode: any, targetNode: IHeaderTreeDefine) {\n if (sourceNode.value === targetNode.value && sourceNode.dimensionKey === targetNode.dimensionKey) {\n targetNode.hierarchyState =\n targetNode.hierarchyState ?? (targetNode?.children ? sourceNode.hierarchyState : undefined);\n targetNode?.children?.forEach((targetChildNode: IHeaderTreeDefine, index: number) => {\n if (sourceNode?.children?.[index] && targetChildNode) {\n this.syncHierarchyState(sourceNode.children[index], targetChildNode);\n }\n });\n }\n }\n\n getRecordIndexByRow(row: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getRecordIndexByRow(row);\n }\n getRecordIndexByCol(col: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getRecordIndexByCol(col);\n }\n getFieldData(field: FieldDef | FieldFormat | undefined, col: number, row: number): FieldData {\n if (field === null || field === undefined) {\n return null;\n }\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return null;\n }\n const rowIndex = this.getRecordIndexByRow(row);\n const colIndex = this.getRecordIndexByCol(col);\n const dataValue = table.dataSource?.getField(rowIndex, colIndex);\n if (typeof field !== 'string') {\n //field为函数format\n const cellHeaderPaths = table.internalProps.layoutMap.getCellHeaderPaths(col, row);\n return getField({ dataValue, ...cellHeaderPaths }, field, emptyFn as any);\n }\n return dataValue;\n }\n\n getCellValue(col: number, row: number): FieldData {\n if (this.internalProps.layoutMap.isHeader(col, row)) {\n const { caption, fieldFormat } = this.internalProps.layoutMap.getHeader(col, row);\n return typeof fieldFormat === 'function' ? fieldFormat(caption) : caption;\n }\n if (this.dataset) {\n const colKey = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = this.dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (this.internalProps.layoutMap as PivoLayoutMap).getIndicatorName(col, row)\n );\n return aggregator.formatValue ? aggregator.formatValue() : '';\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const valueNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n const { fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n return typeof fieldFormat === 'function' ? fieldFormat(valueNode?.record) : valueNode?.value ?? '';\n }\n const { field, fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n return this.getFieldData(fieldFormat || field, col, row);\n }\n\n getCellOriginValue(col: number, row: number): FieldData {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n const { caption } = table.internalProps.layoutMap.getHeader(col, row);\n return typeof caption === 'function' ? caption() : caption;\n }\n if (this.dataset) {\n const colKey = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = this.dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (this.internalProps.layoutMap as PivoLayoutMap).getIndicatorName(col, row)\n );\n return aggregator.value ? aggregator.value() : undefined;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.value;\n }\n const { field } = table.internalProps.layoutMap.getBody(col, row);\n return table.getFieldData(field, col, row);\n }\n\n // 获取原始数据\n getCellOriginRecord(col: number, row: number) {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return undefined;\n }\n if (this.dataset) {\n const colKey = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = this.dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (this.internalProps.layoutMap as PivoLayoutMap).getIndicatorName(col, row)\n );\n return aggregator.records;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.record;\n }\n return undefined;\n }\n /**\n * 全量更新排序规则\n * @param sortRules\n */\n updateSortRules(sortRules: SortRules) {\n this.internalProps.dataConfig.sortRules = sortRules;\n this.dataset.updateSortRules(sortRules);\n (this.internalProps.layoutMap as PivoLayoutMap).updateDataset(this.dataset);\n this.invalidate();\n }\n updatePivotSortState(\n pivotSortStateConfig: {\n dimensions: IDimensionInfo[];\n order: SortOrder;\n }[]\n ) {\n // // dimensions: IDimensionInfo[], order: SortOrder\n // // 清空当前 pivot sort 状态\n // const cells = this.pivotSortState.map((cell) => ({ col: cell.col, row: cell.row }));\n // this.pivotSortState.length = 0;\n // cells.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n\n // 更新 pivot sort 状态\n for (let i = 0; i < pivotSortStateConfig.length; i++) {\n const { dimensions, order } = pivotSortStateConfig[i];\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensions);\n\n cellAddress &&\n this.pivotSortState.push({\n col: cellAddress.col,\n row: cellAddress.row,\n order\n });\n }\n\n // // 更新相关单元格样式\n // this.pivotSortState.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n }\n\n getPivotSortState(col: number, row: number): SortOrder {\n if (!this.pivotSortState) {\n return undefined;\n }\n const cellRange = this.getCellRange(col, row);\n for (let i = 0; i < this.pivotSortState.length; i++) {\n const { col: sortCol, row: sortRow, order } = this.pivotSortState[i];\n\n if (cellInRange(cellRange, sortCol, sortRow)) {\n return order;\n }\n }\n return undefined;\n }\n /**\n * 拖拽移动表头位置\n * @param source 移动源位置\n * @param target 移动目标位置\n */\n moveHeaderPosition(source: CellAddress, target: CellAddress) {\n // 调用布局类 布局数据结构调整为移动位置后的\n const moveContext = (this.internalProps.layoutMap as PivotHeaderLayoutMap).moveHeaderPosition(source, target);\n if (moveContext) {\n if (moveContext.moveType === 'column') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n for (let row = 0; row < this.records.length; row++) {\n const sourceColumns = (this.records[row] as unknown as number[]).splice(\n moveContext.sourceIndex - this.rowHeaderLevelCount,\n moveContext.moveSize\n );\n sourceColumns.unshift((moveContext.targetIndex as any) - this.rowHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.records[row] as unknown as number[], sourceColumns);\n }\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.colWidthsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n //下面代码取自refreshHeader列宽设置逻辑\n //设置列宽极限值 TODO 目前是有问题的 最大最小宽度限制 移动列位置后不正确\n for (let col = 0; col < this.internalProps.layoutMap.columnWidths.length; col++) {\n const { minWidth, maxWidth } = this.internalProps.layoutMap.columnWidths?.[col] ?? {};\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n } else if (moveContext.moveType === 'row') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n const sourceRows = (this.records as unknown as number[]).splice(\n moveContext.sourceIndex - this.columnHeaderLevelCount,\n moveContext.moveSize\n );\n sourceRows.unshift((moveContext.targetIndex as any) - this.columnHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.records, sourceRows);\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.rowHeightsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n }\n return true;\n }\n return false;\n }\n /**\n * 表头切换层级状态\n * @param col\n * @param row\n */\n toggleHierarchyState(col: number, row: number) {\n const hierarchyState = this.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.collapse\n });\n } else if (hierarchyState === HierarchyState.collapse) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.expand,\n originData: this.getCellOriginRecord(col, row)\n });\n }\n\n const result = (this.internalProps.layoutMap as PivotHeaderLayoutMap).toggleHierarchyState(col, row);\n //影响行数\n this.refreshRowColCount();\n // this.scenegraph.clearCells();\n // this.scenegraph.createSceneGraph();\n // this.invalidate();\n this.clearCellStyleCache();\n this.scenegraph.updateHierarchyIcon(col, row);\n this.scenegraph.updateRow(result.removeCellPositions, result.addCellPositions);\n }\n /**\n * 通过表头的维度值路径来计算单元格位置 getCellAddressByHeaderPaths接口更强大一些 不限表头 不限参数格式\n * @param dimensionPaths\n * @returns\n */\n getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensionPaths);\n return cellAddress;\n }\n /**\n * 通过表头的维度值路径来计算单元格位置\n * @param dimensionPaths\n * @returns\n */\n getCellAddressByHeaderPaths(\n dimensionPaths:\n | {\n colHeaderPaths: IDimensionInfo[];\n rowHeaderPaths: IDimensionInfo[];\n }\n | IDimensionInfo[]\n ): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getCellAdressByHeaderPath(\n dimensionPaths\n );\n return cellAddress;\n }\n\n /**\n * 通过传入的坐标 获取该位置当前单元格的维度路径;\n * @param coordinate 从body左上角为原点 coordinate为偏移距离 去计算单元格的headerPath;\n * 如不传coordinate坐标则按取body中左上角第一个单元格的维度路径\n * @returns\n */\n getHeaderPathByXY(coordinate?: { x: number; y: number }): ICellHeaderPaths {\n let cellAddr;\n if (coordinate) {\n cellAddr = this.getCellAt(\n coordinate.x + this.getFrozenColsWidth() + this.scrollLeft + 1,\n coordinate.y + this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n } else {\n cellAddr = this.getCellAt(\n this.getFrozenColsWidth() + this.scrollLeft + 1,\n this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n }\n const cellHeaderPaths = this.internalProps.layoutMap.getCellHeaderPaths(cellAddr.col, cellAddr.row);\n return cellHeaderPaths;\n }\n getHierarchyState(col: number, row: number): HierarchyState {\n return this._getHeaderLayoutMap(col, row)?.hierarchyState;\n }\n\n hasHierarchyTreeHeader() {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree';\n }\n\n getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo {\n const dimensionInfos = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotDimensionInfo(col, row);\n const result: DropDownMenuEventInfo = {\n dimensionKey: dimensionInfos[dimensionInfos.length - 1].dimensionKey,\n value: this.getCellValue(col, row),\n cellType: this.getCellType(col, row),\n isPivotCorner: this.isCornerHeader(col, row)\n };\n return result;\n }\n}\n"]}
1
+ {"version":3,"sources":["PivotTable.ts"],"names":[],"mappings":";;;AAgBA,yCAA4C;AAC5C,sEAAoE;AACpE,kDAA6C;AAC7C,wDAAuD;AACvD,iEAA+D;AAC/D,0FAAuF;AACvF,2CAAsD;AACtD,+CAA4C;AAC5C,oDAAoD;AACpD,gDAA6C;AAG7C,MAAa,UAAW,SAAQ,qBAAS;IASvC,YAAY,OAAqC;;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAK,OAAe,CAAC,MAAM,EAAE;YAE3B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAG,OAAe,CAAC,MAAM,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACnE,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAChC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC5D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBACnC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,aAAa,GACjB,MAAA,MAAA,OAAO,CAAC,UAAU,0CAAE,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE;gBAChD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACtC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SAChH;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACnD;QAED,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,IAAA,4BAAc,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAc,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACvE;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACrB;IACH,CAAC;IACD,MAAM,KAAK,UAAU;QACnB,OAAO,+CAAsB,CAAC;IAChC,CAAC;IACD,WAAW;QACT,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,YAAY;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IACD,gBAAgB,CAAC,GAAW,EAAE,GAAW;QACvC,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,eAAe,EAAE;gBAEjD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC1F,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,mBAAmB,EAAE;oBACnC,OAAO,KAAK,CAAC;iBACd;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,YAAY,CAAC,OAAqC,EAAE,qBAAqB,GAAG,KAAK;QAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAGzC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAG5B,aAAa,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC9C,aAAa,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAG9D,IACE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,MAAK,MAAM;YACnC,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,KAAK,MAAM;YACjF,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,cAAc,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAA,EACjG;YACA,MAAM,mBAAmB,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjH,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,OAAO,CAAC,OAAO,CACpE,CAAC,IAAuB,EAAE,KAAa,EAAE,EAAE;gBACzC,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5D,CAAC,CACF,CAAC;SACH;QAGD,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;gBACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAChC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC5D,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBACnC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE;gBACrE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBACtC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SAC3G;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QAIrB,IAAI,aAAa,CAAC,WAAW,EAAE;YAC7B,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAC,OAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,0DAAI,CAAA,EAAA,CAAC,CAAC;YACzE,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;SAClC;QAGD,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,IAAA,4BAAc,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAc,EAAE,SAAS,CAAC,CAAC;SACpD;aAAM;YACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;QAED,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAGzC,IAAI,aAAa,CAAC,YAAY,EAAE;YAC9B,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;SACvE;QACD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,mCAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACnE,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACnC,aAAa,CAAC,SAAS,GAAG,IAAI,6BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAClE;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACxF,aAAa,CAAC,SAAS,GAAG,IAAI,0CAAoB,CAAC,IAAI,CAAC,CAAC;YAGzD,IAAI,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,WAAW,MAAK,KAAK,EAAE;gBACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,oCAAiB,CAC5C;oBACE,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,gBAAgB;oBAC9C,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,gBAAgB;oBACjD,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,aAAa;oBACjD,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,eAAe;oBACxD,qBAAqB,EAAE,aAAa,CAAC,SAAS,CAAC,qBAAqB;iBACrE,EACD,OAAO,CACR,CAAC;aACH;SACF;QAGD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAC1E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAA,MAAA,aAAa,CAAC,SAAS,CAAC,YAAY,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;YAExF,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC1G,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC9B;YACD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACpC;YACD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;gBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACpC;SACF;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,KAAK,CAAC,QAAQ,GAAG,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC;QACzC,KAAK,CAAC,QAAQ,GAAG,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC;QACzC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC;QACrD,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAElD,KAAK,CAAC,oBAAoB,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,oBAAoB,mCAAI,CAAC,CAAC;QAClE,KAAK,CAAC,mBAAmB,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,mBAAmB,mCAAI,CAAC,CAAC;IAClE,CAAC;IACS,4BAA4B,CACpC,OAAkB,EAClB,KAAe,EACf,QAAsB;QAEtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAID,IAAI,gBAAgB;QAClB,OAAQ,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,CAAC;IACjF,CAAC;IAMO,kBAAkB,CAAC,UAAe,EAAE,UAA6B;;QACvE,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC,YAAY,EAAE;YAChG,UAAU,CAAC,cAAc;gBACvB,MAAA,UAAU,CAAC,cAAc,mCAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC9F,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAE,OAAO,CAAC,CAAC,eAAkC,EAAE,KAAa,EAAE,EAAE;;gBAClF,IAAI,CAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,0CAAG,KAAK,CAAC,KAAI,eAAe,EAAE;oBACpD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;iBACtE;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,mBAAmB,CAAC,GAAW;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,OAAO,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,mBAAmB,CAAC,GAAW;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,OAAO,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,YAAY,CAAC,KAAyC,EAAE,GAAW,EAAE,GAAW;;QAC9E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACzC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC;SACb;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAE7B,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnF,OAAO,IAAA,qBAAQ,kBAAG,SAAS,IAAK,eAAe,GAAI,KAAK,EAAE,gBAAc,CAAC,CAAC;SAC3E;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,GAAW;;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACnD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClF,OAAO,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC3E;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,IAAI,CAAC,aAAa,CAAC,SAA4B,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAC3E,CAAC;YACF,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAClD,OAAO,EACP,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAC5D,CAAC;YACF,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvE,OAAO,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,mCAAI,EAAE,CAAC;SACpG;QACD,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,kBAAkB,CAAC,GAAW,EAAE,GAAW;;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpD,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SAC5D;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,IAAI,CAAC,aAAa,CAAC,SAA4B,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAC3E,CAAC;YACF,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAE1D;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACjD,OAAO,EACP,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAC5D,CAAC;YACF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAC;SACxB;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAGD,mBAAmB,CAAC,GAAW,EAAE,GAAW;;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACpD,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YACrG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,IAAI,CAAC,aAAa,CAAC,SAA4B,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAC3E,CAAC;YACF,OAAO,UAAU,CAAC,OAAO,CAAC;SAE3B;aAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAEjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpF,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;;gBACpE,OAAO,MAAA,OAAO,CAAC,YAAY,mCAAI,OAAO,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACjD,OAAO,EACP,OAAO,EACP,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAC5D,CAAC;YACF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,eAAe,CAAC,SAAoB;QAClC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,SAA4B,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IACD,oBAAoB,CAClB,oBAGG;QAWH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAE1G,WAAW;gBACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBACvB,GAAG,EAAE,WAAW,CAAC,GAAG;oBACpB,GAAG,EAAE,WAAW,CAAC,GAAG;oBACpB,KAAK;iBACN,CAAC,CAAC;SACN;IAMH,CAAC;IAED,iBAAiB,CAAC,GAAW,EAAE,GAAW;QACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAErE,IAAI,IAAA,oBAAW,EAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;gBAC5C,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAMD,kBAAkB,CAAC,MAAmB,EAAE,MAAmB;;QAEzD,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9G,IAAI,WAAW,EAAE;YACf,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAErC,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAG,CAAC,CAAC,0CAAE,WAAW,MAAK,KAAK,EAAE;oBACpD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;wBAClD,MAAM,aAAa,GAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAyB,CAAC,MAAM,CACrE,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAClD,WAAW,CAAC,QAAQ,CACrB,CAAC;wBACF,aAAa,CAAC,OAAO,CAAE,WAAW,CAAC,WAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAQ,CAAC,CAAC;wBAC7F,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAwB,EAAE,aAAa,CAAC,CAAC;qBACvF;iBACF;gBAED,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAGtG,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oBAC/E,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAA,MAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,0CAAG,GAAG,CAAC,mCAAI,EAAE,CAAC;oBACtF,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;wBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACpC;oBACD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,EAAE;wBAChG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACpC;iBACF;aACF;iBAAM,IAAI,WAAW,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAEzC,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAG,CAAC,CAAC,0CAAE,WAAW,MAAK,KAAK,EAAE;oBACpD,MAAM,UAAU,GAAI,IAAI,CAAC,OAA+B,CAAC,MAAM,CAC7D,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,EACrD,WAAW,CAAC,QAAQ,CACrB,CAAC;oBACF,UAAU,CAAC,OAAO,CAAE,WAAW,CAAC,WAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAQ,CAAC,CAAC;oBAC7F,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;iBACxD;gBAED,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;aACxG;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAMD,oBAAoB,CAAC,GAAW,EAAE,GAAW;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,cAAc,KAAK,yBAAc,CAAC,MAAM,EAAE;YAC5C,IAAI,CAAC,aAAa,CAAC,+CAAsB,CAAC,2BAA2B,EAAE;gBACrE,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE,yBAAc,CAAC,QAAQ;aACxC,CAAC,CAAC;SACJ;aAAM,IAAI,cAAc,KAAK,yBAAc,CAAC,QAAQ,EAAE;YACrD,IAAI,CAAC,aAAa,CAAC,+CAAsB,CAAC,2BAA2B,EAAE;gBACrE,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE,yBAAc,CAAC,MAAM;gBACrC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;aAC/C,CAAC,CAAC;SACJ;QAED,MAAM,MAAM,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAErG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAI1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjF,CAAC;IAMD,0BAA0B,CAAC,cAAgC;QACzD,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC9G,OAAO,WAAW,CAAC;IACrB,CAAC;IAMD,2BAA2B,CACzB,cAKoB;QAEpB,MAAM,WAAW,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,yBAAyB,CAClG,cAAc,CACf,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC;IAQD,iBAAiB,CAAC,UAAqC;QACrD,IAAI,QAAQ,CAAC;QACb,IAAI,UAAU,EAAE;YACd,QAAQ,GAAG,IAAI,CAAC,SAAS,CACvB,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAC9D,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAC/D,CAAC;SACH;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,SAAS,CACvB,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAC/C,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAChD,CAAC;SACH;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpG,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,iBAAiB,CAAC,GAAW,EAAE,GAAW;;QACxC,OAAO,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,0CAAE,cAAc,CAAC;IAC5D,CAAC;IAED,sBAAsB;QACpB,OAAQ,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,gBAAgB,KAAK,MAAM,CAAC;IAC5F,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,GAAW,EAAE,IAAY;QAChD,MAAM,cAAc,GAAI,IAAI,CAAC,aAAa,CAAC,SAAkC,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9G,MAAM,MAAM,GAA0B;YACpC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY;YACpE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;YACpC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;SAC7C,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAzlBD,gCAylBC","file":"PivotTable.js","sourcesContent":["import type {\n FieldData,\n FieldDef,\n FieldFormat,\n PivotTableAPI,\n SortRules,\n PivotSortState,\n CellAddress,\n ICellHeaderPaths,\n DropDownMenuEventInfo,\n FieldKeyDef,\n PivotTableConstructorOptions,\n IHeaderTreeDefine,\n IDimensionInfo,\n SortOrder\n} from './ts-types';\nimport { HierarchyState } from './ts-types';\nimport { PivotHeaderLayoutMap } from './layout/pivot-header-layout';\nimport { getField } from './data/DataSource';\nimport { PivotLayoutMap } from './layout/pivot-layout';\nimport { FlatDataToObjects } from './dataset/flatDataToObject';\nimport { PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\nimport { cellInRange, emptyFn } from './tools/helper';\nimport { Dataset } from './dataset/dataset';\nimport { _setDataSource } from './core/tableHelper';\nimport { BaseTable } from './core/BaseTable';\nimport type { PivotTableProtected } from './ts-types/base-table';\n\nexport class PivotTable extends BaseTable implements PivotTableAPI {\n declare internalProps: PivotTableProtected;\n declare options: PivotTableConstructorOptions;\n pivotSortState: PivotSortState[];\n\n dataset?: Dataset; //数据处理对象 开启数据透视分析的表\n flatDataToObjects?: FlatDataToObjects; //数据处理对象 聚合后的flat数据 转成便于查询的行列二维数组\n // drillMenu: Menu; //上卷下钻的按钮\n // eslint-disable-next-line default-param-last\n constructor(options: PivotTableConstructorOptions) {\n super(options);\n if ((options as any).layout) {\n //TODO hack处理之前的demo都是定义到layout上的 所以这里直接并到options中\n Object.assign(options, (options as any).layout);\n }\n this.internalProps.dataConfig = options.dataConfig;\n this.internalProps.enableDataAnalysis = options.enableDataAnalysis;\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys = options.rows.reduce((keys, 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 = options.columns.reduce((keys, 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, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []) ?? [];\n this.dataset = new Dataset(this.internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, options.records);\n }\n\n this.refreshHeader();\n\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n\n if (options.dataSource) {\n _setDataSource(this, options.dataSource);\n } else if (options.records) {\n this.setRecords(options.records as any, this.internalProps.sortState);\n } else {\n this.setRecords([]);\n }\n }\n static get EVENT_TYPE(): typeof PIVOT_TABLE_EVENT_TYPE {\n return PIVOT_TABLE_EVENT_TYPE;\n }\n isListTable(): false {\n return false;\n }\n isPivotTable(): true {\n return true;\n }\n isPivotChart(): false {\n return false;\n }\n _canResizeColumn(col: number, row: number): boolean {\n const ifCan = super._canResizeColumn(col, row);\n if (ifCan) {\n if (!this.internalProps.layoutMap.indicatorsAsCol) {\n // 列上是否配置了禁止拖拽列宽的配置项disableColumnResize\n const cellDefine = this.internalProps.layoutMap.getBody(col, this.columnHeaderLevelCount);\n if (cellDefine?.disableColumnResize) {\n return false;\n }\n }\n }\n return ifCan;\n }\n updateOption(options: PivotTableConstructorOptions, accelerateFirstScreen = false) {\n const internalProps = this.internalProps;\n //维护选中状态\n // const range = internalProps.selection.range; //保留原有单元格选中状态\n super.updateOption(options);\n\n // 更新protectedSpace\n internalProps.dataConfig = options.dataConfig;\n internalProps.enableDataAnalysis = options.enableDataAnalysis;\n\n //维护tree树形结构的展开状态\n if (\n options?.rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree' &&\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowExpandLevel === options?.rowExpandLevel\n ) {\n const beforeRowDimensions = (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowDimensionTree.tree.children;\n (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowTree.forEach(\n (node: IHeaderTreeDefine, index: number) => {\n this.syncHierarchyState(beforeRowDimensions[index], node);\n }\n );\n }\n\n //TODO 这里需要加上判断 dataConfig是否有配置变化\n if (this.internalProps.enableDataAnalysis && (options.rows || options.columns)) {\n const rowKeys = options.rows.reduce((keys, 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 = options.columns.reduce((keys, 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 = options.indicators.reduce((keys, indicatorObj) => {\n if (typeof indicatorObj === 'string') {\n keys.push(indicatorObj);\n } else {\n keys.push(indicatorObj.indicatorKey);\n }\n return keys;\n }, []);\n this.dataset = new Dataset(internalProps.dataConfig, rowKeys, columnKeys, indicatorKeys, options.records);\n }\n // 更新表头\n this.refreshHeader();\n\n // this.hasMedia = null; // 避免重复绑定\n // 清空目前数据\n if (internalProps.disposables) {\n internalProps.disposables.forEach(disposable => disposable?.dispose?.());\n internalProps.disposables = null;\n }\n // // 恢复selection状态\n // internalProps.selection.range = range;\n this._updateSize();\n // 传入新数据\n if (options.dataSource) {\n _setDataSource(this, options.dataSource);\n } else if (options.records) {\n this.setRecords(options.records as any, undefined);\n } else {\n this._resetFrozenColCount();\n // 生成单元格场景树\n this.scenegraph.createSceneGraph();\n this.invalidate();\n }\n\n this.pivotSortState = [];\n if (options.pivotSortState) {\n this.updatePivotSortState(options.pivotSortState);\n }\n return new Promise(resolve => {\n setTimeout(resolve, 0);\n });\n }\n\n refreshHeader(): void {\n const internalProps = this.internalProps;\n\n //原表头绑定的事件 解除掉\n if (internalProps.headerEvents) {\n internalProps.headerEvents.forEach((id: number) => this.unlisten(id));\n }\n const records = this.options.records ?? this.internalProps.records;\n if (this.options.enableDataAnalysis) {\n internalProps.layoutMap = new PivotLayoutMap(this, this.dataset);\n } else if (Array.isArray(this.options.columnTree) || Array.isArray(this.options.rowTree)) {\n internalProps.layoutMap = new PivotHeaderLayoutMap(this);\n //判断如果数据是二维数组 则标识已经分析过 直接从二维数组挨个读取渲染即可\n //不是二维数组 对应是个object json对象 则表示flat数据,需要对应行列维度进行转成方便数据查询的行列树结构\n if (records?.[0]?.constructor !== Array) {\n this.flatDataToObjects = new FlatDataToObjects(\n {\n rows: internalProps.layoutMap.rowDimensionKeys,\n columns: internalProps.layoutMap.colDimensionKeys,\n indicators: internalProps.layoutMap.indicatorKeys,\n indicatorsAsCol: internalProps.layoutMap.indicatorsAsCol,\n indicatorDimensionKey: internalProps.layoutMap.indicatorDimensionKey\n },\n records\n );\n }\n }\n\n //设置列宽\n for (let col = 0; col < internalProps.layoutMap.columnWidths.length; col++) {\n const { width, minWidth, maxWidth } = internalProps.layoutMap.columnWidths?.[col] ?? {};\n // width 为 \"auto\" 时先不存储ColWidth\n if (width && ((typeof width === 'string' && width !== 'auto') || (typeof width === 'number' && width > 0))) {\n this.setColWidth(col, width);\n }\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n //刷新表头,原来这里是_refreshRowCount 后改名为_refreshRowColCount 因为表头定义会影响行数,而转置模式下会影响列数\n this.refreshRowColCount();\n }\n\n refreshRowColCount(): void {\n const table = this;\n const { layoutMap } = table.internalProps;\n if (!layoutMap) {\n return;\n }\n table.colCount = layoutMap.colCount ?? 0;\n table.rowCount = layoutMap.rowCount ?? 0;\n table.frozenColCount = layoutMap.rowHeaderLevelCount; //TODO\n table.frozenRowCount = layoutMap.headerLevelCount;\n\n table.bottomFrozenRowCount = layoutMap?.bottomFrozenRowCount ?? 0;\n table.rightFrozenColCount = layoutMap?.rightFrozenColCount ?? 0;\n }\n protected _getSortFuncFromHeaderOption(\n columns: undefined,\n field: FieldDef,\n fieldKey?: FieldKeyDef\n ): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined {\n return undefined;\n }\n /**\n * Get rowHierarchyType of pivotTable\n */\n get rowHierarchyType(): 'grid' | 'tree' {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType;\n }\n /**\n * 将现有tree中的的hierarchyState同步到rows透视树中\n * @param sourceNode\n * @param targetNode\n */\n private syncHierarchyState(sourceNode: any, targetNode: IHeaderTreeDefine) {\n if (sourceNode.value === targetNode.value && sourceNode.dimensionKey === targetNode.dimensionKey) {\n targetNode.hierarchyState =\n targetNode.hierarchyState ?? (targetNode?.children ? sourceNode.hierarchyState : undefined);\n targetNode?.children?.forEach((targetChildNode: IHeaderTreeDefine, index: number) => {\n if (sourceNode?.children?.[index] && targetChildNode) {\n this.syncHierarchyState(sourceNode.children[index], targetChildNode);\n }\n });\n }\n }\n\n getRecordIndexByRow(row: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getRecordIndexByRow(row);\n }\n getRecordIndexByCol(col: number): number {\n const { layoutMap } = this.internalProps;\n return layoutMap.getRecordIndexByCol(col);\n }\n getFieldData(field: FieldDef | FieldFormat | undefined, col: number, row: number): FieldData {\n if (field === null || field === undefined) {\n return null;\n }\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return null;\n }\n const rowIndex = this.getRecordIndexByRow(row);\n const colIndex = this.getRecordIndexByCol(col);\n const dataValue = table.dataSource?.getField(rowIndex, colIndex);\n if (typeof field !== 'string') {\n //field为函数format\n const cellHeaderPaths = table.internalProps.layoutMap.getCellHeaderPaths(col, row);\n return getField({ dataValue, ...cellHeaderPaths }, field, emptyFn as any);\n }\n return dataValue;\n }\n\n getCellValue(col: number, row: number): FieldData {\n if (this.internalProps.layoutMap.isHeader(col, row)) {\n const { caption, fieldFormat } = this.internalProps.layoutMap.getHeader(col, row);\n return typeof fieldFormat === 'function' ? fieldFormat(caption) : caption;\n }\n if (this.dataset) {\n const colKey = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = this.dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (this.internalProps.layoutMap as PivotLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.formatValue ? aggregator.formatValue() : '';\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const valueNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n const { fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n return typeof fieldFormat === 'function' ? fieldFormat(valueNode?.record) : valueNode?.value ?? '';\n }\n const { field, fieldFormat } = this.internalProps.layoutMap.getBody(col, row);\n return this.getFieldData(fieldFormat || field, col, row);\n }\n\n getCellOriginValue(col: number, row: number): FieldData {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n const { caption } = table.internalProps.layoutMap.getHeader(col, row);\n return typeof caption === 'function' ? caption() : caption;\n }\n if (this.dataset) {\n const colKey = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = this.dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (this.internalProps.layoutMap as PivotLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.value ? aggregator.value() : undefined;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.value;\n }\n const { field } = table.internalProps.layoutMap.getBody(col, row);\n return table.getFieldData(field, col, row);\n }\n\n // 获取原始数据\n getCellOriginRecord(col: number, row: number) {\n const table = this;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n return undefined;\n }\n if (this.dataset) {\n const colKey = this.dataset.colKeysPath[this.internalProps.layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = this.dataset.rowKeysPath[this.internalProps.layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = this.dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (this.internalProps.layoutMap as PivotLayoutMap).getIndicatorKey(col, row)\n );\n return aggregator.records;\n // return ''\n } else if (this.flatDataToObjects) {\n //数据为行列树结构 根据row col获取对应的维度名称 查找到对应值\n const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);\n const colKeys = cellDimensionPath.colHeaderPaths.map((colPath: any) => {\n return colPath.indicatorKey ?? colPath.value;\n });\n const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath: any) => {\n return rowPath.indicatorKey ?? rowPath.value;\n });\n const treeNode = this.flatDataToObjects.getTreeNode(\n rowKeys,\n colKeys,\n this.internalProps.layoutMap.getBody(col, row).indicatorKey\n );\n return treeNode?.record;\n }\n return undefined;\n }\n /**\n * 全量更新排序规则\n * @param sortRules\n */\n updateSortRules(sortRules: SortRules) {\n this.internalProps.dataConfig.sortRules = sortRules;\n this.dataset.updateSortRules(sortRules);\n (this.internalProps.layoutMap as PivotLayoutMap).updateDataset(this.dataset);\n this.invalidate();\n }\n updatePivotSortState(\n pivotSortStateConfig: {\n dimensions: IDimensionInfo[];\n order: SortOrder;\n }[]\n ) {\n // // dimensions: IDimensionInfo[], order: SortOrder\n // // 清空当前 pivot sort 状态\n // const cells = this.pivotSortState.map((cell) => ({ col: cell.col, row: cell.row }));\n // this.pivotSortState.length = 0;\n // cells.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n\n // 更新 pivot sort 状态\n for (let i = 0; i < pivotSortStateConfig.length; i++) {\n const { dimensions, order } = pivotSortStateConfig[i];\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensions);\n\n cellAddress &&\n this.pivotSortState.push({\n col: cellAddress.col,\n row: cellAddress.row,\n order\n });\n }\n\n // // 更新相关单元格样式\n // this.pivotSortState.map((cell) => {\n // this.invalidateCellRange(this.getCellRange(cell.col, cell.row));\n // });\n }\n\n getPivotSortState(col: number, row: number): SortOrder {\n if (!this.pivotSortState) {\n return undefined;\n }\n const cellRange = this.getCellRange(col, row);\n for (let i = 0; i < this.pivotSortState.length; i++) {\n const { col: sortCol, row: sortRow, order } = this.pivotSortState[i];\n\n if (cellInRange(cellRange, sortCol, sortRow)) {\n return order;\n }\n }\n return undefined;\n }\n /**\n * 拖拽移动表头位置\n * @param source 移动源位置\n * @param target 移动目标位置\n */\n moveHeaderPosition(source: CellAddress, target: CellAddress) {\n // 调用布局类 布局数据结构调整为移动位置后的\n const moveContext = (this.internalProps.layoutMap as PivotHeaderLayoutMap).moveHeaderPosition(source, target);\n if (moveContext) {\n if (moveContext.moveType === 'column') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n for (let row = 0; row < this.records.length; row++) {\n const sourceColumns = (this.records[row] as unknown as number[]).splice(\n moveContext.sourceIndex - this.rowHeaderLevelCount,\n moveContext.moveSize\n );\n sourceColumns.unshift((moveContext.targetIndex as any) - this.rowHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.records[row] as unknown as number[], sourceColumns);\n }\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.colWidthsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n //下面代码取自refreshHeader列宽设置逻辑\n //设置列宽极限值 TODO 目前是有问题的 最大最小宽度限制 移动列位置后不正确\n for (let col = 0; col < this.internalProps.layoutMap.columnWidths.length; col++) {\n const { minWidth, maxWidth } = this.internalProps.layoutMap.columnWidths?.[col] ?? {};\n if (minWidth && ((typeof minWidth === 'number' && minWidth > 0) || typeof minWidth === 'string')) {\n this.setMinColWidth(col, minWidth);\n }\n if (maxWidth && ((typeof maxWidth === 'number' && maxWidth > 0) || typeof maxWidth === 'string')) {\n this.setMaxColWidth(col, maxWidth);\n }\n }\n } else if (moveContext.moveType === 'row') {\n // 是扁平数据结构 需要将二维数组this.records进行调整\n if (this.options.records?.[0]?.constructor === Array) {\n const sourceRows = (this.records as unknown as number[]).splice(\n moveContext.sourceIndex - this.columnHeaderLevelCount,\n moveContext.moveSize\n );\n sourceRows.unshift((moveContext.targetIndex as any) - this.columnHeaderLevelCount, 0 as any);\n Array.prototype.splice.apply(this.records, sourceRows);\n }\n //colWidthsMap 中存储着每列的宽度 根据移动 sourceCol targetCol 调整其中的位置\n this.rowHeightsMap.adjustOrder(moveContext.sourceIndex, moveContext.targetIndex, moveContext.moveSize);\n }\n return true;\n }\n return false;\n }\n /**\n * 表头切换层级状态\n * @param col\n * @param row\n */\n toggleHierarchyState(col: number, row: number) {\n const hierarchyState = this.getHierarchyState(col, row);\n if (hierarchyState === HierarchyState.expand) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.collapse\n });\n } else if (hierarchyState === HierarchyState.collapse) {\n this.fireListeners(PIVOT_TABLE_EVENT_TYPE.TREE_HIERARCHY_STATE_CHANGE, {\n col: col,\n row: row,\n hierarchyState: HierarchyState.expand,\n originData: this.getCellOriginRecord(col, row)\n });\n }\n\n const result = (this.internalProps.layoutMap as PivotHeaderLayoutMap).toggleHierarchyState(col, row);\n //影响行数\n this.refreshRowColCount();\n // this.scenegraph.clearCells();\n // this.scenegraph.createSceneGraph();\n // this.invalidate();\n this.clearCellStyleCache();\n this.scenegraph.updateHierarchyIcon(col, row);\n this.scenegraph.updateRow(result.removeCellPositions, result.addCellPositions);\n }\n /**\n * 通过表头的维度值路径来计算单元格位置 getCellAddressByHeaderPaths接口更强大一些 不限表头 不限参数格式\n * @param dimensionPaths\n * @returns\n */\n getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotCellAdress(dimensionPaths);\n return cellAddress;\n }\n /**\n * 通过表头的维度值路径来计算单元格位置\n * @param dimensionPaths\n * @returns\n */\n getCellAddressByHeaderPaths(\n dimensionPaths:\n | {\n colHeaderPaths: IDimensionInfo[];\n rowHeaderPaths: IDimensionInfo[];\n }\n | IDimensionInfo[]\n ): CellAddress {\n const cellAddress = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getCellAdressByHeaderPath(\n dimensionPaths\n );\n return cellAddress;\n }\n\n /**\n * 通过传入的坐标 获取该位置当前单元格的维度路径;\n * @param coordinate 从body左上角为原点 coordinate为偏移距离 去计算单元格的headerPath;\n * 如不传coordinate坐标则按取body中左上角第一个单元格的维度路径\n * @returns\n */\n getHeaderPathByXY(coordinate?: { x: number; y: number }): ICellHeaderPaths {\n let cellAddr;\n if (coordinate) {\n cellAddr = this.getCellAt(\n coordinate.x + this.getFrozenColsWidth() + this.scrollLeft + 1,\n coordinate.y + this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n } else {\n cellAddr = this.getCellAt(\n this.getFrozenColsWidth() + this.scrollLeft + 1,\n this.getFrozenRowsHeight() + this.scrollTop + 1\n );\n }\n const cellHeaderPaths = this.internalProps.layoutMap.getCellHeaderPaths(cellAddr.col, cellAddr.row);\n return cellHeaderPaths;\n }\n getHierarchyState(col: number, row: number): HierarchyState {\n return this._getHeaderLayoutMap(col, row)?.hierarchyState;\n }\n\n hasHierarchyTreeHeader() {\n return (this.internalProps.layoutMap as PivotHeaderLayoutMap).rowHierarchyType === 'tree';\n }\n\n getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo {\n const dimensionInfos = (this.internalProps.layoutMap as PivotHeaderLayoutMap).getPivotDimensionInfo(col, row);\n const result: DropDownMenuEventInfo = {\n dimensionKey: dimensionInfos[dimensionInfos.length - 1].dimensionKey,\n value: this.getCellValue(col, row),\n cellType: this.getCellType(col, row),\n isPivotCorner: this.isCornerHeader(col, row)\n };\n return result;\n }\n}\n"]}
@@ -24,13 +24,13 @@ class TextStyle extends Style_1.Style {
24
24
  return this._lineClamp;
25
25
  }
26
26
  set lineClamp(lineClamp) {
27
- this._lineClamp = lineClamp, this.doChangeStyle();
27
+ this._lineClamp = lineClamp;
28
28
  }
29
29
  get autoWrapText() {
30
30
  return this._autoWrapText;
31
31
  }
32
32
  set autoWrapText(autoWrapText) {
33
- this._autoWrapText = autoWrapText, this.doChangeStyle();
33
+ this._autoWrapText = autoWrapText;
34
34
  }
35
35
  }
36
36
 
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/MultilineTextStyle.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAGhC,IAAI,YAAuB,CAAC;AAC5B,MAAa,SAAU,SAAQ,aAAK;IAGlC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,YAAY,QAA0B,EAAE,EAAE,YAA8B,EAAE;;QAExE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC7D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAAgC;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAiC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;CACF;AA9BD,8BA8BC","file":"MultilineTextStyle.js","sourcesContent":["import type { LineClamp, ITextStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\nimport { defaults } from '../../tools/helper';\n\nlet defaultStyle: TextStyle;\nexport class TextStyle extends Style {\n private _autoWrapText?: boolean;\n private _lineClamp?: LineClamp;\n static get DEFAULT(): TextStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new TextStyle());\n }\n constructor(style: ITextStyleOption = {}, bodyStyle: ITextStyleOption = {}) {\n // super(defaults(style, { textBaseline: \"top\" }), bodyStyle);\n super(style, bodyStyle);\n this._autoWrapText = style?.autoWrapText ?? bodyStyle?.autoWrapText;\n this._lineClamp = style?.lineClamp ?? bodyStyle?.lineClamp;\n }\n clone(): TextStyle {\n return new TextStyle(this, null);\n }\n\n get lineClamp(): LineClamp | undefined {\n return this._lineClamp;\n }\n set lineClamp(lineClamp: LineClamp | undefined) {\n this._lineClamp = lineClamp;\n this.doChangeStyle();\n }\n get autoWrapText(): boolean | undefined {\n return this._autoWrapText;\n }\n set autoWrapText(autoWrapText: boolean | undefined) {\n this._autoWrapText = autoWrapText;\n this.doChangeStyle();\n }\n}\n"]}
1
+ {"version":3,"sources":["body-helper/style/MultilineTextStyle.ts"],"names":[],"mappings":";;;AACA,mCAAgC;AAGhC,IAAI,YAAuB,CAAC;AAC5B,MAAa,SAAU,SAAQ,aAAK;IAGlC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,YAAY,QAA0B,EAAE,EAAE,YAA8B,EAAE;;QAExE,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IAC7D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS,CAAC,SAAgC;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAE9B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,YAAY,CAAC,YAAiC;QAChD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IAEpC,CAAC;CACF;AA9BD,8BA8BC","file":"MultilineTextStyle.js","sourcesContent":["import type { LineClamp, ITextStyleOption, IStyleOption } from '../../ts-types';\nimport { Style } from './Style';\nimport { defaults } from '../../tools/helper';\n\nlet defaultStyle: TextStyle;\nexport class TextStyle extends Style {\n private _autoWrapText?: boolean;\n private _lineClamp?: LineClamp;\n static get DEFAULT(): TextStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new TextStyle());\n }\n constructor(style: ITextStyleOption = {}, bodyStyle: ITextStyleOption = {}) {\n // super(defaults(style, { textBaseline: \"top\" }), bodyStyle);\n super(style, bodyStyle);\n this._autoWrapText = style?.autoWrapText ?? bodyStyle?.autoWrapText;\n this._lineClamp = style?.lineClamp ?? bodyStyle?.lineClamp;\n }\n clone(): TextStyle {\n return new TextStyle(this, null);\n }\n\n get lineClamp(): LineClamp | undefined {\n return this._lineClamp;\n }\n set lineClamp(lineClamp: LineClamp | undefined) {\n this._lineClamp = lineClamp;\n //this.doChangeStyle();\n }\n get autoWrapText(): boolean | undefined {\n return this._autoWrapText;\n }\n set autoWrapText(autoWrapText: boolean | undefined) {\n this._autoWrapText = autoWrapText;\n //this.doChangeStyle();\n }\n}\n"]}
@@ -37,91 +37,91 @@ class ProgressBarStyle extends Style_1.Style {
37
37
  return this._showBar;
38
38
  }
39
39
  set showBar(value) {
40
- this._showBar = value, this.doChangeStyle();
40
+ this._showBar = value;
41
41
  }
42
42
  get barColor() {
43
43
  return this._barColor;
44
44
  }
45
45
  set barColor(barColor) {
46
- this._barColor = barColor, this.doChangeStyle();
46
+ this._barColor = barColor;
47
47
  }
48
48
  get barBgColor() {
49
49
  return this._barBgColor;
50
50
  }
51
51
  set barBgColor(barBgColor) {
52
- this._barBgColor = barBgColor, this.doChangeStyle();
52
+ this._barBgColor = barBgColor;
53
53
  }
54
54
  get barHeight() {
55
55
  return this._barHeight;
56
56
  }
57
57
  set barHeight(barHeight) {
58
- this._barHeight = barHeight, this.doChangeStyle();
58
+ this._barHeight = barHeight;
59
59
  }
60
60
  get barBottom() {
61
61
  return this._barBottom;
62
62
  }
63
63
  set barBottom(barBottom) {
64
- this._barBottom = barBottom, this.doChangeStyle();
64
+ this._barBottom = barBottom;
65
65
  }
66
66
  get barPositiveColor() {
67
67
  return this._barPositiveColor;
68
68
  }
69
69
  set barPositiveColor(barPositiveColor) {
70
- this._barPositiveColor = barPositiveColor, this.doChangeStyle();
70
+ this._barPositiveColor = barPositiveColor;
71
71
  }
72
72
  get barNegativeColor() {
73
73
  return this._barNegativeColor;
74
74
  }
75
75
  set barNegativeColor(barNegativeColor) {
76
- this._barNegativeColor = barNegativeColor, this.doChangeStyle();
76
+ this._barNegativeColor = barNegativeColor;
77
77
  }
78
78
  get barAxisColor() {
79
79
  return this._barAxisColor;
80
80
  }
81
81
  set barAxisColor(barAxisColor) {
82
- this._barAxisColor = barAxisColor, this.doChangeStyle();
82
+ this._barAxisColor = barAxisColor;
83
83
  }
84
84
  get barPadding() {
85
85
  return this._barPadding;
86
86
  }
87
87
  set barPadding(barPadding) {
88
- this._barPadding = barPadding, this.doChangeStyle();
88
+ this._barPadding = barPadding;
89
89
  }
90
90
  get showBarMark() {
91
91
  return this._showBarMark;
92
92
  }
93
93
  set showBarMark(value) {
94
- this._showBarMark = value, this.doChangeStyle();
94
+ this._showBarMark = value;
95
95
  }
96
96
  get barMarkPositiveColor() {
97
97
  return this._barMarkPositiveColor;
98
98
  }
99
99
  set barMarkPositiveColor(value) {
100
- this._barMarkPositiveColor = value, this.doChangeStyle();
100
+ this._barMarkPositiveColor = value;
101
101
  }
102
102
  get barMarkNegativeColor() {
103
103
  return this._barMarkNegativeColor;
104
104
  }
105
105
  set barMarkNegativeColor(value) {
106
- this._barMarkNegativeColor = value, this.doChangeStyle();
106
+ this._barMarkNegativeColor = value;
107
107
  }
108
108
  get barMarkWidth() {
109
109
  return this._barMarkWidth;
110
110
  }
111
111
  set barMarkWidth(value) {
112
- this._barMarkWidth = value, this.doChangeStyle();
112
+ this._barMarkWidth = value;
113
113
  }
114
114
  get barMarkPosition() {
115
115
  return this._barMarkPosition;
116
116
  }
117
117
  set barMarkPosition(value) {
118
- this._barMarkPosition = value, this.doChangeStyle();
118
+ this._barMarkPosition = value;
119
119
  }
120
120
  get barRightToLeft() {
121
121
  return this._barRightToLeft;
122
122
  }
123
123
  set barRightToLeft(value) {
124
- this._barRightToLeft = value, this.doChangeStyle();
124
+ this._barRightToLeft = value;
125
125
  }
126
126
  clone() {
127
127
  return new ProgressBarStyle(this, null);
@@ -1 +1 @@
1
- {"version":3,"sources":["body-helper/style/ProgressBarStyle.ts"],"names":[],"mappings":"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","file":"ProgressBarStyle.js","sourcesContent":["import type {\n ColorPropertyDefine,\n IStyleOption,\n ProgressBarStyleOption,\n StylePropertyFunctionArg\n} from '../../ts-types';\nimport { Style } from './Style';\nlet defaultStyle: ProgressBarStyle;\nconst DEFAULT_BAR_COLOR = (args: StylePropertyFunctionArg): string => {\n const num = args.value;\n if (Number(num) > 80) {\n return '#20a8d8';\n }\n if (Number(num) > 50) {\n return '#4dbd74';\n }\n if (Number(num) > 20) {\n return '#ffc107';\n }\n return '#f86c6b';\n};\nexport class ProgressBarStyle extends Style {\n private _showBar: boolean | ((args: StylePropertyFunctionArg) => boolean);\n private _barColor: ColorPropertyDefine;\n private _barBgColor: ColorPropertyDefine;\n private _barPositiveColor: ColorPropertyDefine;\n private _barNegativeColor: ColorPropertyDefine;\n private _barAxisColor: ColorPropertyDefine;\n private _barHeight: number | string;\n private _barBottom: number | string;\n private _barPadding: (number | string)[];\n private _showBarMark: boolean;\n private _barMarkPositiveColor: ColorPropertyDefine;\n private _barMarkNegativeColor: ColorPropertyDefine;\n private _barMarkWidth: number;\n private _barMarkPosition: 'right' | 'bottom';\n private _barRightToLeft: boolean;\n\n static get DEFAULT(): ProgressBarStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ProgressBarStyle());\n }\n constructor(style: ProgressBarStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n this._showBar = style.showBar ?? true;\n this._barColor = style.barColor ?? DEFAULT_BAR_COLOR;\n this._barPositiveColor = style.barPositiveColor ?? '#4dbd74';\n this._barNegativeColor = style.barNegativeColor ?? '#f86c6b';\n this._barAxisColor = style.barAxisColor ?? 'black';\n this._barBgColor = style.barBgColor;\n this._barHeight = style.barHeight ?? 3;\n this._barHeight = style.barHeight ?? 3;\n this._barBottom = style.barBottom ?? 0;\n this._barPadding = style.barPadding ?? [1, 1, 1, 1];\n this._showBarMark = style.showBarMark ?? false;\n this._barMarkPositiveColor = style.barMarkPositiveColor ?? '#4dbd74';\n this._barMarkNegativeColor = style.barMarkNegativeColor ?? '#f86c6b';\n this._barMarkWidth = style.barMarkWidth ?? 2;\n this._barMarkPosition = style.barMarkPosition ?? 'right';\n this._barRightToLeft = style.barRightToLeft ?? false;\n }\n get showBar(): boolean | ((args: StylePropertyFunctionArg) => boolean) {\n return this._showBar;\n }\n set showBar(value: boolean | ((args: StylePropertyFunctionArg) => boolean)) {\n this._showBar = value;\n this.doChangeStyle();\n }\n get barColor(): ColorPropertyDefine {\n return this._barColor;\n }\n set barColor(barColor: ColorPropertyDefine) {\n this._barColor = barColor;\n this.doChangeStyle();\n }\n get barBgColor(): ColorPropertyDefine {\n return this._barBgColor;\n }\n set barBgColor(barBgColor: ColorPropertyDefine) {\n this._barBgColor = barBgColor;\n this.doChangeStyle();\n }\n get barHeight(): number | string {\n return this._barHeight;\n }\n set barHeight(barHeight: number | string) {\n this._barHeight = barHeight;\n this.doChangeStyle();\n }\n get barBottom(): number | string {\n return this._barBottom;\n }\n set barBottom(barBottom: number | string) {\n this._barBottom = barBottom;\n this.doChangeStyle();\n }\n get barPositiveColor(): ColorPropertyDefine {\n return this._barPositiveColor;\n }\n set barPositiveColor(barPositiveColor: ColorPropertyDefine) {\n this._barPositiveColor = barPositiveColor;\n this.doChangeStyle();\n }\n get barNegativeColor(): ColorPropertyDefine {\n return this._barNegativeColor;\n }\n set barNegativeColor(barNegativeColor: ColorPropertyDefine) {\n this._barNegativeColor = barNegativeColor;\n this.doChangeStyle();\n }\n get barAxisColor(): ColorPropertyDefine {\n return this._barAxisColor;\n }\n set barAxisColor(barAxisColor: ColorPropertyDefine) {\n this._barAxisColor = barAxisColor;\n this.doChangeStyle();\n }\n get barPadding(): (number | string)[] {\n return this._barPadding;\n }\n set barPadding(barPadding: (number | string)[]) {\n this._barPadding = barPadding;\n this.doChangeStyle();\n }\n get showBarMark(): boolean {\n return this._showBarMark;\n }\n set showBarMark(value: boolean) {\n this._showBarMark = value;\n this.doChangeStyle();\n }\n get barMarkPositiveColor(): ColorPropertyDefine {\n return this._barMarkPositiveColor;\n }\n set barMarkPositiveColor(value: ColorPropertyDefine) {\n this._barMarkPositiveColor = value;\n this.doChangeStyle();\n }\n get barMarkNegativeColor(): ColorPropertyDefine {\n return this._barMarkNegativeColor;\n }\n set barMarkNegativeColor(value: ColorPropertyDefine) {\n this._barMarkNegativeColor = value;\n this.doChangeStyle();\n }\n get barMarkWidth(): number {\n return this._barMarkWidth;\n }\n set barMarkWidth(value: number) {\n this._barMarkWidth = value;\n this.doChangeStyle();\n }\n get barMarkPosition(): 'right' | 'bottom' {\n return this._barMarkPosition;\n }\n set barMarkPosition(value: 'right' | 'bottom') {\n this._barMarkPosition = value;\n this.doChangeStyle();\n }\n get barRightToLeft(): boolean {\n return this._barRightToLeft;\n }\n set barRightToLeft(value: boolean) {\n this._barRightToLeft = value;\n this.doChangeStyle();\n }\n clone(): ProgressBarStyle {\n return new ProgressBarStyle(this, null);\n }\n}\n"]}
1
+ {"version":3,"sources":["body-helper/style/ProgressBarStyle.ts"],"names":[],"mappings":"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","file":"ProgressBarStyle.js","sourcesContent":["import type {\n ColorPropertyDefine,\n IStyleOption,\n ProgressBarStyleOption,\n StylePropertyFunctionArg\n} from '../../ts-types';\nimport { Style } from './Style';\nlet defaultStyle: ProgressBarStyle;\nconst DEFAULT_BAR_COLOR = (args: StylePropertyFunctionArg): string => {\n const num = args.value;\n if (Number(num) > 80) {\n return '#20a8d8';\n }\n if (Number(num) > 50) {\n return '#4dbd74';\n }\n if (Number(num) > 20) {\n return '#ffc107';\n }\n return '#f86c6b';\n};\nexport class ProgressBarStyle extends Style {\n private _showBar: boolean | ((args: StylePropertyFunctionArg) => boolean);\n private _barColor: ColorPropertyDefine;\n private _barBgColor: ColorPropertyDefine;\n private _barPositiveColor: ColorPropertyDefine;\n private _barNegativeColor: ColorPropertyDefine;\n private _barAxisColor: ColorPropertyDefine;\n private _barHeight: number | string;\n private _barBottom: number | string;\n private _barPadding: (number | string)[];\n private _showBarMark: boolean;\n private _barMarkPositiveColor: ColorPropertyDefine;\n private _barMarkNegativeColor: ColorPropertyDefine;\n private _barMarkWidth: number;\n private _barMarkPosition: 'right' | 'bottom';\n private _barRightToLeft: boolean;\n\n static get DEFAULT(): ProgressBarStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new ProgressBarStyle());\n }\n constructor(style: ProgressBarStyleOption = {}, bodyStyle: IStyleOption = {}) {\n super(style, bodyStyle);\n this._showBar = style.showBar ?? true;\n this._barColor = style.barColor ?? DEFAULT_BAR_COLOR;\n this._barPositiveColor = style.barPositiveColor ?? '#4dbd74';\n this._barNegativeColor = style.barNegativeColor ?? '#f86c6b';\n this._barAxisColor = style.barAxisColor ?? 'black';\n this._barBgColor = style.barBgColor;\n this._barHeight = style.barHeight ?? 3;\n this._barHeight = style.barHeight ?? 3;\n this._barBottom = style.barBottom ?? 0;\n this._barPadding = style.barPadding ?? [1, 1, 1, 1];\n this._showBarMark = style.showBarMark ?? false;\n this._barMarkPositiveColor = style.barMarkPositiveColor ?? '#4dbd74';\n this._barMarkNegativeColor = style.barMarkNegativeColor ?? '#f86c6b';\n this._barMarkWidth = style.barMarkWidth ?? 2;\n this._barMarkPosition = style.barMarkPosition ?? 'right';\n this._barRightToLeft = style.barRightToLeft ?? false;\n }\n get showBar(): boolean | ((args: StylePropertyFunctionArg) => boolean) {\n return this._showBar;\n }\n set showBar(value: boolean | ((args: StylePropertyFunctionArg) => boolean)) {\n this._showBar = value;\n //this.doChangeStyle();\n }\n get barColor(): ColorPropertyDefine {\n return this._barColor;\n }\n set barColor(barColor: ColorPropertyDefine) {\n this._barColor = barColor;\n //this.doChangeStyle();\n }\n get barBgColor(): ColorPropertyDefine {\n return this._barBgColor;\n }\n set barBgColor(barBgColor: ColorPropertyDefine) {\n this._barBgColor = barBgColor;\n //this.doChangeStyle();\n }\n get barHeight(): number | string {\n return this._barHeight;\n }\n set barHeight(barHeight: number | string) {\n this._barHeight = barHeight;\n //this.doChangeStyle();\n }\n get barBottom(): number | string {\n return this._barBottom;\n }\n set barBottom(barBottom: number | string) {\n this._barBottom = barBottom;\n //this.doChangeStyle();\n }\n get barPositiveColor(): ColorPropertyDefine {\n return this._barPositiveColor;\n }\n set barPositiveColor(barPositiveColor: ColorPropertyDefine) {\n this._barPositiveColor = barPositiveColor;\n //this.doChangeStyle();\n }\n get barNegativeColor(): ColorPropertyDefine {\n return this._barNegativeColor;\n }\n set barNegativeColor(barNegativeColor: ColorPropertyDefine) {\n this._barNegativeColor = barNegativeColor;\n //this.doChangeStyle();\n }\n get barAxisColor(): ColorPropertyDefine {\n return this._barAxisColor;\n }\n set barAxisColor(barAxisColor: ColorPropertyDefine) {\n this._barAxisColor = barAxisColor;\n //this.doChangeStyle();\n }\n get barPadding(): (number | string)[] {\n return this._barPadding;\n }\n set barPadding(barPadding: (number | string)[]) {\n this._barPadding = barPadding;\n //this.doChangeStyle();\n }\n get showBarMark(): boolean {\n return this._showBarMark;\n }\n set showBarMark(value: boolean) {\n this._showBarMark = value;\n //this.doChangeStyle();\n }\n get barMarkPositiveColor(): ColorPropertyDefine {\n return this._barMarkPositiveColor;\n }\n set barMarkPositiveColor(value: ColorPropertyDefine) {\n this._barMarkPositiveColor = value;\n //this.doChangeStyle();\n }\n get barMarkNegativeColor(): ColorPropertyDefine {\n return this._barMarkNegativeColor;\n }\n set barMarkNegativeColor(value: ColorPropertyDefine) {\n this._barMarkNegativeColor = value;\n //this.doChangeStyle();\n }\n get barMarkWidth(): number {\n return this._barMarkWidth;\n }\n set barMarkWidth(value: number) {\n this._barMarkWidth = value;\n //this.doChangeStyle();\n }\n get barMarkPosition(): 'right' | 'bottom' {\n return this._barMarkPosition;\n }\n set barMarkPosition(value: 'right' | 'bottom') {\n this._barMarkPosition = value;\n //this.doChangeStyle();\n }\n get barRightToLeft(): boolean {\n return this._barRightToLeft;\n }\n set barRightToLeft(value: boolean) {\n this._barRightToLeft = value;\n //this.doChangeStyle();\n }\n clone(): ProgressBarStyle {\n return new ProgressBarStyle(this, null);\n }\n}\n"]}
@@ -83,6 +83,5 @@ export declare class Style extends EventTarget implements ColumnStyle {
83
83
  set borderLineDash(borderLineDash: LineDashsPropertyDefine | undefined);
84
84
  get marked(): MarkedPropertyDefine | undefined;
85
85
  set marked(marked: MarkedPropertyDefine | undefined);
86
- doChangeStyle(): void;
87
86
  clone(): Style;
88
87
  }