@visactor/vtable 0.9.2 → 0.9.3-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 (664) hide show
  1. package/README.md +15 -15
  2. package/cjs/ListTable.d.ts +2 -1
  3. package/cjs/ListTable.js +17 -13
  4. package/cjs/ListTable.js.map +1 -1
  5. package/cjs/PivotChart.d.ts +69 -0
  6. package/cjs/PivotChart.js +445 -0
  7. package/cjs/PivotChart.js.map +1 -0
  8. package/cjs/PivotTable.d.ts +2 -1
  9. package/cjs/PivotTable.js +18 -13
  10. package/cjs/PivotTable.js.map +1 -1
  11. package/cjs/body-helper/style/MultilineTextStyle.js +2 -2
  12. package/cjs/body-helper/style/MultilineTextStyle.js.map +1 -1
  13. package/cjs/body-helper/style/ProgressBarStyle.js +15 -15
  14. package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -1
  15. package/cjs/body-helper/style/Style.d.ts +0 -1
  16. package/cjs/body-helper/style/Style.js +25 -28
  17. package/cjs/body-helper/style/Style.js.map +1 -1
  18. package/cjs/chartModule.js +14 -0
  19. package/cjs/chartModule.js.map +1 -0
  20. package/cjs/components/axis/axis.d.ts +45 -0
  21. package/cjs/components/axis/axis.js +146 -0
  22. package/cjs/components/axis/axis.js.map +1 -0
  23. package/cjs/components/axis/band-scale.d.ts +18 -0
  24. package/cjs/components/axis/band-scale.js +54 -0
  25. package/cjs/components/axis/band-scale.js.map +1 -0
  26. package/cjs/components/axis/get-axis-attributes.d.ts +136 -0
  27. package/cjs/components/axis/get-axis-attributes.js +169 -0
  28. package/cjs/components/axis/get-axis-attributes.js.map +1 -0
  29. package/cjs/components/axis/label-overlap.d.ts +3 -0
  30. package/cjs/components/axis/label-overlap.js +46 -0
  31. package/cjs/components/axis/label-overlap.js.map +1 -0
  32. package/cjs/components/axis/linear-scale.d.ts +45 -0
  33. package/cjs/components/axis/linear-scale.js +120 -0
  34. package/cjs/components/axis/linear-scale.js.map +1 -0
  35. package/cjs/components/legend/get-legend-attributes.d.ts +5 -0
  36. package/cjs/components/legend/get-legend-attributes.js +90 -0
  37. package/cjs/components/legend/get-legend-attributes.js.map +1 -0
  38. package/cjs/components/legend/legend.d.ts +23 -0
  39. package/cjs/components/legend/legend.js +94 -0
  40. package/cjs/components/legend/legend.js.map +1 -0
  41. package/{es → cjs/components}/menu/dom/BaseMenu.d.ts +2 -2
  42. package/cjs/components/menu/dom/BaseMenu.js.map +1 -0
  43. package/cjs/components/menu/dom/Menu.js.map +1 -0
  44. package/cjs/{menu → components/menu}/dom/MenuHandler.d.ts +2 -2
  45. package/cjs/{menu → components/menu}/dom/MenuHandler.js +1 -1
  46. package/cjs/components/menu/dom/MenuHandler.js.map +1 -0
  47. package/cjs/{menu → components/menu}/dom/logic/MenuContainer.d.ts +2 -2
  48. package/cjs/{menu → components/menu}/dom/logic/MenuContainer.js +2 -2
  49. package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -0
  50. package/cjs/{menu → components/menu}/dom/logic/MenuElement.d.ts +2 -2
  51. package/cjs/{menu → components/menu}/dom/logic/MenuElement.js +4 -4
  52. package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -0
  53. package/cjs/components/menu/dom/logic/MenuElementStyle.js.map +1 -0
  54. package/cjs/components/title/title.d.ts +12 -0
  55. package/cjs/components/title/title.js +66 -0
  56. package/cjs/components/title/title.js.map +1 -0
  57. package/{es → cjs/components}/tooltip/BaseTooltip.d.ts +3 -3
  58. package/cjs/components/tooltip/BaseTooltip.js.map +1 -0
  59. package/cjs/components/tooltip/Tooltip.js.map +1 -0
  60. package/cjs/{tooltip → components/tooltip}/TooltipHandler.d.ts +4 -4
  61. package/cjs/{tooltip → components/tooltip}/TooltipHandler.js +1 -1
  62. package/cjs/components/tooltip/TooltipHandler.js.map +1 -0
  63. package/{es → cjs/components}/tooltip/logic/BubbleTooltipElement.d.ts +4 -4
  64. package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElement.js +1 -1
  65. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -0
  66. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
  67. package/cjs/components/util/orient.d.ts +3 -0
  68. package/cjs/components/util/orient.js +14 -0
  69. package/cjs/components/util/orient.js.map +1 -0
  70. package/cjs/components/util/register.d.ts +3 -0
  71. package/cjs/components/util/register.js +15 -0
  72. package/cjs/components/util/register.js.map +1 -0
  73. package/cjs/components/util/tick-data/config.d.ts +1 -0
  74. package/cjs/components/util/tick-data/config.js +6 -0
  75. package/cjs/components/util/tick-data/config.js.map +1 -0
  76. package/cjs/components/util/tick-data/continuous.d.ts +2 -0
  77. package/cjs/components/util/tick-data/continuous.js +39 -0
  78. package/cjs/components/util/tick-data/continuous.js.map +1 -0
  79. package/cjs/components/util/tick-data/discrete/linear.d.ts +2 -0
  80. package/cjs/components/util/tick-data/discrete/linear.js +66 -0
  81. package/cjs/components/util/tick-data/discrete/linear.js.map +1 -0
  82. package/cjs/components/util/tick-data/discrete/polar-angle.d.ts +2 -0
  83. package/cjs/components/util/tick-data/discrete/polar-angle.js +46 -0
  84. package/cjs/components/util/tick-data/discrete/polar-angle.js.map +1 -0
  85. package/cjs/components/util/tick-data/index.d.ts +2 -0
  86. package/cjs/components/util/tick-data/index.js +17 -0
  87. package/cjs/components/util/tick-data/index.js.map +1 -0
  88. package/cjs/components/util/tick-data/util.d.ts +21 -0
  89. package/cjs/components/util/tick-data/util.js +115 -0
  90. package/cjs/components/util/tick-data/util.js.map +1 -0
  91. package/cjs/components/util/transform.d.ts +5 -0
  92. package/cjs/components/util/transform.js +45 -0
  93. package/cjs/components/util/transform.js.map +1 -0
  94. package/cjs/core/BaseTable.d.ts +18 -5
  95. package/cjs/core/BaseTable.js +115 -41
  96. package/cjs/core/BaseTable.js.map +1 -1
  97. package/cjs/core/TABLE_EVENT_TYPE.d.ts +5 -0
  98. package/cjs/core/TABLE_EVENT_TYPE.js +6 -1
  99. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  100. package/cjs/core/style.js +1 -1
  101. package/cjs/core/style.js.map +1 -1
  102. package/cjs/core/tableHelper.js +1 -2
  103. package/cjs/data/CachedDataSource.js +2 -1
  104. package/cjs/data/DataSource.js +2 -2
  105. package/cjs/data/DataSource.js.map +1 -1
  106. package/cjs/dataset/dataset-pivot-table.d.ts +60 -0
  107. package/cjs/dataset/dataset-pivot-table.js +387 -0
  108. package/cjs/dataset/dataset-pivot-table.js.map +1 -0
  109. package/cjs/dataset/dataset.d.ts +15 -19
  110. package/cjs/dataset/dataset.js +191 -200
  111. package/cjs/dataset/dataset.js.map +1 -1
  112. package/cjs/dataset/statistics-helper.d.ts +67 -0
  113. package/cjs/dataset/statistics-helper.js +173 -0
  114. package/cjs/dataset/statistics-helper.js.map +1 -0
  115. package/cjs/dataset/util/zero-align.d.ts +10 -0
  116. package/cjs/dataset/util/zero-align.js +119 -0
  117. package/cjs/dataset/util/zero-align.js.map +1 -0
  118. package/cjs/event/EventHandler.js.map +1 -1
  119. package/cjs/event/EventTarget.d.ts +5 -5
  120. package/cjs/event/EventTarget.js +2 -2
  121. package/cjs/event/EventTarget.js.map +1 -1
  122. package/cjs/event/VChartEventProxy.d.ts +1 -0
  123. package/cjs/event/VChartEventProxy.js +1 -0
  124. package/cjs/event/VChartEventProxy.js.map +1 -0
  125. package/cjs/event/event.js +7 -4
  126. package/cjs/event/event.js.map +1 -1
  127. package/cjs/event/listener/table-group.js +8 -6
  128. package/cjs/event/listener/table-group.js.map +1 -1
  129. package/cjs/event/pivot-chart/axis-click.d.ts +2 -0
  130. package/cjs/event/pivot-chart/axis-click.js +42 -0
  131. package/cjs/event/pivot-chart/axis-click.js.map +1 -0
  132. package/cjs/event/pivot-chart/axis-hover.d.ts +2 -0
  133. package/cjs/event/pivot-chart/axis-hover.js +41 -0
  134. package/cjs/event/pivot-chart/axis-hover.js.map +1 -0
  135. package/cjs/event/scroll.js +4 -3
  136. package/cjs/event/scroll.js.map +1 -1
  137. package/cjs/event/sparkline-event.js +1 -2
  138. package/cjs/event/sparkline-event.js.map +1 -1
  139. package/cjs/header-helper/header-helper.js +1 -1
  140. package/cjs/header-helper/header-helper.js.map +1 -1
  141. package/cjs/header-helper/style/MultilineTextHeaderStyle.js +2 -2
  142. package/cjs/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
  143. package/cjs/header-helper/style/Style.d.ts +0 -1
  144. package/cjs/header-helper/style/Style.js +25 -28
  145. package/cjs/header-helper/style/Style.js.map +1 -1
  146. package/cjs/index.d.ts +4 -3
  147. package/cjs/index.js +11 -2
  148. package/cjs/index.js.map +1 -1
  149. package/cjs/layout/chart-helper/get-axis-config.d.ts +2 -0
  150. package/cjs/layout/chart-helper/get-axis-config.js +128 -0
  151. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -0
  152. package/cjs/layout/chart-helper/get-chart-spec.d.ts +7 -0
  153. package/cjs/layout/chart-helper/get-chart-spec.js +141 -0
  154. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -0
  155. package/cjs/layout/index.js +2 -1
  156. package/cjs/layout/pivot-header-layout.d.ts +13 -5
  157. package/cjs/layout/pivot-header-layout.js +50 -14
  158. package/cjs/layout/pivot-header-layout.js.map +1 -1
  159. package/cjs/layout/pivot-layout.d.ts +55 -8
  160. package/cjs/layout/pivot-layout.js +406 -92
  161. package/cjs/layout/pivot-layout.js.map +1 -1
  162. package/cjs/layout/simple-header-layout.d.ts +10 -0
  163. package/cjs/layout/simple-header-layout.js +43 -2
  164. package/cjs/layout/simple-header-layout.js.map +1 -1
  165. package/cjs/plugins/{chartTypes.js → chartModules.js} +1 -1
  166. package/cjs/plugins/chartModules.js.map +1 -0
  167. package/cjs/register.d.ts +1 -1
  168. package/cjs/register.js +6 -6
  169. package/cjs/register.js.map +1 -1
  170. package/cjs/render/layout/text.d.ts +33 -4
  171. package/cjs/render/layout/text.js +9 -3
  172. package/cjs/render/layout/text.js.map +1 -1
  173. package/cjs/scenegraph/component/custom.js +17 -16
  174. package/cjs/scenegraph/component/custom.js.map +1 -1
  175. package/cjs/scenegraph/component/menu.d.ts +41 -0
  176. package/cjs/scenegraph/component/table-component.js +3 -3
  177. package/cjs/scenegraph/component/table-component.js.map +1 -1
  178. package/cjs/scenegraph/graphic/chart.d.ts +4 -1
  179. package/cjs/scenegraph/graphic/chart.js +29 -17
  180. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  181. package/cjs/scenegraph/graphic/contributions/chart-render.js +22 -3
  182. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  183. package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +9 -9
  184. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +48 -29
  185. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  186. package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +3 -3
  187. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +2 -2
  188. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  189. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +3 -3
  190. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  191. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  192. package/cjs/scenegraph/graphic/text.d.ts +15 -0
  193. package/cjs/scenegraph/group-creater/cell-helper.js +9 -3
  194. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  195. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  196. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +6 -5
  197. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  198. package/cjs/scenegraph/group-creater/column-helper.js +1 -1
  199. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  200. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  201. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +3 -0
  202. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +71 -0
  203. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -0
  204. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +2 -2
  205. package/cjs/scenegraph/group-creater/progress/proxy.js +45 -55
  206. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  207. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +1 -0
  208. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +60 -26
  209. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  210. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +1 -0
  211. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +94 -40
  212. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  213. package/cjs/scenegraph/layout/compute-col-width.js +23 -15
  214. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  215. package/cjs/scenegraph/layout/compute-row-height.js +20 -9
  216. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  217. package/cjs/scenegraph/layout/move-cell.js +1 -1
  218. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  219. package/cjs/scenegraph/layout/update-cell.js +3 -2
  220. package/cjs/scenegraph/layout/update-cell.js.map +1 -1
  221. package/cjs/scenegraph/layout/update-height.js +1 -1
  222. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  223. package/cjs/scenegraph/layout/update-row.js +1 -1
  224. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  225. package/cjs/scenegraph/layout/update-width.js +34 -3
  226. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  227. package/cjs/scenegraph/refresh-node/update-chart.d.ts +3 -0
  228. package/cjs/scenegraph/refresh-node/update-chart.js +76 -7
  229. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  230. package/cjs/scenegraph/scenegraph.d.ts +8 -0
  231. package/cjs/scenegraph/scenegraph.js +118 -21
  232. package/cjs/scenegraph/scenegraph.js.map +1 -1
  233. package/cjs/scenegraph/stick-text/index.js +10 -8
  234. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  235. package/cjs/scenegraph/style/corner-cell.d.ts +3 -0
  236. package/cjs/scenegraph/style/corner-cell.js +29 -0
  237. package/cjs/scenegraph/style/corner-cell.js.map +1 -0
  238. package/cjs/scenegraph/style/frame-border.d.ts +1 -0
  239. package/cjs/scenegraph/style/frame-border.js +3 -7
  240. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  241. package/cjs/scenegraph/utils/get-cell-merge.js +2 -1
  242. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  243. package/cjs/scenegraph/utils/text-icon-layout.js +1 -1
  244. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  245. package/cjs/state/state.js +1 -1
  246. package/cjs/state/state.js.map +1 -1
  247. package/cjs/themes/DARK.js +1 -2
  248. package/cjs/themes/theme.d.ts +10 -0
  249. package/cjs/themes/theme.js +50 -4
  250. package/cjs/themes/theme.js.map +1 -1
  251. package/cjs/tools/LimitPromiseQueue.js +2 -1
  252. package/cjs/tools/calc.d.ts +3 -0
  253. package/cjs/tools/calc.js +11 -3
  254. package/cjs/tools/calc.js.map +1 -1
  255. package/cjs/tools/debounce.js +1 -1
  256. package/cjs/tools/diff-cell.js +2 -2
  257. package/cjs/tools/dom.js +1 -1
  258. package/cjs/tools/env.js +1 -1
  259. package/cjs/ts-types/base-table.d.ts +29 -12
  260. package/cjs/ts-types/base-table.js.map +1 -1
  261. package/cjs/ts-types/column/style.d.ts +0 -1
  262. package/cjs/ts-types/column/style.js.map +1 -1
  263. package/cjs/ts-types/component/axis.d.ts +12 -0
  264. package/cjs/ts-types/component/axis.js +6 -0
  265. package/cjs/ts-types/component/axis.js.map +1 -0
  266. package/cjs/ts-types/component/legend.d.ts +5 -0
  267. package/cjs/ts-types/component/legend.js +6 -0
  268. package/cjs/ts-types/component/legend.js.map +1 -0
  269. package/cjs/ts-types/component/title.d.ts +47 -0
  270. package/cjs/ts-types/component/title.js +6 -0
  271. package/cjs/ts-types/component/title.js.map +1 -0
  272. package/cjs/ts-types/component/util.d.ts +1 -0
  273. package/cjs/ts-types/component/util.js +6 -0
  274. package/cjs/ts-types/component/util.js.map +1 -0
  275. package/cjs/ts-types/customElement.d.ts +2 -0
  276. package/cjs/ts-types/customElement.js.map +1 -1
  277. package/cjs/ts-types/events.d.ts +108 -83
  278. package/cjs/ts-types/events.js.map +1 -1
  279. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  280. package/cjs/ts-types/list-table/define/chart-define.d.ts +1 -1
  281. package/cjs/ts-types/list-table/define/chart-define.js.map +1 -1
  282. package/cjs/ts-types/list-table/layout-map/api.d.ts +4 -2
  283. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  284. package/cjs/ts-types/new-data-set.d.ts +21 -7
  285. package/cjs/ts-types/new-data-set.js +2 -2
  286. package/cjs/ts-types/new-data-set.js.map +1 -1
  287. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +4 -0
  288. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +3 -1
  289. package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
  290. package/cjs/ts-types/pivot-table/corner.d.ts +3 -3
  291. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  292. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  293. package/cjs/ts-types/pivot-table/indicator/chart-indicator.d.ts +1 -1
  294. package/cjs/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  295. package/cjs/ts-types/pivot-table/indicator/index.d.ts +1 -0
  296. package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -1
  297. package/cjs/ts-types/pivot-table/title.d.ts +1 -1
  298. package/cjs/ts-types/pivot-table/title.js.map +1 -1
  299. package/cjs/ts-types/table-engine.d.ts +27 -3
  300. package/cjs/ts-types/table-engine.js.map +1 -1
  301. package/cjs/ts-types/theme.d.ts +5 -0
  302. package/cjs/ts-types/theme.js.map +1 -1
  303. package/dist/vtable.js +37485 -24091
  304. package/dist/vtable.min.js +4 -2
  305. package/es/ListTable.d.ts +2 -1
  306. package/es/ListTable.js +17 -13
  307. package/es/ListTable.js.map +1 -1
  308. package/es/PivotChart.d.ts +69 -0
  309. package/es/PivotChart.js +455 -0
  310. package/es/PivotChart.js.map +1 -0
  311. package/es/PivotTable.d.ts +2 -1
  312. package/es/PivotTable.js +19 -14
  313. package/es/PivotTable.js.map +1 -1
  314. package/es/body-helper/style/MultilineTextStyle.js +2 -2
  315. package/es/body-helper/style/MultilineTextStyle.js.map +1 -1
  316. package/es/body-helper/style/ProgressBarStyle.js +15 -15
  317. package/es/body-helper/style/ProgressBarStyle.js.map +1 -1
  318. package/es/body-helper/style/Style.d.ts +0 -1
  319. package/es/body-helper/style/Style.js +25 -28
  320. package/es/body-helper/style/Style.js.map +1 -1
  321. package/es/{chartType.js → chartModule.js} +2 -2
  322. package/es/chartModule.js.map +1 -0
  323. package/es/components/axis/axis.d.ts +45 -0
  324. package/es/components/axis/axis.js +155 -0
  325. package/es/components/axis/axis.js.map +1 -0
  326. package/es/components/axis/band-scale.d.ts +18 -0
  327. package/es/components/axis/band-scale.js +46 -0
  328. package/es/components/axis/band-scale.js.map +1 -0
  329. package/es/components/axis/get-axis-attributes.d.ts +136 -0
  330. package/es/components/axis/get-axis-attributes.js +166 -0
  331. package/es/components/axis/get-axis-attributes.js.map +1 -0
  332. package/es/components/axis/label-overlap.d.ts +3 -0
  333. package/es/components/axis/label-overlap.js +39 -0
  334. package/es/components/axis/label-overlap.js.map +1 -0
  335. package/es/components/axis/linear-scale.d.ts +45 -0
  336. package/es/components/axis/linear-scale.js +104 -0
  337. package/es/components/axis/linear-scale.js.map +1 -0
  338. package/es/components/legend/get-legend-attributes.d.ts +5 -0
  339. package/es/components/legend/get-legend-attributes.js +84 -0
  340. package/es/components/legend/get-legend-attributes.js.map +1 -0
  341. package/es/components/legend/legend.d.ts +23 -0
  342. package/es/components/legend/legend.js +93 -0
  343. package/es/components/legend/legend.js.map +1 -0
  344. package/{cjs → es/components}/menu/dom/BaseMenu.d.ts +2 -2
  345. package/es/components/menu/dom/BaseMenu.js.map +1 -0
  346. package/es/components/menu/dom/Menu.js.map +1 -0
  347. package/es/{menu → components/menu}/dom/MenuHandler.d.ts +2 -2
  348. package/es/{menu → components/menu}/dom/MenuHandler.js +2 -2
  349. package/es/components/menu/dom/MenuHandler.js.map +1 -0
  350. package/es/{menu → components/menu}/dom/logic/MenuContainer.d.ts +2 -2
  351. package/es/{menu → components/menu}/dom/logic/MenuContainer.js +4 -4
  352. package/es/components/menu/dom/logic/MenuContainer.js.map +1 -0
  353. package/es/{menu → components/menu}/dom/logic/MenuElement.d.ts +2 -2
  354. package/es/{menu → components/menu}/dom/logic/MenuElement.js +9 -9
  355. package/es/components/menu/dom/logic/MenuElement.js.map +1 -0
  356. package/es/components/menu/dom/logic/MenuElementStyle.js.map +1 -0
  357. package/es/components/title/title.d.ts +12 -0
  358. package/es/components/title/title.js +61 -0
  359. package/es/components/title/title.js.map +1 -0
  360. package/{cjs → es/components}/tooltip/BaseTooltip.d.ts +3 -3
  361. package/es/components/tooltip/BaseTooltip.js.map +1 -0
  362. package/es/components/tooltip/Tooltip.js.map +1 -0
  363. package/es/{tooltip → components/tooltip}/TooltipHandler.d.ts +4 -4
  364. package/es/{tooltip → components/tooltip}/TooltipHandler.js +4 -4
  365. package/es/components/tooltip/TooltipHandler.js.map +1 -0
  366. package/{cjs → es/components}/tooltip/logic/BubbleTooltipElement.d.ts +4 -4
  367. package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElement.js +4 -4
  368. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -0
  369. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
  370. package/es/components/util/orient.d.ts +3 -0
  371. package/es/components/util/orient.js +8 -0
  372. package/es/components/util/orient.js.map +1 -0
  373. package/es/components/util/register.d.ts +3 -0
  374. package/es/components/util/register.js +8 -0
  375. package/es/components/util/register.js.map +1 -0
  376. package/es/components/util/tick-data/config.d.ts +1 -0
  377. package/es/components/util/tick-data/config.js +2 -0
  378. package/es/components/util/tick-data/config.js.map +1 -0
  379. package/es/components/util/tick-data/continuous.d.ts +2 -0
  380. package/es/components/util/tick-data/continuous.js +38 -0
  381. package/es/components/util/tick-data/continuous.js.map +1 -0
  382. package/es/components/util/tick-data/discrete/linear.d.ts +2 -0
  383. package/es/components/util/tick-data/discrete/linear.js +59 -0
  384. package/es/components/util/tick-data/discrete/linear.js.map +1 -0
  385. package/es/components/util/tick-data/discrete/polar-angle.d.ts +2 -0
  386. package/es/components/util/tick-data/discrete/polar-angle.js +39 -0
  387. package/es/components/util/tick-data/discrete/polar-angle.js.map +1 -0
  388. package/es/components/util/tick-data/index.d.ts +2 -0
  389. package/es/components/util/tick-data/index.js +19 -0
  390. package/es/components/util/tick-data/index.js.map +1 -0
  391. package/es/components/util/tick-data/util.d.ts +21 -0
  392. package/es/components/util/tick-data/util.js +104 -0
  393. package/es/components/util/tick-data/util.js.map +1 -0
  394. package/es/components/util/transform.d.ts +5 -0
  395. package/es/components/util/transform.js +34 -0
  396. package/es/components/util/transform.js.map +1 -0
  397. package/es/core/BaseTable.d.ts +18 -5
  398. package/es/core/BaseTable.js +119 -43
  399. package/es/core/BaseTable.js.map +1 -1
  400. package/es/core/TABLE_EVENT_TYPE.d.ts +5 -0
  401. package/es/core/TABLE_EVENT_TYPE.js +6 -1
  402. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  403. package/es/core/style.js +1 -1
  404. package/es/core/style.js.map +1 -1
  405. package/es/core/tableHelper.js +1 -2
  406. package/es/data/CachedDataSource.js +2 -1
  407. package/es/data/DataSource.js +2 -2
  408. package/es/data/DataSource.js.map +1 -1
  409. package/es/dataset/dataset-pivot-table.d.ts +60 -0
  410. package/es/dataset/dataset-pivot-table.js +378 -0
  411. package/es/dataset/dataset-pivot-table.js.map +1 -0
  412. package/es/dataset/dataset.d.ts +15 -19
  413. package/es/dataset/dataset.js +183 -190
  414. package/es/dataset/dataset.js.map +1 -1
  415. package/es/dataset/statistics-helper.d.ts +67 -0
  416. package/es/dataset/statistics-helper.js +152 -0
  417. package/es/dataset/statistics-helper.js.map +1 -0
  418. package/es/dataset/util/zero-align.d.ts +10 -0
  419. package/es/dataset/util/zero-align.js +111 -0
  420. package/es/dataset/util/zero-align.js.map +1 -0
  421. package/es/event/EventHandler.js.map +1 -1
  422. package/es/event/EventTarget.d.ts +5 -5
  423. package/es/event/EventTarget.js +2 -2
  424. package/es/event/EventTarget.js.map +1 -1
  425. package/es/event/VChartEventProxy.d.ts +1 -0
  426. package/es/event/VChartEventProxy.js +1 -0
  427. package/es/event/VChartEventProxy.js.map +1 -0
  428. package/es/event/event.js +10 -3
  429. package/es/event/event.js.map +1 -1
  430. package/es/event/listener/table-group.js +8 -6
  431. package/es/event/listener/table-group.js.map +1 -1
  432. package/es/event/pivot-chart/axis-click.d.ts +2 -0
  433. package/es/event/pivot-chart/axis-click.js +36 -0
  434. package/es/event/pivot-chart/axis-click.js.map +1 -0
  435. package/es/event/pivot-chart/axis-hover.d.ts +2 -0
  436. package/es/event/pivot-chart/axis-hover.js +33 -0
  437. package/es/event/pivot-chart/axis-hover.js.map +1 -0
  438. package/es/event/scroll.js +4 -3
  439. package/es/event/scroll.js.map +1 -1
  440. package/es/event/sparkline-event.js +1 -2
  441. package/es/event/sparkline-event.js.map +1 -1
  442. package/es/header-helper/header-helper.js +1 -1
  443. package/es/header-helper/header-helper.js.map +1 -1
  444. package/es/header-helper/style/MultilineTextHeaderStyle.js +2 -2
  445. package/es/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
  446. package/es/header-helper/style/Style.d.ts +0 -1
  447. package/es/header-helper/style/Style.js +25 -28
  448. package/es/header-helper/style/Style.js.map +1 -1
  449. package/es/index.d.ts +4 -3
  450. package/es/index.js +4 -2
  451. package/es/index.js.map +1 -1
  452. package/es/layout/chart-helper/get-axis-config.d.ts +2 -0
  453. package/es/layout/chart-helper/get-axis-config.js +120 -0
  454. package/es/layout/chart-helper/get-axis-config.js.map +1 -0
  455. package/es/layout/chart-helper/get-chart-spec.d.ts +7 -0
  456. package/es/layout/chart-helper/get-chart-spec.js +132 -0
  457. package/es/layout/chart-helper/get-chart-spec.js.map +1 -0
  458. package/es/layout/index.js +2 -1
  459. package/es/layout/pivot-header-layout.d.ts +13 -5
  460. package/es/layout/pivot-header-layout.js +50 -12
  461. package/es/layout/pivot-header-layout.js.map +1 -1
  462. package/es/layout/pivot-layout.d.ts +55 -8
  463. package/es/layout/pivot-layout.js +409 -90
  464. package/es/layout/pivot-layout.js.map +1 -1
  465. package/es/layout/simple-header-layout.d.ts +10 -0
  466. package/es/layout/simple-header-layout.js +44 -1
  467. package/es/layout/simple-header-layout.js.map +1 -1
  468. package/es/plugins/chartModules.js +2 -0
  469. package/es/plugins/chartModules.js.map +1 -0
  470. package/es/register.d.ts +1 -1
  471. package/es/register.js +3 -3
  472. package/es/register.js.map +1 -1
  473. package/es/render/layout/text.d.ts +33 -4
  474. package/es/render/layout/text.js +9 -3
  475. package/es/render/layout/text.js.map +1 -1
  476. package/es/scenegraph/component/custom.js +17 -16
  477. package/es/scenegraph/component/custom.js.map +1 -1
  478. package/es/scenegraph/component/menu.d.ts +41 -0
  479. package/es/scenegraph/component/table-component.js +3 -3
  480. package/es/scenegraph/component/table-component.js.map +1 -1
  481. package/es/scenegraph/graphic/chart.d.ts +4 -1
  482. package/es/scenegraph/graphic/chart.js +29 -15
  483. package/es/scenegraph/graphic/chart.js.map +1 -1
  484. package/es/scenegraph/graphic/contributions/chart-render.js +22 -3
  485. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  486. package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +9 -9
  487. package/es/scenegraph/graphic/contributions/group-contribution-render.js +48 -29
  488. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  489. package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +3 -3
  490. package/es/scenegraph/graphic/contributions/image-contribution-render.js +2 -2
  491. package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  492. package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +3 -3
  493. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  494. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  495. package/es/scenegraph/graphic/text.d.ts +15 -0
  496. package/es/scenegraph/group-creater/cell-helper.js +10 -2
  497. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  498. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  499. package/es/scenegraph/group-creater/cell-type/chart-cell.js +6 -5
  500. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  501. package/es/scenegraph/group-creater/column-helper.js +1 -1
  502. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  503. package/es/scenegraph/group-creater/column.js.map +1 -1
  504. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +3 -0
  505. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +65 -0
  506. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -0
  507. package/es/scenegraph/group-creater/progress/proxy.d.ts +2 -2
  508. package/es/scenegraph/group-creater/progress/proxy.js +42 -55
  509. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  510. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +1 -0
  511. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +59 -23
  512. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  513. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +1 -0
  514. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +94 -37
  515. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  516. package/es/scenegraph/layout/compute-col-width.js +23 -15
  517. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  518. package/es/scenegraph/layout/compute-row-height.js +20 -9
  519. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  520. package/es/scenegraph/layout/move-cell.js +1 -1
  521. package/es/scenegraph/layout/move-cell.js.map +1 -1
  522. package/es/scenegraph/layout/update-cell.js +3 -1
  523. package/es/scenegraph/layout/update-cell.js.map +1 -1
  524. package/es/scenegraph/layout/update-height.js +1 -1
  525. package/es/scenegraph/layout/update-height.js.map +1 -1
  526. package/es/scenegraph/layout/update-row.js +1 -1
  527. package/es/scenegraph/layout/update-row.js.map +1 -1
  528. package/es/scenegraph/layout/update-width.js +35 -2
  529. package/es/scenegraph/layout/update-width.js.map +1 -1
  530. package/es/scenegraph/refresh-node/update-chart.d.ts +3 -0
  531. package/es/scenegraph/refresh-node/update-chart.js +70 -4
  532. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  533. package/es/scenegraph/scenegraph.d.ts +8 -0
  534. package/es/scenegraph/scenegraph.js +120 -21
  535. package/es/scenegraph/scenegraph.js.map +1 -1
  536. package/es/scenegraph/stick-text/index.js +10 -8
  537. package/es/scenegraph/stick-text/index.js.map +1 -1
  538. package/es/scenegraph/style/corner-cell.d.ts +3 -0
  539. package/es/scenegraph/style/corner-cell.js +25 -0
  540. package/es/scenegraph/style/corner-cell.js.map +1 -0
  541. package/es/scenegraph/style/frame-border.d.ts +1 -0
  542. package/es/scenegraph/style/frame-border.js +2 -6
  543. package/es/scenegraph/style/frame-border.js.map +1 -1
  544. package/es/scenegraph/utils/get-cell-merge.js +2 -1
  545. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  546. package/es/scenegraph/utils/text-icon-layout.js +1 -1
  547. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  548. package/es/state/state.js +1 -1
  549. package/es/state/state.js.map +1 -1
  550. package/es/themes/DARK.js +1 -2
  551. package/es/themes/theme.d.ts +10 -0
  552. package/es/themes/theme.js +50 -4
  553. package/es/themes/theme.js.map +1 -1
  554. package/es/tools/LimitPromiseQueue.js +2 -1
  555. package/es/tools/calc.d.ts +3 -0
  556. package/es/tools/calc.js +10 -0
  557. package/es/tools/calc.js.map +1 -1
  558. package/es/tools/debounce.js +1 -1
  559. package/es/tools/diff-cell.js +1 -1
  560. package/es/tools/dom.js +1 -1
  561. package/es/tools/env.js +1 -1
  562. package/es/ts-types/base-table.d.ts +29 -12
  563. package/es/ts-types/base-table.js.map +1 -1
  564. package/es/ts-types/column/style.d.ts +0 -1
  565. package/es/ts-types/column/style.js.map +1 -1
  566. package/es/ts-types/component/axis.d.ts +12 -0
  567. package/es/ts-types/component/axis.js +2 -0
  568. package/es/ts-types/component/axis.js.map +1 -0
  569. package/es/ts-types/component/legend.d.ts +5 -0
  570. package/es/ts-types/component/legend.js +2 -0
  571. package/es/ts-types/component/legend.js.map +1 -0
  572. package/es/ts-types/component/title.d.ts +47 -0
  573. package/es/ts-types/component/title.js +2 -0
  574. package/es/ts-types/component/title.js.map +1 -0
  575. package/es/ts-types/component/util.d.ts +1 -0
  576. package/es/ts-types/component/util.js +2 -0
  577. package/es/ts-types/component/util.js.map +1 -0
  578. package/es/ts-types/customElement.d.ts +2 -0
  579. package/es/ts-types/customElement.js.map +1 -1
  580. package/es/ts-types/events.d.ts +108 -83
  581. package/es/ts-types/events.js.map +1 -1
  582. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  583. package/es/ts-types/list-table/define/chart-define.d.ts +1 -1
  584. package/es/ts-types/list-table/define/chart-define.js.map +1 -1
  585. package/es/ts-types/list-table/layout-map/api.d.ts +4 -2
  586. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  587. package/es/ts-types/new-data-set.d.ts +21 -7
  588. package/es/ts-types/new-data-set.js +2 -2
  589. package/es/ts-types/new-data-set.js.map +1 -1
  590. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +4 -0
  591. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +4 -0
  592. package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
  593. package/es/ts-types/pivot-table/corner.d.ts +3 -3
  594. package/es/ts-types/pivot-table/corner.js.map +1 -1
  595. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  596. package/es/ts-types/pivot-table/indicator/chart-indicator.d.ts +1 -1
  597. package/es/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  598. package/es/ts-types/pivot-table/indicator/index.d.ts +1 -0
  599. package/es/ts-types/pivot-table/indicator/index.js.map +1 -1
  600. package/es/ts-types/pivot-table/title.d.ts +1 -1
  601. package/es/ts-types/pivot-table/title.js.map +1 -1
  602. package/es/ts-types/table-engine.d.ts +27 -3
  603. package/es/ts-types/table-engine.js.map +1 -1
  604. package/es/ts-types/theme.d.ts +5 -0
  605. package/es/ts-types/theme.js.map +1 -1
  606. package/package.json +14 -8
  607. package/cjs/chartType.js +0 -14
  608. package/cjs/chartType.js.map +0 -1
  609. package/cjs/menu/dom/BaseMenu.js.map +0 -1
  610. package/cjs/menu/dom/Menu.js.map +0 -1
  611. package/cjs/menu/dom/MenuHandler.js.map +0 -1
  612. package/cjs/menu/dom/logic/MenuContainer.js.map +0 -1
  613. package/cjs/menu/dom/logic/MenuElement.js.map +0 -1
  614. package/cjs/menu/dom/logic/MenuElementStyle.js.map +0 -1
  615. package/cjs/plugins/chartTypes.js.map +0 -1
  616. package/cjs/scenegraph/layout/auto-width.d.ts +0 -2
  617. package/cjs/scenegraph/layout/auto-width.js +0 -85
  618. package/cjs/scenegraph/layout/auto-width.js.map +0 -1
  619. package/cjs/tooltip/BaseTooltip.js.map +0 -1
  620. package/cjs/tooltip/Tooltip.js.map +0 -1
  621. package/cjs/tooltip/TooltipHandler.js.map +0 -1
  622. package/cjs/tooltip/logic/BubbleTooltipElement.js.map +0 -1
  623. package/cjs/tooltip/logic/BubbleTooltipElementStyle.js.map +0 -1
  624. package/es/chartType.js.map +0 -1
  625. package/es/menu/dom/BaseMenu.js.map +0 -1
  626. package/es/menu/dom/Menu.js.map +0 -1
  627. package/es/menu/dom/MenuHandler.js.map +0 -1
  628. package/es/menu/dom/logic/MenuContainer.js.map +0 -1
  629. package/es/menu/dom/logic/MenuElement.js.map +0 -1
  630. package/es/menu/dom/logic/MenuElementStyle.js.map +0 -1
  631. package/es/plugins/chartTypes.js +0 -2
  632. package/es/plugins/chartTypes.js.map +0 -1
  633. package/es/scenegraph/layout/auto-width.d.ts +0 -2
  634. package/es/scenegraph/layout/auto-width.js +0 -82
  635. package/es/scenegraph/layout/auto-width.js.map +0 -1
  636. package/es/tooltip/BaseTooltip.js.map +0 -1
  637. package/es/tooltip/Tooltip.js.map +0 -1
  638. package/es/tooltip/TooltipHandler.js.map +0 -1
  639. package/es/tooltip/logic/BubbleTooltipElement.js.map +0 -1
  640. package/es/tooltip/logic/BubbleTooltipElementStyle.js.map +0 -1
  641. /package/cjs/{chartType.d.ts → chartModule.d.ts} +0 -0
  642. /package/cjs/{menu → components/menu}/dom/BaseMenu.js +0 -0
  643. /package/cjs/{menu → components/menu}/dom/Menu.d.ts +0 -0
  644. /package/cjs/{menu → components/menu}/dom/Menu.js +0 -0
  645. /package/cjs/{menu → components/menu}/dom/logic/MenuElementStyle.d.ts +0 -0
  646. /package/cjs/{menu → components/menu}/dom/logic/MenuElementStyle.js +0 -0
  647. /package/cjs/{tooltip → components/tooltip}/BaseTooltip.js +0 -0
  648. /package/cjs/{tooltip → components/tooltip}/Tooltip.d.ts +0 -0
  649. /package/cjs/{tooltip → components/tooltip}/Tooltip.js +0 -0
  650. /package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.d.ts +0 -0
  651. /package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.js +0 -0
  652. /package/cjs/plugins/{chartTypes.d.ts → chartModules.d.ts} +0 -0
  653. /package/es/{chartType.d.ts → chartModule.d.ts} +0 -0
  654. /package/es/{menu → components/menu}/dom/BaseMenu.js +0 -0
  655. /package/es/{menu → components/menu}/dom/Menu.d.ts +0 -0
  656. /package/es/{menu → components/menu}/dom/Menu.js +0 -0
  657. /package/es/{menu → components/menu}/dom/logic/MenuElementStyle.d.ts +0 -0
  658. /package/es/{menu → components/menu}/dom/logic/MenuElementStyle.js +0 -0
  659. /package/es/{tooltip → components/tooltip}/BaseTooltip.js +0 -0
  660. /package/es/{tooltip → components/tooltip}/Tooltip.d.ts +0 -0
  661. /package/es/{tooltip → components/tooltip}/Tooltip.js +0 -0
  662. /package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.d.ts +0 -0
  663. /package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.js +0 -0
  664. /package/es/plugins/{chartTypes.d.ts → chartModules.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["event/listener/table-group.ts"],"names":[],"mappings":"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","file":"table-group.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender';\nimport type { MousePointerMultiCellEvent, MousePointerSparklineEvent } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { Group } from '../../scenegraph/graphic/group';\nimport { isValid } from '@visactor/vutils';\nimport { getIconAndPositionFromTarget } from '../../scenegraph/utils/icon';\nimport { cellInRanges } from '../../tools/helper';\nimport { Rect } from '../../tools/Rect';\nimport type { EventManeger } from '../event';\n\nexport function bindTableGroupListener(eventManeger: EventManeger) {\n const table = eventManeger.table;\n const stateManeger = table.stateManeger;\n table.scenegraph.tableGroup.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n // console.log('scenegraph pointermove',e.type);\n // const eventArgsSet: SceneEvent = (table as any).getCellEventArgsSet(e);\n if (eventManeger.touchSetTimeout) {\n clearTimeout(eventManeger.touchSetTimeout);\n eventManeger.touchSetTimeout = undefined;\n }\n const eventArgsSet = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n if (stateManeger.interactionState === InteractionState.grabing) {\n if (stateManeger.isResizeCol()) {\n eventManeger.dealColumnResize(eventArgsSet);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: table.stateManeger.columnResize.col,\n colWidth: table.getColWidth(table.stateManeger.columnResize.col)\n });\n }\n } else if (stateManeger.isMoveCol()) {\n eventManeger.dealColumnMover(eventArgsSet);\n } else {\n eventManeger.dealTableSelect(eventArgsSet);\n }\n return;\n }\n // if (stateManeger.menu.isShow && stateManeger.menu.bounds.inPoint(e.x, e.y)) {\n // eventManeger.dealMenuHover(eventArgsSet);\n // return;\n // }\n // 更新列宽调整pointer\n if (eventManeger.checkColumnResize(eventArgsSet)) {\n stateManeger.updateCursor('col-resize');\n } else {\n stateManeger.updateCursor();\n }\n\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL)) {\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n table.stateManeger.hover.cellPos.col !== -1 &&\n table.stateManeger.hover.cellPos.row !== -1 &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row,\n cellRange: table.getCellRangeRelativeRect({\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL)) {\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n isValid(cellGoup.col) &&\n isValid(cellGoup.row) &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {\n col: cellGoup.col,\n row: cellGoup.row,\n cellRange: table.getCellRangeRelativeRect({\n col: cellGoup.col,\n row: cellGoup.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n eventManeger.dealIconHover(eventArgsSet);\n eventManeger.dealTableHover(eventArgsSet);\n\n // 触发MOUSEMOVE_CELL\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n x: eventArgsSet.abstractPos.x,\n y: eventArgsSet.abstractPos.y,\n event: e.nativeEvent,\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerout', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (cellGoup?.role === 'table') {\n eventManeger.dealTableHover();\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerover', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('pointerover', cellGoup);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL) && cellGoup.type === 'symbol') {\n const cellGroup = e.composedPath().find(p => (p as any).roll === 'cell');\n if (cellGroup) {\n const { col, row } = cellGroup as unknown as Group;\n const eventInfo: MousePointerSparklineEvent = {\n col,\n row,\n field: table.getHeaderField(col, row),\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.internalProps.layoutMap.getCellHeaderPaths(col, row),\n caption: table.getBodyColumnDefine(col, row).caption,\n cellRange: table.getCellRelativeRect(col, row),\n event: e.nativeEvent,\n sparkline: {\n pointData: undefined // chartPoint.pointData,\n },\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);\n }\n }\n //MOUSEENTER_CELL 不能在这里触发 引发在单元格内移动会触发多次的问题【迷你图的单元格中】\n // if ((table as any).hasListeners(DG_EVENT_TYPE.MOUSEENTER_CELL)) {\n // const eventArgsSet = getCellEventArgsSet(e);\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('hover cell', table.stateManeger.hover.cellPos);\n // if (\n // cellGoup?.role === 'cell' &&\n // (cellGoup.col !== table.stateManeger.hover.cellPos.col ||\n // cellGoup.row !== table.stateManeger.hover.cellPos.row)\n // ) {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: cellGoup.col,\n // row: cellGoup.row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: cellGoup.col,\n // row: cellGoup.row,\n // }),\n // scaleRatio:\n // table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // }\n });\n // table.scenegraph.tableGroup.addEventListener('pointerenter', (e: FederatedPointerEvent) => {\n // console.log('pointerenter', e.target);\n // 触发MOUSEOVER_CELL\n // const eventArgsSet = getCellEventArgsSet(e);\n // if ((eventArgsSet?.eventArgs?.target as unknown as Group)?.role === 'cell') {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // }),\n // scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // });\n table.scenegraph.tableGroup.addEventListener('pointerleave', (e: FederatedPointerEvent) => {\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n stateManeger.updateCursor();\n const target = e.target;\n if (target && !target.isDescendantsOf(table.scenegraph.tableGroup)) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {\n col: -1,\n row: -1,\n event: e.nativeEvent\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerupoutside', (e: FederatedPointerEvent) => {\n console.log('pointerupoutside');\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState !== InteractionState.default) {\n return;\n }\n\n // 处理menu\n if (\n stateManeger.menu.isShow &&\n eventArgsSet.eventArgs &&\n (eventArgsSet.eventArgs.target as any) !== stateManeger.residentHoverIcon?.icon\n ) {\n // 点击在menu外,且不是下拉菜单的icon,移除menu\n stateManeger.hideMenu();\n }\n const hitIcon = (eventArgsSet?.eventArgs?.target as any)?.role?.startsWith('icon')\n ? eventArgsSet.eventArgs.target\n : undefined;\n if (!hitIcon) {\n if (e.pointerType === 'touch') {\n eventManeger.touchEnd = false;\n eventManeger.touchSetTimeout = setTimeout(() => {\n eventManeger.isTouchdown = false;\n eventManeger.touchMove = true;\n // 处理列宽调整\n if (!eventManeger.touchEnd && eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (!eventManeger.touchEnd && eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet) && !eventManeger.touchEnd) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }, 500);\n } else {\n // 处理列宽调整\n if (eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet)) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerup', (e: FederatedPointerEvent) => {\n // console.log('pointerup');\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n if (stateManeger.interactionState === 'grabing') {\n // stateManeger.interactionState = 'default';\n stateManeger.updateInteractionState(InteractionState.default);\n // eventManeger._resizing = false;\n if (stateManeger.isResizeCol()) {\n table.stateManeger.endResizeCol();\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END)) {\n // RESIZE_COLUMN_END事件触发,返回所有列宽\n const columns = [];\n // 返回所有列宽信息\n for (let col = 0; col < table.colCount; col++) {\n columns.push(table.getColWidth(col));\n }\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END, {\n col: table.stateManeger.columnResize.col,\n columns\n });\n }\n } else if (stateManeger.isMoveCol()) {\n table.stateManeger.endMoveCol();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION)) {\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION, {\n target: { col: eventArgsSet.eventArgs.col, row: eventArgsSet.eventArgs.row },\n source: {\n col: table.stateManeger.columnMove.colSource,\n row: table.stateManeger.columnMove.colSource //TODO row\n }\n });\n }\n } else if (stateManeger.isSelecting()) {\n table.stateManeger.endSelectCells();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END)) {\n const cellsEvent: MousePointerMultiCellEvent = {\n event: e.nativeEvent,\n cells: [],\n col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n\n cellsEvent.cells = table.getSelectedCellInfos();\n table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);\n }\n }\n } else if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n // scroll end\n }\n // console.log('DRAG_SELECT_END');\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('rightdown', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n // 右键点击\n if (eventArgsSet.eventArgs) {\n stateManeger.triggerContextMenu(\n eventArgsSet.eventArgs.col,\n eventArgsSet.eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n\n //处理监听的右键事件\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n if (cellInRanges(table.stateManeger.select.ranges, col, row)) {\n // 用户右键点击已经选中的区域\n // const { start, end } = eventManeger.selection.range;\n cellsEvent.cells = table.getSelectedCellInfos();\n } else {\n // 用户右键点击新单元格\n cellsEvent.cells = [[cellInfo]];\n }\n\n table.fireListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n console.log('click', e);\n if (table.stateManeger.columnResize.resizing || table.stateManeger.columnMove.moving) {\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n eventManeger.dealIconClick(e, eventArgsSet);\n if (!eventArgsSet?.eventArgs) {\n return;\n }\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n\n table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);\n }\n });\n\n // click outside\n table.scenegraph.stage.addEventListener('click', (e: FederatedPointerEvent) => {\n console.log('stage click');\n const target = e.target;\n if (\n target &&\n !target.isDescendantsOf(table.scenegraph.tableGroup) &&\n (target as any) !== table.scenegraph.tableGroup\n ) {\n console.log('pointerup outside table');\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n stateManeger.updateCursor();\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('dblclick', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n const bounds = eventArgsSet.eventArgs.targetCell.globalAABBBounds;\n const { col, row } = eventArgsSet.eventArgs;\n const value = table.getCellValue(col, row);\n table.internalProps.focusControl.setFocusRect(\n new Rect(bounds.x1 + table.scrollLeft, bounds.y1 + table.scrollTop, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1),\n value\n );\n // console.log('activeElement',document.activeElement);\n // table.getElement().focus();\n // console.log('activeElement 2',document.activeElement);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n table.fireListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);\n }\n });\n}\n"]}
