@visactor/vtable 1.4.2 → 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 (391) 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 +38 -22
  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 +32 -17
  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/core/BaseTable.d.ts +4 -2
  39. package/cjs/core/BaseTable.js +57 -35
  40. package/cjs/core/BaseTable.js.map +1 -1
  41. package/cjs/core/factory.d.ts +11 -0
  42. package/cjs/core/factory.js +29 -0
  43. package/cjs/core/factory.js.map +1 -0
  44. package/cjs/core/row-series-number-helper.js +2 -1
  45. package/cjs/core/utils/get-cell-position.js +6 -2
  46. package/cjs/core/utils/get-cell-position.js.map +1 -1
  47. package/cjs/edit/edit-manager.js +1 -2
  48. package/cjs/event/listener/container-dom.js +3 -2
  49. package/cjs/event/listener/container-dom.js.map +1 -1
  50. package/cjs/event/listener/table-group.d.ts +3 -0
  51. package/cjs/event/listener/table-group.js +3 -2
  52. package/cjs/event/listener/table-group.js.map +1 -1
  53. package/cjs/event/media-click.js +3 -1
  54. package/cjs/event/media-click.js.map +1 -1
  55. package/cjs/index.d.ts +8 -4
  56. package/cjs/index.js +26 -7
  57. package/cjs/index.js.map +1 -1
  58. package/cjs/layout/chart-helper/get-axis-config.d.ts +1 -1
  59. package/cjs/layout/chart-helper/get-axis-config.js +4 -4
  60. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  61. package/cjs/layout/chart-helper/get-axis-domain.d.ts +1 -0
  62. package/cjs/layout/chart-helper/get-axis-domain.js.map +1 -1
  63. package/cjs/layout/chart-helper/get-chart-spec.js +31 -9
  64. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  65. package/cjs/layout/pivot-header-layout.js +8 -6
  66. package/cjs/layout/pivot-header-layout.js.map +1 -1
  67. package/cjs/layout/row-height-map.js +0 -1
  68. package/cjs/plugins/themes.js +2 -1
  69. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
  70. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  71. package/cjs/scenegraph/group-creater/cell-helper.js +18 -11
  72. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  73. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -0
  74. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  75. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +3 -2
  76. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +21 -4
  77. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  78. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +4 -2
  79. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +34 -14
  80. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  81. package/cjs/scenegraph/group-creater/cell-type/index.d.ts +8 -0
  82. package/cjs/scenegraph/group-creater/cell-type/index.js +55 -0
  83. package/cjs/scenegraph/group-creater/cell-type/index.js.map +1 -0
  84. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +1 -0
  85. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  86. package/cjs/scenegraph/group-creater/cell-type/radio-cell.d.ts +1 -0
  87. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  88. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -0
  89. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  90. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -0
  91. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  92. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +3 -1
  93. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +21 -5
  94. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  95. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +8 -8
  96. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  97. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -4
  98. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  99. package/cjs/scenegraph/group-creater/progress/update-position/sort-horizontal.js +2 -2
  100. package/cjs/scenegraph/group-creater/progress/update-position/sort-horizontal.js.map +1 -1
  101. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js +7 -8
  102. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  103. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +3 -3
  104. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  105. package/cjs/scenegraph/group-creater/progress/update-position/util.js +3 -3
  106. package/cjs/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  107. package/cjs/scenegraph/layout/compute-col-width.js +3 -3
  108. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  109. package/cjs/scenegraph/layout/compute-row-height.js +3 -3
  110. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  111. package/cjs/scenegraph/layout/update-height.js +5 -6
  112. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  113. package/cjs/scenegraph/layout/update-width.js +5 -6
  114. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  115. package/cjs/scenegraph/refresh-node/update-chart.js +2 -2
  116. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  117. package/cjs/scenegraph/scenegraph.js +5 -5
  118. package/cjs/scenegraph/scenegraph.js.map +1 -1
  119. package/cjs/scenegraph/select/update-select-border.js +72 -49
  120. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  121. package/cjs/scenegraph/utils/text-icon-layout.d.ts +16 -0
  122. package/cjs/scenegraph/utils/text-icon-layout.js +80 -58
  123. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  124. package/cjs/state/select/update-position.js +2 -2
  125. package/cjs/state/select/update-position.js.map +1 -1
  126. package/cjs/state/state.js +1 -1
  127. package/cjs/themes/ARCO.js +1 -1
  128. package/cjs/themes/BRIGHT.js +1 -1
  129. package/cjs/themes/DARK.js +1 -1
  130. package/cjs/themes/DEFAULT.js +1 -1
  131. package/cjs/themes/SIMPLIFY.js +1 -1
  132. package/cjs/ts-types/base-table.d.ts +5 -3
  133. package/cjs/ts-types/base-table.js.map +1 -1
  134. package/cjs/ts-types/table-engine.js.map +1 -1
  135. package/cjs/ts-types/theme.js.map +1 -1
  136. package/cjs/vrender.js +7 -7
  137. package/cjs/vrender.js.map +1 -1
  138. package/dist/vtable.js +30693 -30803
  139. package/dist/vtable.min.js +2 -2
  140. package/es/ListTable-all.d.ts +3 -0
  141. package/es/ListTable-all.js +12 -0
  142. package/es/ListTable-all.js.map +1 -0
  143. package/es/ListTable-simple.d.ts +3 -0
  144. package/es/ListTable-simple.js +8 -0
  145. package/es/ListTable-simple.js.map +1 -0
  146. package/es/ListTable.js +34 -19
  147. package/es/ListTable.js.map +1 -1
  148. package/es/PivotChart.js +35 -15
  149. package/es/PivotChart.js.map +1 -1
  150. package/es/PivotTable-all.d.ts +3 -0
  151. package/es/PivotTable-all.js +13 -0
  152. package/es/PivotTable-all.js.map +1 -0
  153. package/es/PivotTable-simple.d.ts +3 -0
  154. package/es/PivotTable-simple.js +8 -0
  155. package/es/PivotTable-simple.js.map +1 -0
  156. package/es/PivotTable.js +31 -18
  157. package/es/PivotTable.js.map +1 -1
  158. package/es/body-helper/style.js +1 -2
  159. package/es/components/axis/axis.d.ts +3 -0
  160. package/es/components/axis/axis.js +4 -3
  161. package/es/components/axis/axis.js.map +1 -1
  162. package/es/components/axis/get-axis-component-size.d.ts +2 -0
  163. package/es/components/axis/get-axis-component-size.js.map +1 -1
  164. package/es/components/empty-tip/empty-tip.d.ts +3 -0
  165. package/es/components/empty-tip/empty-tip.js.map +1 -1
  166. package/es/components/index.d.ts +6 -0
  167. package/es/components/index.js +44 -0
  168. package/es/components/index.js.map +1 -0
  169. package/es/components/legend/create-legend.d.ts +1 -0
  170. package/es/components/legend/create-legend.js.map +1 -1
  171. package/es/components/menu/dom/MenuHandler.d.ts +3 -0
  172. package/es/components/menu/dom/MenuHandler.js.map +1 -1
  173. package/es/components/title/title.d.ts +3 -0
  174. package/es/components/title/title.js.map +1 -1
  175. package/es/components/tooltip/TooltipHandler.d.ts +3 -0
  176. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  177. package/es/core/BaseTable.d.ts +4 -2
  178. package/es/core/BaseTable.js +58 -38
  179. package/es/core/BaseTable.js.map +1 -1
  180. package/es/core/factory.d.ts +11 -0
  181. package/es/core/factory.js +23 -0
  182. package/es/core/factory.js.map +1 -0
  183. package/es/core/row-series-number-helper.js +2 -1
  184. package/es/core/utils/get-cell-position.js +6 -2
  185. package/es/core/utils/get-cell-position.js.map +1 -1
  186. package/es/edit/edit-manager.js +1 -2
  187. package/es/event/listener/container-dom.js +3 -1
  188. package/es/event/listener/container-dom.js.map +1 -1
  189. package/es/event/listener/table-group.d.ts +3 -0
  190. package/es/event/listener/table-group.js +2 -2
  191. package/es/event/listener/table-group.js.map +1 -1
  192. package/es/event/media-click.js +3 -1
  193. package/es/event/media-click.js.map +1 -1
  194. package/es/index.d.ts +8 -4
  195. package/es/index.js +12 -4
  196. package/es/index.js.map +1 -1
  197. package/es/layout/chart-helper/get-axis-config.d.ts +1 -1
  198. package/es/layout/chart-helper/get-axis-config.js +4 -4
  199. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  200. package/es/layout/chart-helper/get-axis-domain.d.ts +1 -0
  201. package/es/layout/chart-helper/get-axis-domain.js.map +1 -1
  202. package/es/layout/chart-helper/get-chart-spec.js +34 -10
  203. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  204. package/es/layout/pivot-header-layout.js +8 -6
  205. package/es/layout/pivot-header-layout.js.map +1 -1
  206. package/es/layout/row-height-map.js +1 -2
  207. package/es/plugins/themes.js +2 -1
  208. package/es/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
  209. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  210. package/es/scenegraph/group-creater/cell-helper.js +18 -24
  211. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  212. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -0
  213. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  214. package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +3 -2
  215. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +21 -3
  216. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  217. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +4 -2
  218. package/es/scenegraph/group-creater/cell-type/image-cell.js +34 -13
  219. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  220. package/es/scenegraph/group-creater/cell-type/index.d.ts +8 -0
  221. package/es/scenegraph/group-creater/cell-type/index.js +52 -0
  222. package/es/scenegraph/group-creater/cell-type/index.js.map +1 -0
  223. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +1 -0
  224. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  225. package/es/scenegraph/group-creater/cell-type/radio-cell.d.ts +1 -0
  226. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  227. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -0
  228. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  229. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -0
  230. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  231. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +3 -1
  232. package/es/scenegraph/group-creater/cell-type/video-cell.js +21 -4
  233. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  234. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +8 -8
  235. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  236. package/es/scenegraph/group-creater/progress/proxy.js +4 -4
  237. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  238. package/es/scenegraph/group-creater/progress/update-position/sort-horizontal.js +4 -3
  239. package/es/scenegraph/group-creater/progress/update-position/sort-horizontal.js.map +1 -1
  240. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js +7 -8
  241. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  242. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +3 -3
  243. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  244. package/es/scenegraph/group-creater/progress/update-position/util.js +3 -3
  245. package/es/scenegraph/group-creater/progress/update-position/util.js.map +1 -1
  246. package/es/scenegraph/layout/compute-col-width.js +3 -5
  247. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  248. package/es/scenegraph/layout/compute-row-height.js +3 -5
  249. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  250. package/es/scenegraph/layout/update-height.js +6 -8
  251. package/es/scenegraph/layout/update-height.js.map +1 -1
  252. package/es/scenegraph/layout/update-width.js +5 -9
  253. package/es/scenegraph/layout/update-width.js.map +1 -1
  254. package/es/scenegraph/refresh-node/update-chart.js +2 -2
  255. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  256. package/es/scenegraph/scenegraph.js +6 -6
  257. package/es/scenegraph/scenegraph.js.map +1 -1
  258. package/es/scenegraph/select/update-select-border.js +72 -49
  259. package/es/scenegraph/select/update-select-border.js.map +1 -1
  260. package/es/scenegraph/utils/text-icon-layout.d.ts +16 -0
  261. package/es/scenegraph/utils/text-icon-layout.js +78 -56
  262. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  263. package/es/state/select/update-position.js +2 -2
  264. package/es/state/select/update-position.js.map +1 -1
  265. package/es/state/state.js +1 -1
  266. package/es/themes/ARCO.js +1 -1
  267. package/es/themes/BRIGHT.js +1 -1
  268. package/es/themes/DARK.js +1 -1
  269. package/es/themes/DEFAULT.js +1 -1
  270. package/es/themes/SIMPLIFY.js +1 -1
  271. package/es/ts-types/base-table.d.ts +5 -3
  272. package/es/ts-types/base-table.js.map +1 -1
  273. package/es/ts-types/table-engine.js.map +1 -1
  274. package/es/ts-types/theme.js.map +1 -1
  275. package/es/vrender.js +5 -5
  276. package/es/vrender.js.map +1 -1
  277. package/package.json +12 -3
  278. package/cjs/vutil-extension-temp/algorithm/binary-search.d.ts +0 -2
  279. package/cjs/vutil-extension-temp/algorithm/binary-search.js +0 -21
  280. package/cjs/vutil-extension-temp/algorithm/binary-search.js.map +0 -1
  281. package/cjs/vutil-extension-temp/algorithm/index.d.ts +0 -1
  282. package/cjs/vutil-extension-temp/algorithm/index.js +0 -21
  283. package/cjs/vutil-extension-temp/algorithm/index.js.map +0 -1
  284. package/cjs/vutil-extension-temp/index.d.ts +0 -4
  285. package/cjs/vutil-extension-temp/index.js +0 -22
  286. package/cjs/vutil-extension-temp/index.js.map +0 -1
  287. package/cjs/vutil-extension-temp/spec/clone-deep.d.ts +0 -1
  288. package/cjs/vutil-extension-temp/spec/clone-deep.js +0 -27
  289. package/cjs/vutil-extension-temp/spec/clone-deep.js.map +0 -1
  290. package/cjs/vutil-extension-temp/spec/common.d.ts +0 -3
  291. package/cjs/vutil-extension-temp/spec/common.js +0 -23
  292. package/cjs/vutil-extension-temp/spec/common.js.map +0 -1
  293. package/cjs/vutil-extension-temp/spec/index.d.ts +0 -3
  294. package/cjs/vutil-extension-temp/spec/index.js +0 -22
  295. package/cjs/vutil-extension-temp/spec/index.js.map +0 -1
  296. package/cjs/vutil-extension-temp/spec/merge-spec.d.ts +0 -5
  297. package/cjs/vutil-extension-temp/spec/merge-spec.js +0 -69
  298. package/cjs/vutil-extension-temp/spec/merge-spec.js.map +0 -1
  299. package/cjs/vutil-extension-temp/transform/tick-data/config.d.ts +0 -1
  300. package/cjs/vutil-extension-temp/transform/tick-data/config.js +0 -6
  301. package/cjs/vutil-extension-temp/transform/tick-data/config.js.map +0 -1
  302. package/cjs/vutil-extension-temp/transform/tick-data/continuous.d.ts +0 -3
  303. package/cjs/vutil-extension-temp/transform/tick-data/continuous.js +0 -57
  304. package/cjs/vutil-extension-temp/transform/tick-data/continuous.js.map +0 -1
  305. package/cjs/vutil-extension-temp/transform/tick-data/discrete/linear.d.ts +0 -6
  306. package/cjs/vutil-extension-temp/transform/tick-data/discrete/linear.js +0 -101
  307. package/cjs/vutil-extension-temp/transform/tick-data/discrete/linear.js.map +0 -1
  308. package/cjs/vutil-extension-temp/transform/tick-data/discrete/polar-angle.d.ts +0 -3
  309. package/cjs/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js +0 -53
  310. package/cjs/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js.map +0 -1
  311. package/cjs/vutil-extension-temp/transform/tick-data/index.d.ts +0 -6
  312. package/cjs/vutil-extension-temp/transform/tick-data/index.js +0 -41
  313. package/cjs/vutil-extension-temp/transform/tick-data/index.js.map +0 -1
  314. package/cjs/vutil-extension-temp/transform/tick-data/interface.d.ts +0 -38
  315. package/cjs/vutil-extension-temp/transform/tick-data/interface.js +0 -6
  316. package/cjs/vutil-extension-temp/transform/tick-data/interface.js.map +0 -1
  317. package/cjs/vutil-extension-temp/transform/tick-data/util.d.ts +0 -17
  318. package/cjs/vutil-extension-temp/transform/tick-data/util.js +0 -91
  319. package/cjs/vutil-extension-temp/transform/tick-data/util.js.map +0 -1
  320. package/cjs/vutil-extension-temp/transform/tick-data/utils/polar-label-position.d.ts +0 -8
  321. package/cjs/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js +0 -20
  322. package/cjs/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js.map +0 -1
  323. package/cjs/vutil-extension-temp/utils/index.d.ts +0 -3
  324. package/cjs/vutil-extension-temp/utils/index.js +0 -22
  325. package/cjs/vutil-extension-temp/utils/index.js.map +0 -1
  326. package/cjs/vutil-extension-temp/utils/object.d.ts +0 -3
  327. package/cjs/vutil-extension-temp/utils/object.js +0 -30
  328. package/cjs/vutil-extension-temp/utils/object.js.map +0 -1
  329. package/cjs/vutil-extension-temp/utils/polar.d.ts +0 -5
  330. package/cjs/vutil-extension-temp/utils/polar.js +0 -23
  331. package/cjs/vutil-extension-temp/utils/polar.js.map +0 -1
  332. package/cjs/vutil-extension-temp/utils/text.d.ts +0 -4
  333. package/cjs/vutil-extension-temp/utils/text.js +0 -17
  334. package/cjs/vutil-extension-temp/utils/text.js.map +0 -1
  335. package/es/vutil-extension-temp/algorithm/binary-search.d.ts +0 -2
  336. package/es/vutil-extension-temp/algorithm/binary-search.js +0 -11
  337. package/es/vutil-extension-temp/algorithm/binary-search.js.map +0 -1
  338. package/es/vutil-extension-temp/algorithm/index.d.ts +0 -1
  339. package/es/vutil-extension-temp/algorithm/index.js +0 -2
  340. package/es/vutil-extension-temp/algorithm/index.js.map +0 -1
  341. package/es/vutil-extension-temp/index.d.ts +0 -4
  342. package/es/vutil-extension-temp/index.js +0 -8
  343. package/es/vutil-extension-temp/index.js.map +0 -1
  344. package/es/vutil-extension-temp/spec/clone-deep.d.ts +0 -1
  345. package/es/vutil-extension-temp/spec/clone-deep.js +0 -20
  346. package/es/vutil-extension-temp/spec/clone-deep.js.map +0 -1
  347. package/es/vutil-extension-temp/spec/common.d.ts +0 -3
  348. package/es/vutil-extension-temp/spec/common.js +0 -15
  349. package/es/vutil-extension-temp/spec/common.js.map +0 -1
  350. package/es/vutil-extension-temp/spec/index.d.ts +0 -3
  351. package/es/vutil-extension-temp/spec/index.js +0 -6
  352. package/es/vutil-extension-temp/spec/index.js.map +0 -1
  353. package/es/vutil-extension-temp/spec/merge-spec.d.ts +0 -5
  354. package/es/vutil-extension-temp/spec/merge-spec.js +0 -57
  355. package/es/vutil-extension-temp/spec/merge-spec.js.map +0 -1
  356. package/es/vutil-extension-temp/transform/tick-data/config.d.ts +0 -1
  357. package/es/vutil-extension-temp/transform/tick-data/config.js +0 -2
  358. package/es/vutil-extension-temp/transform/tick-data/config.js.map +0 -1
  359. package/es/vutil-extension-temp/transform/tick-data/continuous.d.ts +0 -3
  360. package/es/vutil-extension-temp/transform/tick-data/continuous.js +0 -56
  361. package/es/vutil-extension-temp/transform/tick-data/continuous.js.map +0 -1
  362. package/es/vutil-extension-temp/transform/tick-data/discrete/linear.d.ts +0 -6
  363. package/es/vutil-extension-temp/transform/tick-data/discrete/linear.js +0 -92
  364. package/es/vutil-extension-temp/transform/tick-data/discrete/linear.js.map +0 -1
  365. package/es/vutil-extension-temp/transform/tick-data/discrete/polar-angle.d.ts +0 -3
  366. package/es/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js +0 -45
  367. package/es/vutil-extension-temp/transform/tick-data/discrete/polar-angle.js.map +0 -1
  368. package/es/vutil-extension-temp/transform/tick-data/index.d.ts +0 -6
  369. package/es/vutil-extension-temp/transform/tick-data/index.js +0 -23
  370. package/es/vutil-extension-temp/transform/tick-data/index.js.map +0 -1
  371. package/es/vutil-extension-temp/transform/tick-data/interface.d.ts +0 -38
  372. package/es/vutil-extension-temp/transform/tick-data/interface.js +0 -2
  373. package/es/vutil-extension-temp/transform/tick-data/interface.js.map +0 -1
  374. package/es/vutil-extension-temp/transform/tick-data/util.d.ts +0 -17
  375. package/es/vutil-extension-temp/transform/tick-data/util.js +0 -78
  376. package/es/vutil-extension-temp/transform/tick-data/util.js.map +0 -1
  377. package/es/vutil-extension-temp/transform/tick-data/utils/polar-label-position.d.ts +0 -8
  378. package/es/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js +0 -12
  379. package/es/vutil-extension-temp/transform/tick-data/utils/polar-label-position.js.map +0 -1
  380. package/es/vutil-extension-temp/utils/index.d.ts +0 -3
  381. package/es/vutil-extension-temp/utils/index.js +0 -6
  382. package/es/vutil-extension-temp/utils/index.js.map +0 -1
  383. package/es/vutil-extension-temp/utils/object.d.ts +0 -3
  384. package/es/vutil-extension-temp/utils/object.js +0 -15
  385. package/es/vutil-extension-temp/utils/object.js.map +0 -1
  386. package/es/vutil-extension-temp/utils/polar.d.ts +0 -5
  387. package/es/vutil-extension-temp/utils/polar.js +0 -16
  388. package/es/vutil-extension-temp/utils/polar.js.map +0 -1
  389. package/es/vutil-extension-temp/utils/text.d.ts +0 -4
  390. package/es/vutil-extension-temp/utils/text.js +0 -13
  391. 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"]}
