@visactor/vtable 0.9.1-alpha.4 → 0.9.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 (431) hide show
  1. package/cjs/ListTable.js +15 -4
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.d.ts +2 -1
  4. package/cjs/PivotTable.js +15 -3
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/body-helper/body-helper.d.ts +1 -0
  7. package/cjs/body-helper/body-helper.js +6 -3
  8. package/cjs/body-helper/body-helper.js.map +1 -1
  9. package/cjs/body-helper/style/ProgressBarStyle.js +14 -8
  10. package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -1
  11. package/cjs/body-helper/style/Style.d.ts +3 -0
  12. package/cjs/body-helper/style/Style.js +21 -14
  13. package/cjs/body-helper/style/Style.js.map +1 -1
  14. package/cjs/core/BaseTable.d.ts +4 -1
  15. package/cjs/core/BaseTable.js +31 -20
  16. package/cjs/core/BaseTable.js.map +1 -1
  17. package/cjs/core/tableHelper.js +11 -6
  18. package/cjs/core/tableHelper.js.map +1 -1
  19. package/cjs/data/DataSource.d.ts +4 -1
  20. package/cjs/data/DataSource.js +3 -3
  21. package/cjs/data/DataSource.js.map +1 -1
  22. package/cjs/event/event.d.ts +14 -19
  23. package/cjs/event/event.js +12 -329
  24. package/cjs/event/event.js.map +1 -1
  25. package/cjs/event/listener/container-dom.d.ts +2 -0
  26. package/cjs/event/listener/container-dom.js +42 -0
  27. package/cjs/event/listener/container-dom.js.map +1 -0
  28. package/cjs/event/listener/scroll-bar.d.ts +2 -0
  29. package/cjs/event/listener/scroll-bar.js +44 -0
  30. package/cjs/event/listener/scroll-bar.js.map +1 -0
  31. package/cjs/event/listener/table-group.d.ts +2 -0
  32. package/cjs/event/listener/table-group.js +262 -0
  33. package/cjs/event/listener/table-group.js.map +1 -0
  34. package/cjs/event/listener/touch.d.ts +2 -0
  35. package/cjs/event/listener/touch.js +76 -0
  36. package/cjs/event/listener/touch.js.map +1 -0
  37. package/cjs/event/scroll.d.ts +2 -0
  38. package/cjs/event/scroll.js +32 -4
  39. package/cjs/event/scroll.js.map +1 -1
  40. package/cjs/event/util.d.ts +16 -0
  41. package/cjs/event/util.js +30 -0
  42. package/cjs/event/util.js.map +1 -0
  43. package/cjs/header-helper/header-helper.d.ts +5 -6
  44. package/cjs/header-helper/header-helper.js +19 -22
  45. package/cjs/header-helper/header-helper.js.map +1 -1
  46. package/cjs/icons.js +11 -11
  47. package/cjs/icons.js.map +1 -1
  48. package/cjs/index.d.ts +1 -1
  49. package/cjs/index.js +1 -1
  50. package/cjs/index.js.map +1 -1
  51. package/cjs/layout/index.js +1 -2
  52. package/cjs/layout/pivot-header-layout.d.ts +4 -1
  53. package/cjs/layout/pivot-header-layout.js +15 -14
  54. package/cjs/layout/pivot-header-layout.js.map +1 -1
  55. package/cjs/layout/simple-header-layout.d.ts +13 -1
  56. package/cjs/layout/simple-header-layout.js +12 -1
  57. package/cjs/layout/simple-header-layout.js.map +1 -1
  58. package/cjs/render/layout/container.js +1 -1
  59. package/cjs/render/layout/container.js.map +1 -1
  60. package/cjs/render/layout/element.d.ts +1 -1
  61. package/cjs/render/layout/element.js.map +1 -1
  62. package/cjs/render/layout/rect.d.ts +2 -2
  63. package/cjs/render/layout/rect.js +2 -2
  64. package/cjs/render/layout/rect.js.map +1 -1
  65. package/cjs/scenegraph/component/custom.js +18 -7
  66. package/cjs/scenegraph/component/custom.js.map +1 -1
  67. package/cjs/scenegraph/component/menu.js +2 -2
  68. package/cjs/scenegraph/component/menu.js.map +1 -1
  69. package/cjs/scenegraph/component/table-component.d.ts +3 -3
  70. package/cjs/scenegraph/component/table-component.js +36 -26
  71. package/cjs/scenegraph/component/table-component.js.map +1 -1
  72. package/cjs/scenegraph/graphic/chart.d.ts +1 -0
  73. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  74. package/cjs/scenegraph/graphic/contributions/chart-render.js +7 -2
  75. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  76. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  77. package/cjs/scenegraph/graphic/group.d.ts +4 -0
  78. package/cjs/scenegraph/graphic/group.js +6 -0
  79. package/cjs/scenegraph/graphic/group.js.map +1 -1
  80. package/cjs/scenegraph/graphic/text.js +7 -7
  81. package/cjs/scenegraph/graphic/text.js.map +1 -1
  82. package/cjs/scenegraph/group-creater/cell-helper.d.ts +3 -4
  83. package/cjs/scenegraph/group-creater/cell-helper.js +25 -18
  84. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  85. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +6 -4
  86. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  87. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +11 -1
  88. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  89. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +12 -9
  90. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  91. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  92. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +7 -4
  93. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  94. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  95. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  96. package/cjs/scenegraph/group-creater/column-helper.d.ts +3 -3
  97. package/cjs/scenegraph/group-creater/column-helper.js +22 -11
  98. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  99. package/cjs/scenegraph/group-creater/column.d.ts +0 -6
  100. package/cjs/scenegraph/group-creater/column.js +3 -12
  101. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  102. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +0 -2
  103. package/cjs/scenegraph/group-creater/progress/proxy.js +23 -19
  104. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  105. package/cjs/scenegraph/layout/auto-height.js +1 -1
  106. package/cjs/scenegraph/layout/auto-height.js.map +1 -1
  107. package/cjs/scenegraph/layout/auto-width.js +1 -1
  108. package/cjs/scenegraph/layout/auto-width.js.map +1 -1
  109. package/cjs/scenegraph/layout/compute-col-width.d.ts +1 -1
  110. package/cjs/scenegraph/layout/compute-col-width.js +28 -8
  111. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  112. package/cjs/scenegraph/layout/frozen.d.ts +3 -0
  113. package/cjs/scenegraph/layout/frozen.js +66 -0
  114. package/cjs/scenegraph/layout/frozen.js.map +1 -0
  115. package/cjs/scenegraph/layout/move-cell.js +5 -1
  116. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  117. package/cjs/scenegraph/layout/update-cell.js +3 -3
  118. package/cjs/scenegraph/layout/update-cell.js.map +1 -1
  119. package/cjs/scenegraph/layout/update-height.js +4 -4
  120. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  121. package/cjs/scenegraph/layout/update-row.d.ts +3 -0
  122. package/cjs/scenegraph/layout/update-row.js +81 -0
  123. package/cjs/scenegraph/layout/update-row.js.map +1 -0
  124. package/cjs/scenegraph/layout/update-width.js +5 -5
  125. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  126. package/cjs/scenegraph/refresh-node/update-chart.d.ts +2 -0
  127. package/cjs/scenegraph/refresh-node/update-chart.js +26 -0
  128. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -0
  129. package/cjs/scenegraph/scenegraph.d.ts +15 -3
  130. package/cjs/scenegraph/scenegraph.js +86 -95
  131. package/cjs/scenegraph/scenegraph.js.map +1 -1
  132. package/cjs/scenegraph/select/create-select-border.js +1 -0
  133. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  134. package/cjs/scenegraph/stick-text/index.js +52 -40
  135. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  136. package/cjs/scenegraph/style/frame-border.d.ts +1 -1
  137. package/cjs/scenegraph/style/frame-border.js +7 -7
  138. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  139. package/cjs/scenegraph/utils/deal-promise-data.d.ts +2 -0
  140. package/cjs/scenegraph/utils/deal-promise-data.js +14 -0
  141. package/cjs/scenegraph/utils/deal-promise-data.js.map +1 -0
  142. package/cjs/scenegraph/utils/empty-group.d.ts +2 -0
  143. package/cjs/scenegraph/utils/empty-group.js +10 -0
  144. package/cjs/scenegraph/utils/empty-group.js.map +1 -0
  145. package/cjs/scenegraph/utils/get-hierarchy-offset.d.ts +2 -0
  146. package/cjs/scenegraph/utils/get-hierarchy-offset.js +27 -0
  147. package/cjs/scenegraph/utils/get-hierarchy-offset.js.map +1 -0
  148. package/cjs/scenegraph/utils/padding.d.ts +1 -1
  149. package/cjs/scenegraph/utils/padding.js +3 -3
  150. package/cjs/scenegraph/utils/padding.js.map +1 -1
  151. package/cjs/scenegraph/utils/text-icon-layout.d.ts +3 -2
  152. package/cjs/scenegraph/utils/text-icon-layout.js +24 -19
  153. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  154. package/cjs/scenegraph/utils/text-pos.js +1 -1
  155. package/cjs/scenegraph/utils/text-pos.js.map +1 -1
  156. package/cjs/state/cell-move/adjust-header.js +9 -2
  157. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  158. package/cjs/state/cell-move/index.js +9 -3
  159. package/cjs/state/cell-move/index.js.map +1 -1
  160. package/cjs/state/frozen/index.d.ts +2 -0
  161. package/cjs/state/{pin → frozen}/index.js +2 -2
  162. package/cjs/state/frozen/index.js.map +1 -0
  163. package/cjs/state/state.d.ts +1 -1
  164. package/cjs/state/state.js +16 -12
  165. package/cjs/state/state.js.map +1 -1
  166. package/cjs/themes/ARCO.js +1 -1
  167. package/cjs/themes/ARCO.js.map +1 -1
  168. package/cjs/themes/BRIGHT.js +1 -1
  169. package/cjs/themes/BRIGHT.js.map +1 -1
  170. package/cjs/themes/DARK.js +1 -1
  171. package/cjs/themes/DARK.js.map +1 -1
  172. package/cjs/themes/DEFAULT.js +1 -1
  173. package/cjs/themes/DEFAULT.js.map +1 -1
  174. package/cjs/themes/theme.d.ts +1 -1
  175. package/cjs/themes/theme.js +6 -6
  176. package/cjs/themes/theme.js.map +1 -1
  177. package/cjs/tools/LimitPromiseQueue.js +1 -2
  178. package/cjs/tools/NumberMap.js +1 -1
  179. package/cjs/tools/Rect.js +1 -1
  180. package/cjs/tools/calc.js +1 -1
  181. package/cjs/tools/debounce.js +1 -1
  182. package/cjs/tools/diff-cell.d.ts +10 -0
  183. package/cjs/tools/diff-cell.js +49 -0
  184. package/cjs/tools/diff-cell.js.map +1 -0
  185. package/cjs/tools/dom.js +1 -1
  186. package/cjs/tools/env.js +1 -1
  187. package/cjs/tools/helper.d.ts +11 -0
  188. package/cjs/tools/helper.js +7 -2
  189. package/cjs/tools/helper.js.map +1 -1
  190. package/cjs/tooltip/BaseTooltip.js +1 -1
  191. package/cjs/tooltip/Tooltip.js +2 -1
  192. package/cjs/tooltip/TooltipHandler.js +1 -1
  193. package/cjs/ts-types/base-table.d.ts +8 -2
  194. package/cjs/ts-types/base-table.js +1 -1
  195. package/cjs/ts-types/base-table.js.map +1 -1
  196. package/cjs/ts-types/common.js +1 -1
  197. package/cjs/ts-types/customElement.d.ts +11 -2
  198. package/cjs/ts-types/customElement.js +1 -1
  199. package/cjs/ts-types/customElement.js.map +1 -1
  200. package/cjs/ts-types/customLayout.js +1 -1
  201. package/cjs/ts-types/events.js +1 -1
  202. package/cjs/ts-types/icon.d.ts +4 -5
  203. package/cjs/ts-types/icon.js +6 -6
  204. package/cjs/ts-types/icon.js.map +1 -1
  205. package/cjs/ts-types/list-table/define/basic-define.d.ts +4 -1
  206. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  207. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  208. package/cjs/ts-types/theme.d.ts +1 -1
  209. package/cjs/ts-types/theme.js.map +1 -1
  210. package/dist/vtable.es5.js +53155 -0
  211. package/dist/vtable.es5.min.js +3 -0
  212. package/dist/vtable.js +17155 -21633
  213. package/dist/vtable.min.js +15 -3
  214. package/es/ListTable.js +16 -3
  215. package/es/ListTable.js.map +1 -1
  216. package/es/PivotTable.d.ts +2 -1
  217. package/es/PivotTable.js +16 -2
  218. package/es/PivotTable.js.map +1 -1
  219. package/es/body-helper/body-helper.d.ts +1 -0
  220. package/es/body-helper/body-helper.js +6 -3
  221. package/es/body-helper/body-helper.js.map +1 -1
  222. package/es/body-helper/style/ProgressBarStyle.js +14 -8
  223. package/es/body-helper/style/ProgressBarStyle.js.map +1 -1
  224. package/es/body-helper/style/Style.d.ts +3 -0
  225. package/es/body-helper/style/Style.js +21 -14
  226. package/es/body-helper/style/Style.js.map +1 -1
  227. package/es/core/BaseTable.d.ts +4 -1
  228. package/es/core/BaseTable.js +31 -21
  229. package/es/core/BaseTable.js.map +1 -1
  230. package/es/core/tableHelper.js +11 -7
  231. package/es/core/tableHelper.js.map +1 -1
  232. package/es/data/DataSource.d.ts +4 -1
  233. package/es/data/DataSource.js +4 -2
  234. package/es/data/DataSource.js.map +1 -1
  235. package/es/event/event.d.ts +14 -19
  236. package/es/event/event.js +16 -333
  237. package/es/event/event.js.map +1 -1
  238. package/es/event/listener/container-dom.d.ts +2 -0
  239. package/es/event/listener/container-dom.js +40 -0
  240. package/es/event/listener/container-dom.js.map +1 -0
  241. package/es/event/listener/scroll-bar.d.ts +2 -0
  242. package/es/event/listener/scroll-bar.js +37 -0
  243. package/es/event/listener/scroll-bar.js.map +1 -0
  244. package/es/event/listener/table-group.d.ts +2 -0
  245. package/es/event/listener/table-group.js +265 -0
  246. package/es/event/listener/table-group.js.map +1 -0
  247. package/es/event/listener/touch.d.ts +2 -0
  248. package/es/event/listener/touch.js +67 -0
  249. package/es/event/listener/touch.js.map +1 -0
  250. package/es/event/scroll.d.ts +2 -0
  251. package/es/event/scroll.js +29 -3
  252. package/es/event/scroll.js.map +1 -1
  253. package/es/event/util.d.ts +16 -0
  254. package/es/event/util.js +24 -0
  255. package/es/event/util.js.map +1 -0
  256. package/es/header-helper/header-helper.d.ts +5 -6
  257. package/es/header-helper/header-helper.js +22 -24
  258. package/es/header-helper/header-helper.js.map +1 -1
  259. package/es/icons.js +11 -11
  260. package/es/icons.js.map +1 -1
  261. package/es/index.d.ts +1 -1
  262. package/es/index.js +1 -1
  263. package/es/index.js.map +1 -1
  264. package/es/layout/index.js +1 -2
  265. package/es/layout/pivot-header-layout.d.ts +4 -1
  266. package/es/layout/pivot-header-layout.js +17 -13
  267. package/es/layout/pivot-header-layout.js.map +1 -1
  268. package/es/layout/simple-header-layout.d.ts +13 -1
  269. package/es/layout/simple-header-layout.js +12 -1
  270. package/es/layout/simple-header-layout.js.map +1 -1
  271. package/es/render/layout/container.js +1 -1
  272. package/es/render/layout/container.js.map +1 -1
  273. package/es/render/layout/element.d.ts +1 -1
  274. package/es/render/layout/element.js.map +1 -1
  275. package/es/render/layout/rect.d.ts +2 -2
  276. package/es/render/layout/rect.js +2 -2
  277. package/es/render/layout/rect.js.map +1 -1
  278. package/es/scenegraph/component/custom.js +20 -9
  279. package/es/scenegraph/component/custom.js.map +1 -1
  280. package/es/scenegraph/component/menu.js +2 -2
  281. package/es/scenegraph/component/menu.js.map +1 -1
  282. package/es/scenegraph/component/table-component.d.ts +3 -3
  283. package/es/scenegraph/component/table-component.js +36 -26
  284. package/es/scenegraph/component/table-component.js.map +1 -1
  285. package/es/scenegraph/graphic/chart.d.ts +1 -0
  286. package/es/scenegraph/graphic/chart.js.map +1 -1
  287. package/es/scenegraph/graphic/contributions/chart-render.js +7 -2
  288. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  289. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  290. package/es/scenegraph/graphic/group.d.ts +4 -0
  291. package/es/scenegraph/graphic/group.js +6 -0
  292. package/es/scenegraph/graphic/group.js.map +1 -1
  293. package/es/scenegraph/graphic/text.js +7 -7
  294. package/es/scenegraph/graphic/text.js.map +1 -1
  295. package/es/scenegraph/group-creater/cell-helper.d.ts +3 -4
  296. package/es/scenegraph/group-creater/cell-helper.js +28 -17
  297. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  298. package/es/scenegraph/group-creater/cell-type/chart-cell.js +6 -4
  299. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  300. package/es/scenegraph/group-creater/cell-type/image-cell.js +12 -2
  301. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  302. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +13 -10
  303. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  304. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  305. package/es/scenegraph/group-creater/cell-type/text-cell.js +7 -4
  306. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  307. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  308. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  309. package/es/scenegraph/group-creater/column-helper.d.ts +3 -3
  310. package/es/scenegraph/group-creater/column-helper.js +25 -10
  311. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  312. package/es/scenegraph/group-creater/column.d.ts +0 -6
  313. package/es/scenegraph/group-creater/column.js +3 -12
  314. package/es/scenegraph/group-creater/column.js.map +1 -1
  315. package/es/scenegraph/group-creater/progress/proxy.d.ts +0 -2
  316. package/es/scenegraph/group-creater/progress/proxy.js +22 -21
  317. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  318. package/es/scenegraph/layout/auto-height.js +1 -1
  319. package/es/scenegraph/layout/auto-height.js.map +1 -1
  320. package/es/scenegraph/layout/auto-width.js +2 -2
  321. package/es/scenegraph/layout/auto-width.js.map +1 -1
  322. package/es/scenegraph/layout/compute-col-width.d.ts +1 -1
  323. package/es/scenegraph/layout/compute-col-width.js +30 -10
  324. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  325. package/es/scenegraph/layout/frozen.d.ts +3 -0
  326. package/es/scenegraph/layout/frozen.js +58 -0
  327. package/es/scenegraph/layout/frozen.js.map +1 -0
  328. package/es/scenegraph/layout/move-cell.js +5 -1
  329. package/es/scenegraph/layout/move-cell.js.map +1 -1
  330. package/es/scenegraph/layout/update-cell.js +4 -4
  331. package/es/scenegraph/layout/update-cell.js.map +1 -1
  332. package/es/scenegraph/layout/update-height.js +5 -5
  333. package/es/scenegraph/layout/update-height.js.map +1 -1
  334. package/es/scenegraph/layout/update-row.d.ts +3 -0
  335. package/es/scenegraph/layout/update-row.js +73 -0
  336. package/es/scenegraph/layout/update-row.js.map +1 -0
  337. package/es/scenegraph/layout/update-width.js +6 -6
  338. package/es/scenegraph/layout/update-width.js.map +1 -1
  339. package/es/scenegraph/refresh-node/update-chart.d.ts +2 -0
  340. package/es/scenegraph/refresh-node/update-chart.js +20 -0
  341. package/es/scenegraph/refresh-node/update-chart.js.map +1 -0
  342. package/es/scenegraph/scenegraph.d.ts +15 -3
  343. package/es/scenegraph/scenegraph.js +92 -94
  344. package/es/scenegraph/scenegraph.js.map +1 -1
  345. package/es/scenegraph/select/create-select-border.js +1 -0
  346. package/es/scenegraph/select/create-select-border.js.map +1 -1
  347. package/es/scenegraph/stick-text/index.js +52 -40
  348. package/es/scenegraph/stick-text/index.js.map +1 -1
  349. package/es/scenegraph/style/frame-border.d.ts +1 -1
  350. package/es/scenegraph/style/frame-border.js +9 -9
  351. package/es/scenegraph/style/frame-border.js.map +1 -1
  352. package/es/scenegraph/utils/deal-promise-data.d.ts +2 -0
  353. package/es/scenegraph/utils/deal-promise-data.js +8 -0
  354. package/es/scenegraph/utils/deal-promise-data.js.map +1 -0
  355. package/es/scenegraph/utils/empty-group.d.ts +2 -0
  356. package/es/scenegraph/utils/empty-group.js +6 -0
  357. package/es/scenegraph/utils/empty-group.js.map +1 -0
  358. package/es/scenegraph/utils/get-hierarchy-offset.d.ts +2 -0
  359. package/es/scenegraph/utils/get-hierarchy-offset.js +19 -0
  360. package/es/scenegraph/utils/get-hierarchy-offset.js.map +1 -0
  361. package/es/scenegraph/utils/padding.d.ts +1 -1
  362. package/es/scenegraph/utils/padding.js +1 -1
  363. package/es/scenegraph/utils/padding.js.map +1 -1
  364. package/es/scenegraph/utils/text-icon-layout.d.ts +3 -2
  365. package/es/scenegraph/utils/text-icon-layout.js +27 -19
  366. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  367. package/es/scenegraph/utils/text-pos.js +2 -2
  368. package/es/scenegraph/utils/text-pos.js.map +1 -1
  369. package/es/state/cell-move/adjust-header.js +9 -2
  370. package/es/state/cell-move/adjust-header.js.map +1 -1
  371. package/es/state/cell-move/index.js +9 -3
  372. package/es/state/cell-move/index.js.map +1 -1
  373. package/es/state/frozen/index.d.ts +2 -0
  374. package/es/state/{pin → frozen}/index.js +1 -1
  375. package/es/state/frozen/index.js.map +1 -0
  376. package/es/state/state.d.ts +1 -1
  377. package/es/state/state.js +16 -12
  378. package/es/state/state.js.map +1 -1
  379. package/es/themes/ARCO.js +1 -1
  380. package/es/themes/ARCO.js.map +1 -1
  381. package/es/themes/BRIGHT.js +1 -1
  382. package/es/themes/BRIGHT.js.map +1 -1
  383. package/es/themes/DARK.js +1 -1
  384. package/es/themes/DARK.js.map +1 -1
  385. package/es/themes/DEFAULT.js +1 -1
  386. package/es/themes/DEFAULT.js.map +1 -1
  387. package/es/themes/theme.d.ts +1 -1
  388. package/es/themes/theme.js +6 -6
  389. package/es/themes/theme.js.map +1 -1
  390. package/es/tools/LimitPromiseQueue.js +1 -2
  391. package/es/tools/NumberMap.js +1 -1
  392. package/es/tools/Rect.js +1 -1
  393. package/es/tools/calc.js +1 -1
  394. package/es/tools/debounce.js +1 -1
  395. package/es/tools/diff-cell.d.ts +10 -0
  396. package/es/tools/diff-cell.js +42 -0
  397. package/es/tools/diff-cell.js.map +1 -0
  398. package/es/tools/dom.js +1 -1
  399. package/es/tools/env.js +1 -1
  400. package/es/tools/helper.d.ts +11 -0
  401. package/es/tools/helper.js +4 -0
  402. package/es/tools/helper.js.map +1 -1
  403. package/es/tooltip/BaseTooltip.js +1 -1
  404. package/es/tooltip/Tooltip.js +2 -1
  405. package/es/tooltip/TooltipHandler.js +1 -1
  406. package/es/ts-types/base-table.d.ts +8 -2
  407. package/es/ts-types/base-table.js +1 -1
  408. package/es/ts-types/base-table.js.map +1 -1
  409. package/es/ts-types/common.js +1 -1
  410. package/es/ts-types/customElement.d.ts +11 -2
  411. package/es/ts-types/customElement.js +1 -1
  412. package/es/ts-types/customElement.js.map +1 -1
  413. package/es/ts-types/customLayout.js +1 -1
  414. package/es/ts-types/events.js +1 -1
  415. package/es/ts-types/icon.d.ts +4 -5
  416. package/es/ts-types/icon.js +6 -6
  417. package/es/ts-types/icon.js.map +1 -1
  418. package/es/ts-types/list-table/define/basic-define.d.ts +4 -1
  419. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  420. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  421. package/es/ts-types/theme.d.ts +1 -1
  422. package/es/ts-types/theme.js.map +1 -1
  423. package/package.json +9 -9
  424. package/cjs/scenegraph/component/menu.d.ts +0 -41
  425. package/cjs/scenegraph/graphic/text.d.ts +0 -16
  426. package/cjs/state/pin/index.d.ts +0 -2
  427. package/cjs/state/pin/index.js.map +0 -1
  428. package/es/scenegraph/component/menu.d.ts +0 -41
  429. package/es/scenegraph/graphic/text.d.ts +0 -16
  430. package/es/state/pin/index.d.ts +0 -2
  431. package/es/state/pin/index.js.map +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.EventManeger = void 0;