1
+ {"version":3,"sources":["event/listener/table-group.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,MAAM,UAAU,sBAAsB,CAAC,YAA0B;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;QAGvF,IAAI,YAAY,CAAC,eAAe,EAAE;YAChC,YAAY,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC3C,YAAY,CAAC,eAAe,GAAG,SAAS,CAAC;SAC1C;QACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAE5C,IAAI,YAAY,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,SAAS,EAAE;YAChE,OAAO;SACR;QACD,IAAI,YAAY,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,OAAO,EAAE;YAC9D,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;gBAC9B,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBAC5C,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;oBACzF,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE;wBAClD,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG;wBACxC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC;qBACjE,CAAC,CAAC;iBACJ;aACF;iBAAM,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE;gBACnC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC5C;iBAAM;gBACL,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;aAC5C;YACD,OAAO;SACR;QAMD,IAAI,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE;YAChD,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SACzC;aAAM;YACL,YAAY,CAAC,YAAY,EAAE,CAAC;SAC7B;QAED,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE;YACjE,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAA0B,CAAC;YACrE,IACE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM;gBACzB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC3C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC3C,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAChH;gBACA,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE;oBACpD,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACzC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;oBACzC,SAAS,EAAE,KAAK,CAAC,wBAAwB,CAAC;wBACxC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;wBACzC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;qBAC1C,CAAC;oBACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;oBACjF,KAAK,EAAE,CAAC,CAAC,WAAW;iBACrB,CAAC,CAAC;aACJ;SACF;QACD,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE;YACjE,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAA0B,CAAC;YACrE,IACE,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM;gBACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAChH;gBACA,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE;oBACpD,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,SAAS,EAAE,KAAK,CAAC,wBAAwB,CAAC;wBACxC,GAAG,EAAE,QAAQ,CAAC,GAAG;wBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;qBAClB,CAAC;oBACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;oBACjF,KAAK,EAAE,CAAC,CAAC,WAAW;iBACrB,CAAC,CAAC;aACJ;SACF;QACD,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACzC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAG1C,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE;YAC1F,IAAI,IAAI,CAAC;YACT,IAAI,QAAQ,CAAC;YACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE;oBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAC9B;aACF;YACD,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,EAAE;gBACnD,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC/B,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;gBAC/B,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC7B,KAAK,EAAE,CAAC,CAAC,WAAW;gBACpB,UAAU,EAAE,IAAI;oBACd,CAAC,CAAC;wBACE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;qBAC3C;oBACH,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAA0B,CAAC;QACrE,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,OAAO,EAAE;YAC9B,YAAY,CAAC,cAAc,EAAE,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACvF,MAAM,YAAY,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAA0B,CAAC;QAErE,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtG,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACzE,IAAI,SAAS,EAAE;gBACb,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAA6B,CAAC;gBACnD,MAAM,SAAS,GAA+B;oBAC5C,GAAG;oBACH,GAAG;oBACH,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC;oBACrC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;oBACnC,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC7C,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC3E,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO;oBACpD,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC;oBAC9C,KAAK,EAAE,CAAC,CAAC,WAAW;oBACpB,SAAS,EAAE;wBACT,SAAS,EAAE,SAAS;qBACrB;oBACD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;iBAClF,CAAC;gBACF,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;aACzE;SACF;IAwBH,CAAC,CAAC,CAAC;IAkBH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAwB,EAAE,EAAE;QACxF,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,YAAY,CAAC,cAAc,EAAE,CAAC;QAC9B,YAAY,CAAC,YAAY,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAClE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;gBACrD,GAAG,EAAE,CAAC,CAAC;gBACP,GAAG,EAAE,CAAC,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,WAAW;aACrB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,CAAwB,EAAE,EAAE;QAC5F,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,YAAY,CAAC,cAAc,EAAE,CAAC;QAC9B,YAAY,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACvF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAElB,OAAO;SACR;QACD,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,YAAY,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,OAAO,EAAE;YAC9D,OAAO;SACR;QAED,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAM,CAAC,IAAI,MAAK,OAAO,EAAE;YAC5E,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,IACE,YAAY,CAAC,IAAI,CAAC,MAAM;YACxB,YAAY,CAAC,SAAS;YACrB,YAAY,CAAC,SAAS,CAAC,MAAc,MAAK,MAAA,YAAY,CAAC,iBAAiB,0CAAE,IAAI,CAAA,EAC/E;YAEA,YAAY,CAAC,QAAQ,EAAE,CAAC;SACzB;QACD,MAAM,OAAO,GAAG,CAAA,MAAA,MAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,0CAAE,MAAc,0CAAE,IAAI,0CAAE,UAAU,CAAC,MAAM,CAAC;YAChF,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM;YAC/B,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,EAAE;gBAC7B,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC9B,YAAY,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC7C,YAAY,CAAC,WAAW,GAAG,KAAK,CAAC;oBACjC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;oBAE9B,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;wBAGhF,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBAC9D,OAAO;qBACR;oBAGD,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;wBACzE,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;wBAC9D,OAAO;qBACR;oBAGD,IAAI,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;wBAGxE,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;qBAE/D;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;aACT;iBAAM;gBAEL,IAAI,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;oBAGtD,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACxC,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC9D,OAAO;iBACR;gBAGD,IAAI,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;oBAC/C,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC9D,OAAO;iBACR;gBAGD,IAAI,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;oBAG9C,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;iBAE/D;aACF;SACF;QACD,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE;YAChE,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,SAAS,EAAE;gBAC1B,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,EAAE;oBACnD,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,KAAK,EAAE,CAAC,CAAC,WAAW;iBACrB,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAwB,EAAE,EAAE;QAErF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YAElB,OAAO;SACR;QACD,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAE/C,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAE9D,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;gBAC9B,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBAClC,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE;oBAEnE,MAAM,OAAO,GAAG,EAAE,CAAC;oBAEnB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;wBAC7C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;qBACtC;oBACD,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;wBACtD,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG;wBACxC,OAAO;qBACR,CAAC,CAAC;iBACJ;aACF;iBAAM,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE;gBACnC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;oBAClG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;wBAC3D,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;wBAC5E,MAAM,EAAE;4BACN,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;4BAC5C,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS;yBAC7C;qBACF,CAAC,CAAC;iBACJ;aACF;iBAAM,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;gBACrC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,YAAY,CAAC,SAAS,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE;oBAC3F,MAAM,UAAU,GAA+B;wBAC7C,KAAK,EAAE,CAAC,CAAC,WAAW;wBACpB,KAAK,EAAE,EAAE;wBACT,GAAG,EAAG,YAAY,CAAC,SAAS,CAAC,MAA2B,CAAC,GAAG;wBAC5D,GAAG,EAAG,YAAY,CAAC,SAAS,CAAC,MAA2B,CAAC,GAAG;wBAC5D,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW;qBAClF,CAAC;oBAEF,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;oBAChD,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;iBACnE;aACF;SACF;aAAM,IAAI,YAAY,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,SAAS,EAAE;YACvE,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;SAE/D;QAED,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;YAC9D,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,SAAS,EAAE;gBAC1B,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE;oBACjD,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG;oBAC/B,KAAK,EAAE,CAAC,CAAC,WAAW;iBACrB,CAAC,CAAC;aACJ;SACF;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACrF,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,YAAY,CAAC,SAAS,EAAE;YAC1B,YAAY,CAAC,kBAAkB,CAC7B,YAAY,CAAC,SAAS,CAAC,GAAG,EAC1B,YAAY,CAAC,SAAS,CAAC,GAAG,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,EAC1B,YAAY,CAAC,WAAW,CAAC,CAAC,CAC3B,CAAC;YAGF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;YAC5C,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE;gBAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,IAAI,IAAI,CAAC;gBACT,IAAI,QAAQ,CAAC;gBACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;oBAClC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;oBAC9E,IAAI,QAAQ,EAAE;wBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;qBAC9B;iBACF;gBACD,MAAM,UAAU,mCACX,QAAQ,KACX,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,IAAI;wBACd,CAAC,CAAC;4BACE,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,QAAQ;4BAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;yBAC3C;wBACH,CAAC,CAAC,SAAS,GACd,CAAC;gBACF,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;oBAG5D,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;iBACjD;qBAAM;oBAEL,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACjC;gBAED,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;aACpE;SACF;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACjF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE;YACpF,OAAO;SACR;QACD,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACxD,YAAY,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,CAAA,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;QAC5C,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC;YACT,IAAI,QAAQ,CAAC;YACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE;oBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAC9B;aACF;YACD,MAAM,UAAU,mCACX,QAAQ,KACX,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,IAAI;oBACd,CAAC,CAAC;wBACE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;qBAC3C;oBACH,CAAC,CAAC,SAAS,GACd,CAAC;YAEF,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC,CAAC;IAGH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwB,EAAE,EAAE;QAC5E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACxB,IACE,MAAM;YACN,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;YACnD,MAAc,KAAK,KAAK,CAAC,UAAU,CAAC,UAAU,EAC/C;YACA,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,YAAY,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9D,YAAY,CAAC,cAAc,EAAE,CAAC;YAC9B,YAAY,CAAC,eAAe,EAAE,CAAC;YAC/B,YAAY,CAAC,YAAY,EAAE,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAwB,EAAE,EAAE;;QACpF,MAAM,YAAY,GAAe,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAClE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,EACjH,KAAK,CACN,CAAC;QAIF,IAAK,KAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;YAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC;YACT,IAAI,QAAQ,CAAC;YACb,IAAI,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,EAAE;gBAClC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAA,YAAY,CAAC,SAAS,0CAAE,MAAM,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE;oBACZ,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACrB,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAC9B;aACF;YACD,MAAM,UAAU,mCACX,QAAQ,KACX,KAAK,EAAE,CAAC,CAAC,WAAW,EACpB,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,IAAI;oBACd,CAAC,CAAC;wBACE,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,QAAQ,EAAE,QAAQ;wBAClB,QAAQ,EAAG,IAAY,CAAC,SAAS,CAAC,QAAQ;qBAC3C;oBACH,CAAC,CAAC,SAAS,GACd,CAAC;YACF,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;SACjE;IACH,CAAC,CAAC,CAAC;AACL,CAAC","file":"table-group.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender';\nimport type { MousePointerMultiCellEvent, MousePointerSparklineEvent } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { Group } from '../../scenegraph/graphic/group';\nimport { isValid } from '@visactor/vutils';\nimport { getIconAndPositionFromTarget } from '../../scenegraph/utils/icon';\nimport { cellInRanges } from '../../tools/helper';\nimport { Rect } from '../../tools/Rect';\nimport type { EventManeger } from '../event';\n\nexport function bindTableGroupListener(eventManeger: EventManeger) {\n const table = eventManeger.table;\n const stateManeger = table.stateManeger;\n table.scenegraph.tableGroup.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n // console.log('scenegraph pointermove',e.type);\n // const eventArgsSet: SceneEvent = (table as any).getCellEventArgsSet(e);\n if (eventManeger.touchSetTimeout) {\n clearTimeout(eventManeger.touchSetTimeout);\n eventManeger.touchSetTimeout = undefined;\n }\n const eventArgsSet = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n if (stateManeger.interactionState === InteractionState.grabing) {\n if (stateManeger.isResizeCol()) {\n eventManeger.dealColumnResize(eventArgsSet);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: table.stateManeger.columnResize.col,\n colWidth: table.getColWidth(table.stateManeger.columnResize.col)\n });\n }\n } else if (stateManeger.isMoveCol()) {\n eventManeger.dealColumnMover(eventArgsSet);\n } else {\n eventManeger.dealTableSelect(eventArgsSet);\n }\n return;\n }\n // if (stateManeger.menu.isShow && stateManeger.menu.bounds.inPoint(e.x, e.y)) {\n // eventManeger.dealMenuHover(eventArgsSet);\n // return;\n // }\n // 更新列宽调整pointer\n if (eventManeger.checkColumnResize(eventArgsSet)) {\n stateManeger.updateCursor('col-resize');\n } else {\n stateManeger.updateCursor();\n }\n\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL)) {\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n table.stateManeger.hover.cellPos.col !== -1 &&\n table.stateManeger.hover.cellPos.row !== -1 &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row,\n cellRange: table.getCellRangeRelativeRect({\n col: table.stateManeger.hover.cellPos.col,\n row: table.stateManeger.hover.cellPos.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL)) {\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (\n cellGoup?.role === 'cell' &&\n isValid(cellGoup.col) &&\n isValid(cellGoup.row) &&\n (cellGoup.col !== table.stateManeger.hover.cellPos.col || cellGoup.row !== table.stateManeger.hover.cellPos.row)\n ) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {\n col: cellGoup.col,\n row: cellGoup.row,\n cellRange: table.getCellRangeRelativeRect({\n col: cellGoup.col,\n row: cellGoup.row\n }),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n eventManeger.dealIconHover(eventArgsSet);\n eventManeger.dealTableHover(eventArgsSet);\n\n // 触发MOUSEMOVE_CELL\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n x: eventArgsSet.abstractPos.x,\n y: eventArgsSet.abstractPos.y,\n event: e.nativeEvent,\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerout', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n if (cellGoup?.role === 'table') {\n eventManeger.dealTableHover();\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerover', (e: FederatedPointerEvent) => {\n const eventArgsSet = getCellEventArgsSet(e);\n const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('pointerover', cellGoup);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL) && cellGoup.type === 'symbol') {\n const cellGroup = e.composedPath().find(p => (p as any).roll === 'cell');\n if (cellGroup) {\n const { col, row } = cellGroup as unknown as Group;\n const eventInfo: MousePointerSparklineEvent = {\n col,\n row,\n field: table.getHeaderField(col, row),\n value: table.getCellValue(col, row),\n dataValue: table.getCellOriginValue(col, row),\n cellHeaderPaths: table.internalProps.layoutMap.getCellHeaderPaths(col, row),\n caption: table.getBodyColumnDefine(col, row).caption,\n cellRange: table.getCellRelativeRect(col, row),\n event: e.nativeEvent,\n sparkline: {\n pointData: undefined // chartPoint.pointData,\n },\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);\n }\n }\n //MOUSEENTER_CELL 不能在这里触发 引发在单元格内移动会触发多次的问题【迷你图的单元格中】\n // if ((table as any).hasListeners(DG_EVENT_TYPE.MOUSEENTER_CELL)) {\n // const eventArgsSet = getCellEventArgsSet(e);\n // const cellGoup = eventArgsSet?.eventArgs?.target as unknown as Group;\n // console.log('hover cell', table.stateManeger.hover.cellPos);\n // if (\n // cellGoup?.role === 'cell' &&\n // (cellGoup.col !== table.stateManeger.hover.cellPos.col ||\n // cellGoup.row !== table.stateManeger.hover.cellPos.row)\n // ) {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: cellGoup.col,\n // row: cellGoup.row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: cellGoup.col,\n // row: cellGoup.row,\n // }),\n // scaleRatio:\n // table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // }\n });\n // table.scenegraph.tableGroup.addEventListener('pointerenter', (e: FederatedPointerEvent) => {\n // console.log('pointerenter', e.target);\n // 触发MOUSEOVER_CELL\n // const eventArgsSet = getCellEventArgsSet(e);\n // if ((eventArgsSet?.eventArgs?.target as unknown as Group)?.role === 'cell') {\n // table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // cellRange: table.getCellRangeRelativeRect({\n // col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n // row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n // }),\n // scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // });\n table.scenegraph.tableGroup.addEventListener('pointerleave', (e: FederatedPointerEvent) => {\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n stateManeger.updateCursor();\n const target = e.target;\n if (target && !target.isDescendantsOf(table.scenegraph.tableGroup)) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {\n col: -1,\n row: -1,\n event: e.nativeEvent\n });\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerupoutside', (e: FederatedPointerEvent) => {\n console.log('pointerupoutside');\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n\n if (stateManeger.interactionState !== InteractionState.default) {\n return;\n }\n //处理当点击到的不是图表上时 更新图表的状态为空\n if (table.isPivotChart() && eventArgsSet?.eventArgs?.target.type !== 'chart') {\n table.scenegraph.updateChartState(null);\n }\n // 处理menu\n if (\n stateManeger.menu.isShow &&\n eventArgsSet.eventArgs &&\n (eventArgsSet.eventArgs.target as any) !== stateManeger.residentHoverIcon?.icon\n ) {\n // 点击在menu外,且不是下拉菜单的icon,移除menu\n stateManeger.hideMenu();\n }\n const hitIcon = (eventArgsSet?.eventArgs?.target as any)?.role?.startsWith('icon')\n ? eventArgsSet.eventArgs.target\n : undefined;\n if (!hitIcon) {\n if (e.pointerType === 'touch') {\n eventManeger.touchEnd = false;\n eventManeger.touchSetTimeout = setTimeout(() => {\n eventManeger.isTouchdown = false;\n eventManeger.touchMove = true;\n // 处理列宽调整\n if (!eventManeger.touchEnd && eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (!eventManeger.touchEnd && eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet) && !eventManeger.touchEnd) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }, 500);\n } else {\n // 处理列宽调整\n if (eventManeger.checkColumnResize(eventArgsSet, true)) {\n // eventManeger.startColumnResize(e);\n // eventManeger._resizing = true;\n table.scenegraph.updateChartState(null);\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (eventManeger.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理单元格选择\n if (eventManeger.dealTableSelect(eventArgsSet)) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }\n }\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('pointerup', (e: FederatedPointerEvent) => {\n // console.log('pointerup');\n if (e.button !== 0) {\n // 只处理左键\n return;\n }\n if (stateManeger.interactionState === 'grabing') {\n // stateManeger.interactionState = 'default';\n stateManeger.updateInteractionState(InteractionState.default);\n // eventManeger._resizing = false;\n if (stateManeger.isResizeCol()) {\n table.stateManeger.endResizeCol();\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END)) {\n // RESIZE_COLUMN_END事件触发,返回所有列宽\n const columns = [];\n // 返回所有列宽信息\n for (let col = 0; col < table.colCount; col++) {\n columns.push(table.getColWidth(col));\n }\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END, {\n col: table.stateManeger.columnResize.col,\n columns\n });\n }\n } else if (stateManeger.isMoveCol()) {\n table.stateManeger.endMoveCol();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION)) {\n table.fireListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION, {\n target: { col: eventArgsSet.eventArgs.col, row: eventArgsSet.eventArgs.row },\n source: {\n col: table.stateManeger.columnMove.colSource,\n row: table.stateManeger.columnMove.colSource //TODO row\n }\n });\n }\n } else if (stateManeger.isSelecting()) {\n table.stateManeger.endSelectCells();\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (table as any).hasListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END)) {\n const cellsEvent: MousePointerMultiCellEvent = {\n event: e.nativeEvent,\n cells: [],\n col: (eventArgsSet.eventArgs.target as unknown as Group).col,\n row: (eventArgsSet.eventArgs.target as unknown as Group).row,\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n\n cellsEvent.cells = table.getSelectedCellInfos();\n table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);\n }\n }\n } else if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n // scroll end\n }\n // console.log('DRAG_SELECT_END');\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL)) {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL, {\n col: eventArgsSet.eventArgs.col,\n row: eventArgsSet.eventArgs.row,\n event: e.nativeEvent\n });\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('rightdown', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n // 右键点击\n if (eventArgsSet.eventArgs) {\n stateManeger.triggerContextMenu(\n eventArgsSet.eventArgs.col,\n eventArgsSet.eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n\n //处理监听的右键事件\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n if (cellInRanges(table.stateManeger.select.ranges, col, row)) {\n // 用户右键点击已经选中的区域\n // const { start, end } = eventManeger.selection.range;\n cellsEvent.cells = table.getSelectedCellInfos();\n } else {\n // 用户右键点击新单元格\n cellsEvent.cells = [[cellInfo]];\n }\n\n table.fireListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);\n }\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n console.log('click', e.clone());\n if (table.stateManeger.columnResize.resizing || table.stateManeger.columnMove.moving) {\n return;\n }\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n eventManeger.dealIconClick(e, eventArgsSet);\n if (!eventArgsSet?.eventArgs) {\n return;\n }\n const { col, row } = eventArgsSet.eventArgs;\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n\n table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);\n }\n });\n\n // click outside\n table.scenegraph.stage.addEventListener('click', (e: FederatedPointerEvent) => {\n console.log('stage click');\n const target = e.target;\n if (\n target &&\n !target.isDescendantsOf(table.scenegraph.tableGroup) &&\n (target as any) !== table.scenegraph.tableGroup\n ) {\n console.log('pointerup outside table');\n stateManeger.updateInteractionState(InteractionState.default);\n eventManeger.dealTableHover();\n eventManeger.dealTableSelect();\n stateManeger.updateCursor();\n table.scenegraph.updateChartState(null);\n }\n });\n\n table.scenegraph.tableGroup.addEventListener('dblclick', (e: FederatedPointerEvent) => {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n const bounds = eventArgsSet.eventArgs.targetCell.globalAABBBounds;\n const { col, row } = eventArgsSet.eventArgs;\n const value = table.getCellValue(col, row);\n table.internalProps.focusControl.setFocusRect(\n new Rect(bounds.x1 + table.scrollLeft, bounds.y1 + table.scrollTop, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1),\n value\n );\n // console.log('activeElement',document.activeElement);\n // table.getElement().focus();\n // console.log('activeElement 2',document.activeElement);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL)) {\n const cellInfo = table.getCellInfo(col, row);\n let icon;\n let position;\n if (eventArgsSet.eventArgs?.target) {\n const iconInfo = getIconAndPositionFromTarget(eventArgsSet.eventArgs?.target);\n if (iconInfo) {\n icon = iconInfo.icon;\n position = iconInfo.position;\n }\n }\n const cellsEvent: MousePointerMultiCellEvent = {\n ...cellInfo,\n event: e.nativeEvent,\n cells: [],\n targetIcon: icon\n ? {\n name: icon.name,\n position: position,\n funcType: (icon as any).attribute.funcType\n }\n : undefined\n };\n table.fireListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);\n }\n });\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { BaseTableAPI } from '../../ts-types/base-table';
2
+ export declare function bindAxisClickEvent(table: BaseTableAPI): void;
@@ -0,0 +1,36 @@
1
+ import { getCellEventArgsSet } from "../util";
2
+
3
+ import { clearChartCacheImage } from "../../scenegraph/refresh-node/update-chart";
4
+
5
+ export function bindAxisClickEvent(table) {
6
+ table.isPivotChart() && table.scenegraph.tableGroup.addEventListener("click", (e => {
7
+ if ("axis-label" === e.target.name) {
8
+ const eventArgsSet = getCellEventArgsSet(e), {col: col, row: row} = eventArgsSet.eventArgs, layout = table.internalProps.layoutMap;
9
+ let dimensionKey, dimensions;
10
+ layout.indicatorsAsCol ? (dimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0],
11
+ dimensions = layout.getCellHeaderPaths(layout.rowHeaderLevelCount - 2, row).rowHeaderPaths) : (dimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0],
12
+ dimensions = layout.getCellHeaderPaths(col, layout.columnHeaderLevelCount - 1).colHeaderPaths);
13
+ const filter = dimensions.map((dimension => ({
14
+ key: dimension.dimensionKey,
15
+ value: dimension.value
16
+ }))).filter((dimension => dimension.key));
17
+ if (filter.push({
18
+ key: dimensionKey,
19
+ value: e.target.attribute.text
20
+ }), table._selectedDimensionInChart.length && isSameSelectedDimension(table._selectedDimensionInChart, filter)) return;
21
+ table._selectedDimensionInChart = filter, layout.updateDataStateToChartInstance(),
22
+ clearChartCacheImage(table.scenegraph), table.scenegraph.updateNextFrame();
23
+ } else if (table._selectedDimensionInChart) {
24
+ table._selectedDimensionInChart.length = 0;
25
+ table.internalProps.layoutMap.updateDataStateToChartInstance(), clearChartCacheImage(table.scenegraph),
26
+ table.scenegraph.updateNextFrame();
27
+ }
28
+ }));
29
+ }
30
+
31
+ function isSameSelectedDimension(dimensions1, dimensions2) {
32
+ if (dimensions1.length !== dimensions2.length) return !1;
33
+ for (let i = 0; i < dimensions1.length; i++) if (dimensions1[i].key !== dimensions2[i].key || dimensions1[i].value !== dimensions2[i].value) return !1;
34
+ return !0;
35
+ }
36
+ //# sourceMappingURL=axis-click.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["event/pivot-chart/axis-click.ts"],"names":[],"mappings":"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","file":"axis-click.js","sourcesContent":["import type { FederatedPointerEvent } from '@visactor/vrender';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport type { PivotLayoutMap } from '../../layout/pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport { clearChartCacheImage } from '../../scenegraph/refresh-node/update-chart';\n\nexport function bindAxisClickEvent(table: BaseTableAPI) {\n if (!table.isPivotChart()) {\n return;\n }\n\n table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n if (e.target.name === 'axis-label') {\n const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n const { col, row } = eventArgsSet.eventArgs;\n const layout = table.internalProps.layoutMap as PivotLayoutMap;\n let dimensionKey;\n let dimensions: {\n dimensionKey?: string;\n indicatorKey?: string;\n value?: string;\n }[];\n if (layout.indicatorsAsCol) {\n dimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n dimensions = layout.getCellHeaderPaths(layout.rowHeaderLevelCount - 2, row).rowHeaderPaths;\n } else {\n dimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n dimensions = layout.getCellHeaderPaths(col, layout.columnHeaderLevelCount - 1).colHeaderPaths;\n }\n const filter = dimensions\n .map(dimension => {\n return {\n key: dimension.dimensionKey,\n value: dimension.value\n };\n })\n .filter(dimension => dimension.key);\n filter.push({ key: dimensionKey, value: (e.target.attribute as any).text });\n\n if (\n (table as PivotChart)._selectedDimensionInChart.length &&\n isSameSelectedDimension((table as PivotChart)._selectedDimensionInChart, filter)\n ) {\n return;\n }\n\n (table as PivotChart)._selectedDimensionInChart = filter;\n\n layout.updateDataStateToChartInstance();\n // 清除chart缓存图片\n clearChartCacheImage(table.scenegraph);\n table.scenegraph.updateNextFrame();\n } else if ((table as PivotChart)._selectedDimensionInChart) {\n (table as PivotChart)._selectedDimensionInChart.length = 0;\n const layout = table.internalProps.layoutMap as PivotLayoutMap;\n layout.updateDataStateToChartInstance();\n // 清除chart缓存图片\n clearChartCacheImage(table.scenegraph);\n table.scenegraph.updateNextFrame();\n }\n });\n}\n\nfunction isSameSelectedDimension(\n dimensions1: { key: string; value: string }[],\n dimensions2: { key: string; value: string }[]\n): boolean {\n if (dimensions1.length !== dimensions2.length) {\n return false;\n }\n for (let i = 0; i < dimensions1.length; i++) {\n if (dimensions1[i].key !== dimensions2[i].key || dimensions1[i].value !== dimensions2[i].value) {\n return false;\n }\n }\n return true;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { BaseTableAPI } from '../../ts-types/base-table';
2
+ export declare function bindAxisHoverEvent(table: BaseTableAPI): void;
@@ -0,0 +1,33 @@
1
+ import { TABLE_EVENT_TYPE } from "../../core/TABLE_EVENT_TYPE";
2
+
3
+ export function bindAxisHoverEvent(table) {
4
+ table.isPivotChart() && (table.listen(TABLE_EVENT_TYPE.MOUSEENTER_CELL, (e => {
5
+ table.scenegraph.getCell(e.col, e.row).forEachChildren((child => {
6
+ if ("axis" === child.name) {
7
+ const position = getAxisPosition(e.col, e.row, table.internalProps.layoutMap);
8
+ e.axisPosition = position, table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_AXIS, e);
9
+ }
10
+ }));
11
+ })), table.listen(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, (e => {
12
+ table.scenegraph.getCell(e.col, e.row).forEachChildren((child => {
13
+ if ("axis" === child.name) {
14
+ const position = getAxisPosition(e.col, e.row, table.internalProps.layoutMap);
15
+ e.axisPosition = position, table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_AXIS, e);
16
+ }
17
+ }));
18
+ })));
19
+ }
20
+
21
+ function getAxisPosition(col, row, layout) {
22
+ if (layout.indicatorsAsCol) {
23
+ if (layout.hasTwoIndicatorAxes && row === layout.columnHeaderLevelCount - 1 && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) return "top";
24
+ if (row === layout.rowCount - layout.bottomFrozenRowCount && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) return "bottom";
25
+ if (col === layout.rowHeaderLevelCount - 1 && row >= layout.rowHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) return "left";
26
+ } else {
27
+ if (col === layout.rowHeaderLevelCount - 1 && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) return "left";
28
+ if (col === layout.colCount - layout.rightFrozenColCount && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) return "right";
29
+ if (row === layout.rowCount - layout.bottomFrozenRowCount && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) return "bottom";
30
+ }
31
+ return "bottom";
32
+ }
33
+ //# sourceMappingURL=axis-hover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["event/pivot-chart/axis-hover.ts"],"names":[],"mappings":"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","file":"axis-hover.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { PivotLayoutMap } from '../../layout/pivot-layout';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport function bindAxisHoverEvent(table: BaseTableAPI) {\n if (!table.isPivotChart()) {\n return;\n }\n\n table.listen(TABLE_EVENT_TYPE.MOUSEENTER_CELL, e => {\n const cellGroup = table.scenegraph.getCell(e.col, e.row);\n cellGroup.forEachChildren(child => {\n if (child.name === 'axis') {\n const position = getAxisPosition(e.col, e.row, table.internalProps.layoutMap as PivotLayoutMap);\n (e as any).axisPosition = position;\n table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_AXIS, e as any);\n }\n });\n });\n\n table.listen(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, e => {\n const cellGroup = table.scenegraph.getCell(e.col, e.row);\n cellGroup.forEachChildren(child => {\n if (child.name === 'axis') {\n const position = getAxisPosition(e.col, e.row, table.internalProps.layoutMap as PivotLayoutMap);\n (e as any).axisPosition = position;\n table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_AXIS, e as any);\n }\n });\n });\n}\n\nfunction getAxisPosition(col: number, row: number, layout: PivotLayoutMap) {\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n return 'top';\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n return 'bottom';\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.rowHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n return 'left';\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n return 'left';\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n return 'right';\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n return 'bottom';\n }\n }\n return 'bottom';\n}\n"]}
@@ -11,16 +11,17 @@ export function handleWhell(event, state) {
11
11
  }