@@ -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;
@@ -400,4 +400,6 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
400
400
  checkReactCustomLayout(): void;
401
401
  get bodyDomContainer(): HTMLElement;
402
402
  get headerDomContainer(): HTMLElement;
403
+ showMoverLine(col: number, row: number): void;
404
+ hideMoverLine(col: number, row: number): void;
403
405
  }
@@ -36,8 +36,6 @@ import { BodyHelper } from "../body-helper/body-helper";
36
36
 
37
37
  import { HeaderHelper } from "../header-helper/header-helper";
38
38
 
39
- import { TooltipHandler } from "../components/tooltip/TooltipHandler";
40
-
41
39
  import { AABBBounds, isNumber, isBoolean, isFunction, isValid, cloneDeep } from "@visactor/vutils";
42
40
 
43
41
  import { measureTextBounds, textMeasure } from "../scenegraph/utils/text-measure";
@@ -48,16 +46,10 @@ import { IconCache } from "../plugins/icons";
48
46
 
49
47
  import { _applyColWidthLimits, _getScrollableVisibleRect, _setDataSource, _toPxWidth, createRootElement, getStyleTheme, updateRootElementPadding } from "./tableHelper";
50
48
 
51
- import { MenuHandler } from "../components/menu/dom/MenuHandler";
52
-
53
49
  import { FocusInput } from "./FouseInput";