6
6
 
7
- const vrender_1 = require("@visactor/vrender"), ts_types_1 = require("../ts-types"), ts_types_2 = require("../ts-types"), TABLE_EVENT_TYPE_1 = require("../core/TABLE_EVENT_TYPE"), check_in_select_1 = require("../state/common/check-in-select"), util_1 = require("../tools/util"), helper_1 = require("../tools/helper"), Rect_1 = require("../tools/Rect"), media_click_1 = require("./media-click"), drill_1 = require("./drill"), sparkline_event_1 = require("./sparkline-event"), icon_1 = require("../scenegraph/utils/icon"), scroll_1 = require("./scroll");
7
+ const vrender_1 = require("@visactor/vrender"), ts_types_1 = require("../ts-types"), TABLE_EVENT_TYPE_1 = require("../core/TABLE_EVENT_TYPE"), check_in_select_1 = require("../state/common/check-in-select"), media_click_1 = require("./media-click"), drill_1 = require("./drill"), sparkline_event_1 = require("./sparkline-event"), stick_text_1 = require("../scenegraph/stick-text"), table_group_1 = require("./listener/table-group"), scroll_bar_1 = require("./listener/scroll-bar"), container_dom_1 = require("./listener/container-dom"), touch_1 = require("./listener/touch");
8
8
 
