@visactor/vtable 1.4.2-beta.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/cjs/ListTable-all.d.ts +3 -0
  2. package/cjs/ListTable-all.js +18 -0
  3. package/cjs/ListTable-all.js.map +1 -0
  4. package/cjs/ListTable-simple.d.ts +3 -0
  5. package/cjs/ListTable-simple.js +14 -0
  6. package/cjs/ListTable-simple.js.map +1 -0
  7. package/cjs/ListTable.js +39 -23
  8. package/cjs/ListTable.js.map +1 -1
  9. package/cjs/PivotChart.js +34 -14
  10. package/cjs/PivotChart.js.map +1 -1
  11. package/cjs/PivotTable-all.d.ts +3 -0
  12. package/cjs/PivotTable-all.js +19 -0
  13. package/cjs/PivotTable-all.js.map +1 -0
  14. package/cjs/PivotTable-simple.d.ts +3 -0
  15. package/cjs/PivotTable-simple.js +14 -0
  16. package/cjs/PivotTable-simple.js.map +1 -0
  17. package/cjs/PivotTable.js +51 -36
  18. package/cjs/PivotTable.js.map +1 -1
  19. package/cjs/body-helper/style.js +1 -2
  20. package/cjs/components/axis/axis.d.ts +3 -0
  21. package/cjs/components/axis/axis.js +3 -3
  22. package/cjs/components/axis/axis.js.map +1 -1
  23. package/cjs/components/axis/get-axis-component-size.d.ts +2 -0
  24. package/cjs/components/axis/get-axis-component-size.js.map +1 -1
  25. package/cjs/components/empty-tip/empty-tip.d.ts +3 -0
  26. package/cjs/components/empty-tip/empty-tip.js.map +1 -1
  27. package/cjs/components/index.d.ts +6 -0
  28. package/cjs/components/index.js +44 -0
  29. package/cjs/components/index.js.map +1 -0
  30. package/cjs/components/legend/create-legend.d.ts +1 -0
  31. package/cjs/components/legend/create-legend.js.map +1 -1
  32. package/cjs/components/menu/dom/MenuHandler.d.ts +3 -0
  33. package/cjs/components/menu/dom/MenuHandler.js.map +1 -1
  34. package/cjs/components/title/title.d.ts +3 -0
  35. package/cjs/components/title/title.js.map +1 -1
  36. package/cjs/components/tooltip/TooltipHandler.d.ts +3 -0
  37. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  38. package/cjs/components/tooltip/logic/BubbleTooltipElement.js +2 -0
  39. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  40. package/cjs/core/BaseTable.d.ts +5 -4
  41. package/cjs/core/BaseTable.js +71 -183
  42. package/cjs/core/BaseTable.js.map +1 -1
  43. package/cjs/core/factory.d.ts +11 -0
  44. package/cjs/core/factory.js +29 -0
  45. package/cjs/core/factory.js.map +1 -0
  46. package/cjs/core/row-series-number-helper.js +2 -1
  47. package/cjs/core/utils/get-cell-position.d.ts +42 -0
  48. package/cjs/core/utils/get-cell-position.js +208 -0
  49. package/cjs/core/utils/get-cell-position.js.map +1 -0
  50. package/cjs/edit/edit-manager.d.ts +1 -1
  51. package/cjs/edit/edit-manager.js +8 -8
  52. package/cjs/edit/edit-manager.js.map +1 -1
  53. package/cjs/event/event.js +7 -3
  54. package/cjs/event/event.js.map +1 -1
  55. package/cjs/event/listener/container-dom.js +95 -88
  56. package/cjs/event/listener/container-dom.js.map +1 -1
  57. package/cjs/event/listener/table-group.d.ts +3 -0
  58. package/cjs/event/listener/table-group.js +32 -22
  59. package/cjs/event/listener/table-group.js.map +1 -1
  60. package/cjs/event/media-click.js +3 -1
  61. package/cjs/event/media-click.js.map +1 -1
  62. package/cjs/index.d.ts +8 -4
  63. package/cjs/index.js +26 -7
  64. package/cjs/index.js.map +1 -1
  65. package/cjs/layout/chart-helper/get-axis-config.d.ts +1 -1
  66. package/cjs/layout/chart-helper/get-axis-config.js +4 -4
  67. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  68. package/cjs/layout/chart-helper/get-axis-domain.d.ts +1 -0
  69. package/cjs/layout/chart-helper/get-axis-domain.js.map +1 -1
  70. package/cjs/layout/chart-helper/get-chart-spec.js +31 -9
  71. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  72. package/cjs/layout/layout-helper.js +2 -2
  73. package/cjs/layout/layout-helper.js.map +1 -1
  74. package/cjs/layout/pivot-header-layout.js +190 -59
  75. package/cjs/layout/pivot-header-layout.js.map +1 -1
  76. package/cjs/layout/row-height-map.js +0 -1
  77. package/cjs/layout/simple-header-layout.d.ts +3 -0
  78. package/cjs/layout/simple-header-layout.js +28 -22
  79. package/cjs/layout/simple-header-layout.js.map +1 -1
  80. package/cjs/plugins/themes.js +2 -1
  81. package/cjs/scenegraph/component/custom.js +4 -2
  82. package/cjs/scenegraph/component/custom.js.map +1 -1
  83. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +62 -58
  84. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  85. package/cjs/scenegraph/group-creater/cell-helper.js +31 -22
  86. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  87. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -0
  88. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  89. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +3 -2
  90. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +21 -4
  91. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  92. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +4 -2
  93. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +34 -14
  94. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  95. package/cjs/scenegraph/group-creater/cell-type/index.d.ts +8 -0
  96. package/cjs/scenegraph/group-creater/cell-type/index.js +55 -0
  97. package/cjs/scenegraph/group-creater/cell-type/index.js.map +1 -0
  98. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +1 -0
  99. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  100. package/cjs/scenegraph/group-creater/cell-type/radio-cell.d.ts +1 -0
  101. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  102. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -0
  103. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  104. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -0
  105. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  106. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +3 -1
  107. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +21 -5
  108. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  109. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +8 -8
  110. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  111. package/cjs/scenegraph/group-creater/progress/proxy.js +12 -12
  112. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  113. package/cjs/scenegraph/group-creater/progress/update-position/sort-horizontal.js +2 -2
  114. package/cjs/scenegraph/group-creater/progress/update-position/sort-horizontal.js.map +1 -1
  115. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js +7 -8
  116. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  117. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +3 -3
  118. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  119. package/cjs/scenegraph/group-creater/progress/update-position/util.js +3 -3
  120. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  121. package/cjs/scenegraph/layout/compute-col-width.js +4 -4
  122. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  123. package/cjs/scenegraph/layout/compute-row-height.js +3 -3
  124. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  125. package/cjs/scenegraph/layout/update-height.js +5 -6
  126. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  127. package/cjs/scenegraph/layout/update-width.js +5 -6
  128. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  129. package/cjs/scenegraph/refresh-node/update-chart.js +2 -2
  130. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  131. package/cjs/scenegraph/scenegraph.js +5 -5
  132. package/cjs/scenegraph/scenegraph.js.map +1 -1
  133. package/cjs/scenegraph/select/update-select-border.js +72 -49
  134. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  135. package/cjs/scenegraph/utils/text-icon-layout.d.ts +16 -0
  136. package/cjs/scenegraph/utils/text-icon-layout.js +80 -58
  137. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  138. package/cjs/state/cell-move/index.js +4 -1
  139. package/cjs/state/cell-move/index.js.map +1 -1
  140. package/cjs/state/select/update-position.js +2 -2
  141. package/cjs/state/select/update-position.js.map +1 -1
  142. package/cjs/state/sort/index.js +7 -3
  143. package/cjs/state/sort/index.js.map +1 -1
  144. package/cjs/state/state.d.ts +1 -1
  145. package/cjs/state/state.js +11 -7
  146. package/cjs/state/state.js.map +1 -1
  147. package/cjs/themes/ARCO.js +1 -1
  148. package/cjs/themes/BRIGHT.js +1 -1
  149. package/cjs/themes/DARK.js +1 -1
  150. package/cjs/themes/DEFAULT.js +1 -1
  151. package/cjs/themes/SIMPLIFY.js +1 -1
  152. package/cjs/tools/util.d.ts +1 -0
  153. package/cjs/tools/util.js +11 -2
  154. package/cjs/tools/util.js.map +1 -1
  155. package/cjs/ts-types/base-table.d.ts +7 -3
  156. package/cjs/ts-types/base-table.js.map +1 -1
  157. package/cjs/ts-types/list-table/define/basic-define.d.ts +1 -0
  158. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  159. package/cjs/ts-types/table-engine.d.ts +1 -1
  160. package/cjs/ts-types/table-engine.js.map +1 -1
  161. package/cjs/ts-types/theme.js.map +1 -1
  162. package/cjs/vrender.js +7 -7
  163. package/cjs/vrender.js.map +1 -1
  164. package/dist/vtable.js +31005 -30762
  165. package/dist/vtable.min.js +2 -2
  166. package/es/ListTable-all.d.ts +3 -0
  167. package/es/ListTable-all.js +12 -0
  168. package/es/ListTable-all.js.map +1 -0
  169. package/es/ListTable-simple.d.ts +3 -0
  170. package/es/ListTable-simple.js +8 -0
  171. package/es/ListTable-simple.js.map +1 -0
  172. package/es/ListTable.js +35 -20
  173. package/es/ListTable.js.map +1 -1
  174. package/es/PivotChart.js +35 -15
  175. package/es/PivotChart.js.map +1 -1
  176. package/es/PivotTable-all.d.ts +3 -0
  177. package/es/PivotTable-all.js +13 -0
  178. package/es/PivotTable-all.js.map +1 -0
  179. package/es/PivotTable-simple.d.ts +3 -0
  180. package/es/PivotTable-simple.js +8 -0
  181. package/es/PivotTable-simple.js.map +1 -0
  182. package/es/PivotTable.js +50 -37
  183. package/es/PivotTable.js.map +1 -1
  184. package/es/body-helper/style.js +1 -2
  185. package/es/components/axis/axis.d.ts +3 -0
  186. package/es/components/axis/axis.js +4 -3
  187. package/es/components/axis/axis.js.map +1 -1
  188. package/es/components/axis/get-axis-component-size.d.ts +2 -0
  189. package/es/components/axis/get-axis-component-size.js.map +1 -1
  190. package/es/components/empty-tip/empty-tip.d.ts +3 -0
  191. package/es/components/empty-tip/empty-tip.js.map +1 -1
  192. package/es/components/index.d.ts +6 -0
  193. package/es/components/index.js +44 -0
  194. package/es/components/index.js.map +1 -0
  195. package/es/components/legend/create-legend.d.ts +1 -0
  196. package/es/components/legend/create-legend.js.map +1 -1
  197. package/es/components/menu/dom/MenuHandler.d.ts +3 -0
  198. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  199. package/es/components/title/title.d.ts +3 -0
  200. package/es/components/title/title.js.map +1 -1
  201. package/es/components/tooltip/TooltipHandler.d.ts +3 -0
  202. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  203. package/es/components/tooltip/logic/BubbleTooltipElement.js +3 -1
  204. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  205. package/es/core/BaseTable.d.ts +5 -4
  206. package/es/core/BaseTable.js +75 -187
  207. package/es/core/BaseTable.js.map +1 -1
  208. package/es/core/factory.d.ts +11 -0
  209. package/es/core/factory.js +23 -0
  210. package/es/core/factory.js.map +1 -0
  211. package/es/core/row-series-number-helper.js +2 -1
  212. package/es/core/utils/get-cell-position.d.ts +42 -0
  213. package/es/core/utils/get-cell-position.js +196 -0
  214. package/es/core/utils/get-cell-position.js.map +1 -0
  215. package/es/edit/edit-manager.d.ts +1 -1
  216. package/es/edit/edit-manager.js +8 -8
  217. package/es/edit/edit-manager.js.map +1 -1
  218. package/es/event/event.js +6 -2
  219. package/es/event/event.js.map +1 -1
  220. package/es/event/listener/container-dom.js +95 -87
  221. package/es/event/listener/container-dom.js.map +1 -1
  222. package/es/event/listener/table-group.d.ts +3 -0
  223. package/es/event/listener/table-group.js +31 -22
  224. package/es/event/listener/table-group.js.map +1 -1
  225. package/es/event/media-click.js +3 -1
  226. package/es/event/media-click.js.map +1 -1
  227. package/es/index.d.ts +8 -4
  228. package/es/index.js +12 -4
  229. package/es/index.js.map +1 -1
  230. package/es/layout/chart-helper/get-axis-config.d.ts +1 -1
  231. package/es/layout/chart-helper/get-axis-config.js +4 -4
  232. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  233. package/es/layout/chart-helper/get-axis-domain.d.ts +1 -0
  234. package/es/layout/chart-helper/get-axis-domain.js.map +1 -1
  235. package/es/layout/chart-helper/get-chart-spec.js +34 -10
  236. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  237. package/es/layout/layout-helper.js +2 -2
  238. package/es/layout/layout-helper.js.map +1 -1
  239. package/es/layout/pivot-header-layout.js +190 -59
  240. package/es/layout/pivot-header-layout.js.map +1 -1
  241. package/es/layout/row-height-map.js +1 -2
  242. package/es/layout/simple-header-layout.d.ts +3 -0
  243. package/es/layout/simple-header-layout.js +28 -22
  244. package/es/layout/simple-header-layout.js.map +1 -1
  245. package/es/plugins/themes.js +2 -1
  246. package/es/scenegraph/component/custom.js +4 -2
  247. package/es/scenegraph/component/custom.js.map +1 -1
  248. package/es/scenegraph/graphic/contributions/group-contribution-render.js +62 -58
  249. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  250. package/es/scenegraph/group-creater/cell-helper.js +31 -35
  251. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  252. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -0
  253. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  254. package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +3 -2
  255. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +21 -3
  256. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  257. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +4 -2
  258. package/es/scenegraph/group-creater/cell-type/image-cell.js +34 -13
  259. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  260. package/es/scenegraph/group-creater/cell-type/index.d.ts +8 -0
  261. package/es/scenegraph/group-creater/cell-type/index.js +52 -0
  262. package/es/scenegraph/group-creater/cell-type/index.js.map +1 -0
  263. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +1 -0
  264. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  265. package/es/scenegraph/group-creater/cell-type/radio-cell.d.ts +1 -0
  266. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  267. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -0
  268. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  269. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -0
  270. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  271. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +3 -1
  272. package/es/scenegraph/group-creater/cell-type/video-cell.js +21 -4
  273. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  274. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +8 -8
  275. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  276. package/es/scenegraph/group-creater/progress/proxy.js +12 -12
  277. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  278. package/es/scenegraph/group-creater/progress/update-position/sort-horizontal.js +4 -3
  279. package/es/scenegraph/group-creater/progress/update-position/sort-horizontal.js.map +1 -1
  280. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js +7 -8
  281. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  282. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +3 -3
  283. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  284. package/es/scenegraph/group-creater/progress/update-position/util.js +3 -3
  285. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  286. package/es/scenegraph/layout/compute-col-width.js +4 -6
  287. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  288. package/es/scenegraph/layout/compute-row-height.js +3 -5
  289. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  290. package/es/scenegraph/layout/update-height.js +6 -8
  291. package/es/scenegraph/layout/update-height.js.map +1 -1
  292. package/es/scenegraph/layout/update-width.js +5 -9
  293. package/es/scenegraph/layout/update-width.js.map +1 -1
  294. package/es/scenegraph/refresh-node/update-chart.js +2 -2
  295. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  296. package/es/scenegraph/scenegraph.js +6 -6
  297. package/es/scenegraph/scenegraph.js.map +1 -1
  298. package/es/scenegraph/select/update-select-border.js +72 -49
  299. package/es/scenegraph/select/update-select-border.js.map +1 -1
  300. package/es/scenegraph/utils/text-icon-layout.d.ts +16 -0
  301. package/es/scenegraph/utils/text-icon-layout.js +78 -56
  302. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  303. package/es/state/cell-move/index.js +4 -1
  304. package/es/state/cell-move/index.js.map +1 -1
  305. package/es/state/select/update-position.js +2 -2
  306. package/es/state/select/update-position.js.map +1 -1
  307. package/es/state/sort/index.js +7 -3
  308. package/es/state/sort/index.js.map +1 -1
  309. package/es/state/state.d.ts +1 -1
  310. package/es/state/state.js +11 -7
  311. package/es/state/state.js.map +1 -1
  312. package/es/themes/ARCO.js +1 -1
  313. package/es/themes/BRIGHT.js +1 -1
  314. package/es/themes/DARK.js +1 -1
  315. package/es/themes/DEFAULT.js +1 -1
  316. package/es/themes/SIMPLIFY.js +1 -1
  317. package/es/tools/util.d.ts +1 -0
  318. package/es/tools/util.js +9 -0
  319. package/es/tools/util.js.map +1 -1
  320. package/es/ts-types/base-table.d.ts +7 -3
  321. package/es/ts-types/base-table.js.map +1 -1
  322. package/es/ts-types/list-table/define/basic-define.d.ts +1 -0
  323. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  324. package/es/ts-types/table-engine.d.ts +1 -1
  325. package/es/ts-types/table-engine.js.map +1 -1
  326. package/es/ts-types/theme.js.map +1 -1
  327. package/es/vrender.js +5 -5
  328. package/es/vrender.js.map +1 -1
  329. package/package.json +15 -6
  330. package/cjs/vutil-extension-temp/algorithm/binary-search.d.ts +0 -2
  331. package/cjs/vutil-extension-temp/algorithm/binary-search.js +0 -21
  332. package/cjs/vutil-extension-temp/algorithm/binary-search.js.map +0 -1
  333. package/cjs/vutil-extension-temp/algorithm/index.d.ts +0 -1
  334. package/cjs/vutil-extension-temp/algorithm/index.js +0 -21
  335. package/cjs/vutil-extension-temp/algorithm/index.js.map +0 -1
  336. package/cjs/vutil-extension-temp/index.d.ts +0 -4
  337. package/cjs/vutil-extension-temp/index.js +0 -22
  338. package/cjs/vutil-extension-temp/index.js.map +0 -1
  339. package/cjs/vutil-extension-temp/spec/clone-deep.d.ts +0 -1
  340. package/cjs/vutil-extension-temp/spec/clone-deep.js +0 -27
  341. package/cjs/vutil-extension-temp/spec/clone-deep.js.map +0 -1
  342. package/cjs/vutil-extension-temp/spec/common.d.ts +0 -3
  343. package/cjs/vutil-extension-temp/spec/common.js +0 -23
  344. package/cjs/vutil-extension-temp/spec/common.js.map +0 -1
  345. package/cjs/vutil-extension-temp/spec/index.d.ts +0 -3
  346. package/cjs/vutil-extension-temp/spec/index.js +0 -22
  347. package/cjs/vutil-extension-temp/spec/index.js.map +0 -1
  348. package/cjs/vutil-extension-temp/spec/merge-spec.d.ts +0 -5
  349. package/cjs/vutil-extension-temp/spec/merge-spec.js +0 -69
  350. package/cjs/vutil-extension-temp/spec/merge-spec.js.map +0 -1
  351. package/cjs/vutil-extension-temp/transform/tick-data/config.d.ts +0 -1
  352. package/cjs/vutil-extension-temp/transform/tick-data/config.js +0 -6
  353. package/cjs/vutil-extension-temp/transform/tick-data/config.js.map +0 -1
  354. package/cjs/vutil-extension-temp/transform/tick-data/continuous.d.ts +0 -3
  355. package/cjs/vutil-extension-temp/transform/tick-data/continuous.js +0 -57
  356. package/cjs/vutil-extension-temp/transform/tick-data/continuous.js.map +0 -1
  357. package/cjs/vutil-extension-temp/transform/tick-data/discrete/linear.d.ts +0 -6
  358. package/cjs/vutil-extension-temp/transform/tick-data/discrete/linear.js +0 -101
  359. package/cjs/vutil-extension-temp/transform/tick-data/discrete/linear.js.map +0 -1
  360. package/cjs/vutil-extension-temp/transform/tick-data/discrete/polar-angle.d.ts +0 -3
  361. package/cjs/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js +0 -53
  362. package/cjs/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js.map +0 -1
  363. package/cjs/vutil-extension-temp/transform/tick-data/index.d.ts +0 -6
  364. package/cjs/vutil-extension-temp/transform/tick-data/index.js +0 -41
  365. package/cjs/vutil-extension-temp/transform/tick-data/index.js.map +0 -1
  366. package/cjs/vutil-extension-temp/transform/tick-data/interface.d.ts +0 -38
  367. package/cjs/vutil-extension-temp/transform/tick-data/interface.js +0 -6
  368. package/cjs/vutil-extension-temp/transform/tick-data/interface.js.map +0 -1
  369. package/cjs/vutil-extension-temp/transform/tick-data/util.d.ts +0 -17
  370. package/cjs/vutil-extension-temp/transform/tick-data/util.js +0 -91
  371. package/cjs/vutil-extension-temp/transform/tick-data/util.js.map +0 -1
  372. package/cjs/vutil-extension-temp/transform/tick-data/utils/polar-label-position.d.ts +0 -8
  373. package/cjs/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js +0 -20
  374. package/cjs/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js.map +0 -1
  375. package/cjs/vutil-extension-temp/utils/index.d.ts +0 -3
  376. package/cjs/vutil-extension-temp/utils/index.js +0 -22
  377. package/cjs/vutil-extension-temp/utils/index.js.map +0 -1
  378. package/cjs/vutil-extension-temp/utils/object.d.ts +0 -3
  379. package/cjs/vutil-extension-temp/utils/object.js +0 -30
  380. package/cjs/vutil-extension-temp/utils/object.js.map +0 -1
  381. package/cjs/vutil-extension-temp/utils/polar.d.ts +0 -5
  382. package/cjs/vutil-extension-temp/utils/polar.js +0 -23
  383. package/cjs/vutil-extension-temp/utils/polar.js.map +0 -1
  384. package/cjs/vutil-extension-temp/utils/text.d.ts +0 -4
  385. package/cjs/vutil-extension-temp/utils/text.js +0 -17
  386. package/cjs/vutil-extension-temp/utils/text.js.map +0 -1
  387. package/es/vutil-extension-temp/algorithm/binary-search.d.ts +0 -2
  388. package/es/vutil-extension-temp/algorithm/binary-search.js +0 -11
  389. package/es/vutil-extension-temp/algorithm/binary-search.js.map +0 -1
  390. package/es/vutil-extension-temp/algorithm/index.d.ts +0 -1
  391. package/es/vutil-extension-temp/algorithm/index.js +0 -2
  392. package/es/vutil-extension-temp/algorithm/index.js.map +0 -1
  393. package/es/vutil-extension-temp/index.d.ts +0 -4
  394. package/es/vutil-extension-temp/index.js +0 -8
  395. package/es/vutil-extension-temp/index.js.map +0 -1
  396. package/es/vutil-extension-temp/spec/clone-deep.d.ts +0 -1
  397. package/es/vutil-extension-temp/spec/clone-deep.js +0 -20
  398. package/es/vutil-extension-temp/spec/clone-deep.js.map +0 -1
  399. package/es/vutil-extension-temp/spec/common.d.ts +0 -3
  400. package/es/vutil-extension-temp/spec/common.js +0 -15
  401. package/es/vutil-extension-temp/spec/common.js.map +0 -1
  402. package/es/vutil-extension-temp/spec/index.d.ts +0 -3
  403. package/es/vutil-extension-temp/spec/index.js +0 -6
  404. package/es/vutil-extension-temp/spec/index.js.map +0 -1
  405. package/es/vutil-extension-temp/spec/merge-spec.d.ts +0 -5
  406. package/es/vutil-extension-temp/spec/merge-spec.js +0 -57
  407. package/es/vutil-extension-temp/spec/merge-spec.js.map +0 -1
  408. package/es/vutil-extension-temp/transform/tick-data/config.d.ts +0 -1
  409. package/es/vutil-extension-temp/transform/tick-data/config.js +0 -2
  410. package/es/vutil-extension-temp/transform/tick-data/config.js.map +0 -1
  411. package/es/vutil-extension-temp/transform/tick-data/continuous.d.ts +0 -3
  412. package/es/vutil-extension-temp/transform/tick-data/continuous.js +0 -56
  413. package/es/vutil-extension-temp/transform/tick-data/continuous.js.map +0 -1
  414. package/es/vutil-extension-temp/transform/tick-data/discrete/linear.d.ts +0 -6
  415. package/es/vutil-extension-temp/transform/tick-data/discrete/linear.js +0 -92
  416. package/es/vutil-extension-temp/transform/tick-data/discrete/linear.js.map +0 -1
  417. package/es/vutil-extension-temp/transform/tick-data/discrete/polar-angle.d.ts +0 -3
  418. package/es/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js +0 -45
  419. package/es/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js.map +0 -1
  420. package/es/vutil-extension-temp/transform/tick-data/index.d.ts +0 -6
  421. package/es/vutil-extension-temp/transform/tick-data/index.js +0 -23
  422. package/es/vutil-extension-temp/transform/tick-data/index.js.map +0 -1
  423. package/es/vutil-extension-temp/transform/tick-data/interface.d.ts +0 -38
  424. package/es/vutil-extension-temp/transform/tick-data/interface.js +0 -2
  425. package/es/vutil-extension-temp/transform/tick-data/interface.js.map +0 -1
  426. package/es/vutil-extension-temp/transform/tick-data/util.d.ts +0 -17
  427. package/es/vutil-extension-temp/transform/tick-data/util.js +0 -78
  428. package/es/vutil-extension-temp/transform/tick-data/util.js.map +0 -1
  429. package/es/vutil-extension-temp/transform/tick-data/utils/polar-label-position.d.ts +0 -8
  430. package/es/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js +0 -12
  431. package/es/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js.map +0 -1
  432. package/es/vutil-extension-temp/utils/index.d.ts +0 -3
  433. package/es/vutil-extension-temp/utils/index.js +0 -6
  434. package/es/vutil-extension-temp/utils/index.js.map +0 -1
  435. package/es/vutil-extension-temp/utils/object.d.ts +0 -3
  436. package/es/vutil-extension-temp/utils/object.js +0 -15
  437. package/es/vutil-extension-temp/utils/object.js.map +0 -1
  438. package/es/vutil-extension-temp/utils/polar.d.ts +0 -5
  439. package/es/vutil-extension-temp/utils/polar.js +0 -16
  440. package/es/vutil-extension-temp/utils/polar.js.map +0 -1
  441. package/es/vutil-extension-temp/utils/text.d.ts +0 -4
  442. package/es/vutil-extension-temp/utils/text.js +0 -13
  443. package/es/vutil-extension-temp/utils/text.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/tooltip/TooltipHandler.ts"],"names":[],"mappings":"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","file":"TooltipHandler.js","sourcesContent":["import type { CellRange, RectProps } from '../../ts-types';\nimport { Placement } from '../../ts-types';\nimport type { BaseTooltip } from './BaseTooltip';\nimport { BubbleTooltip } from './Tooltip';\nimport { cellInRange } from '../../tools/helper';\nimport { isMobile } from '../../tools/util';\n// import { DG_EVENT_TYPE } from '../core/DG_EVENT_TYPE';\nimport type { TooltipOptions } from '../../ts-types/tooltip';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nconst TOOLTIP_INSTANCE_FACTORY = {\n // tooltip(table: BaseTableAPI): BaseTooltip {\n // return new Tooltip(table);\n // },\n 'bubble-tooltip': function (table: BaseTableAPI): BaseTooltip {\n return new BubbleTooltip(table);\n }\n};\ntype AttachInfo = {\n instance?: BaseTooltip;\n range: CellRange;\n tooltipOptions: TooltipOptions;\n};\n\nexport class TooltipHandler {\n private _table: BaseTableAPI;\n private _tooltipInstances?: { [type: string]: BaseTooltip };\n private _attachInfo?: AttachInfo | null;\n private confine?: boolean; //弹出框是否需要限定在canvas区域\n constructor(table: BaseTableAPI, confine: boolean) {\n this._table = table;\n this._tooltipInstances = {};\n this._bindTableEvent(table);\n this.confine = confine;\n }\n release(): void {\n const tooltipInstances = this._tooltipInstances;\n for (const k in tooltipInstances) {\n tooltipInstances[k]?.release?.();\n }\n delete this._tooltipInstances;\n this._attachInfo = null;\n }\n _bindToCell(col: number, row: number, tooltipOptions?: TooltipOptions): void {\n const info = this._attachInfo;\n const instance = this._getTooltipInstanceInfo(col, row);\n if (info && (!instance || info.instance !== instance)) {\n info.instance?.unbindTooltipElement();\n this._attachInfo = null;\n }\n if (!instance) {\n return;\n }\n // const { instance, info: tooltipInstanceInfo } = instanceInfo;\n const attach = instance && instance.bindTooltipElement(col, row, tooltipOptions, this.confine);\n if (attach) {\n const range = this._table.getCellRange(col, row);\n this._attachInfo = { range, instance, tooltipOptions };\n }\n }\n _move(col: number, row: number, tooltipOptions: TooltipOptions): void {\n const info = this._attachInfo;\n if (!info || !cellInRange(info.range, col, row)) {\n return;\n }\n const { instance } = info;\n instance?.moveTooltipElement(col, row, tooltipOptions, this.confine);\n }\n moveToPosition(\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: {\n rect: RectProps;\n placement?: Placement;\n }\n ): void {\n const info = this._attachInfo;\n if (!info || !cellInRange(info.range, col, row)) {\n return;\n }\n const { instance } = info;\n this._attachInfo.tooltipOptions.position = position;\n this._attachInfo.tooltipOptions.referencePosition = referencePosition;\n instance?.locateTooltipElement(col, row, position, referencePosition, this.confine);\n }\n _unbindFromCell(): void {\n const info = this._attachInfo;\n if (!info) {\n return;\n }\n const { instance } = info;\n instance?.unbindTooltipElement();\n this._attachInfo = null;\n }\n _isBindCell(col: number, row: number): boolean {\n const info = this._attachInfo;\n if (!info) {\n return false;\n }\n return cellInRange(info.range, col, row);\n }\n _bindTableEvent(table: BaseTableAPI): void {\n // (table.options.hover?.isShowTooltip || table.options.tooltip?.isShowOverflowTextTooltip) &&\n table.on(TABLE_EVENT_TYPE.MOUSEENTER_CELL, e => {\n //移动端不监听mousemove事件 (修改移动端tooltip时加的isMobile判断)\n if (isMobile()) {\n return;\n }\n // dropDownMenu区域不响应\n const { x1: left, x2: right, y1: top, y2: bottom } = table.stateManager.menu.bounds;\n if (\n table.stateManager.menu.isShow &&\n typeof e.x === 'number' &&\n typeof e.y === 'number' &&\n e.x > left &&\n e.x < right &&\n e.y > top &&\n e.y < bottom\n ) {\n return;\n }\n const { col, row } = e;\n this.showTooltip(col, row);\n // if (e.related) {\n // if (this._isBindCell(col, row)) {\n // return;\n // }\n // }\n });\n table.on(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, e => {\n //移动端不监听mousemove事件 (修改移动端tooltip时加的isMobile判断)\n if (isMobile()) {\n return;\n }\n if (this._attachInfo?.tooltipOptions?.referencePosition) {\n const position = this._attachInfo.tooltipOptions.referencePosition;\n const { event } = e;\n const { left, right, top, bottom } = position.rect;\n const abstractPos = table._getMouseAbstractPoint(event, false);\n if (\n !(\n abstractPos.inTable &&\n abstractPos.x >= left - 5 &&\n abstractPos.x <= right + 5 &&\n abstractPos.y >= top - 5 &&\n abstractPos.y <= bottom + 5\n )\n ) {\n // 这里加5px的判断buffer\n this._unbindFromCell();\n }\n }\n // dropDownMenu区域不响应\n if (this._attachInfo && table.stateManager.menu.isShow) {\n this._bindToCell(e.col, e.row);\n }\n });\n table.on(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, e => {\n // if (e.related) {\n // if (this._isBindCell(e.related.col, e.related.row)) {\n // return;\n // }\n // }\n this._unbindFromCell();\n });\n table.on(TABLE_EVENT_TYPE.SELECTED_CELL, e => {\n if (this._isBindCell(e.col, e.row)) {\n this._unbindFromCell();\n }\n });\n table.on(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, e => {\n this._unbindFromCell();\n });\n table.on(TABLE_EVENT_TYPE.SCROLL, e => {\n this._unbindFromCell();\n // const info = this._attachInfo;\n // if (info?.tooltipOptions && info?.range?.start) {\n // const { col, row } = info.range.start;\n // const rect = table.getCellRangeRelativeRect({ col, row });\n // info.tooltipOptions.referencePosition.rect = rect;\n // this._move(info.range.start.col, info.range.start.row, info.tooltipOptions);\n // }\n });\n }\n showTooltip(col: number, row: number) {\n let tooltipOption;\n const table = this._table;\n const headerDescription = table.getHeaderDescription(col, row);\n if (headerDescription) {\n const rect = table.getCellRangeRelativeRect({ col, row });\n tooltipOption = {\n content: headerDescription,\n referencePosition: {\n placement: Placement.bottom,\n rect\n },\n disappearDelay: table.internalProps.tooltip.overflowTextTooltipDisappearDelay ?? 0,\n style: table.theme.tooltipStyle\n };\n } else if (table.internalProps.tooltip?.isShowOverflowTextTooltip) {\n const overflowText = table.getCellOverflowText(col, row);\n const rect = table.getCellRangeRelativeRect({ col, row });\n if (overflowText) {\n tooltipOption = {\n content: headerDescription\n ? `${headerDescription}\n ${overflowText}`\n : overflowText,\n referencePosition: {\n placement: Placement.bottom,\n rect\n },\n disappearDelay: table.internalProps.tooltip.overflowTextTooltipDisappearDelay ?? 0,\n style: table.theme.tooltipStyle\n };\n }\n }\n if (tooltipOption) {\n this._bindToCell(col, row, tooltipOption);\n } else {\n this._unbindFromCell();\n }\n }\n _getTooltipInstanceInfo(col: number, row: number): BaseTooltip | null {\n const table = this._table;\n const tooltipInstances = this._tooltipInstances;\n // const info = getTooltipInstanceInfo(table, col, row, tooltipOptions);\n // if (!info) {\n // return null;\n // }\n const tooltipType = 'bubble-tooltip';\n // const { tooltipType } = info;\n const instance =\n (tooltipInstances && tooltipInstances[tooltipType]) ||\n (tooltipInstances && (tooltipInstances[tooltipType] = TOOLTIP_INSTANCE_FACTORY[tooltipType](table)));\n return instance;\n }\n isBinded(tooltipOptions: TooltipOptions) {\n if (JSON.stringify(tooltipOptions) === JSON.stringify(this._attachInfo?.tooltipOptions)) {\n return true;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/components/tooltip/TooltipHandler.ts"],"names":[],"mappings":"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","file":"TooltipHandler.js","sourcesContent":["import type { CellRange, RectProps } from '../../ts-types';\nimport { Placement } from '../../ts-types';\nimport type { BaseTooltip } from './BaseTooltip';\nimport { BubbleTooltip } from './Tooltip';\nimport { cellInRange } from '../../tools/helper';\nimport { isMobile } from '../../tools/util';\n// import { DG_EVENT_TYPE } from '../core/DG_EVENT_TYPE';\nimport type { TooltipOptions } from '../../ts-types/tooltip';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nconst TOOLTIP_INSTANCE_FACTORY = {\n // tooltip(table: BaseTableAPI): BaseTooltip {\n // return new Tooltip(table);\n // },\n 'bubble-tooltip': function (table: BaseTableAPI): BaseTooltip {\n return new BubbleTooltip(table);\n }\n};\ntype AttachInfo = {\n instance?: BaseTooltip;\n range: CellRange;\n tooltipOptions: TooltipOptions;\n};\nexport interface ITooltipHandler {\n new (table: BaseTableAPI, confine: boolean): TooltipHandler;\n}\n\nexport class TooltipHandler {\n private _table: BaseTableAPI;\n private _tooltipInstances?: { [type: string]: BaseTooltip };\n private _attachInfo?: AttachInfo | null;\n private confine?: boolean; //弹出框是否需要限定在canvas区域\n constructor(table: BaseTableAPI, confine: boolean) {\n this._table = table;\n this._tooltipInstances = {};\n this._bindTableEvent(table);\n this.confine = confine;\n }\n release(): void {\n const tooltipInstances = this._tooltipInstances;\n for (const k in tooltipInstances) {\n tooltipInstances[k]?.release?.();\n }\n delete this._tooltipInstances;\n this._attachInfo = null;\n }\n _bindToCell(col: number, row: number, tooltipOptions?: TooltipOptions): void {\n const info = this._attachInfo;\n const instance = this._getTooltipInstanceInfo(col, row);\n if (info && (!instance || info.instance !== instance)) {\n info.instance?.unbindTooltipElement();\n this._attachInfo = null;\n }\n if (!instance) {\n return;\n }\n // const { instance, info: tooltipInstanceInfo } = instanceInfo;\n const attach = instance && instance.bindTooltipElement(col, row, tooltipOptions, this.confine);\n if (attach) {\n const range = this._table.getCellRange(col, row);\n this._attachInfo = { range, instance, tooltipOptions };\n }\n }\n _move(col: number, row: number, tooltipOptions: TooltipOptions): void {\n const info = this._attachInfo;\n if (!info || !cellInRange(info.range, col, row)) {\n return;\n }\n const { instance } = info;\n instance?.moveTooltipElement(col, row, tooltipOptions, this.confine);\n }\n moveToPosition(\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: {\n rect: RectProps;\n placement?: Placement;\n }\n ): void {\n const info = this._attachInfo;\n if (!info || !cellInRange(info.range, col, row)) {\n return;\n }\n const { instance } = info;\n this._attachInfo.tooltipOptions.position = position;\n this._attachInfo.tooltipOptions.referencePosition = referencePosition;\n instance?.locateTooltipElement(col, row, position, referencePosition, this.confine);\n }\n _unbindFromCell(): void {\n const info = this._attachInfo;\n if (!info) {\n return;\n }\n const { instance } = info;\n instance?.unbindTooltipElement();\n this._attachInfo = null;\n }\n _isBindCell(col: number, row: number): boolean {\n const info = this._attachInfo;\n if (!info) {\n return false;\n }\n return cellInRange(info.range, col, row);\n }\n _bindTableEvent(table: BaseTableAPI): void {\n // (table.options.hover?.isShowTooltip || table.options.tooltip?.isShowOverflowTextTooltip) &&\n table.on(TABLE_EVENT_TYPE.MOUSEENTER_CELL, e => {\n //移动端不监听mousemove事件 (修改移动端tooltip时加的isMobile判断)\n if (isMobile()) {\n return;\n }\n // dropDownMenu区域不响应\n const { x1: left, x2: right, y1: top, y2: bottom } = table.stateManager.menu.bounds;\n if (\n table.stateManager.menu.isShow &&\n typeof e.x === 'number' &&\n typeof e.y === 'number' &&\n e.x > left &&\n e.x < right &&\n e.y > top &&\n e.y < bottom\n ) {\n return;\n }\n const { col, row } = e;\n this.showTooltip(col, row);\n // if (e.related) {\n // if (this._isBindCell(col, row)) {\n // return;\n // }\n // }\n });\n table.on(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, e => {\n //移动端不监听mousemove事件 (修改移动端tooltip时加的isMobile判断)\n if (isMobile()) {\n return;\n }\n if (this._attachInfo?.tooltipOptions?.referencePosition) {\n const position = this._attachInfo.tooltipOptions.referencePosition;\n const { event } = e;\n const { left, right, top, bottom } = position.rect;\n const abstractPos = table._getMouseAbstractPoint(event, false);\n if (\n !(\n abstractPos.inTable &&\n abstractPos.x >= left - 5 &&\n abstractPos.x <= right + 5 &&\n abstractPos.y >= top - 5 &&\n abstractPos.y <= bottom + 5\n )\n ) {\n // 这里加5px的判断buffer\n this._unbindFromCell();\n }\n }\n // dropDownMenu区域不响应\n if (this._attachInfo && table.stateManager.menu.isShow) {\n this._bindToCell(e.col, e.row);\n }\n });\n table.on(TABLE_EVENT_TYPE.MOUSELEAVE_CELL, e => {\n // if (e.related) {\n // if (this._isBindCell(e.related.col, e.related.row)) {\n // return;\n // }\n // }\n this._unbindFromCell();\n });\n table.on(TABLE_EVENT_TYPE.SELECTED_CELL, e => {\n if (this._isBindCell(e.col, e.row)) {\n this._unbindFromCell();\n }\n });\n table.on(TABLE_EVENT_TYPE.MOUSELEAVE_TABLE, e => {\n this._unbindFromCell();\n });\n table.on(TABLE_EVENT_TYPE.SCROLL, e => {\n this._unbindFromCell();\n // const info = this._attachInfo;\n // if (info?.tooltipOptions && info?.range?.start) {\n // const { col, row } = info.range.start;\n // const rect = table.getCellRangeRelativeRect({ col, row });\n // info.tooltipOptions.referencePosition.rect = rect;\n // this._move(info.range.start.col, info.range.start.row, info.tooltipOptions);\n // }\n });\n }\n showTooltip(col: number, row: number) {\n let tooltipOption;\n const table = this._table;\n const headerDescription = table.getHeaderDescription(col, row);\n if (headerDescription) {\n const rect = table.getCellRangeRelativeRect({ col, row });\n tooltipOption = {\n content: headerDescription,\n referencePosition: {\n placement: Placement.bottom,\n rect\n },\n disappearDelay: table.internalProps.tooltip.overflowTextTooltipDisappearDelay ?? 0,\n style: table.theme.tooltipStyle\n };\n } else if (table.internalProps.tooltip?.isShowOverflowTextTooltip) {\n const overflowText = table.getCellOverflowText(col, row);\n const rect = table.getCellRangeRelativeRect({ col, row });\n if (overflowText) {\n tooltipOption = {\n content: headerDescription\n ? `${headerDescription}\n ${overflowText}`\n : overflowText,\n referencePosition: {\n placement: Placement.bottom,\n rect\n },\n disappearDelay: table.internalProps.tooltip.overflowTextTooltipDisappearDelay ?? 0,\n style: table.theme.tooltipStyle\n };\n }\n }\n if (tooltipOption) {\n this._bindToCell(col, row, tooltipOption);\n } else {\n this._unbindFromCell();\n }\n }\n _getTooltipInstanceInfo(col: number, row: number): BaseTooltip | null {\n const table = this._table;\n const tooltipInstances = this._tooltipInstances;\n // const info = getTooltipInstanceInfo(table, col, row, tooltipOptions);\n // if (!info) {\n // return null;\n // }\n const tooltipType = 'bubble-tooltip';\n // const { tooltipType } = info;\n const instance =\n (tooltipInstances && tooltipInstances[tooltipType]) ||\n (tooltipInstances && (tooltipInstances[tooltipType] = TOOLTIP_INSTANCE_FACTORY[tooltipType](table)));\n return instance;\n }\n isBinded(tooltipOptions: TooltipOptions) {\n if (JSON.stringify(tooltipOptions) === JSON.stringify(this._attachInfo?.tooltipOptions)) {\n return true;\n }\n return false;\n }\n}\n"]}