54
50
 
55
51
  import { defaultPixelRatio } from "../tools/pixel-ratio";
56
52
 
57
- import { createLegend } from "../components/legend/create-legend";
58
-
59
- import { DataSet } from "@visactor/vdataset";
60
-
61
53
  import { setBatchRenderChartCount } from "../scenegraph/graphic/contributions/chart-render-helper";
62
54
 
63
55
  import { isLeftOrRightAxis, isTopOrBottomAxis } from "../layout/chart-helper/get-axis-config";
@@ -74,6 +66,8 @@ import { ReactCustomLayout } from "../components/react/react-custom-layout";
74
66
 
75
67
  import { hasAutoImageColumn } from "../layout/layout-helper";
76
68
 
69
+ import { Factory } from "./factory";
70
+
77
71
  import { getCellAt, getCellAtRelativePosition, getColAt, getRowAt, getTargetColAt, getTargetColAtConsiderRightFrozen, getTargetRowAt, getTargetRowAtConsiderBottomFrozen } from "./utils/get-cell-position";
78
72
 
79
73
  const {toBoxArray: toBoxArray} = utilStyle, {isTouchEvent: isTouchEvent} = event, rangeReg = /^\$(\d+)\$(\d+)$/;
@@ -88,10 +82,10 @@ export class BaseTable extends EventTarget {
88
82
  }