9
9
  class EventManeger {
10
10
  constructor(table) {
@@ -13,312 +13,19 @@ class EventManeger {
13
13
  }), 0);
14
14
  }
15
15
  bindOuterEvent() {
16
- const handler = this.table.internalProps.handler, stateManeger = this.table.stateManeger, scenegraph = this.table.scenegraph;
17
- this.table.scenegraph.tableGroup.addEventListener("pointermove", (e => {
18
- var _a, _b, _c, _d;
19
- const eventArgsSet = _getCellEventArgsSet(e);
20
- if (stateManeger.interactionState !== ts_types_1.InteractionState.scrolling) if (stateManeger.interactionState !== ts_types_1.InteractionState.grabing) {
21
- if (this.checkColumnResizer(eventArgsSet) ? stateManeger.updateCursor("col-resize") : stateManeger.updateCursor(),
22
- this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSELEAVE_CELL)) {
23
- const cellGoup = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target;
24
- "cell" !== (null == cellGoup ? void 0 : cellGoup.role) || -1 === this.table.stateManeger.hover.cellPos.col || -1 === this.table.stateManeger.hover.cellPos.row || cellGoup.col === this.table.stateManeger.hover.cellPos.col && cellGoup.row === this.table.stateManeger.hover.cellPos.row || this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {
25
- col: this.table.stateManeger.hover.cellPos.col,
26
- row: this.table.stateManeger.hover.cellPos.row,
27
- cellRange: this.table.getCellRangeRelativeRect({
28
- col: this.table.stateManeger.hover.cellPos.col,
29
- row: this.table.stateManeger.hover.cellPos.row
30
- }),
31
- scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth,
32
- event: e.nativeEvent
33
- });
34
- }
35
- if (this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEENTER_CELL)) {
36
- const cellGoup = null === (_b = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target;
37
- "cell" === (null == cellGoup ? void 0 : cellGoup.role) && (0, util_1.isValid)(cellGoup.col) && (0,
38
- util_1.isValid)(cellGoup.row) && (cellGoup.col !== this.table.stateManeger.hover.cellPos.col || cellGoup.row !== this.table.stateManeger.hover.cellPos.row) && this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEENTER_CELL, {
39
- col: cellGoup.col,
40
- row: cellGoup.row,
41
- cellRange: this.table.getCellRangeRelativeRect({
42
- col: cellGoup.col,
43
- row: cellGoup.row
44
- }),
45
- scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth,
46
- event: e.nativeEvent
47
- });
48
- }
49
- if (this.dealIconHover(eventArgsSet), this.dealTableHover(eventArgsSet), eventArgsSet.eventArgs && this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEMOVE_CELL)) {
50
- let icon, position;
51
- if (null === (_c = eventArgsSet.eventArgs) || void 0 === _c ? void 0 : _c.target) {
52
- const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (_d = eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.target);
53
- iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
54
- }
55
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEMOVE_CELL, {
56
- col: eventArgsSet.eventArgs.col,
57
- row: eventArgsSet.eventArgs.row,
58
- x: eventArgsSet.abstractPos.x,
59
- y: eventArgsSet.abstractPos.y,
60
- event: e.nativeEvent,
61
- targetIcon: icon ? {
62
- name: icon.name,
63
- position: position,
64
- funcType: icon.attribute.funcType
65
- } : void 0
66
- });
67
- }
68
- } else stateManeger.isResizeCol() ? (this.dealColumnResizer(eventArgsSet), eventArgsSet.eventArgs && this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.RESIZE_COLUMN) && this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.RESIZE_COLUMN, {
69
- col: this.table.stateManeger.columnResize.col,
70
- colWidth: this.table.getColWidth(this.table.stateManeger.columnResize.col)
71
- })) : stateManeger.isMoveCol() ? this.dealColumnMover(eventArgsSet) : this.dealTableSelect(eventArgsSet);
72
- })), this.table.scenegraph.tableGroup.addEventListener("pointerout", (e => {
73
- var _a;
74
- const eventArgsSet = _getCellEventArgsSet(e), cellGoup = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target;
75
- "table" === (null == cellGoup ? void 0 : cellGoup.role) && this.dealTableHover();
76
- })), this.table.scenegraph.tableGroup.addEventListener("pointerover", (e => {
77
- var _a;
78
- const eventArgsSet = _getCellEventArgsSet(e), cellGoup = null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target;
79
- if (this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL) && "symbol" === cellGoup.type) {
80
- const cellGroup = e.composedPath().find((p => "cell" === p.roll));
81
- if (cellGroup) {
82
- const {col: col, row: row} = cellGroup, eventInfo = {
83
- col: col,
84
- row: row,
85
- field: this.table.getHeaderField(col, row),
86
- value: this.table.getCellValue(col, row),
87
- dataValue: this.table.getCellOriginValue(col, row),
88
- cellHeaderPaths: this.table.internalProps.layoutMap.getCellHeaderPaths(col, row),
89
- caption: this.table.getBodyColumnDefine(col, row).caption,
90
- cellRange: this.table.getCellRelativeRect(col, row),
91
- event: e.nativeEvent,
92
- sparkline: {
93
- pointData: void 0
94
- },
95
- scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth
96
- };
97
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);
98
- }
99
- }
100
- })), this.table.scenegraph.tableGroup.addEventListener("pointerleave", (e => {
101
- stateManeger.updateInteractionState(ts_types_1.InteractionState.default), this.dealTableHover(),
102
- stateManeger.updateCursor();
103
- const target = e.target;
104
- target && !target.isDescendantsOf(this.table.scenegraph.tableGroup) && this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {
105
- col: -1,
106
- row: -1,
107
- event: e.nativeEvent
108
- });
109
- })), handler.on(this.table.getElement(), "blur", (e => {
110
- console.log("blur"), this.dealTableHover();
111
- })), this.table.scenegraph.tableGroup.addEventListener("pointerupoutside", (e => {
112
- console.log("pointerupoutside"), stateManeger.updateInteractionState(ts_types_1.InteractionState.default),
113
- this.dealTableHover(), this.dealTableSelect();
114
- })), this.table.scenegraph.tableGroup.addEventListener("pointerdown", (e => {
115
- var _a, _b, _c, _d;
116
- if (0 !== e.button) return;
117
- const eventArgsSet = _getCellEventArgsSet(e);
118
- if (stateManeger.interactionState !== ts_types_1.InteractionState.default) return;
119
- stateManeger.menu.isShow && eventArgsSet.eventArgs && eventArgsSet.eventArgs.target !== (null === (_a = stateManeger.residentHoverIcon) || void 0 === _a ? void 0 : _a.icon) && stateManeger.hideMenu();
120
- if (!((null === (_d = null === (_c = null === (_b = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target) || void 0 === _c ? void 0 : _c.role) || void 0 === _d ? void 0 : _d.startsWith("icon")) ? eventArgsSet.eventArgs.target : void 0)) {
121
- if (this.checkColumnResizer(eventArgsSet, !0)) return void stateManeger.updateInteractionState(ts_types_1.InteractionState.grabing);
122
- if (this.chechColumnMover(eventArgsSet)) return void stateManeger.updateInteractionState(ts_types_1.InteractionState.grabing);
123
- this.dealTableSelect(eventArgsSet) && stateManeger.updateInteractionState(ts_types_1.InteractionState.grabing);
124
- }
125
- if (this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {
126
- const eventArgsSet = _getCellEventArgsSet(e);
127
- eventArgsSet.eventArgs && this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_CELL, {
128
- col: eventArgsSet.eventArgs.col,
129
- row: eventArgsSet.eventArgs.row,
130
- event: e.nativeEvent
131
- });
132
- }
133
- })), this.table.scenegraph.tableGroup.addEventListener("pointerup", (e => {
134
- if (0 === e.button) {
135
- if ("grabing" === stateManeger.interactionState) {
136
- if (stateManeger.updateInteractionState(ts_types_1.InteractionState.default), stateManeger.isResizeCol()) {
137
- if (this.table.stateManeger.endResizeCol(), this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.RESIZE_COLUMN_END)) {
138
- const columns = [];
139
- for (let col = 0; col < this.table.colCount; col++) columns.push(this.table.getColWidth(col));
140
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.RESIZE_COLUMN_END, {
141
- col: this.table.stateManeger.columnResize.col,
142
- columns: columns
143
- });
144
- }
145
- } else if (stateManeger.isMoveCol()) {
146
- this.table.stateManeger.endMoveCol();
147
- const eventArgsSet = _getCellEventArgsSet(e);
148
- eventArgsSet.eventArgs && this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION) && this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION, {
149
- target: {
150
- col: eventArgsSet.eventArgs.col,
151
- row: eventArgsSet.eventArgs.row
152
- },
153
- source: {
154
- col: this.table.stateManeger.columnMove.colSource,
155
- row: this.table.stateManeger.columnMove.colSource
156
- }
157
- });
158
- } else if (stateManeger.isSelecting()) {
159
- this.table.stateManeger.endSelectCells();
160
- const eventArgsSet = _getCellEventArgsSet(e);
161
- if (eventArgsSet.eventArgs && this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DRAG_SELECT_END)) {
162
- const cellsEvent = {
163
- event: e.nativeEvent,
164
- cells: [],
165
- col: eventArgsSet.eventArgs.target.col,
166
- row: eventArgsSet.eventArgs.target.row,
167
- scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth
168
- };
169
- cellsEvent.cells = this.table.getSelectedCellInfos(), this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);
170
- }
171
- }
172
- } else stateManeger.interactionState === ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.default);
173
- if (this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEUP_CELL)) {
174
- const eventArgsSet = _getCellEventArgsSet(e);
175
- eventArgsSet.eventArgs && this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEUP_CELL, {
176
- col: eventArgsSet.eventArgs.col,
177
- row: eventArgsSet.eventArgs.row,
178
- event: e.nativeEvent
179
- });
180
- }
181
- }
182
- })), this.table.scenegraph.tableGroup.addEventListener("rightdown", (e => {
183
- var _a, _b;
184
- const eventArgsSet = _getCellEventArgsSet(e);
185
- if (eventArgsSet.eventArgs) {
186
- stateManeger.triggerContextMenu(eventArgsSet.eventArgs.col, eventArgsSet.eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
187
- const {col: col, row: row} = eventArgsSet.eventArgs;
188
- if (this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CONTEXTMENU_CELL)) {
189
- const cellInfo = this.table.getCellInfo(col, row);
190
- let icon, position;
191
- if (null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) {
192
- const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target);
193
- iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
194
- }
195
- const cellsEvent = Object.assign(Object.assign({}, cellInfo), {
196
- event: e.nativeEvent,
197
- cells: [],
198
- targetIcon: icon ? {
199
- name: icon.name,
200
- position: position,
201
- funcType: icon.attribute.funcType
202
- } : void 0
203
- });
204
- (0, helper_1.cellInRanges)(this.table.stateManeger.select.ranges, col, row) ? cellsEvent.cells = this.table.getSelectedCellInfos() : cellsEvent.cells = [ [ cellInfo ] ],
205
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);
206
- }
207
- }
208
- })), this.table.scenegraph.tableGroup.addEventListener("click", (e => {
209
- var _a, _b;
210
- if (console.log("click", e), this.table.stateManeger.columnResize.resizing || this.table.stateManeger.columnMove.moving) return;
211
- const eventArgsSet = _getCellEventArgsSet(e);
212
- if (this.dealIconClick(e, eventArgsSet), !(null == eventArgsSet ? void 0 : eventArgsSet.eventArgs)) return;
213
- const {col: col, row: row} = eventArgsSet.eventArgs;
214
- if (this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CLICK_CELL)) {
215
- const cellInfo = this.table.getCellInfo(col, row);
216
- let icon, position;
217
- if (null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) {
218
- const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target);
219
- iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
220
- }
221
- const cellsEvent = Object.assign(Object.assign({}, cellInfo), {
222
- event: e.nativeEvent,
223
- cells: [],
224
- targetIcon: icon ? {
225
- name: icon.name,
226
- position: position,
227
- funcType: icon.attribute.funcType
228
- } : void 0
229
- });
230
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);
231
- }
232
- })), this.table.scenegraph.stage.addEventListener("click", (e => {
233
- console.log("stage click");
234
- const target = e.target;
235
- target && !target.isDescendantsOf(this.table.scenegraph.tableGroup) && target !== this.table.scenegraph.tableGroup && (console.log("pointerup outside table"),
236
- stateManeger.updateInteractionState(ts_types_1.InteractionState.default), this.dealTableHover(),
237
- this.dealTableSelect(), stateManeger.updateCursor());
238
- })), this.table.scenegraph.tableGroup.addEventListener("dblclick", (e => {
239
- var _a, _b;
240
- const eventArgsSet = _getCellEventArgsSet(e), bounds = eventArgsSet.eventArgs.targetCell.globalAABBBounds, {col: col, row: row} = eventArgsSet.eventArgs, value = this.table.getCellValue(col, row);
241
- if (this.table.internalProps.focusControl.setFocusRect(new Rect_1.Rect(bounds.x1 + this.table.scrollLeft, bounds.y1 + this.table.scrollTop, bounds.x2 - bounds.x1, bounds.y2 - bounds.y1), value),
242
- this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL)) {
243
- const cellInfo = this.table.getCellInfo(col, row);
244
- let icon, position;
245
- if (null === (_a = eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target) {
246
- const iconInfo = (0, icon_1.getIconAndPositionFromTarget)(null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target);
247
- iconInfo && (icon = iconInfo.icon, position = iconInfo.position);
248
- }
249
- const cellsEvent = Object.assign(Object.assign({}, cellInfo), {
250
- event: e.nativeEvent,
251
- cells: [],
252
- targetIcon: icon ? {
253
- name: icon.name,
254
- position: position,
255
- funcType: icon.attribute.funcType
256
- } : void 0
257
- });
258
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);
259
- }
260
- })), scenegraph.component.vScrollBar.addEventListener("pointerover", (e => {
261
- stateManeger.showVerticalScrollBar();
262
- })), scenegraph.component.hScrollBar.addEventListener("pointerover", (e => {
263
- stateManeger.showHorizontalScrollBar();
264
- })), scenegraph.component.vScrollBar.addEventListener("pointerout", (e => {
265
- stateManeger.interactionState !== ts_types_1.InteractionState.scrolling && stateManeger.hideVerticalScrollBar();
266
- })), scenegraph.component.hScrollBar.addEventListener("pointerout", (e => {
267
- stateManeger.interactionState !== ts_types_1.InteractionState.scrolling && stateManeger.hideHorizontalScrollBar();
268
- })), scenegraph.component.vScrollBar._slider.addEventListener("pointerdown", (() => {
269
- stateManeger.interactionState !== ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.scrolling);
270
- })), scenegraph.component.vScrollBar.addEventListener("pointerup", (() => {
271
- stateManeger.interactionState === ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.default);
272
- })), scenegraph.component.vScrollBar.addEventListener("pointerupoutside", (() => {
273
- stateManeger.interactionState === ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.default);
274
- })), scenegraph.component.hScrollBar._slider.addEventListener("pointerdown", (() => {
275
- stateManeger.interactionState !== ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.scrolling);
276
- })), scenegraph.component.hScrollBar.addEventListener("pointerup", (() => {
277
- stateManeger.interactionState === ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.default);
278
- })), scenegraph.component.hScrollBar.addEventListener("pointerupoutside", (() => {
279
- stateManeger.interactionState === ts_types_1.InteractionState.scrolling && stateManeger.updateInteractionState(ts_types_1.InteractionState.default);
280
- }));
281
- const throttleVerticalWheel = (0, util_1.throttle)(stateManeger.updateVerticalScrollBar, 20), throttleHorizontalWheel = (0,
282
- util_1.throttle)(stateManeger.updateHorizontalScrollBar, 20);
283
- scenegraph.component.vScrollBar.addEventListener("scroll", (e => {
284
- const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);
285
- throttleVerticalWheel(ratio, e);
286
- })), scenegraph.component.hScrollBar.addEventListener("scroll", (e => {
287
- const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);
288
- throttleHorizontalWheel(ratio);
289
- })), handler.on(this.table.getElement(), "wheel", (e => {
290
- (0, scroll_1.handleWhell)(e, stateManeger);
291
- })), handler.on(this.table.getElement(), "keydown", (e => {
292
- var _a, _b;
293
- if ((null === (_a = this.table.keyboardOptions) || void 0 === _a ? void 0 : _a.selectAllOnCtrlA) && "a" === e.key && (e.ctrlKey || e.metaKey) && (e.preventDefault(),
294
- this.deelTableSelectAll()), this.table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.KEYDOWN)) {
295
- const cellsEvent = {
296
- keyCode: null !== (_b = e.keyCode) && void 0 !== _b ? _b : e.which,
297
- code: e.code,
298
- event: e,
299
- cells: this.table.getSelectedCellInfos(),
300
- scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth
301
- };
302
- this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.KEYDOWN, cellsEvent);
303
- }
304
- })), handler.on(this.table.getElement(), "copy", (e => {
305
- var _a;
306
- if (null === (_a = this.table.keyboardOptions) || void 0 === _a ? void 0 : _a.copySelected) {
307
- const data = this.table.getCopyValue();
308
- (0, util_1.isValid)(data) && (e.preventDefault(), helper_1.browser.IE ? window.clipboardData.setData("Text", data) : e.clipboardData.setData("text/plain", data));
309
- }
310
- })), handler.on(this.table.getElement(), "contextmenu", (e => {
311
- e.preventDefault();
312
- }));
16
+ (0, table_group_1.bindTableGroupListener)(this), (0, container_dom_1.bindContainerDomListener)(this),
17
+ (0, scroll_bar_1.bindScrollBarListener)(this), (0, touch_1.bindTouchListener)(this);
313
18
  }