@@ -6,7 +6,7 @@ import { createElement } from "../../../tools/dom";
6
6
 
7
7
  import { importStyle } from "./BubbleTooltipElementStyle";
8
8
 
9
- import { isMobile } from "../../../tools/util";
9
+ import { isDivSelected, isMobile } from "../../../tools/util";
10
10
 
11
11
  importStyle();
12
12
 
@@ -24,6 +24,8 @@ export class BubbleTooltipElement {
24
24
  this._disappearDelay = void 0, this.unbindFromCell();
25
25
  })), messageElement.addEventListener("wheel", (e => {
26
26
  e.stopPropagation();
27
+ })), messageElement.addEventListener("copy", (e => {
28
+ isDivSelected(messageElement) && e.stopPropagation();
27
29
  }));
28
30
  }
29
31
  bindToCell(table, col, row, tooltipInstanceInfo, confine) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/tooltip/logic/BubbleTooltipElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,WAAW,EAAE,CAAC;AACd,MAAM,aAAa,GAAG,gCAAgC,CAAC;AACvD,MAAM,aAAa,GAAG,GAAG,aAAa,WAAW,CAAC;AAClD,MAAM,cAAc,GAAG,GAAG,aAAa,YAAY,CAAC;AACpD,MAAM,YAAY,GAAG,GAAG,aAAa,UAAU,CAAC;AAChD,MAAM,WAAW,GAAG,GAAG,aAAa,SAAS,CAAC;AAE9C,MAAM,OAAO,oBAAoB;IAO/B;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClC,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,GAAgB,WAAW,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,SAAS,CAAC;QAChG,IAAI,CAAC,gBAAgB,GAAgB,WAAW,CAAC,aAAa,CAAC,IAAI,cAAc,EAAE,CAAC,IAAI,SAAS,CAAC;QAElG,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YAC7C,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YAC9C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;YAC3C,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,UAAU,CACR,KAAmB,EACnB,GAAW,EACX,GAAW,EACX,mBAAmC,EACnC,OAAgB;;QAEhB,IAAI,CAAC,eAAe,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,cAAc,CAAC;QAC3D,IAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEvC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAExC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACnC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,KAAI,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC3F,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO;gBACjC,CAAC,cAAc,CAAC,KAAK,CAAC,eAAe,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO,CAAC,CAAC;YAC/E,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO,CAAC,CAAC;YAC9G,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,SAAS,MAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3F,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,QAAQ;gBAClC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,QAAQ,mCAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACxF,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,UAAU;gBACpC,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,UAAU,CAAC,CAAC;YAC7E,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,KAAK,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,KAAK,CAAC,CAAC;YACtG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO;gBACjC,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1F,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,SAAS;gBACnC,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,SAAS,IAAI,CAAC,CAAC;YAClF,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,QAAQ;gBAClC,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,QAAQ,IAAI,CAAC,CAAC;YAChF,cAAc,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAC7B,KAAK,EACL,GAAG,EACH,GAAG,EACH,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,EAC7B,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,iBAAiB,EACtC,OAAO,EACP,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,SAAS,CACtC,CAAC;YACF,IAAI,MAAM,EAAE;gBACV,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5C,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO;;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE;YAC9B,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SACpD;QAED,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,kDAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,KAAmB,EAAE,GAAW,EAAE,GAAW,EAAE,cAA+B,EAAE,OAAiB;QACpG,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACxG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACxC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC7C;aAAM;YACL,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IACD,cAAc;;QACZ,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;gBACtC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE;oBAC9B,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC1C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;iBACzC;YACH,CAAC,EAAE,MAAA,IAAI,CAAC,eAAe,mCAAI,CAAC,CAAC,CAAC;SAC/B;aAAM;YACL,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE;gBAC9B,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC1C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACzC;SACF;IACH,CAAC;IACD,cAAc,CAAC,KAAmB,EAAE,GAAW,EAAE,GAAW;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAsB1C,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;aAAM,IACL,MAAM,GAAG,KAAK,CAAC,mBAAmB,EAAE;YACpC,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE;YAClC,IAAI,GAAG,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,uBAAuB,EAAE;YAChE,GAAG,GAAG,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,yBAAyB,EAAE,EAClE;YAEA,OAAO,KAAK,CAAC;SACd;QACD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAC9C,IAAI,GAAG,GAAG,YAAY,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,GAAG,WAAW,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,WAAW,CACT,KAAmB,EACnB,GAAW,EACX,GAAW,EACX,QAAmC,EACnC,iBAA8D,EAC9D,OAAiB,EACjB,SAAmB;QAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,WAAW,EAAE;YACf,IAAI,WAAW,CAAC,aAAa,KAAK,OAAO,EAAE;gBACzC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;aAClC;YACD,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YAE/B,IAAI,QAAgB,CAAC;YACrB,IAAI,QAAgB,CAAC;YAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3D,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,QAAQ,IAAI,CAAC;YAE7C,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC;YACjD,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC;YACnD,IAAI,QAAQ,IAAI,iBAAiB,EAAE;gBACjC,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAC9C,KAAK,EACL,GAAG,EACH,GAAG,EACH,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,SAAS,CACV,CAAC;gBACF,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;gBAC7B,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;aAC9B;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;YAED,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,QAAQ,IAAI,CAAC;YACzC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,QAAQ,IAAI,CAAC;YAExC,IAAI,QAAQ,EAAE,EAAE;gBACd,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;aACrC;YAGD,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YACpG,MAAM,WAAW,GAAG,QAAQ,CAAC;YAC7B,MAAM,YAAY,GAAG,WAAW,GAAG,gBAAgB,CAAC;YACpD,MAAM,UAAU,GAAG,QAAQ,CAAC;YAC5B,MAAM,aAAa,GAAG,WAAW,GAAG,iBAAiB,CAAC;YACtD,IACE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM;gBAC9B,QAAQ,GAAG,YAAY;gBACvB,SAAS,GAAG,WAAW;gBACvB,UAAU,GAAG,UAAU;gBACvB,OAAO,GAAG,aAAa,EACvB;gBACA,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACO,mBAAmB,CACzB,KAAmB,EACnB,GAAW,EACX,GAAW,EACX,QAAmC,EACnC,iBAA8D,EAC9D,OAAiB,EACjB,SAAmB;;QAEnB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC/G,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvB,IAAI,QAAgB,CAAC;QACrB,IAAI,QAAgB,CAAC;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3D,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,QAAQ,IAAI,CAAC;QAE7C,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC;QACjD,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC;QAEnD,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE;YACZ,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;YACtB,QAAQ,GAAG,QAAQ,CAAC,CAAC,GAAG,cAAc,CAAC;YACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;YAChD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;SAC1C;aAAM,IAAI,iBAAiB,EAAE;YAC5B,IAAI,SAAS,GAAG,MAAA,iBAAiB,CAAC,SAAS,mCAAI,SAAS,CAAC,MAAM,CAAC;YAChE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACxF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACxF,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;YAChD,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;YACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;YAEpD,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,MAAM,cAAc,GAAG,GAAG,EAAE;gBAC1B,SAAS,EAAE,CAAC;gBACZ,IAAI,SAAS,IAAI,CAAC,EAAE;oBAClB,OAAO;iBACR;gBACD,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE;oBAC/B,QAAQ,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,CAAC,CAAC;oBACnD,QAAQ,GAAG,YAAY,GAAG,iBAAiB,GAAG,cAAc,CAAC;oBAC7D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;oBAChD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBAG5C,IAAI,OAAO,IAAI,QAAQ,GAAG,CAAC,EAAE;wBAC3B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;wBAC5B,cAAc,EAAE,CAAC;qBAClB;iBACF;qBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,MAAM,EAAE;oBACzC,QAAQ,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,CAAC,CAAC;oBACnD,QAAQ,GAAG,eAAe,GAAG,cAAc,CAAC;oBAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;oBAChD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;oBACzC,IAAI,OAAO,IAAI,QAAQ,GAAG,iBAAiB,GAAG,eAAe,EAAE;wBAC7D,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;wBAC3B,cAAc,EAAE,CAAC;qBAClB;iBACF;qBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE;oBACvC,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,CAAC,CAAC;oBACpD,QAAQ,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC;oBAC7D,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;oBAC3C,IAAI,OAAO,IAAI,QAAQ,GAAG,CAAC,EAAE;wBAC3B,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC;wBAC1B,cAAc,EAAE,CAAC;qBAClB;iBACF;qBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,KAAK,EAAE;oBACxC,QAAQ,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,CAAC,CAAC;oBACpD,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;oBAC3C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;oBAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;oBAC1C,IAAI,OAAO,IAAI,QAAQ,GAAG,gBAAgB,GAAG,cAAc,EAAE;wBAC3D,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;wBAC7B,cAAc,EAAE,CAAC;qBAClB;iBACF;YACH,CAAC,CAAC;YACF,cAAc,EAAE,CAAC;SAClB;QAED,IAAI,OAAO,EAAE;YACX,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,QAAQ,GAAG,CAAC,CAAC;aACd;iBAAM,IAAI,QAAQ,GAAG,WAAW,CAAC,WAAW,GAAG,cAAc,EAAE;gBAC9D,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC;aACrD;SACF;QACD,OAAO;YACL,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;SACZ,CAAC;IACJ,CAAC;IACO,uBAAuB;QAC7B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,CACL,KAAmB,EACnB,GAAW,EACX,GAAW,EACX,QAAmC,EACnC,iBAGC,EACD,OAAiB;QAEjB,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACxG,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,QAAQ,IAAI,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,QAAQ,IAAI,CAAC;IAChD,CAAC;CACF","file":"BubbleTooltipElement.js","sourcesContent":["import { EventHandler } from '../../../event/EventHandler';\nimport type { RectProps } from '../../../ts-types';\nimport { Placement } from '../../../ts-types';\nimport { createElement } from '../../../tools/dom';\nimport { importStyle } from './BubbleTooltipElementStyle';\nimport { isMobile } from '../../../tools/util';\nimport type { TooltipOptions } from '../../../ts-types/tooltip';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimportStyle();\nconst TOOLTIP_CLASS = 'vtable__bubble-tooltip-element';\nconst CONTENT_CLASS = `${TOOLTIP_CLASS}__content`;\nconst TRIANGLE_CLASS = `${TOOLTIP_CLASS}__triangle`;\nconst HIDDEN_CLASS = `${TOOLTIP_CLASS}--hidden`;\nconst SHOWN_CLASS = `${TOOLTIP_CLASS}--shown`;\n\nexport class BubbleTooltipElement {\n private _handler: EventHandler;\n private _rootElement?: HTMLElement;\n private _messageElement?: HTMLElement;\n private _triangleElement?: HTMLElement;\n private _disappearDelay?: number; // 提示框延迟多久消失\n private _disappearDelayId?: any;\n constructor() {\n this._handler = new EventHandler();\n const rootElement = (this._rootElement = createElement('div', [TOOLTIP_CLASS, HIDDEN_CLASS]));\n const messageElement = createElement('div', [CONTENT_CLASS]);\n const triangle = createElement('span', [TRIANGLE_CLASS]);\n rootElement.appendChild(triangle);\n rootElement.appendChild(messageElement);\n this._messageElement = <HTMLElement>rootElement.querySelector(`.${CONTENT_CLASS}`) || undefined;\n this._triangleElement = <HTMLElement>rootElement.querySelector(`.${TRIANGLE_CLASS}`) || undefined;\n\n rootElement.addEventListener('mousemove', () => {\n this._disappearDelayId && clearTimeout(this._disappearDelayId);\n });\n rootElement.addEventListener('mouseleave', () => {\n this._disappearDelay = undefined;\n this.unbindFromCell();\n });\n\n messageElement.addEventListener('wheel', e => {\n e.stopPropagation();\n });\n }\n bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n tooltipInstanceInfo: TooltipOptions,\n confine: boolean\n ): boolean {\n this._disappearDelay = tooltipInstanceInfo?.disappearDelay;\n this._disappearDelayId && clearTimeout(this._disappearDelayId);\n const rootElement = this._rootElement;\n const messageElement = this._messageElement;\n const triangle = this._triangleElement;\n\n rootElement?.classList.remove(SHOWN_CLASS);\n rootElement?.classList.add(HIDDEN_CLASS);\n if (this._canBindToCell(table, col, row)) {\n //设置style及类名\n messageElement.setAttribute('style', '');\n triangle.setAttribute('style', '');\n tooltipInstanceInfo?.className && rootElement.classList.add(tooltipInstanceInfo.className);\n tooltipInstanceInfo?.style?.bgColor &&\n (messageElement.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n tooltipInstanceInfo?.style?.bgColor && (triangle.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n triangle.style.display = tooltipInstanceInfo?.style?.arrowMark === true ? 'block' : 'none';\n tooltipInstanceInfo?.style?.fontSize &&\n (messageElement.style.fontSize = (tooltipInstanceInfo?.style?.fontSize ?? 12) + 'px');\n tooltipInstanceInfo?.style?.fontFamily &&\n (messageElement.style.fontFamily = tooltipInstanceInfo?.style?.fontFamily);\n tooltipInstanceInfo?.style?.color && (messageElement.style.color = tooltipInstanceInfo?.style?.color);\n tooltipInstanceInfo?.style?.padding &&\n (messageElement.style.padding = `${tooltipInstanceInfo?.style?.padding.join('px ')}px`);\n tooltipInstanceInfo?.style?.maxHeight &&\n (messageElement.style.maxHeight = `${tooltipInstanceInfo?.style?.maxHeight}px`);\n tooltipInstanceInfo?.style?.maxWidth &&\n (messageElement.style.maxWidth = `${tooltipInstanceInfo?.style?.maxWidth}px`);\n messageElement && (messageElement.textContent = tooltipInstanceInfo?.content);\n const binded = this._bindToCell(\n table,\n col,\n row,\n tooltipInstanceInfo?.position,\n tooltipInstanceInfo?.referencePosition,\n confine,\n tooltipInstanceInfo?.style?.arrowMark\n );\n if (binded) {\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n return true;\n }\n } else {\n this.unbindFromCell();\n }\n return false;\n }\n release(): void {\n this.unbindFromCell();\n\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.parentElement.removeChild(rootElement);\n }\n\n this._handler?.release?.();\n delete this._rootElement;\n delete this._messageElement;\n }\n move(table: BaseTableAPI, col: number, row: number, tooltipOptions?: TooltipOptions, confine?: boolean): void {\n const rootElement = this._rootElement;\n if (this._canBindToCell(table, col, row)) {\n this._bindToCell(table, col, row, tooltipOptions?.position, tooltipOptions?.referencePosition, confine);\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n } else {\n this.unbindFromCell();\n }\n }\n unbindFromCell(): void {\n if (this._disappearDelay) {\n this._disappearDelayId = setTimeout(() => {\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.classList.remove(SHOWN_CLASS);\n rootElement.classList.add(HIDDEN_CLASS);\n }\n }, this._disappearDelay ?? 0);\n } else {\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.classList.remove(SHOWN_CLASS);\n rootElement.classList.add(HIDDEN_CLASS);\n }\n }\n }\n _canBindToCell(table: BaseTableAPI, col: number, row: number): boolean {\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const { bottom, left, right, top } = rect;\n // const { frozenRowCount, frozenColCount } = table;\n // if (row >= frozenRowCount && frozenRowCount > 0) {\n // const frozenRect = table.getCellRangeRelativeRect({ col, row: frozenRowCount - 1 });\n // if (bottom < frozenRect.bottom) {\n // // 范围外\n // return false;\n // }\n // } else if (bottom < 0) {\n // // 范围外\n // return false;\n // }\n // if (col >= frozenColCount && frozenColCount > 0) {\n // const frozenRect = table.getCellRangeRelativeRect({ col: frozenColCount - 1, row });\n // if (right < frozenRect.right) {\n // //整个是被冻结列盖住的 不需要提示toolTip\n // return false;\n // }\n // } else if (left < 0) {\n // return false;\n // }\n\n if (table.isFrozenCell(col, row)) {\n return true;\n } else if (\n bottom < table.getFrozenRowsHeight() ||\n right < table.getFrozenColsWidth() ||\n left > table.tableNoFrameWidth - table.getRightFrozenColsWidth() ||\n top > table.tableNoFrameHeight - table.getBottomFrozenRowsHeight()\n ) {\n // 范围外\n return false;\n }\n const { offsetHeight, offsetWidth } = element;\n if (top > offsetHeight) {\n return false;\n }\n if (left > offsetWidth) {\n return false;\n }\n return true;\n }\n _bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ): boolean {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const containerWidth = table.internalProps.element.offsetWidth;\n const { width } = rect;\n if (rootElement) {\n if (rootElement.parentElement !== element) {\n element.appendChild(rootElement);\n }\n rootElement.style.left = `0px`;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n if (position || referencePosition) {\n const tooltipPosition = this.getComputedPosition(\n table,\n col,\n row,\n position,\n referencePosition,\n confine,\n arrowMark\n );\n tooltipX = tooltipPosition.x;\n tooltipY = tooltipPosition.y;\n } else {\n return false;\n }\n\n rootElement.style.left = `${tooltipX}px`;\n rootElement.style.top = `${tooltipY}px`;\n // rootElement.style.width=rootElementWidth+'px';\n if (isMobile()) {\n rootElement.style.fontSize = '11px';\n }\n\n // 判断当前tooltip范围是否与tooltip重合\n const { x1: menuLeft, x2: menuRight, y1: menuTop, y2: menuBottom } = table.stateManager.menu.bounds;\n const tooltipLeft = tooltipX;\n const tooltipRight = tooltipLeft + rootElementWidth;\n const tooltipTop = tooltipY;\n const tooltipBottom = tooltipLeft + rootElementHeight;\n if (\n table.stateManager.menu.isShow &&\n menuLeft < tooltipRight &&\n menuRight > tooltipLeft &&\n menuBottom > tooltipTop &&\n menuTop < tooltipBottom\n ) {\n return false;\n }\n return true;\n }\n return false;\n }\n private getComputedPosition(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ) {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const { width: containerWidth, height: containerHeight } = table.internalProps.element.getBoundingClientRect();\n const { width } = rect;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n // this._triangleElement.setAttribute('style', '');\n const triangleHeight = arrowMark ? 6 : 0;\n if (position) {\n tooltipX = position.x;\n tooltipY = position.y + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n } else if (referencePosition) {\n let placement = referencePosition.placement ?? Placement.bottom;\n const referenceXMiddle = referencePosition.rect.left + referencePosition.rect.width / 2;\n const referenceYMiddle = referencePosition.rect.top + referencePosition.rect.height / 2;\n const referenceTop = referencePosition.rect.top;\n const referenceBottom = referencePosition.rect.bottom;\n const referenceLeft = referencePosition.rect.left;\n const referenceRight = referencePosition.rect.right;\n\n let callCount = 0;\n /** 根据placement计算弹出框的位置 躲避策略[dom的这块先去除 dom可以超出显示]:根据顺时针方向依次检测placement */\n const adjustPosition = () => {\n callCount++;\n if (callCount >= 4) {\n return;\n }\n this.removeStyleFromTriangle();\n if (placement === Placement.top) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceTop - rootElementHeight - triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.bottom = '-5px';\n\n // 判断如果超出左右范围则靠边显示\n if (confine && tooltipY < 0) {\n placement = Placement.right;\n adjustPosition();\n }\n } else if (placement === Placement.bottom) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceBottom + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n if (confine && tooltipY + rootElementHeight > containerHeight) {\n placement = Placement.left;\n adjustPosition();\n }\n } else if (placement === Placement.left) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceLeft - rootElementWidth - triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.right = '-5px';\n if (confine && tooltipX < 0) {\n placement = Placement.top;\n adjustPosition();\n }\n } else if (placement === Placement.right) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceRight + triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.left = '-5px';\n if (confine && tooltipX + rootElementWidth > containerWidth) {\n placement = Placement.bottom;\n adjustPosition();\n }\n }\n };\n adjustPosition();\n }\n // 判断如果超出左右范围则靠边显示\n if (confine) {\n if (tooltipX < 0) {\n tooltipX = 0;\n } else if (tooltipX + rootElement.offsetWidth > containerWidth) {\n tooltipX = containerWidth - rootElement.offsetWidth;\n }\n }\n return {\n x: tooltipX,\n y: tooltipY\n };\n }\n private removeStyleFromTriangle() {\n this._triangleElement.style.left = '';\n this._triangleElement.style.right = '';\n this._triangleElement.style.top = '';\n this._triangleElement.style.bottom = '';\n this._triangleElement.style.marginLeft = '';\n this._triangleElement.style.marginTop = '';\n }\n _locate(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: {\n rect: RectProps;\n placement?: Placement;\n },\n confine?: boolean\n ) {\n const tooltipPosition = this.getComputedPosition(table, col, row, position, referencePosition, confine);\n const tooltipX = tooltipPosition.x;\n const tooltipY = tooltipPosition.y;\n this._rootElement.style.left = `${tooltipX}px`;\n this._rootElement.style.top = `${tooltipY}px`;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/components/tooltip/logic/BubbleTooltipElement.ts"],"names":[],"mappings":"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","file":"BubbleTooltipElement.js","sourcesContent":["import { EventHandler } from '../../../event/EventHandler';\nimport type { RectProps } from '../../../ts-types';\nimport { Placement } from '../../../ts-types';\nimport { createElement } from '../../../tools/dom';\nimport { importStyle } from './BubbleTooltipElementStyle';\nimport { isDivSelected, isMobile } from '../../../tools/util';\nimport type { TooltipOptions } from '../../../ts-types/tooltip';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimportStyle();\nconst TOOLTIP_CLASS = 'vtable__bubble-tooltip-element';\nconst CONTENT_CLASS = `${TOOLTIP_CLASS}__content`;\nconst TRIANGLE_CLASS = `${TOOLTIP_CLASS}__triangle`;\nconst HIDDEN_CLASS = `${TOOLTIP_CLASS}--hidden`;\nconst SHOWN_CLASS = `${TOOLTIP_CLASS}--shown`;\n\nexport class BubbleTooltipElement {\n private _handler: EventHandler;\n private _rootElement?: HTMLElement;\n private _messageElement?: HTMLElement;\n private _triangleElement?: HTMLElement;\n private _disappearDelay?: number; // 提示框延迟多久消失\n private _disappearDelayId?: any;\n constructor() {\n this._handler = new EventHandler();\n const rootElement = (this._rootElement = createElement('div', [TOOLTIP_CLASS, HIDDEN_CLASS]));\n const messageElement = createElement('div', [CONTENT_CLASS]);\n const triangle = createElement('span', [TRIANGLE_CLASS]);\n rootElement.appendChild(triangle);\n rootElement.appendChild(messageElement);\n this._messageElement = <HTMLElement>rootElement.querySelector(`.${CONTENT_CLASS}`) || undefined;\n this._triangleElement = <HTMLElement>rootElement.querySelector(`.${TRIANGLE_CLASS}`) || undefined;\n\n rootElement.addEventListener('mousemove', () => {\n this._disappearDelayId && clearTimeout(this._disappearDelayId);\n });\n rootElement.addEventListener('mouseleave', () => {\n this._disappearDelay = undefined;\n this.unbindFromCell();\n });\n\n messageElement.addEventListener('wheel', e => {\n e.stopPropagation();\n });\n messageElement.addEventListener('copy', e => {\n const isSelected = isDivSelected(messageElement as HTMLDivElement); // 判断tooltip弹框内容是否有选中\n if (isSelected) {\n e.stopPropagation();\n }\n });\n }\n bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n tooltipInstanceInfo: TooltipOptions,\n confine: boolean\n ): boolean {\n this._disappearDelay = tooltipInstanceInfo?.disappearDelay;\n this._disappearDelayId && clearTimeout(this._disappearDelayId);\n const rootElement = this._rootElement;\n const messageElement = this._messageElement;\n const triangle = this._triangleElement;\n\n rootElement?.classList.remove(SHOWN_CLASS);\n rootElement?.classList.add(HIDDEN_CLASS);\n if (this._canBindToCell(table, col, row)) {\n //设置style及类名\n messageElement.setAttribute('style', '');\n triangle.setAttribute('style', '');\n tooltipInstanceInfo?.className && rootElement.classList.add(tooltipInstanceInfo.className);\n tooltipInstanceInfo?.style?.bgColor &&\n (messageElement.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n tooltipInstanceInfo?.style?.bgColor && (triangle.style.backgroundColor = tooltipInstanceInfo?.style?.bgColor);\n triangle.style.display = tooltipInstanceInfo?.style?.arrowMark === true ? 'block' : 'none';\n tooltipInstanceInfo?.style?.fontSize &&\n (messageElement.style.fontSize = (tooltipInstanceInfo?.style?.fontSize ?? 12) + 'px');\n tooltipInstanceInfo?.style?.fontFamily &&\n (messageElement.style.fontFamily = tooltipInstanceInfo?.style?.fontFamily);\n tooltipInstanceInfo?.style?.color && (messageElement.style.color = tooltipInstanceInfo?.style?.color);\n tooltipInstanceInfo?.style?.padding &&\n (messageElement.style.padding = `${tooltipInstanceInfo?.style?.padding.join('px ')}px`);\n tooltipInstanceInfo?.style?.maxHeight &&\n (messageElement.style.maxHeight = `${tooltipInstanceInfo?.style?.maxHeight}px`);\n tooltipInstanceInfo?.style?.maxWidth &&\n (messageElement.style.maxWidth = `${tooltipInstanceInfo?.style?.maxWidth}px`);\n messageElement && (messageElement.textContent = tooltipInstanceInfo?.content);\n const binded = this._bindToCell(\n table,\n col,\n row,\n tooltipInstanceInfo?.position,\n tooltipInstanceInfo?.referencePosition,\n confine,\n tooltipInstanceInfo?.style?.arrowMark\n );\n if (binded) {\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n return true;\n }\n } else {\n this.unbindFromCell();\n }\n return false;\n }\n release(): void {\n this.unbindFromCell();\n\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.parentElement.removeChild(rootElement);\n }\n\n this._handler?.release?.();\n delete this._rootElement;\n delete this._messageElement;\n }\n move(table: BaseTableAPI, col: number, row: number, tooltipOptions?: TooltipOptions, confine?: boolean): void {\n const rootElement = this._rootElement;\n if (this._canBindToCell(table, col, row)) {\n this._bindToCell(table, col, row, tooltipOptions?.position, tooltipOptions?.referencePosition, confine);\n rootElement?.classList.add(SHOWN_CLASS);\n rootElement?.classList.remove(HIDDEN_CLASS);\n } else {\n this.unbindFromCell();\n }\n }\n unbindFromCell(): void {\n if (this._disappearDelay) {\n this._disappearDelayId = setTimeout(() => {\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.classList.remove(SHOWN_CLASS);\n rootElement.classList.add(HIDDEN_CLASS);\n }\n }, this._disappearDelay ?? 0);\n } else {\n const rootElement = this._rootElement;\n if (rootElement?.parentElement) {\n rootElement.classList.remove(SHOWN_CLASS);\n rootElement.classList.add(HIDDEN_CLASS);\n }\n }\n }\n _canBindToCell(table: BaseTableAPI, col: number, row: number): boolean {\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const { bottom, left, right, top } = rect;\n // const { frozenRowCount, frozenColCount } = table;\n // if (row >= frozenRowCount && frozenRowCount > 0) {\n // const frozenRect = table.getCellRangeRelativeRect({ col, row: frozenRowCount - 1 });\n // if (bottom < frozenRect.bottom) {\n // // 范围外\n // return false;\n // }\n // } else if (bottom < 0) {\n // // 范围外\n // return false;\n // }\n // if (col >= frozenColCount && frozenColCount > 0) {\n // const frozenRect = table.getCellRangeRelativeRect({ col: frozenColCount - 1, row });\n // if (right < frozenRect.right) {\n // //整个是被冻结列盖住的 不需要提示toolTip\n // return false;\n // }\n // } else if (left < 0) {\n // return false;\n // }\n\n if (table.isFrozenCell(col, row)) {\n return true;\n } else if (\n bottom < table.getFrozenRowsHeight() ||\n right < table.getFrozenColsWidth() ||\n left > table.tableNoFrameWidth - table.getRightFrozenColsWidth() ||\n top > table.tableNoFrameHeight - table.getBottomFrozenRowsHeight()\n ) {\n // 范围外\n return false;\n }\n const { offsetHeight, offsetWidth } = element;\n if (top > offsetHeight) {\n return false;\n }\n if (left > offsetWidth) {\n return false;\n }\n return true;\n }\n _bindToCell(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ): boolean {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const element = table.getElement();\n const containerWidth = table.internalProps.element.offsetWidth;\n const { width } = rect;\n if (rootElement) {\n if (rootElement.parentElement !== element) {\n element.appendChild(rootElement);\n }\n rootElement.style.left = `0px`;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n if (position || referencePosition) {\n const tooltipPosition = this.getComputedPosition(\n table,\n col,\n row,\n position,\n referencePosition,\n confine,\n arrowMark\n );\n tooltipX = tooltipPosition.x;\n tooltipY = tooltipPosition.y;\n } else {\n return false;\n }\n\n rootElement.style.left = `${tooltipX}px`;\n rootElement.style.top = `${tooltipY}px`;\n // rootElement.style.width=rootElementWidth+'px';\n if (isMobile()) {\n rootElement.style.fontSize = '11px';\n }\n\n // 判断当前tooltip范围是否与tooltip重合\n const { x1: menuLeft, x2: menuRight, y1: menuTop, y2: menuBottom } = table.stateManager.menu.bounds;\n const tooltipLeft = tooltipX;\n const tooltipRight = tooltipLeft + rootElementWidth;\n const tooltipTop = tooltipY;\n const tooltipBottom = tooltipLeft + rootElementHeight;\n if (\n table.stateManager.menu.isShow &&\n menuLeft < tooltipRight &&\n menuRight > tooltipLeft &&\n menuBottom > tooltipTop &&\n menuTop < tooltipBottom\n ) {\n return false;\n }\n return true;\n }\n return false;\n }\n private getComputedPosition(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: { rect: RectProps; placement?: Placement },\n confine?: boolean,\n arrowMark?: boolean\n ) {\n const rootElement = this._rootElement;\n const rect = table.getCellRangeRelativeRect({ col, row });\n const { width: containerWidth, height: containerHeight } = table.internalProps.element.getBoundingClientRect();\n const { width } = rect;\n // 边界碰撞检测\n let tooltipY: number;\n let tooltipX: number;\n //设置最宽尺寸\n const maxWidth = Math.min(containerWidth * 0.8, width * 4);\n rootElement.style.maxWidth = `${maxWidth}px`;\n //计算弹出框的宽度\n const rootElementWidth = rootElement.clientWidth; //Math.min(Math.max(rootElement.clientWidth, width), maxWidth);\n const rootElementHeight = rootElement.clientHeight;\n // this._triangleElement.setAttribute('style', '');\n const triangleHeight = arrowMark ? 6 : 0;\n if (position) {\n tooltipX = position.x;\n tooltipY = position.y + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n } else if (referencePosition) {\n let placement = referencePosition.placement ?? Placement.bottom;\n const referenceXMiddle = referencePosition.rect.left + referencePosition.rect.width / 2;\n const referenceYMiddle = referencePosition.rect.top + referencePosition.rect.height / 2;\n const referenceTop = referencePosition.rect.top;\n const referenceBottom = referencePosition.rect.bottom;\n const referenceLeft = referencePosition.rect.left;\n const referenceRight = referencePosition.rect.right;\n\n let callCount = 0;\n /** 根据placement计算弹出框的位置 躲避策略[dom的这块先去除 dom可以超出显示]:根据顺时针方向依次检测placement */\n const adjustPosition = () => {\n callCount++;\n if (callCount >= 4) {\n return;\n }\n this.removeStyleFromTriangle();\n if (placement === Placement.top) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceTop - rootElementHeight - triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.bottom = '-5px';\n\n // 判断如果超出左右范围则靠边显示\n if (confine && tooltipY < 0) {\n placement = Placement.right;\n adjustPosition();\n }\n } else if (placement === Placement.bottom) {\n tooltipX = referenceXMiddle - rootElementWidth / 2;\n tooltipY = referenceBottom + triangleHeight;\n this._triangleElement.style.left = '50%';\n this._triangleElement.style.marginLeft = '-5px';\n this._triangleElement.style.top = '-5px';\n if (confine && tooltipY + rootElementHeight > containerHeight) {\n placement = Placement.left;\n adjustPosition();\n }\n } else if (placement === Placement.left) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceLeft - rootElementWidth - triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.right = '-5px';\n if (confine && tooltipX < 0) {\n placement = Placement.top;\n adjustPosition();\n }\n } else if (placement === Placement.right) {\n tooltipY = referenceYMiddle - rootElementHeight / 2;\n tooltipX = referenceRight + triangleHeight;\n this._triangleElement.style.top = '50%';\n this._triangleElement.style.marginTop = '-5px';\n this._triangleElement.style.left = '-5px';\n if (confine && tooltipX + rootElementWidth > containerWidth) {\n placement = Placement.bottom;\n adjustPosition();\n }\n }\n };\n adjustPosition();\n }\n // 判断如果超出左右范围则靠边显示\n if (confine) {\n if (tooltipX < 0) {\n tooltipX = 0;\n } else if (tooltipX + rootElement.offsetWidth > containerWidth) {\n tooltipX = containerWidth - rootElement.offsetWidth;\n }\n }\n return {\n x: tooltipX,\n y: tooltipY\n };\n }\n private removeStyleFromTriangle() {\n this._triangleElement.style.left = '';\n this._triangleElement.style.right = '';\n this._triangleElement.style.top = '';\n this._triangleElement.style.bottom = '';\n this._triangleElement.style.marginLeft = '';\n this._triangleElement.style.marginTop = '';\n }\n _locate(\n table: BaseTableAPI,\n col: number,\n row: number,\n position?: { x: number; y: number },\n referencePosition?: {\n rect: RectProps;\n placement?: Placement;\n },\n confine?: boolean\n ) {\n const tooltipPosition = this.getComputedPosition(table, col, row, position, referencePosition, confine);\n const tooltipX = tooltipPosition.x;\n const tooltipY = tooltipPosition.y;\n this._rootElement.style.left = `${tooltipX}px`;\n this._rootElement.style.top = `${tooltipY}px`;\n }\n}\n"]}
@@ -13,7 +13,7 @@ import { AABBBounds, type ITextSize } from '@visactor/vutils';
13
13
  import type { ColumnData, ColumnDefine, ColumnsDefine, IndicatorData, SeriesNumberColumnData } from '../ts-types/list-table/layout-map/api';
14
14
  import type { TooltipOptions } from '../ts-types/tooltip';
15
15
  import type { BaseTableAPI, BaseTableConstructorOptions, IBaseTableProtected } from '../ts-types/base-table';
16
- import { DataSet } from '@visactor/vdataset';
16
+ import type { DataSet } from '@visactor/vdataset';
17
17
  import { NumberRangeMap } from '../layout/row-height-map';
18
18
  import { CustomCellStylePlugin } from '../plugins/custom-cell-style';
19
19
  import type { ITextGraphicAttribute } from './../vrender';
@@ -42,7 +42,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
42
42
  customRender?: ICustomRender;
43
43
  canvasWidth?: number;
44
44
  canvasHeight?: number;
45
- _vDataSet: DataSet;
45
+ _vDataSet?: DataSet;
46
46
  scenegraph: Scenegraph;
47
47
  stateManager: StateManager;
48
48
  eventManager: EventManager;
@@ -188,6 +188,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
188
188
  width: number;
189
189
  };