12
12
 
13
13
  function optimizeScrollXY(x, y, ratio) {
14
+ var _a, _b;
14
15
  const angle = Math.abs(x / y), deltaX = angle <= .5 ? 0 : x, deltaY = angle > 2 ? 0 : y;
15
- return [ Math.ceil(deltaX * ratio.horizontal), Math.ceil(deltaY * ratio.vertical) ];
16
+ return [ Math.ceil(deltaX * (null !== (_a = ratio.horizontal) && void 0 !== _a ? _a : 0)), Math.ceil(deltaY * (null !== (_b = ratio.vertical) && void 0 !== _b ? _b : 0)) ];
16
17
  }
17
18
 
18
19
  export function isVerticalScrollable(deltaY, state) {
19
- return !isScrollToTop(deltaY, state) && !isScrollToBottom(deltaY, state);
20
+ return 0 != state.table.getAllRowsHeight() - state.table.scenegraph.height && (!isScrollToTop(deltaY, state) && !isScrollToBottom(deltaY, state));
20
21
  }
21
22
 
22
23
  export function isHorizontalScrollable(deltaX, state) {
23
- return !isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state);
24
+ return 0 != state.table.getAllColsWidth() - state.table.scenegraph.width && (!isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state));
24
25
  }
25
26
 
26
27
  function isScrollToTop(deltaY, state) {
@@ -1 +1 @@
1
- {"version":3,"sources":["event/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import type { StateManeger } from '../state/state';\n\nexport function handleWhell(event: WheelEvent, state: StateManeger) {\n let { deltaX, deltaY } = event;\n // 如果按住了shift 则进行横向滚动 纵向不滚动\n if (event.shiftKey && event.deltaY) {\n //mac电脑按住shift 鼠标滚动deltaX和deltaY是自动互换的,所以此逻辑只针对windows电脑有效及mac触摸板有效\n deltaX = deltaY;\n deltaY = 0;\n }\n const [optimizedDeltaX, optimizedDeltaY] = optimizeScrollXY(deltaX, deltaY, { horizontal: 1, vertical: 1 });\n\n if (optimizedDeltaX) {\n state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX);\n state.showHorizontalScrollBar(true);\n }\n if (optimizedDeltaY) {\n state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY);\n state.showVerticalScrollBar(true);\n }\n\n if (\n event.cancelable &&\n ((deltaY !== 0 && isVerticalScrollable(deltaY, state)) || (deltaX !== 0 && isHorizontalScrollable(deltaX, state)))\n ) {\n event.preventDefault();\n }\n}\n\ninterface ScrollSpeedRatio {\n horizontal?: number;\n vertical?: number;\n}\n\n/**\n * 优化滚动方向,对于小角度的滚动,固定为一个方向\n * @param x\n * @param y\n * @param ratio\n */\nfunction optimizeScrollXY(x: number, y: number, ratio: ScrollSpeedRatio): [number, number] {\n const ANGLE = 2; // 调参 根据斜率来调整xy方向的划分\n const angle = Math.abs(x / y);\n\n // 经过滚动优化之后的 x, y\n const deltaX = angle <= 1 / ANGLE ? 0 : x;\n const deltaY = angle > ANGLE ? 0 : y;\n\n return [Math.ceil(deltaX * ratio.horizontal), Math.ceil(deltaY * ratio.vertical)];\n}\n\nexport function isVerticalScrollable(deltaY: number, state: StateManeger) {\n return !isScrollToTop(deltaY, state) && !isScrollToBottom(deltaY, state);\n}\n\nexport function isHorizontalScrollable(deltaX: number, state: StateManeger) {\n return !isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state);\n}\n\nfunction isScrollToTop(deltaY: number, state: StateManeger) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY <= 0 && state.scroll.verticalBarPos < 1;\n}\n\nfunction isScrollToBottom(deltaY: number, state: StateManeger) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY >= 0 && Math.abs(state.scroll.verticalBarPos - totalHeight) < 1;\n}\n\nfunction isScrollToLeft(deltaX: number, state: StateManeger) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX <= 0 && state.scroll.horizontalBarPos < 1;\n}\n\nfunction isScrollToRight(deltaX: number, state: StateManeger) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX >= 0 && Math.abs(state.scroll.horizontalBarPos - totalWidth) < 1;\n}\n"]}
1
+ {"version":3,"sources":["event/scroll.ts"],"names":[],"mappings":"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","file":"scroll.js","sourcesContent":["import type { StateManeger } from '../state/state';\n\nexport function handleWhell(event: WheelEvent, state: StateManeger) {\n let { deltaX, deltaY } = event;\n // 如果按住了shift 则进行横向滚动 纵向不滚动\n if (event.shiftKey && event.deltaY) {\n //mac电脑按住shift 鼠标滚动deltaX和deltaY是自动互换的,所以此逻辑只针对windows电脑有效及mac触摸板有效\n deltaX = deltaY;\n deltaY = 0;\n }\n const [optimizedDeltaX, optimizedDeltaY] = optimizeScrollXY(deltaX, deltaY, { horizontal: 1, vertical: 1 });\n\n if (optimizedDeltaX) {\n state.setScrollLeft(state.scroll.horizontalBarPos + optimizedDeltaX);\n state.showHorizontalScrollBar(true);\n }\n if (optimizedDeltaY) {\n state.setScrollTop(state.scroll.verticalBarPos + optimizedDeltaY);\n state.showVerticalScrollBar(true);\n }\n\n if (\n event.cancelable &&\n ((deltaY !== 0 && isVerticalScrollable(deltaY, state)) || (deltaX !== 0 && isHorizontalScrollable(deltaX, state)))\n ) {\n event.preventDefault();\n }\n}\n\ninterface ScrollSpeedRatio {\n horizontal?: number;\n vertical?: number;\n}\n\n/**\n * 优化滚动方向,对于小角度的滚动,固定为一个方向\n * @param x\n * @param y\n * @param ratio\n */\nfunction optimizeScrollXY(x: number, y: number, ratio: ScrollSpeedRatio): [number, number] {\n const ANGLE = 2; // 调参 根据斜率来调整xy方向的划分\n const angle = Math.abs(x / y);\n\n // 经过滚动优化之后的 x, y\n const deltaX = angle <= 1 / ANGLE ? 0 : x;\n const deltaY = angle > ANGLE ? 0 : y;\n\n return [Math.ceil(deltaX * (ratio.horizontal ?? 0)), Math.ceil(deltaY * (ratio.vertical ?? 0))];\n}\n\nexport function isVerticalScrollable(deltaY: number, state: StateManeger) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n if (totalHeight === 0) {\n return false;\n }\n return !isScrollToTop(deltaY, state) && !isScrollToBottom(deltaY, state);\n}\n\nexport function isHorizontalScrollable(deltaX: number, state: StateManeger) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n if (totalWidth === 0) {\n return false;\n }\n return !isScrollToLeft(deltaX, state) && !isScrollToRight(deltaX, state);\n}\n\nfunction isScrollToTop(deltaY: number, state: StateManeger) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY <= 0 && state.scroll.verticalBarPos < 1;\n}\n\nfunction isScrollToBottom(deltaY: number, state: StateManeger) {\n const totalHeight = state.table.getAllRowsHeight() - state.table.scenegraph.height;\n return totalHeight !== 0 && deltaY >= 0 && Math.abs(state.scroll.verticalBarPos - totalHeight) < 1;\n}\n\nfunction isScrollToLeft(deltaX: number, state: StateManeger) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX <= 0 && state.scroll.horizontalBarPos < 1;\n}\n\nfunction isScrollToRight(deltaX: number, state: StateManeger) {\n const totalWidth = state.table.getAllColsWidth() - state.table.scenegraph.width;\n return totalWidth !== 0 && deltaX >= 0 && Math.abs(state.scroll.horizontalBarPos - totalWidth) < 1;\n}\n"]}
@@ -14,5 +14,4 @@ export function bindSparklineHoverEvent(table) {
14
14
  })), table.listen(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, (e => {
15
15
  table.stateManeger.updateSparklineHoverPose(-1, -1, 0, 0);
16
16
  })));