89
83
  constructor(container, options = {}) {
90
84
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
91
- if (super(), this.showFrozenIcon = !0, this.version = "1.4.2", this.id = `VTable${Date.now()}`,
85
+ if (super(), this.showFrozenIcon = !0, this.version = "1.5.0", this.id = `VTable${Date.now()}`,
92
86
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
93
87
  !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
94
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, widthAdaptiveMode: widthAdaptiveMode = "only-body", heightAdaptiveMode: heightAdaptiveMode = "only-body", keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
88
+ const {frozenColCount: frozenColCount = 0, frozenRowCount: frozenRowCount, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, widthAdaptiveMode: widthAdaptiveMode = "only-body", heightAdaptiveMode: heightAdaptiveMode = "only-body", keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
95
89
  this.container = container, this.options = options, this._widthMode = widthMode,
96
90
  this._heightMode = heightMode, this._widthAdaptiveMode = widthAdaptiveMode, this._heightAdaptiveMode = heightAdaptiveMode,
97
91
  this._autoFillWidth = autoFillWidth, this._autoFillHeight = autoFillHeight, this.customRender = customRender,
@@ -117,7 +111,8 @@ export class BaseTable extends EventTarget {
117
111
  internalProps.element.appendChild(internalProps.headerDomContainer))), internalProps.handler = new EventHandler,
118
112
  isNumber(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
119
113
  internalProps.pixelRatio = pixelRatio, internalProps.frozenColCount = frozenColCount,
120
- internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
114
+ internalProps.frozenRowCount = frozenRowCount, internalProps.defaultRowHeight = defaultRowHeight,
115
+ internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
121
116
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
122
117
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
123
118
  internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
@@ -144,28 +139,37 @@ export class BaseTable extends EventTarget {
144
139
  internalProps.limitMaxAutoWidth = null !== (_f = options.limitMaxAutoWidth) && void 0 !== _f ? _f : 450,
145
140
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
146
141
  internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
147
- this._vDataSet = new DataSet, this.scenegraph = new Scenegraph(this), this.stateManager = new StateManager(this),
148
- this.eventManager = new EventManager(this), options.legends) if (internalProps.legends = [],
149
- Array.isArray(options.legends)) {
150
- for (let i = 0; i < options.legends.length; i++) internalProps.legends.push(createLegend(options.legends[i], this));
151
- this.scenegraph.tableGroup.setAttributes({
142
+ this.scenegraph = new Scenegraph(this), this.stateManager = new StateManager(this),
143
+ this.eventManager = new EventManager(this), options.legends) {
144
+ internalProps.legends = [];
145
+ const createLegend = Factory.getFunction("createLegend");
146
+ if (Array.isArray(options.legends)) {
147
+ for (let i = 0; i < options.legends.length; i++) internalProps.legends.push(createLegend(options.legends[i], this));
148
+ this.scenegraph.tableGroup.setAttributes({
149
+ x: this.tableX,
150
+ y: this.tableY
151
+ });
152
+ } else internalProps.legends.push(createLegend(options.legends, this)), this.scenegraph.tableGroup.setAttributes({
152
153
  x: this.tableX,
153
154
  y: this.tableY
154
155
  });
155
- } else internalProps.legends.push(createLegend(options.legends, this)), this.scenegraph.tableGroup.setAttributes({
156
- x: this.tableX,
157
- y: this.tableY
158
- });
159
- internalProps.tooltip = Object.assign({
156
+ }
157
+ if (internalProps.tooltip = Object.assign({
160
158
  renderMode: "html",
161
159
  isShowOverflowTextTooltip: !1,
162
160
  confine: !0
163
- }, options.tooltip), "html" === internalProps.tooltip.renderMode && (internalProps.tooltipHandler = new TooltipHandler(this, internalProps.tooltip.confine)),
164
- internalProps.menu = Object.assign({
161
+ }, options.tooltip), "html" === internalProps.tooltip.renderMode) {
162
+ const TooltipHandler = Factory.getComponent("tooltipHandler");
163
+ internalProps.tooltipHandler = new TooltipHandler(this, internalProps.tooltip.confine);
164
+ }
165
+ if (internalProps.menu = Object.assign({
165
166
  renderMode: "html"
166
167
  }, options.menu), Array.isArray(null === (_g = options.menu) || void 0 === _g ? void 0 : _g.dropDownMenuHighlight) && this.setDropDownMenuHighlight(null === (_h = options.menu) || void 0 === _h ? void 0 : _h.dropDownMenuHighlight),
167
168
  Array.isArray(null === (_j = options.menu) || void 0 === _j ? void 0 : _j.defaultHeaderMenuItems) && (this.globalDropDownMenu = options.menu.defaultHeaderMenuItems),
168
- "html" === internalProps.menu.renderMode && (internalProps.menuHandler = new MenuHandler(this)),
169
+ "html" === internalProps.menu.renderMode) {
170
+ const MenuHandler = Factory.getComponent("menuHandler");
171
+ internalProps.menuHandler = new MenuHandler(this);
172
+ }
169
173
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map,
170
174
  internalProps.stick = {
171
175
  changedCells: new Map
@@ -830,32 +834,42 @@ export class BaseTable extends EventTarget {
830
834
  internalProps.limitMaxAutoWidth = null !== (_d = options.limitMaxAutoWidth) && void 0 !== _d ? _d : 450,
831
835
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
832
836
  internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
833
- this._vDataSet = new DataSet, null === (_e = internalProps.legends) || void 0 === _e || _e.forEach((legend => {
837
+ null === (_e = internalProps.legends) || void 0 === _e || _e.forEach((legend => {
834
838
  null == legend || legend.release();
835
839
  })), null === (_f = internalProps.title) || void 0 === _f || _f.release(), internalProps.title = null,
836
840
  null === (_g = internalProps.emptyTip) || void 0 === _g || _g.release(), internalProps.emptyTip = null,
837
841
  internalProps.layoutMap.release(), this.scenegraph.clearCells(), this.scenegraph.updateComponent(),
838
842
  this.stateManager.updateOptionSetState(), this._updateSize(), this.eventManager.updateEventBinder(),
839
- options.legends) if (internalProps.legends = [], Array.isArray(options.legends)) {
840
- for (let i = 0; i < options.legends.length; i++) internalProps.legends.push(createLegend(options.legends[i], this));
841
- this.scenegraph.tableGroup.setAttributes({
843
+ options.legends) {
844
+ internalProps.legends = [];
845
+ const createLegend = Factory.getFunction("createLegend");
846
+ if (Array.isArray(options.legends)) {
847
+ for (let i = 0; i < options.legends.length; i++) internalProps.legends.push(createLegend(options.legends[i], this));
848
+ this.scenegraph.tableGroup.setAttributes({
849
+ x: this.tableX,
850
+ y: this.tableY
851
+ });
852
+ } else internalProps.legends.push(createLegend(options.legends, this)), this.scenegraph.tableGroup.setAttributes({
842
853
  x: this.tableX,
843
854
  y: this.tableY
844
855
  });
845
- } else internalProps.legends.push(createLegend(options.legends, this)), this.scenegraph.tableGroup.setAttributes({
846
- x: this.tableX,
847
- y: this.tableY
848
- });
849
- internalProps.tooltip = Object.assign({
856
+ }
857
+ if (internalProps.tooltip = Object.assign({
850
858
  renderMode: "html",
851
859
  isShowOverflowTextTooltip: !1,
852
860
  confine: !0
853
- }, options.tooltip), "html" !== internalProps.tooltip.renderMode || internalProps.tooltipHandler || (internalProps.tooltipHandler = new TooltipHandler(this, internalProps.tooltip.confine)),
854
- internalProps.menu = Object.assign({
861
+ }, options.tooltip), "html" === internalProps.tooltip.renderMode && !internalProps.tooltipHandler) {
862
+ const TooltipHandler = Factory.getComponent("tooltipHandler");
863
+ internalProps.tooltipHandler = new TooltipHandler(this, internalProps.tooltip.confine);
864
+ }
865
+ if (internalProps.menu = Object.assign({
855
866
  renderMode: "html"
856
867
  }, options.menu), Array.isArray(null === (_h = options.menu) || void 0 === _h ? void 0 : _h.dropDownMenuHighlight) && this.setDropDownMenuHighlight(null === (_j = options.menu) || void 0 === _j ? void 0 : _j.dropDownMenuHighlight),
857
868
  Array.isArray(null === (_k = options.menu) || void 0 === _k ? void 0 : _k.defaultHeaderMenuItems) && (this.globalDropDownMenu = options.menu.defaultHeaderMenuItems),
858
- "html" !== internalProps.menu.renderMode || internalProps.menuHandler || (internalProps.menuHandler = new MenuHandler(this)),
869
+ "html" === internalProps.menu.renderMode && !internalProps.menuHandler) {
870
+ const MenuHandler = Factory.getComponent("menuHandler");
871
+ internalProps.menuHandler = new MenuHandler(this);
872
+ }
859
873
  this.clearCellStyleCache(), this.clearColWidthCache(), this.clearRowHeightCache(),
860
874
  internalProps.customMergeCell = options.customMergeCell, this.customCellStylePlugin.updateCustomCell(null !== (_l = options.customCellStyle) && void 0 !== _l ? _l : [], null !== (_m = options.customCellStyleArrangement) && void 0 !== _m ? _m : []);
861
875
  }
@@ -1070,7 +1084,7 @@ export class BaseTable extends EventTarget {
1070
1084
  var _a;
1071
1085
  if (this.internalProps.customMergeCell) {
1072
1086
  const customMerge = this.internalProps.customMergeCell(col, row, this);
1073
- if (customMerge && customMerge.range && (customMerge.text || customMerge.customLayout || customMerge.customRender)) return customMerge.range;
1087
+ if (customMerge && customMerge.range && (isValid(customMerge.text) || customMerge.customLayout || customMerge.customRender)) return customMerge.range;
1074
1088
  }
1075
1089
  return null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.getCellRange(col, row);
1076
1090
  }
@@ -1080,7 +1094,7 @@ export class BaseTable extends EventTarget {
1080
1094
  getCustomMerge(col, row) {
1081
1095
  if (this.internalProps.customMergeCell) {
1082
1096
  const customMerge = this.internalProps.customMergeCell(col, row, this);
1083
- if (customMerge && customMerge.range && (customMerge.text || customMerge.customLayout || this.customRender)) {
1097
+ if (customMerge && customMerge.range && (isValid(customMerge.text) || customMerge.customLayout || this.customRender)) {
1084
1098
  if (customMerge.style) {
1085
1099
  const styleClass = this.internalProps.bodyHelper.getStyleClass("text"), style = customMerge.style, fullStyle = columnStyleContents.of(style, this.theme.bodyStyle, {
1086
1100
  col: col,
@@ -1758,5 +1772,11 @@ export class BaseTable extends EventTarget {
1758
1772
  get headerDomContainer() {
1759
1773
  return this.internalProps.headerDomContainer;
1760
1774
  }
1775
+ showMoverLine(col, row) {
1776
+ this.scenegraph.component.showMoveCol(col, row, 0), this.scenegraph.renderSceneGraph();
1777
+ }
1778
+ hideMoverLine(col, row) {
1779
+ this.scenegraph.component.hideMoveCol(), this.scenegraph.renderSceneGraph();
1780
+ }
1761
1781
  }
1762
1782
  //# sourceMappingURL=BaseTable.js.map