314
19
  bindSelfEvent() {
315
20
  const stateManeger = this.table.stateManeger;
316
21
  this.table.listen(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.ICON_CLICK, (iconInfo => {
317
22
  const {col: col, row: row, x: x, y: y, funcType: funcType, icon: icon} = iconInfo;
318
- funcType === ts_types_2.IconFuncTypeEnum.dropDown ? stateManeger.triggerDropDownMenu(col, row, x, y) : funcType === ts_types_2.IconFuncTypeEnum.sort ? stateManeger.triggerSort(col, row, icon) : funcType === ts_types_2.IconFuncTypeEnum.pin ? stateManeger.triggerPin(col, row, icon) : funcType === ts_types_2.IconFuncTypeEnum.drillDown && (0,
319
- drill_1.drillClick)(this.table);
23
+ funcType === ts_types_1.IconFuncTypeEnum.dropDown ? stateManeger.triggerDropDownMenu(col, row, x, y) : funcType === ts_types_1.IconFuncTypeEnum.sort ? stateManeger.triggerSort(col, row, icon) : funcType === ts_types_1.IconFuncTypeEnum.frozen ? stateManeger.triggerFreeze(col, row, icon) : funcType === ts_types_1.IconFuncTypeEnum.drillDown ? (0,
24
+ drill_1.drillClick)(this.table) : funcType !== ts_types_1.IconFuncTypeEnum.collapse && funcType !== ts_types_1.IconFuncTypeEnum.expand || this.table.toggleHierarchyState(col, row);
320
25
  })), this.table.listen(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DROPDOWNMENU_CLICK, (() => {
321
26
  stateManeger.hideMenu();
27
+ })), this.table.listen(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, (e => {
28
+ (0, stick_text_1.handleTextStick)(this.table);
322
29
  })), (0, media_click_1.bindMediaClick)(this.table), this.table.listen(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.DBLCLICK_CELL, (e => {
323
30
  this.table._canResizeColumn(e.col, e.row) && this.table.scenegraph.updateAutoColWidth(e.col);
324
31
  })), this.table.isPivotTable() && (0, drill_1.bindDrillEvent)(this.table), (0, sparkline_event_1.bindSparklineHoverEvent)(this.table);
@@ -343,7 +50,7 @@ class EventManeger {
343
50
  this.table.stateManeger.updateSelectPos(-1, -1, !1, !1, !0);
344
51
  }
345
52
  dealMenuSelect(eventArgsSet) {}
346
- checkColumnResizer(eventArgsSet, update) {
53
+ checkColumnResize(eventArgsSet, update) {
347
54
  const {eventArgs: eventArgs} = eventArgsSet;
348
55
  if (eventArgs) {
349
56
  const resizeCol = this.table.scenegraph.getResizeColAt(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y, eventArgs.targetCell);
@@ -352,7 +59,7 @@ class EventManeger {
352
59
  }
353
60
  return !1;
354
61
  }
355
- dealColumnResizer(eventArgsSet) {
62
+ dealColumnResize(eventArgsSet) {
356
63
  this.table.stateManeger.updateResizeCol(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
357
64
  }
358
65
  chechColumnMover(eventArgsSet) {
@@ -365,7 +72,7 @@ class EventManeger {
365
72
  const {eventArgs: eventArgs} = eventArgsSet;
366
73
  this.table.stateManeger.updateMoveCol(eventArgs.col, eventArgs.row, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);
367
74
  }
368
- startColumnResizer(eventArgsSet) {}
75
+ startColumnResize(eventArgsSet) {}
369
76
  dealIconClick(e, eventArgsSet) {
370
77
  const {eventArgs: eventArgs} = eventArgsSet, {target: target, event: event, col: col, row: row} = eventArgs || {
371
78
  target: e.target,
@@ -398,29 +105,5 @@ class EventManeger {
398
105
  }
399
106
  }
400
107
 
401
- function _getCellEventArgsSet(e) {
402
- const tableEvent = {
403
- abstractPos: {
404
- x: e.x,
405
- y: e.y
406
- }
407
- }, targetCell = getTargetCell(e.target);
408
- return targetCell && (tableEvent.eventArgs = {
409
- col: targetCell.col,
410
- row: targetCell.row,
411
- event: e,
412
- targetCell: targetCell,
413
- target: e.target
414
- }), tableEvent;
415
- }
416
-
417
- function getTargetCell(target) {
418
- for (;target && target.parent; ) {
419
- if ("cell" === target.role) return target;
420
- target = target.parent;
421
- }
422
- return null;
423
- }
424
-
425
- //# sourceMappingURL=event.js.map
426
- exports.EventManeger = EventManeger;
108
+ exports.EventManeger = EventManeger;
109
+ //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["event/event.ts"],"names":[],"mappings":"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","file":"event.js","sourcesContent":["// import { FederatedPointerEvent } from '@visactor/vrender';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\nimport { RichText } from '@visactor/vrender';\nimport type { KeydownEvent, MousePointerMultiCellEvent, MousePointerSparklineEvent } from '../ts-types';\nimport { InteractionState } from '../ts-types';\nimport { IconFuncTypeEnum } from '../ts-types';\nimport type { EventHandler } from './EventHandler';\nimport type { StateManeger } from '../state/state';\nimport type { Scenegraph } from '../scenegraph/scenegraph';\nimport type { Group } from '../scenegraph/graphic/group';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport { checkCellInSelect } from '../state/common/check-in-select';\nimport { throttle, isValid } from '../tools/util';\nimport { browser, cellInRanges } from '../tools/helper';\nimport { Rect } from '../tools/Rect';\nimport { bindMediaClick } from './media-click';\nimport { bindDrillEvent, drillClick } from './drill';\nimport { bindSparklineHoverEvent } from './sparkline-event';\nimport { getIconAndPositionFromTarget } from '../scenegraph/utils/icon';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { handleWhell } from './scroll';\n\ninterface SceneEvent {\n abstractPos: {\n x: number;\n y: number;\n };\n eventArgs?: {\n col: number;\n row: number;\n event: FederatedPointerEvent;\n targetCell: Group;\n target: IEventTarget;\n };\n}\nexport class EventManeger {\n table: BaseTableAPI;\n // _col: number;\n // _resizing: boolean = false;\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindOuterEvent();\n setTimeout(() => {\n this.bindSelfEvent();\n }, 0);\n }\n\n // 绑定DOM事件\n bindOuterEvent() {\n const handler: EventHandler = this.table.internalProps.handler;\n const stateManeger: StateManeger = this.table.stateManeger;\n const scenegraph: Scenegraph = this.table.scenegraph;\n // const { tableGroup } = this.table.scenegraph;\n // handler.on(this.table.getElement(), 'pointermove', (e: MouseEvent) => {\n // console.log('VTable div pointermove');\n // });\n\n this.table.scenegraph.tableGroup.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n // console.log('scenegraph pointermove',e.type);\n // const eventArgsSet: SceneEvent = (this.table as any)._getCellEventArgsSet(e);\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 this.dealColumnResizer(eventArgsSet);\n if (eventArgsSet.eventArgs && (this.table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n this.table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: this.table.stateManeger.columnResize.col,\n colWidth: this.table.getColWidth(this.table.stateManeger.columnResize.col)\n });\n }\n } else if (stateManeger.isMoveCol()) {\n this.dealColumnMover(eventArgsSet);\n } else {\n this.dealTableSelect(eventArgsSet);\n }\n return;\n }\n // if (stateManeger.menu.isShow && stateManeger.menu.bounds.inPoint(e.x, e.y)) {\n // this.dealMenuHover(eventArgsSet);\n // return;\n // }\n // 更新列宽调整pointer\n if (this.checkColumnResizer(eventArgsSet)) {\n stateManeger.updateCursor('col-resize');\n } else {\n stateManeger.updateCursor();\n }\n\n if ((this.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 this.table.stateManeger.hover.cellPos.col !== -1 &&\n this.table.stateManeger.hover.cellPos.row !== -1 &&\n (cellGoup.col !== this.table.stateManeger.hover.cellPos.col ||\n cellGoup.row !== this.table.stateManeger.hover.cellPos.row)\n ) {\n this.table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, {\n col: this.table.stateManeger.hover.cellPos.col,\n row: this.table.stateManeger.hover.cellPos.row,\n cellRange: this.table.getCellRangeRelativeRect({\n col: this.table.stateManeger.hover.cellPos.col,\n row: this.table.stateManeger.hover.cellPos.row\n }),\n scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n if ((this.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 !== this.table.stateManeger.hover.cellPos.col ||\n cellGoup.row !== this.table.stateManeger.hover.cellPos.row)\n ) {\n this.table.fireListeners(TABLE_EVENT_TYPE.MOUSEENTER_CELL, {\n col: cellGoup.col,\n row: cellGoup.row,\n cellRange: this.table.getCellRangeRelativeRect({\n col: cellGoup.col,\n row: cellGoup.row\n }),\n scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth,\n event: e.nativeEvent\n });\n }\n }\n this.dealIconHover(eventArgsSet);\n this.dealTableHover(eventArgsSet);\n\n // 触发MOUSEMOVE_CELL\n if (eventArgsSet.eventArgs && (this.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 this.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 this.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 this.dealTableHover();\n }\n });\n\n this.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 ((this.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: this.table.getHeaderField(col, row),\n value: this.table.getCellValue(col, row),\n dataValue: this.table.getCellOriginValue(col, row),\n cellHeaderPaths: this.table.internalProps.layoutMap.getCellHeaderPaths(col, row),\n caption: this.table.getBodyColumnDefine(col, row).caption,\n cellRange: this.table.getCellRelativeRect(col, row),\n event: e.nativeEvent,\n sparkline: {\n pointData: undefined // chartPoint.pointData,\n },\n scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth\n };\n this.table.fireListeners(TABLE_EVENT_TYPE.MOUSEOVER_CHART_SYMBOL, eventInfo);\n }\n }\n //MOUSEENTER_CELL 不能在这里触发 引发在单元格内移动会触发多次的问题【迷你图的单元格中】\n // if ((this.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', this.table.stateManeger.hover.cellPos);\n // if (\n // cellGoup?.role === 'cell' &&\n // (cellGoup.col !== this.table.stateManeger.hover.cellPos.col ||\n // cellGoup.row !== this.table.stateManeger.hover.cellPos.row)\n // ) {\n // this.table.fireListeners(DG_EVENT_TYPE.MOUSEENTER_CELL, {\n // col: cellGoup.col,\n // row: cellGoup.row,\n // cellRange: this.table.getCellRangeRelativeRect({\n // col: cellGoup.col,\n // row: cellGoup.row,\n // }),\n // scaleRatio:\n // this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // }\n });\n // this.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 // this.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: this.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: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth,\n // event: e.nativeEvent,\n // });\n // }\n // });\n this.table.scenegraph.tableGroup.addEventListener('pointerleave', (e: FederatedPointerEvent) => {\n stateManeger.updateInteractionState(InteractionState.default);\n this.dealTableHover();\n stateManeger.updateCursor();\n const target = e.target;\n if (target && !target.isDescendantsOf(this.table.scenegraph.tableGroup)) {\n this.table.fireListeners(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, {\n col: -1,\n row: -1,\n event: e.nativeEvent\n });\n }\n });\n\n handler.on(this.table.getElement(), 'blur', (e: MouseEvent) => {\n console.log('blur');\n this.dealTableHover();\n // this.dealTableSelect();\n });\n\n this.table.scenegraph.tableGroup.addEventListener('pointerupoutside', (e: FederatedPointerEvent) => {\n console.log('pointerupoutside');\n stateManeger.updateInteractionState(InteractionState.default);\n this.dealTableHover();\n this.dealTableSelect();\n });\n\n this.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 // 处理列宽调整\n if (this.checkColumnResizer(eventArgsSet, true)) {\n // this.startColumnResizer(e);\n // this._resizing = true;\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // 处理column mover\n if (this.chechColumnMover(eventArgsSet)) {\n stateManeger.updateInteractionState(InteractionState.grabing);\n return;\n }\n\n // // 处理icon点击\n // if (this.dealIconClick(eventArgsSet)) {\n // return; // 点击图标不透传到单元格\n // }\n\n // 处理单元格选择\n if (this.dealTableSelect(eventArgsSet)) {\n // 先执行单选逻辑,再更新为grabing模式\n // stateManeger.interactionState = 'grabing';\n stateManeger.updateInteractionState(InteractionState.grabing);\n // console.log('DRAG_SELECT_START');\n }\n }\n if ((this.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_CELL)) {\n const eventArgsSet: SceneEvent = _getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n this.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 this.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 // this._resizing = false;\n if (stateManeger.isResizeCol()) {\n this.table.stateManeger.endResizeCol();\n if ((this.table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END)) {\n // RESIZE_COLUMN_END事件触发,返回所有列宽\n const columns = [];\n // 返回所有列宽信息\n for (let col = 0; col < this.table.colCount; col++) {\n columns.push(this.table.getColWidth(col));\n }\n this.table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN_END, {\n col: this.table.stateManeger.columnResize.col,\n columns\n });\n }\n } else if (stateManeger.isMoveCol()) {\n this.table.stateManeger.endMoveCol();\n const eventArgsSet: SceneEvent = _getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (this.table as any).hasListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION)) {\n this.table.fireListeners(TABLE_EVENT_TYPE.CHANGE_HEADER_POSITION, {\n target: { col: eventArgsSet.eventArgs.col, row: eventArgsSet.eventArgs.row },\n source: {\n col: this.table.stateManeger.columnMove.colSource,\n row: this.table.stateManeger.columnMove.colSource //TODO row\n }\n });\n }\n } else if (stateManeger.isSelecting()) {\n this.table.stateManeger.endSelectCells();\n const eventArgsSet: SceneEvent = _getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs && (this.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: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth\n };\n\n cellsEvent.cells = this.table.getSelectedCellInfos();\n this.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 ((this.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEUP_CELL)) {\n const eventArgsSet: SceneEvent = _getCellEventArgsSet(e);\n if (eventArgsSet.eventArgs) {\n this.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 this.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 ((this.table as any).hasListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL)) {\n const cellInfo = this.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(this.table.stateManeger.select.ranges, col, row)) {\n // 用户右键点击已经选中的区域\n // const { start, end } = this.selection.range;\n cellsEvent.cells = this.table.getSelectedCellInfos();\n } else {\n // 用户右键点击新单元格\n cellsEvent.cells = [[cellInfo]];\n }\n\n this.table.fireListeners(TABLE_EVENT_TYPE.CONTEXTMENU_CELL, cellsEvent);\n }\n }\n });\n\n this.table.scenegraph.tableGroup.addEventListener('click', (e: FederatedPointerEvent) => {\n console.log('click', e);\n if (this.table.stateManeger.columnResize.resizing || this.table.stateManeger.columnMove.moving) {\n return;\n }\n const eventArgsSet: SceneEvent = _getCellEventArgsSet(e);\n this.dealIconClick(e, eventArgsSet);\n if (!eventArgsSet?.eventArgs) {\n return;\n }\n const { col, row } = eventArgsSet.eventArgs;\n if ((this.table as any).hasListeners(TABLE_EVENT_TYPE.CLICK_CELL)) {\n const cellInfo = this.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 this.table.fireListeners(TABLE_EVENT_TYPE.CLICK_CELL, cellsEvent);\n }\n });\n\n // click outside\n this.table.scenegraph.stage.addEventListener('click', (e: FederatedPointerEvent) => {\n console.log('stage click');\n const target = e.target;\n if (\n target &&\n !target.isDescendantsOf(this.table.scenegraph.tableGroup) &&\n (target as any) !== this.table.scenegraph.tableGroup\n ) {\n console.log('pointerup outside table');\n stateManeger.updateInteractionState(InteractionState.default);\n this.dealTableHover();\n this.dealTableSelect();\n stateManeger.updateCursor();\n }\n });\n\n this.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 = this.table.getCellValue(col, row);\n this.table.internalProps.focusControl.setFocusRect(\n new Rect(\n bounds.x1 + this.table.scrollLeft,\n bounds.y1 + this.table.scrollTop,\n bounds.x2 - bounds.x1,\n bounds.y2 - bounds.y1\n ),\n value\n );\n // console.log('activeElement',document.activeElement);\n // this.table.getElement().focus();\n // console.log('activeElement 2',document.activeElement);\n if ((this.table as any).hasListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL)) {\n const cellInfo = this.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 this.table.fireListeners(TABLE_EVENT_TYPE.DBLCLICK_CELL, cellsEvent);\n }\n });\n\n // 监听滚动条组件pointover事件\n scenegraph.component.vScrollBar.addEventListener('pointerover', (e: any) => {\n stateManeger.showVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerover', (e: any) => {\n stateManeger.showHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManeger.hideVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManeger.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManeger.hideHorizontalScrollBar();\n });\n // 目前ScrollBar的pointerdown事件回调内有e.stopPropagation,因此无法通过vScrollBar监听,先使用_slider监听\n (scenegraph.component.vScrollBar as any)._slider.addEventListener('pointerdown', () => {\n if (stateManeger.interactionState !== InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.scrolling);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerup', () => {\n if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerupoutside', () => {\n if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n }\n });\n // 目前ScrollBar的pointerdown事件回调内有e.stopPropagation,因此无法通过hScrollBar监听,先使用_slider监听\n (scenegraph.component.hScrollBar as any)._slider.addEventListener('pointerdown', () => {\n if (stateManeger.interactionState !== InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.scrolling);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerup', () => {\n if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerupoutside', () => {\n if (stateManeger.interactionState === InteractionState.scrolling) {\n stateManeger.updateInteractionState(InteractionState.default);\n }\n });\n\n const throttleVerticalWheel = throttle(stateManeger.updateVerticalScrollBar, 20);\n const throttleHorizontalWheel = throttle(stateManeger.updateHorizontalScrollBar, 20);\n // const debounceScroll = debounce(() => {\n // this.scrolling = false;\n // }, 500);\n\n // 监听滚动条组件scroll事件\n scenegraph.component.vScrollBar.addEventListener('scroll', (e: any) => {\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n // console.log('vScrollBar', e.detail.value);\n // stateManeger.updateVerticalScrollBar(ratio);\n throttleVerticalWheel(ratio, e);\n });\n\n scenegraph.component.hScrollBar.addEventListener('scroll', (e: any) => {\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n // console.log('hScrollBar', ratio);\n // stateManeger.updateHorizontalScrollBar(ratio);\n throttleHorizontalWheel(ratio);\n });\n\n handler.on(this.table.getElement(), 'wheel', (e: WheelEvent) => {\n handleWhell(e, stateManeger);\n });\n // 监听键盘事件\n handler.on(this.table.getElement(), 'keydown', (e: KeyboardEvent) => {\n if (this.table.keyboardOptions?.selectAllOnCtrlA) {\n // 处理全选\n if (e.key === 'a' && (e.ctrlKey || e.metaKey)) {\n e.preventDefault();\n //全选\n this.deelTableSelectAll();\n }\n }\n if ((this.table as any).hasListeners(TABLE_EVENT_TYPE.KEYDOWN)) {\n const cellsEvent: KeydownEvent = {\n keyCode: e.keyCode ?? e.which,\n code: e.code,\n event: e,\n cells: this.table.getSelectedCellInfos(),\n scaleRatio: this.table.canvas.getBoundingClientRect().width / this.table.canvas.offsetWidth\n };\n this.table.fireListeners(TABLE_EVENT_TYPE.KEYDOWN, cellsEvent);\n }\n });\n\n handler.on(this.table.getElement(), 'copy', (e: KeyboardEvent) => {\n if (this.table.keyboardOptions?.copySelected) {\n const data = this.table.getCopyValue();\n if (isValid(data)) {\n e.preventDefault();\n if (browser.IE) {\n (window as any).clipboardData.setData('Text', data); // IE\n } else {\n (e as any).clipboardData.setData('text/plain', data); // Chrome, Firefox\n }\n }\n }\n });\n\n handler.on(this.table.getElement(), 'contextmenu', (e: any) => {\n e.preventDefault();\n });\n }\n\n bindSelfEvent() {\n const stateManeger: StateManeger = this.table.stateManeger;\n\n // 图标点击\n this.table.listen(TABLE_EVENT_TYPE.ICON_CLICK, iconInfo => {\n const { col, row, x, y, funcType, icon } = iconInfo;\n // 下拉菜单按钮点击\n if (funcType === IconFuncTypeEnum.dropDown) {\n stateManeger.triggerDropDownMenu(col, row, x, y);\n } else if (funcType === IconFuncTypeEnum.sort) {\n stateManeger.triggerSort(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.pin) {\n stateManeger.triggerPin(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.drillDown) {\n drillClick(this.table);\n }\n });\n\n // 下拉菜单内容点击\n this.table.listen(TABLE_EVENT_TYPE.DROPDOWNMENU_CLICK, () => {\n stateManeger.hideMenu();\n });\n\n // link/image/video点击\n bindMediaClick(this.table);\n\n // 双击自动列宽\n this.table.listen(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (this.table._canResizeColumn(e.col, e.row)) {\n this.table.scenegraph.updateAutoColWidth(e.col);\n }\n });\n\n // drill icon\n if (this.table.isPivotTable()) {\n bindDrillEvent(this.table);\n }\n\n // chart hover\n bindSparklineHoverEvent(this.table);\n }\n\n dealTableHover(eventArgsSet?: SceneEvent) {\n if (!eventArgsSet) {\n this.table.stateManeger.updateHoverPos(-1, -1);\n return;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverPos(eventArgs.col, eventArgs.row);\n } else {\n this.table.stateManeger.updateHoverPos(-1, -1);\n }\n }\n\n dealIconHover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverIcon(\n eventArgs.col,\n eventArgs.row,\n eventArgs.target,\n eventArgs.targetCell,\n eventArgs.event\n );\n } else {\n this.table.stateManeger.updateHoverIcon(-1, -1, undefined, undefined);\n }\n }\n\n dealMenuHover(eventArgsSet: SceneEvent) {\n // menu自身状态实现\n }\n\n dealTableSelect(eventArgsSet?: SceneEvent): boolean {\n if (!eventArgsSet) {\n this.table.stateManeger.updateSelectPos(-1, -1);\n return false;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverPos(-1, -1);\n // console.log('TableSelectPos', eventArgs.col, eventArgs.row);\n this.table.stateManeger.updateSelectPos(\n eventArgs.col,\n eventArgs.row,\n eventArgs.event.shiftKey,\n eventArgs.event.ctrlKey || eventArgs.event.metaKey\n );\n return true;\n }\n // this.table.stateManeger.updateSelectPos(-1, -1); 这句有问题 如drag框选鼠标超出表格范围 这里就直接情况是不对的\n return false;\n }\n\n deelTableSelectAll() {\n this.table.stateManeger.updateSelectPos(-1, -1, false, false, true);\n }\n\n dealMenuSelect(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n checkColumnResizer(eventArgsSet: SceneEvent, update?: boolean): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgs.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // this.table.stateManeger.updateResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, first);\n // this._col = resizeCol.col;\n if (update) {\n this.table.stateManeger.startResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);\n }\n return true;\n }\n }\n\n return false;\n }\n\n dealColumnResizer(eventArgsSet: SceneEvent) {\n this.table.stateManeger.updateResizeCol(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);\n }\n\n chechColumnMover(eventArgsSet: SceneEvent): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (\n eventArgs &&\n this.table.isHeader(eventArgs.col, eventArgs.row) &&\n checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManeger.select.ranges) &&\n // this.table.stateManeger.select.cellPosStart.col === eventArgs.col &&\n // this.table.stateManeger.select.cellPosStart.row === eventArgs.row &&\n this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)\n ) {\n this.table.stateManeger.startMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n return true;\n }\n\n return false;\n }\n\n dealColumnMover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n this.table.stateManeger.updateMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n }\n\n startColumnResizer(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n dealIconClick(e: FederatedPointerEvent, eventArgsSet: SceneEvent): boolean {\n const { eventArgs } = eventArgsSet;\n // if (!eventArgs) {\n // return false;\n // }\n\n const { target, event, col, row } = eventArgs || {\n target: e.target,\n event: e,\n col: -1,\n row: -1\n };\n const icon = target as unknown as Icon;\n\n if (icon.role && icon.role.startsWith('icon-')) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.name,\n // 默认位置:icon中部正下方\n x: (icon.globalAABBBounds.x1 + icon.globalAABBBounds.x2) / 2,\n y: icon.globalAABBBounds.y2,\n col,\n row,\n funcType: icon.attribute.funcType,\n icon\n });\n\n return true;\n } else if (target instanceof RichText) {\n const icon = target.pickIcon(event.global);\n if (icon) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.attribute.id,\n // 默认位置:icon中部正下方\n x: icon.globalX + icon.globalAABBBounds.width() / 2,\n y: icon.globalY + icon.AABBBounds.height(),\n col,\n row,\n funcType: (icon.attribute as any).funcType,\n icon: icon as unknown as Icon\n });\n return true;\n }\n }\n\n return false;\n }\n}\n\nfunction _getCellEventArgsSet(e: FederatedPointerEvent): SceneEvent {\n const tableEvent: SceneEvent = {\n abstractPos: {\n x: e.x,\n y: e.y\n }\n // eventArgs: {\n // col: (e.target as any).col,\n // row: (e.target as any).row,\n // event: e,\n // },\n };\n const targetCell = getTargetCell(e.target);\n if (targetCell) {\n tableEvent.eventArgs = {\n col: targetCell.col,\n row: targetCell.row,\n event: e,\n targetCell,\n target: e.target\n };\n }\n return tableEvent;\n}\n\nfunction getTargetCell(target: any) {\n while (target && target.parent) {\n if (target.role === 'cell') {\n return target;\n }\n target = target.parent;\n }\n return null;\n}\n"]}
1
+ {"version":3,"sources":["event/event.ts"],"names":[],"mappings":"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","file":"event.js","sourcesContent":["// import { FederatedPointerEvent } from '@visactor/vrender';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\nimport { RichText } from '@visactor/vrender';\nimport { IconFuncTypeEnum } from '../ts-types';\nimport type { StateManeger } from '../state/state';\nimport type { Group } from '../scenegraph/graphic/group';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport { checkCellInSelect } from '../state/common/check-in-select';\nimport { bindMediaClick } from './media-click';\nimport { bindDrillEvent, drillClick } from './drill';\nimport { bindSparklineHoverEvent } from './sparkline-event';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { handleTextStick } from '../scenegraph/stick-text';\nimport { bindTableGroupListener } from './listener/table-group';\nimport { bindScrollBarListener } from './listener/scroll-bar';\nimport { bindContainerDomListener } from './listener/container-dom';\nimport { bindTouchListener } from './listener/touch';\nimport type { SceneEvent } from './util';\n\nexport class EventManeger {\n table: BaseTableAPI;\n // _col: number;\n // _resizing: boolean = false;\n\n isTouchdown: boolean; // touch scrolling mode on\n touchMovePoints: {\n x: number;\n y: number;\n timestamp: number;\n }[]; // touch points record in touch scrolling mode\n touchSetTimeout: any; // touch start timeout, use to distinguish touch scrolling mode and default touch event\n touchEnd: boolean; // is touch event end when default touch event listener response\n touchMove: boolean; // is touch listener working, use to disable document touch scrolling function\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.bindOuterEvent();\n setTimeout(() => {\n this.bindSelfEvent();\n }, 0);\n }\n\n // 绑定DOM事件\n bindOuterEvent() {\n bindTableGroupListener(this);\n bindContainerDomListener(this);\n bindScrollBarListener(this);\n bindTouchListener(this);\n }\n\n bindSelfEvent() {\n const stateManeger: StateManeger = this.table.stateManeger;\n\n // 图标点击\n this.table.listen(TABLE_EVENT_TYPE.ICON_CLICK, iconInfo => {\n const { col, row, x, y, funcType, icon } = iconInfo;\n // 下拉菜单按钮点击\n if (funcType === IconFuncTypeEnum.dropDown) {\n stateManeger.triggerDropDownMenu(col, row, x, y);\n } else if (funcType === IconFuncTypeEnum.sort) {\n stateManeger.triggerSort(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.frozen) {\n stateManeger.triggerFreeze(col, row, icon);\n } else if (funcType === IconFuncTypeEnum.drillDown) {\n drillClick(this.table);\n } else if (funcType === IconFuncTypeEnum.collapse || funcType === IconFuncTypeEnum.expand) {\n this.table.toggleHierarchyState(col, row);\n }\n });\n\n // 下拉菜单内容点击\n this.table.listen(TABLE_EVENT_TYPE.DROPDOWNMENU_CLICK, () => {\n stateManeger.hideMenu();\n });\n\n // 处理textStick\n this.table.listen(TABLE_EVENT_TYPE.SCROLL, e => {\n handleTextStick(this.table);\n });\n\n // link/image/video点击\n bindMediaClick(this.table);\n\n // 双击自动列宽\n this.table.listen(TABLE_EVENT_TYPE.DBLCLICK_CELL, e => {\n if (this.table._canResizeColumn(e.col, e.row)) {\n this.table.scenegraph.updateAutoColWidth(e.col);\n }\n });\n\n // drill icon\n if (this.table.isPivotTable()) {\n bindDrillEvent(this.table);\n }\n\n // chart hover\n bindSparklineHoverEvent(this.table);\n }\n\n dealTableHover(eventArgsSet?: SceneEvent) {\n if (!eventArgsSet) {\n this.table.stateManeger.updateHoverPos(-1, -1);\n return;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverPos(eventArgs.col, eventArgs.row);\n } else {\n this.table.stateManeger.updateHoverPos(-1, -1);\n }\n }\n\n dealIconHover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverIcon(\n eventArgs.col,\n eventArgs.row,\n eventArgs.target,\n eventArgs.targetCell,\n eventArgs.event\n );\n } else {\n this.table.stateManeger.updateHoverIcon(-1, -1, undefined, undefined);\n }\n }\n\n dealMenuHover(eventArgsSet: SceneEvent) {\n // menu自身状态实现\n }\n\n dealTableSelect(eventArgsSet?: SceneEvent): boolean {\n if (!eventArgsSet) {\n this.table.stateManeger.updateSelectPos(-1, -1);\n return false;\n }\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n this.table.stateManeger.updateHoverPos(-1, -1);\n // console.log('TableSelectPos', eventArgs.col, eventArgs.row);\n this.table.stateManeger.updateSelectPos(\n eventArgs.col,\n eventArgs.row,\n eventArgs.event.shiftKey,\n eventArgs.event.ctrlKey || eventArgs.event.metaKey\n );\n return true;\n }\n // this.table.stateManeger.updateSelectPos(-1, -1); 这句有问题 如drag框选鼠标超出表格范围 这里就直接情况是不对的\n return false;\n }\n\n deelTableSelectAll() {\n this.table.stateManeger.updateSelectPos(-1, -1, false, false, true);\n }\n\n dealMenuSelect(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n checkColumnResize(eventArgsSet: SceneEvent, update?: boolean): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (eventArgs) {\n const resizeCol = this.table.scenegraph.getResizeColAt(\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y,\n eventArgs.targetCell\n );\n if (this.table._canResizeColumn(resizeCol.col, resizeCol.row) && resizeCol.col >= 0) {\n // this.table.stateManeger.updateResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, first);\n // this._col = resizeCol.col;\n if (update) {\n this.table.stateManeger.startResizeCol(resizeCol.col, eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);\n }\n return true;\n }\n }\n\n return false;\n }\n\n dealColumnResize(eventArgsSet: SceneEvent) {\n this.table.stateManeger.updateResizeCol(eventArgsSet.abstractPos.x, eventArgsSet.abstractPos.y);\n }\n\n chechColumnMover(eventArgsSet: SceneEvent): boolean {\n // return false;\n const { eventArgs } = eventArgsSet;\n\n if (\n eventArgs &&\n this.table.isHeader(eventArgs.col, eventArgs.row) &&\n checkCellInSelect(eventArgs.col, eventArgs.row, this.table.stateManeger.select.ranges) &&\n // this.table.stateManeger.select.cellPosStart.col === eventArgs.col &&\n // this.table.stateManeger.select.cellPosStart.row === eventArgs.row &&\n this.table._canDragHeaderPosition(eventArgs.col, eventArgs.row)\n ) {\n this.table.stateManeger.startMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n return true;\n }\n\n return false;\n }\n\n dealColumnMover(eventArgsSet: SceneEvent) {\n const { eventArgs } = eventArgsSet;\n this.table.stateManeger.updateMoveCol(\n eventArgs.col,\n eventArgs.row,\n eventArgsSet.abstractPos.x,\n eventArgsSet.abstractPos.y\n );\n }\n\n startColumnResize(eventArgsSet: SceneEvent) {\n // do nothing\n }\n\n dealIconClick(e: FederatedPointerEvent, eventArgsSet: SceneEvent): boolean {\n const { eventArgs } = eventArgsSet;\n // if (!eventArgs) {\n // return false;\n // }\n\n const { target, event, col, row } = eventArgs || {\n target: e.target,\n event: e,\n col: -1,\n row: -1\n };\n const icon = target as unknown as Icon;\n\n if (icon.role && icon.role.startsWith('icon-')) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.name,\n // 默认位置:icon中部正下方\n x: (icon.globalAABBBounds.x1 + icon.globalAABBBounds.x2) / 2,\n y: icon.globalAABBBounds.y2,\n col,\n row,\n funcType: icon.attribute.funcType,\n icon\n });\n\n return true;\n } else if (target instanceof RichText) {\n const icon = target.pickIcon(event.global);\n if (icon) {\n this.table.fireListeners(TABLE_EVENT_TYPE.ICON_CLICK, {\n name: icon.attribute.id,\n // 默认位置:icon中部正下方\n x: icon.globalX + icon.globalAABBBounds.width() / 2,\n y: icon.globalY + icon.AABBBounds.height(),\n col,\n row,\n funcType: (icon.attribute as any).funcType,\n icon: icon as unknown as Icon\n });\n return true;\n }\n }\n\n return false;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { EventManeger } from '../event';
2
+ export declare function bindContainerDomListener(eventManeger: EventManeger): void;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.bindContainerDomListener = void 0;
6
+
7
+ const vutils_1 = require("@visactor/vutils"), TABLE_EVENT_TYPE_1 = require("../../core/TABLE_EVENT_TYPE"), scroll_1 = require("../scroll"), helper_1 = require("../../tools/helper");
8
+
9
+ function bindContainerDomListener(eventManeger) {
10
+ const table = eventManeger.table, stateManeger = table.stateManeger, handler = table.internalProps.handler;
11
+ handler.on(table.getElement(), "blur", (e => {
12
+ console.log("blur"), eventManeger.dealTableHover();
13
+ })), handler.on(table.getElement(), "wheel", (e => {
14
+ (0, scroll_1.handleWhell)(e, stateManeger);
15
+ })), handler.on(table.getElement(), "keydown", (e => {
16
+ var _a, _b;
17
+ if ((null === (_a = table.keyboardOptions) || void 0 === _a ? void 0 : _a.selectAllOnCtrlA) && "a" === e.key && (e.ctrlKey || e.metaKey) && (e.preventDefault(),
18
+ eventManeger.deelTableSelectAll()), table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.KEYDOWN)) {
19
+ const cellsEvent = {
20
+ keyCode: null !== (_b = e.keyCode) && void 0 !== _b ? _b : e.which,
21
+ code: e.code,
22
+ event: e,
23
+ cells: table.getSelectedCellInfos(),
24
+ scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth
25
+ };
26
+ table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.KEYDOWN, cellsEvent);
27
+ }
28
+ })), handler.on(table.getElement(), "copy", (e => {
29
+ var _a;
30
+ if (null === (_a = table.keyboardOptions) || void 0 === _a ? void 0 : _a.copySelected) {
31
+ const data = table.getCopyValue();
32
+ (0, vutils_1.isValid)(data) && (e.preventDefault(), helper_1.browser.IE ? window.clipboardData.setData("Text", data) : e.clipboardData.setData("text/plain", data));
33
+ }
34
+ })), handler.on(table.getElement(), "contextmenu", (e => {
35
+ e.preventDefault();
36
+ })), handler.on(table.getParentElement(), "resize", (() => {
37
+ table.resize();
38
+ }));
39
+ }
40
+
41
+ exports.bindContainerDomListener = bindContainerDomListener;
42
+ //# sourceMappingURL=container-dom.js.map