17
- }
18
- //# sourceMappingURL=sparkline-event.js.map
17
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["event/sparkline-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,UAAU,uBAAuB,CAAC,KAAmB;IAEzD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAA0B,CAAC;QACjE,YAAY,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;QAC/E,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC;QACzE,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnD,OAAO,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IAED,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAwB,EAAE,EAAE;QACzE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D;QACD,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAwB,EAAE,EAAE;QAC3E,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC","file":"sparkline-event.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { PivoLayoutMap } from '../layout/pivot-layout';\nimport type { MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\nexport function bindSparklineHoverEvent(table: BaseTableAPI) {\n // 判断是否有sparkline 类型\n let hasSparkLine = false;\n if (table.isPivotTable()) {\n const layoutMap = table.internalProps.layoutMap as PivoLayoutMap;\n hasSparkLine = layoutMap.indicatorsDefine.some(indicator => {\n return typeof indicator !== 'string' && indicator.columnType === 'sparkline';\n });\n } else {\n const layoutMap = table.internalProps.layoutMap as SimpleHeaderLayoutMap;\n hasSparkLine = layoutMap.columnObjects.some(column => {\n return column.columnType === 'sparkline';\n });\n }\n\n if (!hasSparkLine) {\n return;\n }\n\n table.listen(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, (e: MousePointerCellEvent) => {\n const { col, row, x, y } = e;\n const type = table.getBodyColumnType(col, row);\n if (type !== 'sparkline') {\n table.stateManeger.updateSparklineHoverPose(-1, -1, 0, 0);\n }\n table.stateManeger.updateSparklineHoverPose(col, row, x, y);\n });\n\n table.listen(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, (e: MousePointerCellEvent) => {\n table.stateManeger.updateSparklineHoverPose(-1, -1, 0, 0);\n });\n}\n"]}
1
+ {"version":3,"sources":["event/sparkline-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,UAAU,uBAAuB,CAAC,KAAmB;IAEzD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAA2B,CAAC;QAClE,YAAY,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;QAC/E,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC;QACzE,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnD,OAAO,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IAED,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAwB,EAAE,EAAE;QACzE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D;QACD,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAwB,EAAE,EAAE;QAC3E,KAAK,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC","file":"sparkline-event.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { PivotLayoutMap } from '../layout/pivot-layout';\nimport type { MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\nexport function bindSparklineHoverEvent(table: BaseTableAPI) {\n // 判断是否有sparkline 类型\n let hasSparkLine = false;\n if (table.isPivotTable()) {\n const layoutMap = table.internalProps.layoutMap as PivotLayoutMap;\n hasSparkLine = layoutMap.indicatorsDefine.some(indicator => {\n return typeof indicator !== 'string' && indicator.columnType === 'sparkline';\n });\n } else {\n const layoutMap = table.internalProps.layoutMap as SimpleHeaderLayoutMap;\n hasSparkLine = layoutMap.columnObjects.some(column => {\n return column.columnType === 'sparkline';\n });\n }\n\n if (!hasSparkLine) {\n return;\n }\n\n table.listen(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, (e: MousePointerCellEvent) => {\n const { col, row, x, y } = e;\n const type = table.getBodyColumnType(col, row);\n if (type !== 'sparkline') {\n table.stateManeger.updateSparklineHoverPose(-1, -1, 0, 0);\n }\n table.stateManeger.updateSparklineHoverPose(col, row, x, y);\n });\n\n table.listen(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, (e: MousePointerCellEvent) => {\n table.stateManeger.updateSparklineHoverPose(-1, -1, 0, 0);\n });\n}\n"]}
@@ -4,7 +4,7 @@ import * as registerIcons from "../icons";
4
4
 