190
190
  getCellAt(absoluteX: number, absoluteY: number): CellAddressWithBound;
191
+ getCellAtRelativePosition(relativeX: number, relativeY: number): CellAddressWithBound;
191
192
  _checkRowCol(col: number, row: number): boolean;
192
193
  _makeVisibleCell(col: number, row: number): void;
193
194
  render(): void;
@@ -242,8 +243,6 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
242
243
  getTargetRowAt(absoluteY: number): RowInfo | null;
243
244
  getTargetColAtConsiderRightFrozen(absoluteX: number, isConsider: boolean): ColumnInfo | null;
244
245
  getTargetRowAtConsiderBottomFrozen(absoluteY: number, isConsider: boolean): RowInfo | null;
245
- private computeTargetRowByY;
246
- private computeTargetColByX;
247
246
  clearSelected(): void;
248
247
  selectCell(col: number, row: number, isShift?: boolean, isCtrl?: boolean): void;
249
248
  selectCells(cellRanges: CellRange[]): void;
@@ -401,4 +400,6 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
401
400
  checkReactCustomLayout(): void;
402
401
  get bodyDomContainer(): HTMLElement;
403
402
  get headerDomContainer(): HTMLElement;
403
+ showMoverLine(col: number, row: number): void;
404
+ hideMoverLine(col: number, row: number): void;
404
405
  }