5
5
  import { cellInRange } from "../tools/helper";
6
6
 
7
- import { isMenuHighlight } from "../menu/dom/logic/MenuElement";
7
+ import { isMenuHighlight } from "../components/menu/dom/logic/MenuElement";
8
8
 
9
9
  import { ImageStyle } from "./style/ImageStyle";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["header-helper/header-helper.ts"],"names":[],"mappings":"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","file":"header-helper.js","sourcesContent":["import type { ColumnIconOption, ListTableAPI, PivotTableAPI, RectProps, SortOrder, SvgIcon } from '../ts-types';\nimport { HierarchyState, IconFuncTypeEnum, IconPosition, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { cellInRange } from '../tools/helper';\nimport { isMenuHighlight } from '../menu/dom/logic/MenuElement';\nimport { Style } from './style/Style';\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextHeaderStyle } from './style';\nimport type { ListTable } from '../ListTable';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nexport class HeaderHelper {\n normalIcon: SvgIcon;\n upIcon: SvgIcon;\n downIcon: SvgIcon;\n freezeIcon: SvgIcon;\n frozenIcon: SvgIcon;\n frozenCurrentIcon: SvgIcon;\n dropDownAbsoluteIcon: SvgIcon;\n // dropDownHoverIcon: SvgIcon;\n\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n // //存储鼠标hover到的图标类型,后面需要用name判断,应该再拿个inline对象上赋值showFrozenIconIcon,绘制感应区域\n // _showFrozenIconIcon?: SvgIcon;\n // _showSortIcon?: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //pin默认值\n this.freezeIcon = regedIcons[InternalIconName.freezeIconName] as SvgIcon;\n this.frozenIcon = regedIcons[InternalIconName.frozenIconName] as SvgIcon;\n this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName] as SvgIcon;\n\n //sort默认值\n this.normalIcon = regedIcons[InternalIconName.normalIconName] as SvgIcon;\n this.upIcon = regedIcons[InternalIconName.upwardIconName] as SvgIcon;\n this.downIcon = regedIcons[InternalIconName.downwardIconName] as SvgIcon;\n //下拉按钮\n this.dropDownAbsoluteIcon = regedIcons[InternalIconName.dropdownIconName] as SvgIcon;\n // this.dropDownHoverIcon = regedIcons[InternalIconName.dropdownHoverIconName] as SvgIcon;\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n\n getIcons(col: number, row: number): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const icons: ColumnIconOption[] = [];\n if (this._table.isPivotTable()) {\n // 透视表显示排序按钮\n const { showSort } = this._table.internalProps.layoutMap.getHeader(col, row);\n if (showSort) {\n const order = (this._table as PivotTableAPI).getPivotSortState(col, row);\n const sortIcon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n } else {\n const states = (this._table as ListTableAPI).sortState;\n let order: SortOrder | undefined;\n order = undefined;\n const range = this._table.getCellRange(col, row);\n if (states) {\n if (Array.isArray(states)) {\n for (let i = 0; i < states.length; i++) {\n const state = states[i];\n const stateRange = this._table._getHeaderCellBySortState(state);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = state);\n break;\n }\n }\n } else {\n const stateRange = this._table._getHeaderCellBySortState(states);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = states);\n }\n }\n }\n const sortIcon = this.getSortIcon(order, this._table, col, row);\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n\n if (this._table.showFrozenIcon && col < this._table.allowFrozenColCount) {\n const pinInline = this.getFrozenIcon(col, row);\n if (pinInline) {\n icons.push(pinInline);\n // context.showIcon = this.showFrozenIconIcon;//todo 暂时去掉 需要想其他方式\n }\n }\n\n if (this.checkDropDownIcon(this._table, col, row)) {\n // const dropDownMenuHoverIcon = this.dropDownHoverIcon;//this.getDropDownHoverIcon(_table, col, row);\n const dropDownMenuIcon = this.dropDownAbsoluteIcon; //this.getDropDownAbsoluteIcon(_table, col, row);\n // dropDownMenuIcon.hover.image = dropDownMenuHoverIcon.svg; // to do 规范化处理\n icons.push(dropDownMenuIcon);\n }\n\n const dropDownStateIcons = this.getDropDownStateIcons(this._table, col, row);\n if (dropDownStateIcons.length) {\n icons.push(...dropDownStateIcons);\n }\n\n const { captionIcon, headerIcon } = this._table._getHeaderLayoutMap(col, row);\n captionIcon && icons.push(captionIcon);\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n icons.push(hierarchyIcon);\n }\n\n if (headerIcon) {\n let headerIconStrs;\n if (typeof headerIcon === 'function') {\n const arg = {\n col,\n row,\n value: this._table.getCellValue(col, row),\n dataValue: this._table.getCellOriginValue(col, row),\n table: this._table\n };\n headerIconStrs = headerIcon(arg);\n } else {\n headerIconStrs = headerIcon;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (headerIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof headerIcon === 'string') {\n icon = regedIcons[headerIcon];\n } else {\n icon = headerIcon;\n }\n if (icon) {\n icons.push(icon);\n }\n };\n if (Array.isArray(headerIconStrs)) {\n headerIconStrs.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(headerIconStrs);\n }\n }\n return icons;\n }\n\n getFrozenIcon(col: number, row: number): ColumnIconOption | null {\n // this.showFrozenIconIcon = undefined;\n if (this._table.isPivotTable() || (this._table as ListTable).transpose) {\n // 透视表和转置模式不显示冻结按钮\n return null;\n }\n const headerC = this._table.getHeaderDefine(col, row) as any;\n if (headerC.columns && headerC.columns.length > 0) {\n return null;\n }\n\n let frozen = this.freezeIcon;\n // 使用table.options.frozenColCount原始冻结信息获取按钮\n if (this._table.options.frozenColCount - 1 > col) {\n frozen = this.frozenIcon;\n } else if (this._table.options.frozenColCount - 1 === col) {\n frozen = this.frozenCurrentIcon;\n }\n return frozen;\n }\n\n getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null {\n // this.showSortIcon = undefined;\n const icon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (!headerC || !(headerC.showSort || headerC.sort) || (headerC.columns && headerC.columns.length > 0)) {\n return null;\n }\n return icon;\n }\n\n private getDropDownStateIcons(_table: BaseTableAPI, col: number, row: number): ColumnIconOption[] {\n const headerC = _table.getHeaderDefine(col, row) as any;\n const headerL = _table._getHeaderLayoutMap(col, row);\n const { dropDownMenu } = headerL;\n const results: ColumnIconOption[] = [];\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n (Array.isArray(_table.globalDropDownMenu) && _table.globalDropDownMenu.length && !headerC?.columns?.length) // 全局配置dropDownMenu,只在最下级表头展示\n ) {\n const menus = dropDownMenu || _table.globalDropDownMenu;\n let highlightIndex = -1;\n let subHighlightIndex = -1;\n for (let i = 0; i < menus.length; i++) {\n const menu = menus[i];\n // 优先判断子元素\n if (typeof menu === 'object' && menu.children && menu.children.length) {\n for (let j = 0; j < menu.children.length; j++) {\n const childItem = menu.children[j];\n if (\n _table.stateManeger.menu?.dropDownMenuHighlight &&\n isMenuHighlight(\n _table,\n _table.stateManeger.menu?.dropDownMenuHighlight,\n typeof childItem === 'object' ? childItem?.menuKey : childItem,\n col,\n row,\n i\n )\n ) {\n highlightIndex = i;\n subHighlightIndex = j;\n break;\n }\n }\n }\n if (_table._dropDownMenuIsHighlight(col, row, i)) {\n highlightIndex = i;\n break;\n }\n }\n // const highlightIndex = _table._dropDownMenuIsHighlight(col, row);\n if (highlightIndex !== -1) {\n let menu;\n if (subHighlightIndex !== -1) {\n menu = ((dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any).children[\n subHighlightIndex\n ] as any;\n } else {\n menu = (dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any;\n }\n\n if (menu.stateIcon) {\n if (menu.stateIcon.svg) {\n results.push({\n type: 'svg',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n svg: menu.stateIcon.svg,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n } else if (menu.stateIcon.src) {\n results.push({\n type: 'image',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n src: menu.stateIcon.src,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n }\n }\n }\n }\n return results;\n }\n /**\n * 内置dropDownIcon的位置信息\n * @param cellRect\n * @param marginTop\n * @param baseline\n * @returns\n */\n getDropDownIconRect(cellRect: RectProps, marginTop: number, baseline?: string): RectProps {\n // const left = cellRect.right - (this.downIcon.box?.width || 0) - marginRight;\n // const right = cellRect.right - marginRight;\n const iconW = this.downIcon.hover?.width ?? this.downIcon?.width ?? 0;\n const iconH = this.downIcon.hover?.height ?? this.downIcon?.height ?? 0;\n const left = cellRect.right - 2 - iconW;\n const right = cellRect.right - 2;\n let top;\n if (baseline === 'middle') {\n top = cellRect.top + cellRect.height / 2 - iconW / 2;\n } else if (baseline === 'top') {\n top = cellRect.top + marginTop / 2;\n } else if (baseline === 'bottom') {\n top = cellRect.bottom - marginTop * 2;\n } else {\n top = cellRect.top;\n }\n const bottom = iconH + top;\n\n return {\n left,\n right,\n top,\n bottom,\n width: iconW,\n height: iconH\n };\n }\n\n getHierarchyIcon(col: number, row: number) {\n const { hierarchyState } = this._table._getHeaderLayoutMap(col, row);\n if (hierarchyState) {\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n }\n return undefined;\n }\n\n private checkDropDownIcon(_table: BaseTableAPI, col: number, row: number) {\n /*\n * dropDownMenu有三种状态:\n * 1. header中未配置 =》 使用globalDropDownMenu,icon展示\n * 2. header中配置 =》 使用header中的dropDownMenu,icon展示\n * 3. header中dropDownMenu为空数组 =》 icon不展示\n */\n if (_table.isPivotTable()) {\n const headerC = _table._getHeaderLayoutMap(col, row) as any;\n if (\n Array.isArray(headerC.dropDownMenu) &&\n headerC.dropDownMenu.length // header中配置dropDownMenu\n ) {\n return true;\n }\n } else {\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (\n (Array.isArray(headerC.dropDownMenu) && headerC.dropDownMenu.length) || // header中配置dropDownMenu\n ((!Array.isArray(headerC.dropDownMenu) || headerC.dropDownMenu.length !== 0) && // header中dropDownMenu为空数组,不显示\n Array.isArray(_table.globalDropDownMenu) &&\n _table.globalDropDownMenu.length && // 全局配置dropDownMenu\n !headerC?.columns?.length) // 只在最下级表头展示\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getStyleClass(headerType: 'text' | 'image' | 'video' | 'link') {\n switch (headerType) {\n case 'text':\n return TextHeaderStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextHeaderStyle;\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["header-helper/header-helper.ts"],"names":[],"mappings":"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","file":"header-helper.js","sourcesContent":["import type { ColumnIconOption, ListTableAPI, PivotTableAPI, RectProps, SortOrder, SvgIcon } from '../ts-types';\nimport { HierarchyState, IconFuncTypeEnum, IconPosition, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { cellInRange } from '../tools/helper';\nimport { isMenuHighlight } from '../components/menu/dom/logic/MenuElement';\nimport { Style } from './style/Style';\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextHeaderStyle } from './style';\nimport type { ListTable } from '../ListTable';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nexport class HeaderHelper {\n normalIcon: SvgIcon;\n upIcon: SvgIcon;\n downIcon: SvgIcon;\n freezeIcon: SvgIcon;\n frozenIcon: SvgIcon;\n frozenCurrentIcon: SvgIcon;\n dropDownAbsoluteIcon: SvgIcon;\n // dropDownHoverIcon: SvgIcon;\n\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n // //存储鼠标hover到的图标类型,后面需要用name判断,应该再拿个inline对象上赋值showFrozenIconIcon,绘制感应区域\n // _showFrozenIconIcon?: SvgIcon;\n // _showSortIcon?: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //pin默认值\n this.freezeIcon = regedIcons[InternalIconName.freezeIconName] as SvgIcon;\n this.frozenIcon = regedIcons[InternalIconName.frozenIconName] as SvgIcon;\n this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName] as SvgIcon;\n\n //sort默认值\n this.normalIcon = regedIcons[InternalIconName.normalIconName] as SvgIcon;\n this.upIcon = regedIcons[InternalIconName.upwardIconName] as SvgIcon;\n this.downIcon = regedIcons[InternalIconName.downwardIconName] as SvgIcon;\n //下拉按钮\n this.dropDownAbsoluteIcon = regedIcons[InternalIconName.dropdownIconName] as SvgIcon;\n // this.dropDownHoverIcon = regedIcons[InternalIconName.dropdownHoverIconName] as SvgIcon;\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n\n getIcons(col: number, row: number): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const icons: ColumnIconOption[] = [];\n if (this._table.isPivotTable()) {\n // 透视表显示排序按钮\n const { showSort } = this._table.internalProps.layoutMap.getHeader(col, row);\n if (showSort) {\n const order = (this._table as PivotTableAPI).getPivotSortState(col, row);\n const sortIcon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n } else {\n const states = (this._table as ListTableAPI).sortState;\n let order: SortOrder | undefined;\n order = undefined;\n const range = this._table.getCellRange(col, row);\n if (states) {\n if (Array.isArray(states)) {\n for (let i = 0; i < states.length; i++) {\n const state = states[i];\n const stateRange = this._table._getHeaderCellBySortState(state);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = state);\n break;\n }\n }\n } else {\n const stateRange = this._table._getHeaderCellBySortState(states);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = states);\n }\n }\n }\n const sortIcon = this.getSortIcon(order, this._table, col, row);\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n\n if (this._table.showFrozenIcon && col < this._table.allowFrozenColCount) {\n const pinInline = this.getFrozenIcon(col, row);\n if (pinInline) {\n icons.push(pinInline);\n // context.showIcon = this.showFrozenIconIcon;//todo 暂时去掉 需要想其他方式\n }\n }\n\n if (this.checkDropDownIcon(this._table, col, row)) {\n // const dropDownMenuHoverIcon = this.dropDownHoverIcon;//this.getDropDownHoverIcon(_table, col, row);\n const dropDownMenuIcon = this.dropDownAbsoluteIcon; //this.getDropDownAbsoluteIcon(_table, col, row);\n // dropDownMenuIcon.hover.image = dropDownMenuHoverIcon.svg; // to do 规范化处理\n icons.push(dropDownMenuIcon);\n }\n\n const dropDownStateIcons = this.getDropDownStateIcons(this._table, col, row);\n if (dropDownStateIcons.length) {\n icons.push(...dropDownStateIcons);\n }\n\n const { captionIcon, headerIcon } = this._table._getHeaderLayoutMap(col, row);\n captionIcon && icons.push(captionIcon);\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n icons.push(hierarchyIcon);\n }\n\n if (headerIcon) {\n let headerIconStrs;\n if (typeof headerIcon === 'function') {\n const arg = {\n col,\n row,\n value: this._table.getCellValue(col, row),\n dataValue: this._table.getCellOriginValue(col, row),\n table: this._table\n };\n headerIconStrs = headerIcon(arg);\n } else {\n headerIconStrs = headerIcon;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (headerIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof headerIcon === 'string') {\n icon = regedIcons[headerIcon];\n } else {\n icon = headerIcon;\n }\n if (icon) {\n icons.push(icon);\n }\n };\n if (Array.isArray(headerIconStrs)) {\n headerIconStrs.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(headerIconStrs);\n }\n }\n return icons;\n }\n\n getFrozenIcon(col: number, row: number): ColumnIconOption | null {\n // this.showFrozenIconIcon = undefined;\n if (this._table.isPivotTable() || (this._table as ListTable).transpose) {\n // 透视表和转置模式不显示冻结按钮\n return null;\n }\n const headerC = this._table.getHeaderDefine(col, row) as any;\n if (headerC.columns && headerC.columns.length > 0) {\n return null;\n }\n\n let frozen = this.freezeIcon;\n // 使用table.options.frozenColCount原始冻结信息获取按钮\n if (this._table.options.frozenColCount - 1 > col) {\n frozen = this.frozenIcon;\n } else if (this._table.options.frozenColCount - 1 === col) {\n frozen = this.frozenCurrentIcon;\n }\n return frozen;\n }\n\n getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null {\n // this.showSortIcon = undefined;\n const icon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (!headerC || !(headerC.showSort || headerC.sort) || (headerC.columns && headerC.columns.length > 0)) {\n return null;\n }\n return icon;\n }\n\n private getDropDownStateIcons(_table: BaseTableAPI, col: number, row: number): ColumnIconOption[] {\n const headerC = _table.getHeaderDefine(col, row) as any;\n const headerL = _table._getHeaderLayoutMap(col, row);\n const { dropDownMenu } = headerL;\n const results: ColumnIconOption[] = [];\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n (Array.isArray(_table.globalDropDownMenu) && _table.globalDropDownMenu.length && !headerC?.columns?.length) // 全局配置dropDownMenu,只在最下级表头展示\n ) {\n const menus = dropDownMenu || _table.globalDropDownMenu;\n let highlightIndex = -1;\n let subHighlightIndex = -1;\n for (let i = 0; i < menus.length; i++) {\n const menu = menus[i];\n // 优先判断子元素\n if (typeof menu === 'object' && menu.children && menu.children.length) {\n for (let j = 0; j < menu.children.length; j++) {\n const childItem = menu.children[j];\n if (\n _table.stateManeger.menu?.dropDownMenuHighlight &&\n isMenuHighlight(\n _table,\n _table.stateManeger.menu?.dropDownMenuHighlight,\n typeof childItem === 'object' ? childItem?.menuKey : childItem,\n col,\n row,\n i\n )\n ) {\n highlightIndex = i;\n subHighlightIndex = j;\n break;\n }\n }\n }\n if (_table._dropDownMenuIsHighlight(col, row, i)) {\n highlightIndex = i;\n break;\n }\n }\n // const highlightIndex = _table._dropDownMenuIsHighlight(col, row);\n if (highlightIndex !== -1) {\n let menu;\n if (subHighlightIndex !== -1) {\n menu = ((dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any).children[\n subHighlightIndex\n ] as any;\n } else {\n menu = (dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any;\n }\n\n if (menu.stateIcon) {\n if (menu.stateIcon.svg) {\n results.push({\n type: 'svg',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n svg: menu.stateIcon.svg,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n } else if (menu.stateIcon.src) {\n results.push({\n type: 'image',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n src: menu.stateIcon.src,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n }\n }\n }\n }\n return results;\n }\n /**\n * 内置dropDownIcon的位置信息\n * @param cellRect\n * @param marginTop\n * @param baseline\n * @returns\n */\n getDropDownIconRect(cellRect: RectProps, marginTop: number, baseline?: string): RectProps {\n // const left = cellRect.right - (this.downIcon.box?.width || 0) - marginRight;\n // const right = cellRect.right - marginRight;\n const iconW = this.downIcon.hover?.width ?? this.downIcon?.width ?? 0;\n const iconH = this.downIcon.hover?.height ?? this.downIcon?.height ?? 0;\n const left = cellRect.right - 2 - iconW;\n const right = cellRect.right - 2;\n let top;\n if (baseline === 'middle') {\n top = cellRect.top + cellRect.height / 2 - iconW / 2;\n } else if (baseline === 'top') {\n top = cellRect.top + marginTop / 2;\n } else if (baseline === 'bottom') {\n top = cellRect.bottom - marginTop * 2;\n } else {\n top = cellRect.top;\n }\n const bottom = iconH + top;\n\n return {\n left,\n right,\n top,\n bottom,\n width: iconW,\n height: iconH\n };\n }\n\n getHierarchyIcon(col: number, row: number) {\n const { hierarchyState } = this._table._getHeaderLayoutMap(col, row);\n if (hierarchyState) {\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n }\n return undefined;\n }\n\n private checkDropDownIcon(_table: BaseTableAPI, col: number, row: number) {\n /*\n * dropDownMenu有三种状态:\n * 1. header中未配置 =》 使用globalDropDownMenu,icon展示\n * 2. header中配置 =》 使用header中的dropDownMenu,icon展示\n * 3. header中dropDownMenu为空数组 =》 icon不展示\n */\n if (_table.isPivotTable()) {\n const headerC = _table._getHeaderLayoutMap(col, row) as any;\n if (\n Array.isArray(headerC.dropDownMenu) &&\n headerC.dropDownMenu.length // header中配置dropDownMenu\n ) {\n return true;\n }\n } else {\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (\n (Array.isArray(headerC.dropDownMenu) && headerC.dropDownMenu.length) || // header中配置dropDownMenu\n ((!Array.isArray(headerC.dropDownMenu) || headerC.dropDownMenu.length !== 0) && // header中dropDownMenu为空数组,不显示\n Array.isArray(_table.globalDropDownMenu) &&\n _table.globalDropDownMenu.length && // 全局配置dropDownMenu\n !headerC?.columns?.length) // 只在最下级表头展示\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getStyleClass(headerType: 'text' | 'image' | 'video' | 'link') {\n switch (headerType) {\n case 'text':\n return TextHeaderStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextHeaderStyle;\n }\n }\n}\n"]}
@@ -18,13 +18,13 @@ export class TextHeaderStyle extends Style {
18
18
  return this._lineClamp;
19
19
  }
20
20
  set lineClamp(lineClamp) {
21
- this._lineClamp = lineClamp, this.doChangeStyle();
21
+ this._lineClamp = lineClamp;
22
22
  }
23
23
  get autoWrapText() {
24
24
  return this._autoWrapText;
25
25
  }
26
26
  set autoWrapText(autoWrapText) {
27
- this._autoWrapText = autoWrapText, this.doChangeStyle();
27
+ this._autoWrapText = autoWrapText;
28
28
  }
29
29
  }
30
30
  //# sourceMappingURL=MultilineTextHeaderStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["header-helper/style/MultilineTextHeaderStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,IAAI,YAA6B,CAAC;AAClC,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGxC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,YAAY,QAA0B,EAAE,EAAE,cAAgC,IAAI;;QAC5E,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;IAC/D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,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","file":"MultilineTextHeaderStyle.js","sourcesContent":["import type { ITextStyleOption, LineClamp } from '../../ts-types';\nimport { Style } from './Style';\n\nlet defaultStyle: TextHeaderStyle;\nexport class TextHeaderStyle extends Style {\n private _autoWrapText?: boolean;\n private _lineClamp?: LineClamp;\n static get DEFAULT(): TextHeaderStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new TextHeaderStyle());\n }\n constructor(style: ITextStyleOption = {}, headerStyle: ITextStyleOption = null) {\n super(style, headerStyle);\n this._autoWrapText = style?.autoWrapText ?? headerStyle?.autoWrapText;\n this._lineClamp = style?.lineClamp ?? headerStyle?.lineClamp;\n }\n clone(): TextHeaderStyle {\n return new TextHeaderStyle(this, null);\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":["header-helper/style/MultilineTextHeaderStyle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,IAAI,YAA6B,CAAC;AAClC,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAGxC,MAAM,KAAK,OAAO;QAChB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,YAAY,QAA0B,EAAE,EAAE,cAAgC,IAAI;;QAC5E,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,YAAY,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;IAC/D,CAAC;IACD,KAAK;QACH,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,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","file":"MultilineTextHeaderStyle.js","sourcesContent":["import type { ITextStyleOption, LineClamp } from '../../ts-types';\nimport { Style } from './Style';\n\nlet defaultStyle: TextHeaderStyle;\nexport class TextHeaderStyle extends Style {\n private _autoWrapText?: boolean;\n private _lineClamp?: LineClamp;\n static get DEFAULT(): TextHeaderStyle {\n return defaultStyle ? defaultStyle : (defaultStyle = new TextHeaderStyle());\n }\n constructor(style: ITextStyleOption = {}, headerStyle: ITextStyleOption = null) {\n super(style, headerStyle);\n this._autoWrapText = style?.autoWrapText ?? headerStyle?.autoWrapText;\n this._lineClamp = style?.lineClamp ?? headerStyle?.lineClamp;\n }\n clone(): TextHeaderStyle {\n return new TextHeaderStyle(this, null);\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"]}
@@ -83,6 +83,5 @@ export declare class Style extends EventTarget implements ColumnStyle {
83
83
  set borderLineWidth(borderLineWidth: LineWidthsPropertyDefine | undefined);
84
84
  get borderLineDash(): LineDashsPropertyDefine | undefined;
85
85
  set borderLineDash(borderLineDash: LineDashsPropertyDefine | undefined);
86
- doChangeStyle(): void;
87
86
  clone(): Style;
88
87
  }